ShaneBeee / SkBee

SkBee is a Skript addon that aims to add more useful elements to Skript.
GNU General Public License v3.0
52 stars 14 forks source link

[BUG] com.shanebeestudios.skbee.api.nbt.NbtApiException when trying to get nbt from item. #636

Closed friyes closed 1 month ago

friyes commented 1 month ago

What happened?

When trying to get the NBT of any of the items I've attached the following error is thrown. send nbt compound of event-player's held item

[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! [Skript] Severe Error:
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! Something went horribly wrong with Skript.
[16:28:30 ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[16:28:30 ERROR]: #!#! It looks like you are using some plugin(s) that alter how Skript works (addons).
[16:28:30 ERROR]: #!#! Here is full list of them:
[16:28:30 ERROR]: #!#! skript-placeholders v1.6.0 (https://github.com/APickledWalrus/skript-placeholders) skript-reflect v2.4 (https://github.com/SkriptLang/skript-reflect) DiSky v4.16.0 Skript-Packet v2.2.1 (www.github.com/Anarchick/skript-packet) SkJson v3.0.7 (https://www.skjson.xyz/) SkBee v3.5.0 (https://github.com/ShaneBeee/SkBee)
[16:28:30 ERROR]: #!#! We could not identify which of those are specially related, so this might also be Skript issue.
[16:28:30 ERROR]: #!#! You should try disabling those plugins one by one, trying to find which one causes it.
[16:28:30 ERROR]: #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue.
[16:28:30 ERROR]: #!#! In that case, you will be given instruction on how should you report it.
[16:28:30 ERROR]: #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin.
[16:28:30 ERROR]: #!#! Only if the author tells you to do so, report it to Skript's issue tracker.
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! Stack trace:
[16:28:30 ERROR]: #!#! com.shanebeestudios.skbee.api.nbt.NbtApiException: [?][2.12.4]Unable to parse Malformed Json!
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTContainer.<init>(NBTContainer.java:70)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTCustomItemStack.<init>(NBTCustomItemStack.java:19)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTCustomSlot.<init>(NBTCustomSlot.java:16)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.lambda$get$0(ExprNbtCompound.java:142)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//org.skriptlang.skript.lang.converter.Converters.convert(Converters.java:501)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//org.skriptlang.skript.lang.converter.Converters.convertUnsafe(Converters.java:565)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.registrations.Converters.convertUnsafe(Converters.java:203)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:119)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.get(ExprNbtCompound.java:102)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.get(ExprNbtCompound.java:39)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:88)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:94)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.effects.EffMessage.execute(EffMessage.java:123)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.Effect.run(Effect.java:49)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:88)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.command.Commands.handleEffectCommand(Commands.java:201)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.command.Commands$2.lambda$onPlayerChat$0(Commands.java:300)
[16:28:30 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftFuture.run(CraftFuture.java:88)
[16:28:30 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:482)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1636)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:447)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1515)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1216)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319)
[16:28:30 ERROR]: #!#!     at java.base/java.lang.Thread.run(Unknown Source)
[16:28:30 ERROR]: #!#! Caused by: com.shanebeestudios.skbee.api.nbt.NbtApiException: [?][2.12.4]Error while calling the method 'parseTag(java.lang.String)', loaded: true, Enum: PARSE_NBT, Passed Class: null Args: [{Enchantments:[{id:"minecraft:infinity",lvl:10s},{id:"minecraft:vanishing_curse",lvl:10s}],EntityTag:{CustomName:'{"text":"Crashed by Tesla"}',id:"minecraft:dragon_fireball",power:[Infinityd,0.0d,0.0d]},display:{Lore:['{"text":"txsla","obfuscated":true}'],Name:'{"text":"Tesla\'s Dragon Crash","color":"dark_purple","bold":true,"italic":true}'}}]
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.utils.nmsmappings.ReflectionMethod.run(ReflectionMethod.java:409)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTContainer.<init>(NBTContainer.java:68)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTCustomItemStack.<init>(NBTCustomItemStack.java:19)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTCustomSlot.<init>(NBTCustomSlot.java:16)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.lambda$get$0(ExprNbtCompound.java:142)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//org.skriptlang.skript.lang.converter.Converters.convert(Converters.java:501)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//org.skriptlang.skript.lang.converter.Converters.convertUnsafe(Converters.java:565)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.registrations.Converters.convertUnsafe(Converters.java:203)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:119)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.get(ExprNbtCompound.java:102)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.get(ExprNbtCompound.java:39)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:88)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:94)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.effects.EffMessage.execute(EffMessage.java:123)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.Effect.run(Effect.java:49)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:88)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.command.Commands.handleEffectCommand(Commands.java:201)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.command.Commands$2.lambda$onPlayerChat$0(Commands.java:300)
[16:28:30 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftFuture.run(CraftFuture.java:88)
[16:28:30 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:482)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1636)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:447)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1515)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1216)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319)
[16:28:30 ERROR]: #!#!     at java.base/java.lang.Thread.run(Unknown Source)
[16:28:30 ERROR]: #!#! Caused by: java.lang.reflect.InvocationTargetException
[16:28:30 ERROR]: #!#!     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
[16:28:30 ERROR]: #!#!     at java.base/java.lang.reflect.Method.invoke(Unknown Source)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.utils.nmsmappings.ReflectionMethod.run(ReflectionMethod.java:406)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTContainer.<init>(NBTContainer.java:68)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTCustomItemStack.<init>(NBTCustomItemStack.java:19)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.api.nbt.NBTCustomSlot.<init>(NBTCustomSlot.java:16)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.lambda$get$0(ExprNbtCompound.java:142)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//org.skriptlang.skript.lang.converter.Converters.convert(Converters.java:501)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//org.skriptlang.skript.lang.converter.Converters.convertUnsafe(Converters.java:565)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.registrations.Converters.convertUnsafe(Converters.java:203)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:119)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.get(ExprNbtCompound.java:102)
[16:28:30 ERROR]: #!#!     at SkBee-3.5.0.jar//com.shanebeestudios.skbee.elements.nbt.expressions.ExprNbtCompound.get(ExprNbtCompound.java:39)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:88)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:94)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.effects.EffMessage.execute(EffMessage.java:123)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.Effect.run(Effect.java:49)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:88)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.command.Commands.handleEffectCommand(Commands.java:201)
[16:28:30 ERROR]: #!#!     at Skript-2.8.5.jar//ch.njol.skript.command.Commands$2.lambda$onPlayerChat$0(Commands.java:300)
[16:28:30 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftFuture.run(CraftFuture.java:88)
[16:28:30 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_20_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:482)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1636)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:447)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1515)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1216)
[16:28:30 ERROR]: #!#!     at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319)
[16:28:30 ERROR]: #!#!     at java.base/java.lang.Thread.run(Unknown Source)
[16:28:30 ERROR]: #!#! Caused by: com.mojang.brigadier.exceptions.CommandSyntaxException: Can't insert TAG_Double into list of TAG_String at position 191: ...Infinityd,<--[HERE]
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! Version Information:
[16:28:30 ERROR]: #!#!   Skript: 2.8.5 (latest)
[16:28:30 ERROR]: #!#!     Flavor: skriptlang-github
[16:28:30 ERROR]: #!#!     Date: 16:49:26.326703600
[16:28:30 ERROR]: #!#!   Bukkit: 1.20.4-R0.1-SNAPSHOT
[16:28:30 ERROR]: #!#!   Minecraft: 1.20.4
[16:28:30 ERROR]: #!#!   Java: 21.0.2 (OpenJDK 64-Bit Server VM 21.0.2+13-LTS)
[16:28:30 ERROR]: #!#!   OS: Windows 10 amd64 10.0
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! Server platform: Paper
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! Current node: null
[16:28:30 ERROR]: #!#! Current item: send nbt from  tool of event-player to event-command sender
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! Thread: Server thread
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! Language: english
[16:28:30 ERROR]: #!#! Link parse mode: DISABLED
[16:28:30 ERROR]: #!#!
[16:28:30 ERROR]: #!#! End of Error.
[16:28:30 ERROR]: #!#!

Steps to reproduce

  1. Get the items.
  2. Run send nbt compound of event-player's held item.
  3. Get error.

Expected behavior

The actual NBT of the item is printed.

SkBee Version

2.8.5

Server Version

git-Paper-430 (MC: 1.20.4)

SkBee Info

[16:34:53 INFO]: --- [SkBee Loading Info] ---
[16:34:53 INFO]: - [NBTAPI] Found Minecraft: v1_20_R3! Trying to find NMS support
[16:34:53 INFO]: - [NBTAPI] NMS support 'MC1_20_R3' loaded!
[16:34:53 INFO]: - NBT Elements successfully loaded
[16:34:53 INFO]: - Text Component Elements successfully loaded
[16:34:53 INFO]: - Advancement Elements successfully loaded
[16:34:53 INFO]: - BossBar Elements successfully loaded
[16:34:53 INFO]: - Bound Elements successfully loaded
[16:34:53 INFO]: - Damage Source elements successfully loaded
[16:34:53 INFO]: - Display Entity elements successfully loaded
[16:34:53 INFO]: - Fishing elements successfully loaded
[16:34:53 INFO]: - Game Event Elements successfully loaded
[16:34:53 INFO]: - Particle Elements successfully loaded
[16:34:53 INFO]: - RayTrace elements successfully loaded
[16:34:53 INFO]: - Recipe Elements successfully loaded
[16:34:53 INFO]: - Scoreboard Elements successfully loaded
[16:34:53 INFO]: - Scoreboard Objective Elements successfully loaded
[16:34:53 INFO]: - Statistic Elements successfully loaded
[16:34:53 INFO]: - Structure Elements successfully loaded
[16:34:53 INFO]: - Minecraft Tag elements successfully loaded
[16:34:53 INFO]: - Team Elements successfully loaded
[16:34:53 INFO]: - Tick Manager elements successfully loaded
[16:34:53 INFO]: - Villager Elements successfully loaded
[16:34:53 INFO]: - Virtual Furnace Elements disabled via config
[16:34:53 INFO]: - World Border Elements successfully loaded
[16:34:53 INFO]: - World Creator Elements successfully loaded
[16:34:53 INFO]: - Chunk Generator Elements disabled via config
[16:34:53 INFO]: - Plugin is up to date!
[16:34:53 INFO]: --- [Server Info] ---
[16:34:53 INFO]: Server Version: git-Paper-430 (MC: 1.20.4)
[16:34:53 INFO]: Skript Version: 2.8.5
[16:34:53 INFO]: Skript Addons:
[16:34:53 INFO]: - skript-placeholders v1.6.0
[16:34:53 INFO]: - DiSky v4.16.0
[16:34:53 INFO]: - skript-reflect v2.4
[16:34:53 INFO]: - SkJson v3.0.7
[16:34:53 INFO]: - Skript-Packet v2.2.1
[16:34:53 INFO]: SkBee Version: 3.5.0
[16:34:53 INFO]: SkBee Website: https://github.com/ShaneBeee/SkBee

Additional Information

No response

ShaneBeee commented 1 month ago

how exactly was this NBT created? power:[Infinityd,0.0d,0.0d]}, this seems like an odd thing, hence why the NBT is failing

friyes commented 1 month ago

I got it from someone on my server because it bypassed my nbt filter.

ShaneBeee commented 1 month ago

Yeah, somehow that item has invalid NBT. It looks like its attempting to be a list of doubles, but for some reason one of the numbers is Infinity, which isn't supported by Minecraft. Needless to say, there's nothing I can do about this.

friyes commented 1 month ago

Okay understandable.