PowerNBT
[PowerNBT]
PowerNBT moved to spigotmc.org
Powerful NBT editor for CraftBukkit 1.5 and later.
Simple NBT API (for developers).
Works with CraftBukkit, MCPC+, Cauldron, Spigot (fix to forge 1.4.7)
Features
- Browsing and editing NBT tags
- supports items, players, offline-players, entities, blocks, chunks, schematic files and all other nbt files
- save tags to file
- spawn entity with custom nbt tags
- parse mojangson string
- custom colors and unicode symbols
- supports tab-completion
- supports operations copy/paste/cut/swap
- supports variables
All commands
See: commands
Examples
- /
nbt me Inventory remove
- clear inventory
- /
nbt me Inventory = *Bob EnderItems
- get Bob's enderchest to yourself
- /
nbt @Eve remove
- remove file Eve.dat (offline player)
- /
nbt block ExtraType = "Notch"
- set skull owner
- /
nbt * Health = 1000
- set 1000 health to mob, which you select
- /
nbt item ench copy
- copy item enchantments to buffer
- /
nbt item ench paste
- paste enchantments to other item
Permissions
- powernbt.use
Bugs
- 0.8.1-0.8.2:
On command /nbt chunk = ...
invisible players and entities in new chunk.
- If you found a bug, please report me in github:
https://github.com/DPOH-VAR/PowerNBT/issues
Changelog
Version 0.8.2 beta
- added: binary opetarions: ^= , &= , |= , useful to set binary flags
- added: operation: multiplication: *=
- added: operation: spawn entity
- added: value: numbers in binary format
- added: values in mojangson format
- added: object: hand
- added: object: schematic
- added: view mode: binary
- added: silent mode for command
- added: API: read chunk
- added: API: save chunk
- added: API: parse mojangson string
- added: API: spawn entity
- fixed: support cauldron 1.7.10
- bug: invisible players after change chunk data.
- bug: on update blocks after change chunk. cauldron 1.7.10
Version 0.8.1
- added: read/write chunks
Version 0.7.3.1
- fix: work with Cauldron 1.7.2
Tutorials
- How to edit tags
- How to use Tab-Completion
- How to edit mobs into spawners
- How to edit villagers
- How to create custom potions
- How to edit fireworks (RU)
API
See API for documentation and examples
Maven dependency (since 0.7.2)
API for version 0.7.2 and later
Warning
If you add a tag, which is not expected by the client, it may be crashed. Be careful!
Helpful links, about NBT format:
- http://www.minecraftwiki.net/wiki/NBT_format
- http://www.minecraftwiki.net/wiki/Player.dat_Format
- http://www.minecraftwiki.net/wiki/Chunk_format
Github | Maven | Javadoc |
@EpicTrance
all of these features already exist.
@EpicTrance
What do you mean?
You can edit " Riding" tag. This makes it possible to spawn a jockey, mobs in minecart, etc
block SpawnPotentials[].Properties.Riding
see wiki and tutorials
I uploaded updated plugin (0.4.3). Wait, it will be soon
Could you add these features and update to 1.5.1 pls :
Editing Lore Colors
Editing Name Colors
Editing Durability
Editing Books
Editing Player heads
Wow nice, Could I make custome stacked mobs spawners with this ingame?
It works with 1.5-R0.1
Update is not yet required
UPD: not work with minecarts and falling blocks.
Wait for update plz
@locknlol117
I'm talking about other plugin ;-)
http://www.youtube.com/watch?v=WZcZvQFJ97s
It is suitable for your purposes but difficult.
@DPOHVAR
Which file do you make changes specifically? Is there a global script? What happens when there's hundreds of "Super Awesome Sword" in the world, and you need to change the damage it does?
I'm reading your page on Object's based on $name as well as file:filename and am having trouble figuring out what exactly I'm supposed to be doing.
/nbt file:supersword
but I'm sure that's not right.
@locknlol117
It is impossible to find all items by id and change its Lore. (because items can be in chests, enderdhests, frames, anywhere!)
But I use this:
1) when player attacking, read string from onAttack tag (if exists);
2) get file by this string;
3) execute script from file;
When I need to edit all items, I make changes into file.
It is possible only with Varscript.
You can take your custom item to any mob (place to Equimpent[], see tutorials) and set chance to drop = 100%.
@DPOHVAR
This also ties into my MySQL support request. Let's say I wanted to create custom damage based on a players specific sword, if I created swords and had their UniqueID's I could then have Mobs drop that specific sword, as well as Quest rewards with the Citizens 2 plugin.
But let's say I create the sword and now it's out in public, hundreds of them, but they are way over powered and inbalanced. Rather than trying to find all the swords, if it's pulling Stats from MySQL database, I can just search the UniqueID and go over to the row that needs to be changed.
Example:
/nbt item display.Lore[1] = "500 Damage Per Swing"
I could find the row of the UniqueID sword I want to change, then go to the Lore 1 Column and edit the 500 to maybe 250.
@locknlol117
It difficult to understand what you need
OK.
you can copy/paste any nbt tags and save tags to file. See all commands list
About plugin, that can spawn item with custom nbt data.. I dont know.
Varscript 0.4.3 can use PowerNBT api but plugin is experimental and very difficult
If you are plugin developer, you can use api - it is simple =)
@DPOHVAR
Is there any way to get the unique item id of a nbt item I created, for easy and fast duplication for automated distribution, example: a plugin that will have a chance to drop the sword I created.
This also ties into my MySQL support request. Let's say I wanted to create custom damage based on a players specific sword, if I created swords and had their UniqueID's I could then have Mobs drop that specific sword, as well as Quest rewards with the Citizens 2 plugin.
But let's say I create the sword and now it's out in public, hundreds of them, but they are way over powered and inbalanced. Rather than trying to find all the swords, if it's pulling Stats from MySQL database, I can just search the UniqueID and go over to the row that needs to be changed.
Example:
/nbt item display.Lore[1] = "500 Damage Per Swing"
I could find the row of the UniqueID sword I want to change, then go to the Lore 1 Column and edit the 500 to maybe 250.
@DPOHVAR
It appears that only does enchants. Thanks though!
@locknlol117
try DiabloDrops
http://dev.bukkit.org/server-mods/diablodrops/
and you can edit any item stats in Lore tag with PowerNBT, it will work in DiabloDrops.
@DPOHVAR
Excellent, ok thank you. Last question, is there any way I can make weapons and armour give specific stats. For example, if you're wearing say a diamond chest piece, let's call it
/nbt item display.Name = "\c5Cool Chest"
Could I set this specific chest piece up to give the wearer: +5% HP +3% HP Regen +10% Defense
or anything like this?
Further more, another example of what I'm asking.
/nbt item display.Name = "\c5Super Sword of Death" +10% Damage +4% HP Regen +6% HP +3% Defense
(Any assortment of stats based on this?) If not, do you know of any plugin that can do this?
@locknlol117
Because its wrong (a common mistake)
You need to use
/nbt item display.Lore[0] = "&dEpic Sword"
Lore - is list of strings. You can edit any line by index. For example:
/nbt item display.Lore[1] = "&fSecond line"
Or remove it all by
/nbt item display.Lore rem
Just destroy corrupted item and create new one.
@DPOHVAR
Disregard what I wrote. I thought this plugin was doing something it doesn't. But while I have your attention.
I ran the following command: /nbt item display.Name = "\c5Test Sword"
This works fine and shows up perfectly, but when I type. /nbt item display.Lore = "\cdEpic Sword"
and mouse over the sword to see the changes, my game crashes.
@locknlol117
How can use a database?
I see no reasons.
Give an example
Is there any chance for MySQL support?
@michidk
Just set block EntityID = "FallingSand" if you want to change id -> see wiki.
how to spawn falling blocks?
@DPOHVAR
Ok and here a picture i took of a spawner i made Image Removed: http://www10.mediafire.com/convkey/901d/lhqw566wr1ykdqofg.jpg