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 |
this is awesome, 'nuff said
however, I followed the steps to create a custom MobSpawner, did everything correctly, but when I assigned tag %t to mob spawner %b, my game crashed immediately and every time I tried to join the server afterwards
had to delete the world to save myself, good thing it was a test world
@Roflzack
The plugin has more features than you think!
You can copy/cut/paste any NBT tags. It is very simple, examples are above
You have access to your clipboard by "c" or "buffer":
/nbt buffer
Save clipboard to file:
/nbt $filename = buffer
or zipped file:
/nbt $$filename = buffer
Apply values from clipboard:
example
/nbt me = buffer
You can add only existing tags from buffer (template):
example
/nbt me += buffer
If buffer has only
Health
tag, tour hp will change, but all other tags stay the same.Look for this plugin: http://dev.bukkit.org/server-mods/powereggs/ It allows you to spawn customised mobs with eggs.
Maybe I'll add the command
/nbt undo
and/nbt redo
in the future. Unfortunately, it can not be applied to items.@DPOHVAR
I can't very well do it with WorldEdit if I was right next to the block when I was editing it, in an enclosed area... Anyways, I have another developer helping me with Lolmewn's suggestion in http://forums.bukkit.org/threads/problems-with-powernbt.128110/.
@DPOHVAR
Maybe you could add a feature that gives an option on server start to remove the last few entities or spawners that were edited before a server crash?
Example: A "Remove last object edited with PowerNBT on startup: true/false" line in the config
(I'm not even sure this is possible, just an idea)
@CorruptedHelix
Bad things.
The easiest way - to remove the spawner with any offline map editor.
If you remember the coordinates of the block - you can do this:
/nbt x:y:z:world remove
(from console)You can fix it in game with WorldEdit:
1) Set the view distance: tiny (in game potions)
2) Move away from the block
You can edit your offline position from console:
/nbt @Player Pos[0] = X
/nbt @Player Pos[1] = Y
/nbt @Player Pos[2] = Z
or just login with other name ;)
3) Select the area with a wand, which will be spawner, but do not go near them!
4)
//
replace 52 airNext time, remember the location of spawner.
@DPOHVAR
Wow, very fast reply! Thanks for that.
Would you consider adding a feature / making a plugin so that entities, blocks, and items with custom NBT stuff could be copied to a permanent "clipboard" so that they could be easily pasted into the world without remaking it from scratch?
Would be useful for: An admin hosting a player vs mobs fight where the admin wanted to spawn various zombies with armor around the battlefield.
The custom blocks, entities and items could be added to a text file with an in game command where the user specified a name for the custom Item, entity, or block.
Example: /nbt clipboard save [block, item, or entity] [Nickname for the Item, entity, or block] /nbt clipboard load [Nickname] /nbt clipboard delete [Nickname]
I'm not sure exactly how you would paste the blocks, items, or entities into the world (co ordinates, where your mouse is looking, ect.) but I know that I would find this extremely useful when spawning in custom mobs.
Thank you for your consideration.
@DPOHVAR
This has happened to me... What can I do to fix it (preferably without going into MCEdit if possible, won't be fun to download a multiple gb map and re-upload it)?
I followed this tutorial from your page on mobspawners (http://www.youtube.com/watch?v=00fgIpox5vM&feature=player_embedded), and it now crashes me whenever I join the server.
@Roflzack
1)
Server can be crashed if you edit mobspawners. Typo in "EntityID" or "Type" has a terrible effects. This is the most dangerous part. And I have found no other reasons for crashing server.
Client will be crashed:
(display.Name = 0 byte ; ench = "string" etc)
I would say that the plugin is safe for you if you are learned the structure of NBT data or strictly follow the tutorials.
2)
It is possible. You can create custom villager tutorial/villagers and then follow video tutorial tutorial/mobspawners
Sorry for the third post but is it possible to make a custom spawner that spawns a custom villager that sells custom potions?
(Basically what I'm asking is can I spawn highly customized entities from spawners)
Before I use this, exactly how dangerous is it? If I mess up what are some of the worst case scenarios and how likely are they to happen. Do I have to be a complete idiot or will a simple typo blow up my server?
Wow! This is great! Thnx for making this!
@ravand
tutorial/potions It works fine!
Do you use spout? Or do you have any other nbt plugins?
Is there a way to permanently change the name of an item for everyone without renaming it again?
Why?:
I have potions with custom effects which i want to give custom names to and it would be very handy to not just read "Clear Potion - No Effects" on it.
Tutorial fixed:
tutorial/mobspawners
@gameacid13
@gameacid13
/nbt $filename paste
or
/nbt $filename = buffer
your buffer will be saved to plugins\PowerNBT\nbt\finename.nbt
or use $$filename (filename.nbtz - zipped nbt file format)
@DPOHVAR
i can't seem to get it to work
is there a option to save your buffer to a file? If not, can you please add that?
@gameacid13
tutorial/villagers
@gameacid13
I've never edited the recipes, but I am sure that they can be changed using the NBT tags. I'll create a tutorial soon