Matocolotoe / Skript-1.8

The Skript plugin made for Minecraft 1.8.x only. Releases will follow the original repository, except for some bug fixes. Please read the README before updating to Skript-1.8 !
https://discord.gg/yh3Z98m
GNU General Public License v3.0
47 stars 4 forks source link

Inventory Click Event (event-item) #60

Closed RealRigBot closed 9 months ago

RealRigBot commented 1 year ago

Skript Version

image

Bug Description

on inventory click:
    broadcast "%event-item%"

This code works properly in all cases except when clicking on an empty slot. When clicking on an empty slot the code stops running and this error is outputted:

[13:25:51 ERROR]: Could not pass event InventoryCreativeEvent to Skript v2.6.2
java.lang.AssertionError: null
        at ch.njol.skript.aliases.AliasesMap.matchAlias(AliasesMap.java:198) ~[?:?]
        at ch.njol.skript.aliases.AliasesProvider.getAliasData(AliasesProvider.java:349) ~[?:?]
        at ch.njol.skript.aliases.AliasesProvider.getMaterialName(AliasesProvider.java:367) ~[?:?]
        at ch.njol.skript.aliases.Aliases.getMaterialNameData(Aliases.java:186) ~[?:?]
        at ch.njol.skript.aliases.Aliases.getMaterialName(Aliases.java:190) ~[?:?]
        at ch.njol.skript.aliases.ItemData.toString(ItemData.java:274) ~[?:?]
        at ch.njol.skript.aliases.ItemType.toString(ItemType.java:1038) ~[?:?]
        at ch.njol.skript.aliases.ItemType.toString(ItemType.java:1004) ~[?:?]
        at ch.njol.skript.aliases.ItemType.toString(ItemType.java:1077) ~[?:?]
        at ch.njol.skript.classes.data.BukkitClasses$22.toString(BukkitClasses.java:1018) ~[?:?]
        at ch.njol.skript.classes.data.BukkitClasses$22.toString(BukkitClasses.java:998) ~[?:?]
        at ch.njol.skript.registrations.Classes.toString(Classes.java:618) ~[?:?]
        at ch.njol.skript.registrations.Classes.toString(Classes.java:647) ~[?:?]
        at ch.njol.skript.registrations.Classes.toString(Classes.java:640) ~[?:?]
        at ch.njol.skript.lang.VariableString.toString(VariableString.java:373) ~[?:?]
        at ch.njol.skript.lang.VariableString.getAll(VariableString.java:596) ~[?:?]
        at ch.njol.skript.effects.EffBroadcast.execute(EffBroadcast.java:93) ~[?:?]
        at ch.njol.skript.lang.Effect.run(Effect.java:50) ~[?:?]
        at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61) ~[?:?]
        at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89) ~[?:?]
        at ch.njol.skript.lang.Trigger.execute(Trigger.java:56) ~[?:?]
        at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:142) ~[?:?]
        at ch.njol.skript.SkriptEventHandler.access$000(SkriptEventHandler.java:53) ~[?:?]
        at ch.njol.skript.SkriptEventHandler$PriorityListener.lambda$new$0(SkriptEventHandler.java:71) ~[?:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.8.8.jar:git-PaperSpigot-445]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.8.8.jar:git-PaperSpigot-445]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.8.8.jar:git-PaperSpigot-445]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1816) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PacketPlayInSetCreativeSlot.a(SourceFile:23) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PacketPlayInSetCreativeSlot.a(SourceFile:9) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.8.8.jar:git-PaperSpigot-445]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_332]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_332]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:774) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [patched_1.8.8.jar:git-PaperSpigot-445]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]

Expected Behavior

The event-item was supposed to broadcast in chat.

Steps to Reproduce

on inventory click:
    broadcast "%event-item%"

Then simply click on an empty inventory slot! Or you can go in your creative inventory and click items from there too!

Errors or Screenshots

[13:25:51 ERROR]: Could not pass event InventoryCreativeEvent to Skript v2.6.2
java.lang.AssertionError: null
        at ch.njol.skript.aliases.AliasesMap.matchAlias(AliasesMap.java:198) ~[?:?]
        at ch.njol.skript.aliases.AliasesProvider.getAliasData(AliasesProvider.java:349) ~[?:?]
        at ch.njol.skript.aliases.AliasesProvider.getMaterialName(AliasesProvider.java:367) ~[?:?]
        at ch.njol.skript.aliases.Aliases.getMaterialNameData(Aliases.java:186) ~[?:?]
        at ch.njol.skript.aliases.Aliases.getMaterialName(Aliases.java:190) ~[?:?]
        at ch.njol.skript.aliases.ItemData.toString(ItemData.java:274) ~[?:?]
        at ch.njol.skript.aliases.ItemType.toString(ItemType.java:1038) ~[?:?]
        at ch.njol.skript.aliases.ItemType.toString(ItemType.java:1004) ~[?:?]
        at ch.njol.skript.aliases.ItemType.toString(ItemType.java:1077) ~[?:?]
        at ch.njol.skript.classes.data.BukkitClasses$22.toString(BukkitClasses.java:1018) ~[?:?]
        at ch.njol.skript.classes.data.BukkitClasses$22.toString(BukkitClasses.java:998) ~[?:?]
        at ch.njol.skript.registrations.Classes.toString(Classes.java:618) ~[?:?]
        at ch.njol.skript.registrations.Classes.toString(Classes.java:647) ~[?:?]
        at ch.njol.skript.registrations.Classes.toString(Classes.java:640) ~[?:?]
        at ch.njol.skript.lang.VariableString.toString(VariableString.java:373) ~[?:?]
        at ch.njol.skript.lang.VariableString.getAll(VariableString.java:596) ~[?:?]
        at ch.njol.skript.effects.EffBroadcast.execute(EffBroadcast.java:93) ~[?:?]
        at ch.njol.skript.lang.Effect.run(Effect.java:50) ~[?:?]
        at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61) ~[?:?]
        at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89) ~[?:?]
        at ch.njol.skript.lang.Trigger.execute(Trigger.java:56) ~[?:?]
        at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:142) ~[?:?]
        at ch.njol.skript.SkriptEventHandler.access$000(SkriptEventHandler.java:53) ~[?:?]
        at ch.njol.skript.SkriptEventHandler$PriorityListener.lambda$new$0(SkriptEventHandler.java:71) ~[?:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.8.8.jar:git-PaperSpigot-445]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.8.8.jar:git-PaperSpigot-445]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.8.8.jar:git-PaperSpigot-445]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1816) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PacketPlayInSetCreativeSlot.a(SourceFile:23) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PacketPlayInSetCreativeSlot.a(SourceFile:9) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.8.8.jar:git-PaperSpigot-445]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_332]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_332]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:774) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [patched_1.8.8.jar:git-PaperSpigot-445]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [patched_1.8.8.jar:git-PaperSpigot-445]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]

Other

Nope!

Agreement

RealRigBot commented 1 year ago

Update: event-slot seems to work fine but event-item is bugged. These both seem to do the same thing so I don't understand why event-item is a thing.

Matocolotoe commented 1 year ago

Seems to be fixed now, at least the huge error doesn't appear anymore. For comparisons with damageable items, the type of expression should be used.