prism / PrismRefracted

A continuation of Prism, a change-tracking plugin for Bukkit-based servers.
Other
44 stars 23 forks source link

[BUG] Player drop/pick up MythicMobs generated potion caused prism error #77

Open Xirren opened 4 months ago

Xirren commented 4 months ago

Describe the bug Player drop/pick up mythicmobs generated potion caused prism error. here's how is the potion defined in MythicMobs

server_杀人药水:
  Id: splash_potion
  Data: 16389
  Display: "§c撒人良药"
  Lore:
  - '§c治死你!'
  - '§b仅限管理设计师使用,不可用于恶作剧,恶意pvp!'
  Enchantments:
  - Mending:1
  Attributes:
  Hide:
   - enchants
  PotionEffects:
  - HEAL 1 126

To Reproduce Install MythicMobs and get this potion ,'/mm items get server_杀人药水‘, or vanilla commands can also generate this potion.
Drop it ,pick it up.

Expected behavior This action should be recorded by prism,not occuring an error.

Screenshots

[18:54:09] [Server thread/ERROR]: Could not pass event PlayerDropItemEvent to Prism v3.9.0 java.lang.NullPointerException: Cannot invoke "org.bukkit.potion.PotionData.getType()" because the return value of "org.bukkit.inventory.meta.PotionMeta.getBasePotionData()" is null at Prism-3.9.0-all.jar/network.darkhelmet.prism.actions.data.ItemStackActionData.createData(ItemStackActionData.java:107) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.actions.ItemStackAction.setItem(ItemStackAction.java:89) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.actionlibs.ActionFactory.createItemStack(ActionFactory.java:459) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.actionlibs.ActionFactory.createItemStack(ActionFactory.java:402) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.listeners.PrismPlayerEvents.onPlayerDropItem(PrismPlayerEvents.java:200) ~[Prism-3.9.0-all.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor814.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-138-906df69] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.6.jar:1.20.6-138-906df69] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.20.6.jar:1.20.6-138-906df69] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at net.minecraft.world.entity.player.Player.drop(Player.java:774) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.level.ServerPlayer.drop(ServerPlayer.java:2537) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.world.entity.player.Player.drop(Player.java:721) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.world.entity.player.Player.drop(Player.java:715) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleSetCreativeModeSlot(ServerGamePacketListenerImpl.java:3415) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.network.protocol.game.ServerboundSetCreativeModeSlotPacket.handle(ServerboundSetCreativeModeSlotPacket.java:30) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.network.protocol.game.ServerboundSetCreativeModeSlotPacket.handle(ServerboundSetCreativeModeSlotPacket.java:20) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1511) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1488) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1377) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1238) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-138-906df69] at java.base/java.lang.Thread.run(Unknown Source) ~[?:?] [18:54:11] [Server thread/ERROR]: Could not pass event EntityPickupItemEvent to Prism v3.9.0 java.lang.NullPointerException: Cannot invoke "org.bukkit.potion.PotionData.getType()" because the return value of "org.bukkit.inventory.meta.PotionMeta.getBasePotionData()" is null at Prism-3.9.0-all.jar/network.darkhelmet.prism.actions.data.ItemStackActionData.createData(ItemStackActionData.java:107) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.actions.ItemStackAction.setItem(ItemStackAction.java:89) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.actionlibs.ActionFactory.createItemStack(ActionFactory.java:459) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.actionlibs.ActionFactory.createItemStack(ActionFactory.java:402) ~[Prism-3.9.0-all.jar:?] at Prism-3.9.0-all.jar/network.darkhelmet.prism.listeners.PrismPlayerEvents.onPlayerPickupItem(PrismPlayerEvents.java:231) ~[Prism-3.9.0-all.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor818.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-138-906df69] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.6.jar:1.20.6-138-906df69] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.20.6.jar:1.20.6-138-906df69] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at net.minecraft.world.entity.item.ItemEntity.playerTouch(ItemEntity.java:514) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.world.entity.player.Player.touch(Player.java:634) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.world.entity.player.Player.aiStep(Player.java:599) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.world.entity.LivingEntity.tick(LivingEntity.java:3121) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.world.entity.player.Player.tick(Player.java:286) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:845) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:346) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.network.Connection.tick(Connection.java:630) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:242) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1801) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:467) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1571) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1231) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-138-906df69] at java.base/java.lang.Thread.run(Unknown Source) ~[?:?]

Server (please complete the following information):

Additional context none