BentoBox icon indicating copy to clipboard operation
BentoBox copied to clipboard

Pasting blueprints that contain NBT filled entities

Open wellnesscookie opened this issue 6 years ago • 3 comments

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

  1. Place a custom head
  2. Save blueprint
  3. Paste blueprint
  4. The head transforms (To Steve's default)

&&

  1. Edit an ArmorStand via some generator online and summon it
  2. Save blueprint
  3. Paste blueprint
  4. ArmorStand transformed back to the classic one without any items on it or data

&&

This one is weird:

  1. I summoned a chicken with this name: &cS&9C &fChicken &6Invader (Ofc I colored it in NBT [JSON] format)
  2. Saved blueprint
  3. Generated island/ pasted blueprint
  4. 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

wellnesscookie avatar Jun 06 '19 22:06 wellnesscookie

Sounds like NBT is not stored in Bukkit's BlockData... We may have to file an issue there instead of working on a workaround.

Poslovitch avatar Jun 07 '19 04:06 Poslovitch

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 avatar Jun 08 '19 02:06 tastybento

@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!

wellnesscookie avatar Jun 08 '19 07:06 wellnesscookie