Skip to content

Default biomesTemplate.yml is broken (or block requirement loading is), default panel Materials are broken #156

@Techirion

Description

@Techirion

Expected behavior

N/A

Observed/Actual behavior

It would fail importing all entries where no of required items is above 64 (or well 99 but I didn't test that)

for example:

https://github.com/BentoBoxWorld/Biomes/blob/develop/src/main/resources/biomesTemplate.yml#L464
https://github.com/BentoBoxWorld/Biomes/blob/develop/src/main/resources/biomesTemplate.yml#L349
etc...

[02:16:30 WARN]: [BentoBox] Plugin BentoBox v3.7.1-SNAPSHOT-b2924 generated an exception whilst handling conversation input
java.lang.IllegalStateException: Value must be within range [1;99]: 128
        at com.mojang.serialization.DataResult$Error.getOrThrow(DataResult.java:287) ~[datafixerupper-8.0.16.jar:?]
        at com.mojang.serialization.DataResult.getOrThrow(DataResult.java:81) ~[datafixerupper-8.0.16.jar:?]
        at org.bukkit.craftbukkit.util.CraftMagicNumbers.serializeStack(CraftMagicNumbers.java:528) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at org.bukkit.inventory.ItemStack.serialize(ItemStack.java:500) ~[sakura-api-1.21.7-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSerializable.representData(YamlRepresenter.java:50) ~[sakura-api-1.21.7-R0.1-SNAPSHOT.jar:?]
        at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:111) ~[snakeyaml-2.2.jar:?]
        at org.yaml.snakeyaml.representer.BaseRepresenter.represent(BaseRepresenter.java:81) ~[snakeyaml-2.2.jar:?]
        at org.bukkit.configuration.file.YamlConfiguration.toNodeTree(YamlConfiguration.java:196) ~[sakura-api-1.21.7-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:80) ~[sakura-api-1.21.7-R0.1-SNAPSHOT.jar:?]
        at BentoBox.jar/world.bentobox.bentobox.database.json.adapters.ItemStackTypeAdapter.write(ItemStackTypeAdapter.java:34) ~[BentoBox.jar:?]
        at BentoBox.jar/world.bentobox.bentobox.database.json.adapters.ItemStackTypeAdapter.write(ItemStackTypeAdapter.java:24) ~[BentoBox.jar:?]
        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:73) ~[gson-2.11.0.jar:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:99) ~[gson-2.11.0.jar:?]
        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:59) ~[gson-2.11.0.jar:?]
        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:73) ~[gson-2.11.0.jar:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.write(ReflectiveTypeAdapterFactory.java:247) ~[gson-2.11.0.jar:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:490) ~[gson-2.11.0.jar:?]
        at com.google.gson.Gson.toJson(Gson.java:944) ~[gson-2.11.0.jar:?]
        at com.google.gson.Gson.toJson(Gson.java:899) ~[gson-2.11.0.jar:?]
        at com.google.gson.Gson.toJson(Gson.java:848) ~[gson-2.11.0.jar:?]
        at com.google.gson.Gson.toJson(Gson.java:825) ~[gson-2.11.0.jar:?]
        at BentoBox.jar/world.bentobox.bentobox.database.json.JSONDatabaseHandler.saveObject(JSONDatabaseHandler.java:133) ~[BentoBox.jar:?]
        at BentoBox.jar/world.bentobox.bentobox.database.Database.saveObjectAsync(Database.java:103) ~[BentoBox.jar:?]
        at Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar/world.bentobox.biomes.managers.BiomesAddonManager.saveBiome(BiomesAddonManager.java:129) ~[Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar:?]
        at Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar/world.bentobox.biomes.managers.BiomesImportManager.importBiomes(BiomesImportManager.java:350) ~[Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar:?]
        at Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar/world.bentobox.biomes.managers.BiomesImportManager.createBiomes(BiomesImportManager.java:181) ~[Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar:?]
        at Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar/world.bentobox.biomes.managers.BiomesImportManager.importFile(BiomesImportManager.java:161) ~[Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar:?]
        at Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar/world.bentobox.biomes.panels.admin.LibraryPanel.lambda$generateConfirmationInput$8(LibraryPanel.java:297) ~[Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar:?]
        at Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar/world.bentobox.biomes.panels.ConversationUtils$1.acceptValidatedInput(ConversationUtils.java:90) ~[Biomes-2.2.1-SNAPSHOT-b302-1753400015174.jar:?]
        at org.bukkit.conversations.ValidatingPrompt.acceptInput(ValidatingPrompt.java:30) ~[sakura-api-1.21.7-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.conversations.Conversation.acceptInput(Conversation.java:234) ~[sakura-api-1.21.7-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.conversations.ConversationTracker.acceptConversationInput(ConversationTracker.java:57) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at org.bukkit.craftbukkit.entity.CraftPlayer.acceptConversationInput(CraftPlayer.java:2502) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$broadcastChatMessage$15(ServerGamePacketListenerImpl.java:2526) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1700) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1548) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1269) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:311) ~[sakura-1.21.7.jar:1.21.7-DEV-4d70c0b]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

I'm not sure if fix would be as easy as just reducing those values or if code for loading/importing should be updated to allow higher values.

Also default panel template is broken:

[02:17:07 ERROR]: [BentoBox] Could not parse item tipped_arrow{CustomPotionColor:11546150} For input string: "11546150}"
[02:17:07 ERROR]: [BentoBox] Could not parse item tipped_arrow{CustomPotionColor:8439583} For input string: "8439583}"
[02:17:10 ERROR]: [BentoBox] Could not parse item tipped_arrow{CustomPotionColor:11546150} For input string: "11546150}"
[02:17:10 ERROR]: [BentoBox] Could not parse item tipped_arrow{CustomPotionColor:8439583} For input string: "8439583}"

Both on clean install.

Steps/models to reproduce

  1. Can be reproduced by trying to import default biomes on clean install
  2. Can be reproduced by trying to open /is biome gui

BentoBox version

> bbox version
[02:24:16 INFO]: Running PAPER 1.21.7.
[02:24:16 INFO]: (1.21.7-DEV-4d70c0b (MC: 1.21.7))
[02:24:16 INFO]: BentoBox version: 3.7.1-SNAPSHOT-b2924
[02:24:16 INFO]: Database: JSON
[02:24:16 INFO]: Loaded Game Worlds:
[02:24:16 INFO]: bskyblock_world (BSkyBlock): Overworld, Nether, The End
[02:24:16 INFO]: Loaded Addons:
[02:24:16 INFO]: Bank 1.9.0-SNAPSHOT-b116 (ENABLED)
[02:24:16 INFO]: Biomes 2.2.1-SNAPSHOT-b302 (ENABLED)
[02:24:16 INFO]: Border 4.5.1 (ENABLED)
[02:24:16 INFO]: BSkyBlock 1.19.1-SNAPSHOT-b796 (ENABLED)
[02:24:16 INFO]: Challenges 1.5.1 (ENABLED)
[02:24:16 INFO]: CheckMeOut 1.2.0 (ENABLED)
[02:24:16 INFO]: ControlPanel 1.15.0-SNAPSHOT-b89 (ENABLED)
[02:24:16 INFO]: DimensionalTrees 1.8.0 (ENABLED)
[02:24:16 INFO]: ExtraMobs 1.14.0 (ENABLED)
[02:24:16 INFO]: FarmersDance 1.2.2 (ENABLED)
[02:24:16 INFO]: IslandFly 1.14.2 (ENABLED)
[02:24:16 INFO]: Level 2.21.4-SNAPSHOT-b660 (ENABLED)
[02:24:16 INFO]: Likes 2.5.0-SNAPSHOT-b127 (ENABLED)
[02:24:16 INFO]: Limits 1.27.1-SNAPSHOT-LOCAL (ENABLED)
[02:24:16 INFO]: MagicCobblestoneGenerator 2.7.1-SNAPSHOT-b311 (ENABLED)
[02:24:16 INFO]: Visit 1.7.0-SNAPSHOT (ENABLED)
[02:24:16 INFO]: Warps 1.16.0-SNAPSHOT-b388 (ENABLED)

Plugin list

No response

Other

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions