Pasting blueprints that contain NBT filled entities
Description
Describe the bug
- It happened to me that when I pasted blueprints that containted custom heads, they all transformed back into the Steve's player_head.
Steps to reproduce the behavior
- Place a custom head
- Save blueprint
- Paste blueprint
- The head transforms (To Steve's default)
&&
- Edit an ArmorStand via some generator online and summon it
- Save blueprint
- Paste blueprint
- ArmorStand transformed back to the classic one without any items on it or data
&&
This one is weird:
- I summoned a chicken with this name: &cS&9C &fChicken &6Invader (Ofc I colored it in NBT [JSON] format)
- Saved blueprint
- Generated island/ pasted blueprint
- The NBT changed itself, and the "Chicken" which was previously white had taken black color.
Screenshots and videos
http://prntscr.com/nylmnn http://prntscr.com/nylnuo
Expected behavior
Respect NBT data, as WorldEdit would paste that head without any problems.
Environment
Server
- OS: Debian GNU/Linux 9
- Java version: Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Plugins
[06:32:17 INFO]: Plugins (50): AnimatedNames*, AreaShop, ArmorStandTools, BentoBox, BungeeTabListPlus*, ChatControl, ChestCommands, ChestShop*, ClearLag*, CrateReloaded, EditableSign, Essentials, EssentialsChat*, EssentialsSpawn*, ExecuteEverywhere*, FastAsyncWorldEdit*, FeatherBoard*, HeadDatabase*, HolographicDisplays, HungerKeeperPlus*, IPWhitelist*, IslandBorder, LeaderHeads*, LibsDisguises, LuckPerms, MobManager*, Multiverse-Core*, MVdWPlaceholderAPI*, NickRemover*, NoSleepCMDs*, OpenInv*, PlayerHeads, PlayerPoints*, ProtocolLib*, PvPManager*, PvPManagerBossBar*, RedstoneClockDetector*, RPGHealthIndicator*, SilkSpawners, SkinsRestorer, Spartan, TradeMe, TrophyHeads*, UnbreakingAnvils*, Vault*, VoidGenerator, WorldEdit, WorldGuard, WorldGuardPistonFix*, Yamler*
BentoBox setup
BentoBox and Addons
[15:21:59] [main/INFO]: [CHAT] Running PAPER 1.13.2.
[15:21:59] [main/INFO]: [CHAT] BentoBox version: 1.5.0-SNAPSHOT-b1125
[15:21:59] [main/INFO]: [CHAT] Loaded Game Worlds:
[15:21:59] [main/INFO]: [CHAT] acidisland (acidisland): Overworld, Nether, End
[15:21:59] [main/INFO]: [CHAT] skyblock (skyblock): Overworld, Nether, End
[15:21:59] [main/INFO]: [CHAT] Loaded Addons:
[15:21:59] [main/INFO]: [CHAT] AcidIsland 1.5.0-SNAPSHOT (ENABLED)
[15:21:59] [main/INFO]: [CHAT] BentoBox-InvSwitcher 0.0.3-SNAPSHOT (ENABLED)
[15:21:59] [main/INFO]: [CHAT] Biomes 1.5.0.0-SNAPSHOT-#30 (ENABLED)
[15:21:59] [main/INFO]: [CHAT] BSkyBlock 1.5.0 (ENABLED)
[15:21:59] [main/INFO]: [CHAT] Challenges 0.7.5-SNAPSHOT-#253 (ENABLED)
[15:21:59] [main/INFO]: [CHAT] Level 1.5.0-SNAPSHOT (ENABLED)
[15:21:59] [main/INFO]: [CHAT] Limits 0.2.0-SNAPSHOT (ENABLED)
[15:21:59] [main/INFO]: [CHAT] SerbCraftAddon 2.2 (ENABLED)
[15:21:59] [main/INFO]: [CHAT] WelcomeWarps 1.5.0-SNAPSHOT (ENABLED)
Configuration
- Database: mySQL
Additional context
- None at the moment
Sounds like NBT is not stored in Bukkit's BlockData... We may have to file an issue there instead of working on a workaround.
We can look at adding support to blueprints gradually, but this isn't a bug - Blueprints are meant to give simple starter islands. Adding support for all settings of blocks or entities would be a never ending job.
FYI, entity and block support is as follows:
Entities
- Type
- Color
- Custom name
- Tamed or not tamed
- Age (Baby or Adult)
- Has a chest or not and chest content
- Horse style if it's a horse
Other attributes are not supported.
Blocks The following attributes are supported:
- Whatever the BlockData provides - covers Ageable, AnaloguePowerable, Attachable, Bamboo, Bed, Bell, Bisected, BrewingStand, BubbleColumn, Cake, Campfire, Chest, Cocoa, CommandBlock, Comparator, CoralWallFan, DaylightDetector, Directional, Dispenser, Door, EnderChest, EndPortalFrame, Farmland, Fence, Fire, Furnace, Gate, GlassPane, Hopper, Jukebox, Ladder, Leaves, Lectern, Levelled, Lightable, MultipleFacing, NoteBlock, Observer, Openable, Orientable, Piston, PistonHead, Powerable, Rail, RedstoneRail, RedstoneWallTorch, RedstoneWire, Repeater, Rotatable, Sapling, Scaffolding, SeaPickle, Sign, Slab, Snow, Snowable, Stairs, StructureBlock, Switch, TechnicalPiston, TNT, TrapDoor, Tripwire, TripwireHook, TurtleEgg, WallSign, Waterlogged
- Sign line content
- Inventory holder content
- Creature spawner settings
Other attributes are not covered.
You'll see that Armor Stand is not included in the BlockData settings. That's because it is a special form of living entity. It also has a huge number of potential settings. I really do not want to try and support that.
@tastybento understood.
Seems like I will have to edit my blueprints that contain that head, altho I had a very cool idea .
I will come up with something else. Anyway thanks for the clarification!