Download Latest Source Here: Will post soon, once 1.2 gets out of _s phase!
----------
Since most of Nephenee's code is publicly available source provided by Mojang, this project is open source. Additionally, no profits will be made from its existence.
However, if you'd like to tip me for my work, you could always head over to my Patreon and pledge a buck?
(Sure, it's not a Patreon for Minecraft stuff, but on the plus side you get cool art-y stuff?)
---------
This utility was made possible thanks to Mojang's publicly released Anvil Converter Source
What Is Nephenee? Nephenee is a Java-based command-line application that allows you to search through a Minecraft world's .mca files for instances of a particular block ID and replace them with another value.
Why?
Well, it's a complicated answer.
This utility served a noticeable purpose back in pre-1.7. Minecraft still relied heavily on those precious limited integer block IDs and ID conflicts were a very real thing. Take me, for example. Pre-1.4.2, I picked ID 145 for a mod ore block. And then 1.4.2 came out and 145 was now vanilla anvils. Yay! Nephenee came into existence as a means of fixing the problem of now having wild anvils all around my world save.
Today, ID conflicts really aren't a thing because string IDs and automatic mapping handling. HOWEVER! Just in case, Nephenee is back in action for whoever might need it and why ever it might be needed!
Instructions
1) Download the latest jar file
2) Place the downloaded .jar in a convenient location
3) Open a command prompt / terminal and navigate to the jar's location
Windows 7 users can also, from the jar's location in Windows Explorer, hold shift and right click on empty space, then select "Open Command Window Here"
4) Type in the follow:
java -jar nephenee_[version].jar [script file]
Where [version] is the rest of the jar name (the version), and [script file] is a path to the .nee script file you wish to run.
5) Read and follow Nephenee's prompt(s). It's mostly an automated utility.
Note: While it's technically an executable jar, please refrain from trying to run it from your file manager via double click. It no work-y that way.
.nee Scripts Nephenee uses nephenee files (.nee) to figure out what it's supposed to do. Here's an example:
The above file tells Nephenee to:
- Go into the minecraftModded1710 directory in your AppData/AppLib/Home folder
- Find the world named test1
- Search in only the overworld dimension
- Replace all instances of Thermal Expansion's "Rock Wool" of metadata 2 with GrowthCraft's "Fruit Press" of meta 0
Note:
- You can have as many worlds as you want in a single file. Just put another DIRECTORYWORLD [...] ENDWORLD
- You can have as many REPLACE lines as you want
- String block IDs are currently case sensitive. Type them carefully!
- You can use -1 as a metadata wild card (i.e., ignore metadata for that block)
- You can specify any permutation of the three main dimensions (overworld, nether, end)
- You must specify at least one dimension or Nephenee won't do anything
- If you don't specify the directory, it defaults to the regular .minecraft folder to find the given world
- You can't specify directories outside of AppData/Application Support/Home right now
- You can put comment lines in .nee files by prefixing them with #
Legacy Mode
Nephenee offers a "Legacy" mode that allows you to use numeric block IDs instead of strings. This is mainly for pre-1.7 worlds, people who don't know how to string IDs in 1.7, or operating on vanilla worlds. To enable Legacy Mode, use the legacy flag:
Q) Is Nephenee safe to use?
A) Yes, it should be. I've done testing and I've yet to see any detrimental side effects. But, just to be safe, you should back up your world save elsewhere just in case!
Q) Does Nephenee work with FTB/Technic/etc?
A) Unfortunately, Nephenee does not work with launchers or dedicated servers that store world saves elsewhere than the Windows AppData, Mac Application Support, or Linux home directory. You'll have to move those world saves to a valid location. However, it does work nicely with Mojang's profile launcher.
Q) Does Nephenee let you replace instances of blocks found in inventories or chests?
A) No, it's strictly world blocks. ItemStacks of blocks are unaffected.
Q) Does Nephenee work with worlds that have save data for mod-added dimensions (e.g. Aether, Twilight Forest)?
A) Unfortunately, Nephenee does not yet have support to detect extra dimension data folders. This hopefully might get fixed in a forthcoming update!
Q) Why script files?
A) Would you rather be typing into an endless command line user prompt?
Q) Why no GUI?
A) Because it's a command line tool. Also, GUIs suck and I hate them.
Q) What's a "nephenee"?
A) My favorite character from Fire Emblem.
Version History
1.2_s2
- Fixed a bug with extracting metadata nibbles incorrectly (thanks for the help, Shadekiller666! ... Mojang...)
- Fixed a bug with putting back metadata nibbles incorrectly (missing bit mask)
- Added some more console output so users know it's working and not frozen
1.2_s1
- Actually probably works with block IDs higher than 255
- Metadata sensitivity
- 1.7 String ID support
- Multi-world support?
- Directory specification
n.1.0
- Basic ID find/replace
- .nee file support
Upcoming Features
- More robustness for handling users trying to input all the wrong things.
- More personality?
- Support for extradimensional region folders
- Better code?
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Awesome app, I have no idea why no one had done this before... Only gripe I could find was that you don't seem to have metadata support. If you do, my bad, I could't find it in the OP and I don't take risks with my worlds... to you.
Awesome app, I have no idea why no one had done this before... Only gripe I could find was that you don't seem to have metadata support. If you do, my bad, I could't find it in the OP and I don't take risks with my worlds... to you.
Nephenee was conceived as more of an emergency tool for fixing deeply ingrained block ID collisions brought about by stupid things like adding custom ores at low block IDs. I never really bothered to take into account things like metadata. Will add that to the next version of Nephenee, whenever I get that out.
Ah, all the little things I need to do but never get around to doing.... ` -`;;
Rollback Post to RevisionRollBack
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
How long it takes to replace 7 ID map to 8GB (mean blocks on .mca 2000-5000)?
What is the speed of change ID (blok / time or block * mca / time)?
Whoops, sorry for the late reply! ^^;
As far as I'm aware, it's computer-specific. The faster your computer, the faster it'll chug through all the files to make changes.
I can't give any specifics though I can write some metrics stuff into the next version of Neph.
Rollback Post to RevisionRollBack
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
WARNING: This utility directly alters the .mca savedata files
of the specified world save. While this was rigorously tested
and should not damage your world in any way, you are advised
to BACK UP YOUR SAVE FOLDER just in case something snafus.
NOTE: This utility assumes default .minecraft configuration.
If you use MultiMC or other such utility, please make sure to
copy the involved world save into .minecraft/saves/ before
continuing with this utility!
Continue? [y/n] : y
Using passed-in script file for automated update process!
Found world save!
Found 116 Overworld .mca files!
Found 0 Nether .mca files!
Found 27 End .mca files!
Okay! Please be patient as this might take some time!
Getting to work on Overworld files....
Exception in thread "main" java.lang.ClassCastException: mojang.nbt.ByteArrayTag
cannot be cast to mojang.nbt.IntArrayTag
at mojang.nbt.CompoundTag.getIntArray(CompoundTag.java:144)
at nephenee.AnvilHandler.updateMCA(AnvilHandler.java:45)
at nephenee.Nephenee.main(Nephenee.java:149)
Weird. Are you sure you're throwing in an Anvil world? I didn't think I accidentally typoed a thing. Will keep this in mind for whenever I get back to updating and fixing this utility.
I got majorly stumped on implementing meta data support and then I kind of just forgot about it because other projects. WHOOPS.
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Weird. Are you sure you're throwing in an Anvil world? I didn't think I accidentally typoed a thing. Will keep this in mind for whenever I get back to updating and fixing this utility.
I got majorly stumped on implementing meta data support and then I kind of just forgot about it because other projects. WHOOPS.
Not a problem, I ended up using MidasGold (uses the open source of Midas) to update the blocks in my world :).
I had a RedPower 2 PR5b2 world on Minecraft 1.2.5. I had about 300 hours worth of placing down microblocks.
RedPower 2 PR6 for Minecraft 1.4.7 changes the block ID's for the Microblocks. So my world is corrupt and will not load.
If I change the microblock ID in my 1.2.5 world, to the same ID that PR6 uses in my 1.4.7 world. Will my world load?
Also, the microblocks are just 1 block ID. Although there are thousands of blocks because they all have different meta data values. Will changing the block ID's. Also keep the meta data values?
I had a RedPower 2 PR5b2 world on Minecraft 1.2.5. I had about 300 hours worth of placing down microblocks.
RedPower 2 PR6 for Minecraft 1.4.7 changes the block ID's for the Microblocks. So my world is corrupt and will not load.
If I change the microblock ID in my 1.2.5 world, to the same ID that PR6 uses in my 1.4.7 world. Will my world load?
Also, the microblocks are just 1 block ID. Although there are thousands of blocks because they all have different meta data values. Will changing the block ID's. Also keep the meta data values?
If all you need changed is block IDs, this should work even for Red Power. But, with any utility that directly alters save data, I'd back up the world first just in case.
And, actually, microblocks are Tile Entities, not meta data. I'm not sure if the Tile Entities will preserve correctly (I've not experimented with this) but metadata will be preserved.
Reminds me, I still need to finish rewriting this utility to allow changing metadata too. Was a pain in the butt because of bit-bashing and endianness so I sort of rage-quit. Guess I'll find time for that sometime this week.
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Hi StarshadesJack!
How about update your Nephenee?
I look for some features:
only find block by ID:meta and report coords to console, but with support custom world's, and with full range ID 0..32000 and meta.
I want to find all chunk loaders on our server map (Railcraft anchor , Bildcraft querry), but I can't find good tool for that.
If I ever figure out how to properly implement metadata support, I will gladly update this tool.
Rollback Post to RevisionRollBack
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Should actually do as says on tin for any world save from MC 1.2 to MC 1.8.4.
Will update with extra features as time permits.
Will release source when I finish cleaning up the code and get it out of _s phase (i.e., think of it as a snapshot and not the final product). The source will then be available on GitHub.
Rollback Post to RevisionRollBack
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Another update. Fixed another metadata bug. Added some console output to indicate the app's still alive.
Rollback Post to RevisionRollBack
Comic artist, indie game dev, lots of things. Click image to check out my latest comic series?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Download Latest Version Here: Nephenee ver. 1.2_s2
Old Versions:
Nephenee ver 1.2_s1
Nephenee ver. n.1.0
Download Latest Source Here: Will post soon, once 1.2 gets out of _s phase!
----------
Since most of Nephenee's code is publicly available source provided by Mojang, this project is open source. Additionally, no profits will be made from its existence.
However, if you'd like to tip me for my work, you could always head over to my Patreon and pledge a buck?
(Sure, it's not a Patreon for Minecraft stuff, but on the plus side you get cool art-y stuff?)
---------
This utility was made possible thanks to Mojang's publicly released Anvil Converter Source
What Is Nephenee?
Nephenee is a Java-based command-line application that allows you to search through a Minecraft world's .mca files for instances of a particular block ID and replace them with another value.
Why?
Well, it's a complicated answer.
This utility served a noticeable purpose back in pre-1.7. Minecraft still relied heavily on those precious limited integer block IDs and ID conflicts were a very real thing. Take me, for example. Pre-1.4.2, I picked ID 145 for a mod ore block. And then 1.4.2 came out and 145 was now vanilla anvils. Yay! Nephenee came into existence as a means of fixing the problem of now having wild anvils all around my world save.
Today, ID conflicts really aren't a thing because string IDs and automatic mapping handling. HOWEVER! Just in case, Nephenee is back in action for whoever might need it and why ever it might be needed!
Instructions
1) Download the latest jar file
2) Place the downloaded .jar in a convenient location
3) Open a command prompt / terminal and navigate to the jar's location
4) Type in the follow:
Where [version] is the rest of the jar name (the version), and [script file] is a path to the .nee script file you wish to run.
5) Read and follow Nephenee's prompt(s). It's mostly an automated utility.
Note: While it's technically an executable jar, please refrain from trying to run it from your file manager via double click. It no work-y that way.
.nee Scripts
Nephenee uses nephenee files (.nee) to figure out what it's supposed to do. Here's an example:
The above file tells Nephenee to:
- Go into the minecraftModded1710 directory in your AppData/AppLib/Home folder
- Find the world named test1
- Search in only the overworld dimension
- Replace all instances of Thermal Expansion's "Rock Wool" of metadata 2 with GrowthCraft's "Fruit Press" of meta 0
Note:
- You can have as many worlds as you want in a single file. Just put another DIRECTORY WORLD [...] ENDWORLD
- You can have as many REPLACE lines as you want
- String block IDs are currently case sensitive. Type them carefully!
- You can use -1 as a metadata wild card (i.e., ignore metadata for that block)
- You can specify any permutation of the three main dimensions (overworld, nether, end)
- You must specify at least one dimension or Nephenee won't do anything
- If you don't specify the directory, it defaults to the regular .minecraft folder to find the given world
- You can't specify directories outside of AppData/Application Support/Home right now
- You can put comment lines in .nee files by prefixing them with #
Legacy Mode
Nephenee offers a "Legacy" mode that allows you to use numeric block IDs instead of strings. This is mainly for pre-1.7 worlds, people who don't know how to string IDs in 1.7, or operating on vanilla worlds. To enable Legacy Mode, use the legacy flag:
OR
Note: In Legacy mode, string IDs are turned off. You can only use numeric IDs.
An example of a legacy script:
Picture
FAQ/NAQ
For the curious-minded!
Q) Is Nephenee safe to use?
A) Yes, it should be. I've done testing and I've yet to see any detrimental side effects. But, just to be safe, you should back up your world save elsewhere just in case!
Q) Does Nephenee work with FTB/Technic/etc?
A) Unfortunately, Nephenee does not work with launchers or dedicated servers that store world saves elsewhere than the Windows AppData, Mac Application Support, or Linux home directory. You'll have to move those world saves to a valid location. However, it does work nicely with Mojang's profile launcher.
Q) Does Nephenee let you replace instances of blocks found in inventories or chests?
A) No, it's strictly world blocks. ItemStacks of blocks are unaffected.
Q) Does Nephenee work with worlds that have save data for mod-added dimensions (e.g. Aether, Twilight Forest)?
A) Unfortunately, Nephenee does not yet have support to detect extra dimension data folders. This hopefully might get fixed in a forthcoming update!
Q) Why script files?
A) Would you rather be typing into an endless command line user prompt?
Q) Why no GUI?
A) Because it's a command line tool. Also, GUIs suck and I hate them.
Q) What's a "nephenee"?
A) My favorite character from Fire Emblem.
Version History
1.2_s2
- Fixed a bug with extracting metadata nibbles incorrectly (thanks for the help, Shadekiller666! ... Mojang...)
- Fixed a bug with putting back metadata nibbles incorrectly (missing bit mask)
- Added some more console output so users know it's working and not frozen
1.2_s1
- Actually probably works with block IDs higher than 255
- Metadata sensitivity
- 1.7 String ID support
- Multi-world support?
- Directory specification
n.1.0
- Basic ID find/replace
- .nee file support
Upcoming Features
- More robustness for handling users trying to input all the wrong things.
- More personality?
- Support for extradimensional region folders
- Better code?
- TE mode for replacing ItemStacks of blocks?
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Nephenee was conceived as more of an emergency tool for fixing deeply ingrained block ID collisions brought about by stupid things like adding custom ores at low block IDs. I never really bothered to take into account things like metadata. Will add that to the next version of Nephenee, whenever I get that out.
Ah, all the little things I need to do but never get around to doing.... ` -`;;
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
What is the speed of change ID (blok / time or block * mca / time)?
My native language is different from English. Sorry for the bad writing.
Whoops, sorry for the late reply! ^^;
As far as I'm aware, it's computer-specific. The faster your computer, the faster it'll chug through all the files to make changes.
I can't give any specifics though I can write some metrics stuff into the next version of Neph.
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
/sNmh
````:ymNNmh _ _ _
`--:ddddmNNNmmh | \ | | | |
/oNNNNNMMMNNmds/ | \| | ___ _ __ | |__ ___ _ __ ___ ___
``syhmNNNMMMMNNNmmmhyy: | . ` | / _ \| '_ \ | '_ \ / _ \| '_ \ / _ \ / _ \
/hmNmNNMMMNNNNNNNNNmmy: | |\ || __/| |_) || | | || __/| | | || __/| __/
/mmmmNNNNMNmmmmmmmdo/ |_| \_| \___|| .__/ |_| |_| \___||_| |_| \___| \___|
/mNNNNNNNNNNNmy::::.` | |
/mmmmNNmmmmmmNmdhhoo+ |_|
-+dmmmmmmd+++++++:
-+dmmmmds: Anvil World Save Mass ID Replacer! | Version n.1.0
=============================================================================
By StarshadesJack | Thanks to Mojang!
WARNING: This utility directly alters the .mca savedata files
of the specified world save. While this was rigorously tested
and should not damage your world in any way, you are advised
to BACK UP YOUR SAVE FOLDER just in case something snafus.
NOTE: This utility assumes default .minecraft configuration.
If you use MultiMC or other such utility, please make sure to
copy the involved world save into .minecraft/saves/ before
continuing with this utility!
Continue? [y/n] : y
Using passed-in script file for automated update process!
Found world save!
Found 116 Overworld .mca files!
Found 0 Nether .mca files!
Found 27 End .mca files!
Okay! Please be patient as this might take some time!
Getting to work on Overworld files....
Exception in thread "main" java.lang.ClassCastException: mojang.nbt.ByteArrayTag
cannot be cast to mojang.nbt.IntArrayTag
at mojang.nbt.CompoundTag.getIntArray(CompoundTag.java:144)
at nephenee.AnvilHandler.updateMCA(AnvilHandler.java:45)
at nephenee.Nephenee.main(Nephenee.java:149)
I got majorly stumped on implementing meta data support and then I kind of just forgot about it because other projects. WHOOPS.
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Not a problem, I ended up using MidasGold (uses the open source of Midas) to update the blocks in my world :).
I had a RedPower 2 PR5b2 world on Minecraft 1.2.5. I had about 300 hours worth of placing down microblocks.
RedPower 2 PR6 for Minecraft 1.4.7 changes the block ID's for the Microblocks. So my world is corrupt and will not load.
If I change the microblock ID in my 1.2.5 world, to the same ID that PR6 uses in my 1.4.7 world. Will my world load?
Also, the microblocks are just 1 block ID. Although there are thousands of blocks because they all have different meta data values. Will changing the block ID's. Also keep the meta data values?
If all you need changed is block IDs, this should work even for Red Power. But, with any utility that directly alters save data, I'd back up the world first just in case.
And, actually, microblocks are Tile Entities, not meta data. I'm not sure if the Tile Entities will preserve correctly (I've not experimented with this) but metadata will be preserved.
Reminds me, I still need to finish rewriting this utility to allow changing metadata too. Was a pain in the butt because of bit-bashing and endianness so I sort of rage-quit. Guess I'll find time for that sometime this week.
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
How about update your Nephenee?
I look for some features:
only find block by ID:meta and report coords to console, but with support custom world's, and with full range ID 0..32000 and meta.
I want to find all chunk loaders on our server map (Railcraft anchor , Bildcraft querry), but I can't find good tool for that.
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
www.DiZASTiX.com/Minecraft | [email protected] | A Feed-The-Beast MindCrack Server
Hey, guess what just got updated?
Should actually do as says on tin for any world save from MC 1.2 to MC 1.8.4.
Will update with extra features as time permits.
Will release source when I finish cleaning up the code and get it out of _s phase (i.e., think of it as a snapshot and not the final product). The source will then be available on GitHub.
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)
Another update. Fixed another metadata bug. Added some console output to indicate the app's still alive.
(Warning: series may be NSFC [Not Safe For Church], viewer discretion is advised)