Cube Genetics

Cube Genetics is a live NBT editing plugin for Bukkit servers. It lets you load the NBT structures of entities, tile entities (such as beacons, chests, signs, mobspawners), and players (both online and offline) right from the chat interface. Since it uses the chat menu along with Bukkit's conversations API, there's no client mod needed. Once the plugin is installed to your server, all players with permission (defaults to OP) can start using it to load and edit the NBT data of their surroundings.
To enter NBT editing mode, the user runs the /NBT command. Now the NBT data of objects you interact with will show up in your chat window. Since it uses the Bukkit conversations API, there are no other commands; rather, the plugin operates on your chat input. This minimizes conflicting commands with other plugins and makes interaction smoother. You can use the 'prev' and 'next' keywords to move through the results pages, 'cd' to change directory, and 'up' to move up a folder. You can create a new tag within the current folder, for instance 'newstring Name Awesome Sword', or you can edit a current tag, 'edit Name Awesomer Sword'. Once you're done editing the NBT tags, the 'save' keyword saves the tags back to the object they belong to, and 'exit' or 'done' takes you out of edit mode and back to regular chat.
Here's some examples of things you can do with Cube Genetics:
- Custom item names and lore
- Enchant un-enchantable items to ridiculous levels
- Infinite dispensers (set quantity to -1)
- Custom player heads
- Editing villager offers
- Duplicate items
- Editing written books
- Custom potion effects (including effects not usually attainable in vanilla)
- Change paintings
- Colored and formatted text, including magic characters (Items, signs, books, command blocks)
- Edit player data (Walking speed, flight speed, inventory)
- Use blocks as helmets
- Edit mob attributes (Health, attack time, potion effects, equipment, prevent despawning etc.)
- Create custom spawners for your mobs (Player distance, maximum nearby entities, spawn rate)
- Give yourself cookies! (Well you could probably already do this but let's not allow that to detract from the greatness of more cookies)
For a full list of NBT tags you can tinker with, check the minecraft wiki here and here.
The best part about this plugin is it does it all live with no need to download .dat files, edit them in a standalone program like MCEdit or INVEdit, reupload them to the server and restart. It also doesn't rely on any other modifications or hacks of the game code. All this functionality is built into minecraft and would continue to work even if you were to uninstall the plugin.
If you've used inventory editors or SethBling's MCEdit filters before and wished you could do the same in real time on your bukkit server, this is the plugin for you.
Installation
1. After making a proper sacrifice to your preferred Mojang god, drop the jar into your server's plugin folder.
2. Think of a witty comment while the server restarts.
Done!
Note: Cube Genetics is compatible with CraftBukkit 1.4.4 and up.
Commands
There's only one real command in the eyes of the server, and only one permission node to go along with it: CubeGenetics.NBT. The NBT command puts you into edit mode which then allows for the rest of the keyword commands to be typed into chat.
Note that commands and directory names aren't case sensitive but tag names and values are. Mojang decided to arbitrarily capitalize tag names so you'll probably need the wiki links above open as a reference until you get used to it.
Also, names aren't necessarily required for a tag if it's in a list instead of a compound, so these commands will create new tags with just a value if applicable. Optional parameters are denoted with {curly braces}. If you're editing or removing a tag in a list, use the tag's number in place of its name.
help - does what is says on the tin
cd [directory name] - changes to the directory you specify. You can put in multiple subdirectories instead of having to run the command multiple times, for example: "cd inventory 0 tag display" would take you to /Inventory/0/tag/display.
up {level} - goes up a level. You can add a number of levels to go up instead of running it multiple times.
next - displays the next page of data if there is one.
prev/previous - displays the previous page of data.
player [player name] or player me - loads a player's NBT data.
edit [name] [value] - edits an existing tag's value.
rename [name] [newname] - renames a tag to the name you specify. Note that this will not work in lists since they use numbers instead of names.
remove [name] - removes a tag.
copy {name} - copies a tag or the current directory if no name is specified.
paste - pastes the copied tag into the current directory
merge - pastes the contents of the copied tag into the current directory (useful when you're copying root directories)
newcompound {name} - creates a new compound tag.
newlist {name} - creates a new list.
newstring {name} [value] - creates a new string. To use formatting codes replace the section sign (ยง) with an ampersand (&). If creating a unnamed string in a list, type null for the name. (This is due to the ability to have spaces in strings, leaving the plugin unsure whether the first word is the name of the string or the first word of the value)
newint {name} [value] - creates a new integer tag.
newbyte {name} [value] - creates a new byte tag.
newshort {name} [value] - creates a new short tag.
newdouble {name} [value] - creates a new double tag.
newlong {name} [value] - creates a new long tag.
newfloat {name} [value] - creates a new float tag.
newintarray {name} [value1],[value2],[value3],etc. - creates a new int array tag. Note that the values are delimited by commas and no brackets are required.
newbytearray {name} [value1],[value2],[value3],etc. - creates a new byte array tag. Same as above. save - saves the tag data back to the object it came from.
macro define [name] {arg1} ... {argN} - creates a new macro with the name you specify and any parameters you pass in. After entering in the commands to be included in the macro, create saves the macro and enables you to use it. For more information, see the macro page.
exit/done- exits edit mode and goes back to regular chat.

-
View User Profile
-
Send Message
Posted May 2, 2013need another update :P
minecraft 1.5.2 is up
-
View User Profile
-
Send Message
Posted Apr 17, 2013@Kyran_
I was thinking more of a command like /spawnmob, but with the ability to spawn the entities with modified tags, not a whole spawning revamp. I hope that spawn eggs might be able to have this feature, but if not, that's a gap that this plugin could fill!
-
View User Profile
-
Send Message
Posted Apr 17, 2013@ClassiestMedic
This is certainly possible with mob spawners if that's what you mean. If you're talking about having all naturally spawning creepers be modified, that's beyond the scope of NBT and would require a full modification of the minecraft files (which isn't so convenient for people downloading an adventure map).
In the future I'm hoping you'll be able to have mob eggs contain nbt data. They've already started this with the anvil naming. And possibly being able to spawn other entities than mobs with spawn eggs.
-
View User Profile
-
Send Message
Posted Apr 17, 2013This is a great plugin! There are many possibilities, if you know your way around NBT tags. I'd love to see a feature that allows the spawning of mobs with pre-altered data, so you wouldn't have to spawn a creeper, and then change its powered tag manually every time, which can take a while if you've got a lot of modified entities to work with if you're building a custom map or something.
-
View User Profile
-
Send Message
Posted Apr 2, 2013You should make a Plugin that(From console) Lets you break a block or blocks around a player. I say this because I run a Roleplaying server and we make custom spawner a lot and sometimes make a Bad Spawner that crashes everyone. I normally end up using mcedit to go and remove bad spawners, but on my Main Linux computer MCEDIT freezes my computer for about 10mins after closing it.
-
View User Profile
-
Send Message
Posted Apr 2, 2013@coolman69
I'm not sure, what bukkit version are you running? Check the console when the server starts up and make sure it says it's been enabled. What does it say when you run the /nbt command?
-
View User Profile
-
Send Message
Posted Apr 2, 2013It doesn't work for me. When I do /plugins I get my plugins and then I look at CubeGenetics and it is red so what does that mean and why is not working? Please help me out
-
View User Profile
-
Send Message
Posted Mar 28, 2013Awesome!!!, Thanks! <3
-
View User Profile
-
Send Message
Posted Mar 27, 2013@GgnoreZz
It's approved now, check the downloads section.
-
View User Profile
-
Send Message
Posted Mar 27, 2013Download link?
-
View User Profile
-
Send Message
Posted Mar 27, 2013@DPOHVAR
Thanks for the tip, I actually ended up finding these while rooting through the craftbukkit source myself. I was originally calling .a and .b which are abstract in Entity but get called from the other methods. Problem was they were being overridden in the abstract minecart class I think. Still not sure why my reflection block didn't find the methods in the super class since it goes through all the super class methods too. Just as well though, I'm using the other methods now and letting them delegate on their own.
-
View User Profile
-
Send Message
Posted Mar 27, 2013@GgnoreZz
Sorry for the delay, but I added a new feature that will help with the minecart spawners (which I also got working) The new merge command allows you to copy the tags contained within your clipboard tag (as long as it's a compound or list) to the current directory. This is useful for if you want to copy all the tags from a certain directory but don't want to paste the containing compound or list itself. In other words, it merges the directory you've copied with your current directory.
As for getting spawner minecarts, the process is a bit convoluted. Set up a regular spawner and add in MinecartSpawner under the spawn potentials (see the chunk format link in the description above) Note that it won't work if you just change the EntityId from pig, leave that as it is. You may need to put some grass under the spawner, since at least in my tests, it needed to spawn a single pig before it switched to spawning spawner minecarts. Once some minecarts spawn you can break the original spawner and extra spawner minecarts. Then do the same thing with the SpawnPotentials list to change what the minecart spawns.
-
View User Profile
-
Send Message
Posted Mar 26, 2013@Kyran_
use method ".e(NBTTagCompound)" for players and ".c(NBTTagCompound)" for other entities.
-
View User Profile
-
Send Message
Posted Mar 26, 2013Thx dude! <3
When can i get the expected release date.. :D
-
View User Profile
-
Send Message
Posted Mar 26, 2013@GgnoreZz
I wasn't aware 1.5.1 was out. I'll recompile it now and do some tests. Should be out soon.
Note that there's some issues with minecarts. At the moment, it's incapable of editing spawner minecarts, hopper minecarts, etc. The method that's usually present to load NBT data from an entity is present in the vanilla minecraft_server.jar but not in the craftbukkit.jar yet. I'm hoping things will be resolved once we get a beta release or a 1.0 dev release of craftbukkit.
-
View User Profile
-
Send Message
Posted Mar 26, 2013When to expect an update for 1.5.1?
-
View User Profile
-
Send Message
Posted Mar 18, 2013@Woelfi2008
@WACOMalt
I don't know who Woelfi2008 is and I don't know how he'd have a copy if it hasn't been approved for download yet by the bukkit team. Unless he's sneaking on to my computer while I'm sleeping?
I wouldn't install anything that you didn't download from this page.
-
View User Profile
-
Send Message
Posted Mar 18, 2013@valera1999
Sorry about that, updated a line so it recognizes the bukkit version. The upload should be approved shortly.
-
View User Profile
-
Send Message
Posted Mar 18, 2013@Woelfi2008
Please send it to me as well!
-
View User Profile
-
Send Message
Posted Mar 18, 2013Bukkit 1.5-R0.1 (Build #02668). What am I doing wrong?