APickledWalrus/skript-gui

the expression `shape of %guis%` can't be set

AKtomik opened this issue · 2 comments

Description

the expression shape of %guis% can't be set :
If this effect is used inside a editing section, the execution stop with a error in the console. No error when reload.
Else, if this effect is used outside a editing section, the effect just won't work. No error when reload.

Note : the expression set skript-gui shape of %guis% is not recognized. (error when reload)

Steps to Reproduce

For have the error :
try to set the expression shape of %guis% inside a editing section.

command /test:
	trigger:
		create gui with id "GUI" with virtual chest inventory with 2 rows with shape "---------","_________"
		edit gui with id "GUI":
			set shape of gui with id "GUI" to "_________","---------"

And when is outside a editing section :

command /test2:
	trigger:
		create gui with id "GUI" with virtual chest inventory with 2 rows with shape "---------","_________"
		set shape of gui with id "GUI" to "_________","---------"
		edit gui with id "GUI":
			format gui slots "-" with dirt
			format gui slots "_" with diamond
		open gui with id "GUI" to player

but that won't work :
image

Expected Behavior

Make possible to change the shape of an gui with set shape of %guis% to %shape%

Errors / Screenshots

console error :

[INFO] AKtomik issued server command: /sk reload Test
[INFO] AKtomik issued server command: /test
[ERROR] #!#!
[ERROR] #!#! [Skript] Severe Error:
[ERROR] #!#!
[ERROR] #!#! Something went horribly wrong with Skript.
[ERROR] #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[ERROR] #!#! It looks like you are using some plugin(s) that alter how Skript works (addons).
[ERROR] #!#! Here is full list of them:
[ERROR] #!#! skript-gui v1.3-beta2 (https://github.com/APickledWalrus/skript-gui)
[ERROR] #!#! We could not identify which of those are specially related, so this might also be Skript issue.
[ERROR] #!#! You should try disabling those plugins one by one, trying to find which one causes it.
[ERROR] #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue.
[ERROR] #!#! In that case, you will be given instruction on how should you report it.
[ERROR] #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin.
[ERROR] #!#! Only if the author tells you to do so, report it to Skript's issue tracker.
[ERROR] #!#!
[ERROR] #!#! Stack trace:
[ERROR] #!#! java.lang.NullPointerException: Cannot invoke "io.github.apickledwalrus.skriptgui.gui.GUI$SlotData.isRemovable()" because "slotData" is null
[ERROR] #!#! at skript-gui-1.3-beta2.jar//io.github.apickledwalrus.skriptgui.gui.GUI.setShape(GUI.java:405)
[ERROR] #!#! at skript-gui-1.3-beta2.jar//io.github.apickledwalrus.skriptgui.elements.expressions.ExprGUIProperties.change(ExprGUIProperties.java:101)
[ERROR] #!#! at Skript.jar//ch.njol.skript.effects.EffChange.execute(EffChange.java:282)
[ERROR] #!#! at Skript.jar//ch.njol.skript.lang.Effect.run(Effect.java:50)
[ERROR] #!#! at Skript.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)
[ERROR] #!#! at Skript.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89)
[ERROR] #!#! at Skript.jar//ch.njol.skript.lang.Trigger.execute(Trigger.java:56)
[ERROR] #!#! at Skript.jar//ch.njol.skript.command.ScriptCommand.execute2(ScriptCommand.java:286)
[ERROR] #!#! at Skript.jar//ch.njol.skript.command.ScriptCommand.lambda$execute$0(ScriptCommand.java:251)
[ERROR] #!#! at Skript.jar//ch.njol.skript.command.ScriptCommand.execute(ScriptCommand.java:256)
[ERROR] #!#! at Skript.jar//ch.njol.skript.command.Commands.handleCommand(Commands.java:261)
[ERROR] #!#! at Skript.jar//ch.njol.skript.command.Commands$1.onPlayerCommand(Commands.java:178)
[ERROR] #!#! at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:37)
[ERROR] #!#! at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
[ERROR] #!#! at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
[ERROR] #!#! at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:670)
[ERROR] #!#! at net.minecraft.server.network.PlayerConnection.b(PlayerConnection.java:2263)
[ERROR] #!#! at net.minecraft.server.network.PlayerConnection.lambda$handleChatCommand$20(PlayerConnection.java:2249)
[ERROR] #!#! at net.minecraft.util.thread.IAsyncTaskHandler.b(IAsyncTaskHandler.java:59)
[ERROR] #!#! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
[ERROR] #!#! at net.minecraft.server.TickTask.run(TickTask.java:18)
[ERROR] #!#! at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
[ERROR] #!#! at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
[ERROR] #!#! at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1360)
[ERROR] #!#! at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:185)
[ERROR] #!#! at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
[ERROR] #!#! at net.minecraft.server.MinecraftServer.bh(MinecraftServer.java:1337)
[ERROR] #!#! at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1330)
[ERROR] #!#! at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:136)
[ERROR] #!#! at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1308)
[ERROR] #!#! at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:1196)
[ERROR] #!#! at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:305)
[ERROR] #!#! at java.base/java.lang.Thread.run(Thread.java:833)
[ERROR] #!#!
[ERROR] #!#! Version Information:
[ERROR] #!#! Skript: 2.6.3 (latest)
[ERROR] #!#! Flavor: skriptlang-github
[ERROR] #!#! Date: 00:55:22.847925631
[ERROR] #!#! Bukkit: 1.19.2-R0.1-SNAPSHOT
[ERROR] #!#! Minecraft: 1.19.2
[ERROR] #!#! Java: 17.0.3.1 (Java HotSpot(TM) 64-Bit Server VM 17.0.3.1+2-LTS-6)
[ERROR] #!#! OS: Linux amd64 5.4.125-mtxserv
[ERROR] #!#!
[ERROR] #!#! Server platform: Paper
[ERROR] #!#!
[ERROR] #!#! Current node: null
[ERROR] #!#! Current item: set the shape of the gui with the id "GUI" to ("_________" and "---------")[class java.lang.Object]
[ERROR] #!#! Current trigger: command /test (simple event) (Test.sk, line 1)
[ERROR] #!#!
[ERROR] #!#! Thread: Server thread
[ERROR] #!#!
[ERROR] #!#! Language: english
[ERROR] #!#! Link parse mode: DISABLED
[ERROR] #!#!
[ERROR] #!#! End of Error.
[ERROR] #!#!

Server Information

  • Server version/platform: This server is running Paper version git-Paper-121 (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT) (Git: 954b3fb)
  • skript-gui version: skript-gui version 1.3-beta2
  • Skript version: Skript version 2.6.3

Additional Context

Thanks for the report! I'll take a look into this ASAP!

I've improved the internal checks, which should fix the issue you described. You can try out the nightly build at: https://github.com/APickledWalrus/skript-gui/suites/7775870545/artifacts/327194305

If you encounter any other issues, please feel free to report them! Thank you!