Skip to content

Releases: APickledWalrus/skript-gui

1.3 is here!

11 Aug 19:10
e8f3446
Compare
Choose a tag to compare

After a very long time, 1.3 is finally ready for a full release!

This update contains so many fixes and improvements, I highly recommend that ALL users update.

Important

THIS BUILD IS INTENDED FOR SKRIPT VERSIONS 2.6.3 OR NEWER

Fixes and Improvements (since beta2)

  • Allow players in spectator mode to trigger GUI click events (#122, thanks @Obliviated)
  • Fixed an issue where updating the shape of a GUI could cause an exception if some slots were unexpectedly not set (closes #133)
  • Fixed an issue where a redundant check for the gui clicked item expression caused an internal error within Skript (closes #132)

There are still some cases where an exception may occur. In those cases, it is likely to be the fault of Skript. Please feel free to report them though.

  • Fixed an issue where the "gui creation inception" checks would incorrectly update the current GUI (closes #131)
  • Fixed an issue where stealable items did not work as expected (closes #126)

I want to make sure it is clear that for a GUI item to be marked as stealable, you do NOT need to make the entire GUI as having stealable items.

For the full list of changes. please refer to the changelogs of previous pre-releases.

Syntax Changes / Breaking Changes Since 1.2.2

  • gui size now returns the number of slots instead of rows (this was a bug)

If you depended on this returning the number of slots, you will have to rework your code! Sorry for any trouble this causes

  • The GUI properties expression has been completely rewritten, and the syntax has changed. It is now a property expression so that it may be used outside of editing sections. This was done to improve the syntax and usability.

New Syntax:
[the] [skript-gui] name[s] of %guis% OR %guis%'[s] [skript-gui] name[s] - RECOMMENDED TO USE skript-gui name DUE TO SYNTAX CONFLICTS WITH SKRIPT
[the] (size[s]|rows) of %guis% OR %guis%'[s] (size[s]|rows)
[the] shape[s] of %guis% OR %guis%'[s] shape[s]
[the] lock status[es] of %guis% OR %guis%'[s] lock status[es]

  • Reworked the syntax for the GUI values expression. This was done to improve syntax flow and usability.

New Syntax:
[the] gui slot
[the] gui raw slot
[the] gui hotbar slot
[the] gui inventory
[the] gui inventory action
[the] gui click (type|action)
[the] gui cursor [item]
[the] gui [clicked|current] item
[the] gui slot type
[the] gui player
[the] gui (viewer|player)s
[the] gui slot id
[the] gui

  • The open gui effect was removed. Therefore, open gui is no longer valid syntax. You can use open the last gui to the player to open a GUI.

Final Notes

Please feel free to report ANY issues you encounter. You can do so at https://github.com/APickledWalrus/skript-gui/issues
If you have any questions or need help, you can also do so there on the issues tab. Support is also provided through the Skript Chat Discord guild. Join at https://discord.com/invite/aSTrApthYg

I am happy to answer ANY questions you might have!! You can check out our documentation at https://github.com/APickledWalrus/skript-gui/#examples-and-documentation

The wiki should be updated. If you notice any inaccuracies or mistakes, PLEASE report them!!!

Beta 2

04 Jun 06:35
3c5bf59
Compare
Choose a tag to compare
Beta 2 Pre-release
Pre-release

Hey all! I know it's been a while but expect more consistent updates in the future. Thank you again for your continued support!!

This release is the second beta build of skript-gui 1.3. It's been a while since the last release, but further bug fixes and improvements have been made. I am expecting the full release of 1.3 to come very soon. This build should be very stable.

If you encounter any errors, please report them in the issues tab: https://github.com/APickledWalrus/skript-gui/issues
Continuing with this release, skript-gui ONLY supports the latest version of Skript (2.6.2 at this time)

Fixes and Improvements

  • Fixed an issue where next gui slot wouldn't always work properly (closes #103)
  • Fixed various issues with changing GUI properties (closes #101)
  • Fixed an exception that could occur within the GUI values expression
  • Improved internal handling of GUI values
  • Improvements to GUI handling / modifications when a GUI creation section is placed within another GUI creation section (closes #117)

Beta 1

01 Nov 23:40
Compare
Choose a tag to compare
Beta 1 Pre-release
Pre-release

NOTICE: Following the past releases, skript-gui ONLY supports the latest version of Skript. Critical fixes may be backported for older versions if needed.

This is the first beta build of skript-gui 1.3. I believe 1.3 has become stable enough to move into beta phases. If no additional betas/changes are needed, 1.3 will be released.

As usual, if anyone has any issues or questions, please feel free to share them at https://github.com/APickledWalrus/skript-gui/issues.
There is no official documentation for 1.3 yet, but it should be coming soon.

Additions

  • Added next gui slot expression (closes #77)

Full syntax:
%guiinventorys%'[s] next gui slot[s]
[the] next gui slot[s] of %guiinventorys%
[the] next gui slot

Fixes

  • Fixed several issues with modifying GUI properties (closes #65)

Please note that when changing the name of a GUI you will want to use the expression: skript-gui name. This is only needed because of a syntax conflict with Skript. You may encounter unintended behavior when using the native name expression from Skript.
Example: set the skript-gui name of the gui to "new name"

  • Fixed several issues with the GUI values expression (closes #66)
  • Fixed an issue where global GUIs were not properly removed when a new global GUI with the same ID was created (closes #72)
  • Added the api-version value to the plugin.yml

Alpha 3

31 Aug 00:10
Compare
Choose a tag to compare
Alpha 3 Pre-release
Pre-release

NOTICE: Following the past releases, skript-gui ONLY supports the latest version of Skript. Critical fixes may be backported for older versions if needed.

It has been a while since the last alpha, but there has been a lot of progress made since. Many bugs have been fixed, syntax has changed, and performance has hopefully improved. Please review the change log for details. However, there may have been some things I missed! Please feel free to ask questions here on GitHub and on Discord. You can join the official skript-gui support channel on Discord at https://discord.com/invite/aSTrApthYg

As always, please share your feedback and issues. It is invaluable to the addon's development :)
Issues can be opened at https://github.com/APickledWalrus/skript-gui/issues

Please note that you must be running Skript 2.6-beta3 for this alpha to work.

Additions

  • GUIs may now be used as an inventory in Skript syntax (closes #17)
  • Added an expression to get and change the ID of a GUI (closes #18)

Examples: send id of player's gui to player, set id of player's gui to "new id"

  • Writing inventory is no longer required in some cases when creating a GUI inventory (closes #22)

The following inventories do not require you to add inventory onto the end:
crafting table/workbench, chest, anvil, hopper, dropper, and dispenser

  • Added a GUI section to run code when the GUI is opened (closes #40)

Syntax:
run (when|while) open[ing] [[the] gui]
run (when|while) [the] gui opens
run on gui open[ing]

The backend of the addon has been completely rewritten. This should make it less sensitive to Skript updates (meaning it shouldn't break) and improve performance.

Fixes

  • Blocked usage of some "illegal" inventories (closes #31)
  • Fixed an issue where attempting to unformat a GUI slot caused an error (closes #32)
  • Fixed a duplication glitch related to the recipe book (closes #33)

Please note that for the fix for #33 you MUST be running a Paper server. Just like Skript, skript-gui works best with Paper. You can download Paper at https://papermc.io/downloads

  • Fixed an issue where skript-gui blocked Skript inventory events (closes #34)
  • Fixed an issue where running code when a GUI item is clicked caused an error if no local variables were set (closes #35)
  • Fixed an issue where unformatting GUI slots wouldn't work in some cases (closes #41)
  • Fixed an error that could occur during GUI item clicks (closes #48)
  • Fixed possible issues with changing the size of a GUI
  • Block invalid usage of expressions where possible by using native Skript API features (e.g. using arguments in a GUI click section)

BREAKING CHANGES 🌟

  • Fixed an issue where gui size returned the number of slots instead of rows (closes #44)

If you depended on this returning the number of slots, you will have to rework your code! Sorry for any trouble this causes

  • The GUI properties expression has been completely rewritten, and the syntax has changed. It is now a property expression so that it may be used outside of editing sections. This was done to improve the syntax and usability.

New Syntax:
[the] (name[s]|(size[s]|rows)|shape[s]|lock status[es]) of %guis%
%guis%'[s] (name[s]|(size[s]|rows)|shape[s]|lock status[es]) of %guis%

  • Reworked the syntax for the GUI values expression. This was done to improve syntax flow and usability.

New Syntax:
[the] gui slot
[the] gui raw slot
[the] gui hotbar slot
[the] gui inventory
[the] gui inventory action
[the] gui click (type|action)
[the] gui cursor [item]
[the] gui [(clicked|current)] item
[the] gui slot type
[the] gui player
[the] gui (viewer|player)s
[the] gui slot id
[the] gui

  • The open gui effect was removed. Therefore, open gui is no longer valid syntax. You can use open the last gui to the player to open a GUI.

Support for Skript 2.6-alpha1

24 May 00:16
Compare
Choose a tag to compare
Pre-release

This release adds support for the latest version of Skript. Please note that BOTH of these versions are experimental and may have issues.

I believe this addon is working okay now, but there may be issues I did not get. Please open an issue report if you encounter any errors.

NOTICE: Starting this release, skript-gui will ONLY support the latest version of Skript. Critical fixes may be backported for older versions if needed.

Small Fixes

07 Mar 23:12
Compare
Choose a tag to compare
  • Fixed #13
  • Fixed startup warnings about missing lang entries.

Small Fix

11 Jun 23:03
Compare
Choose a tag to compare
Small Fix Pre-release
Pre-release

This release fixes #23. This version is designed to run on Skript 2.6.

Thank you all for your support! New features should be coming in the near future :)

Global GUI Identifiers Expression

06 Mar 03:54
Compare
Choose a tag to compare

This release adds an expression to get the IDs of all of the registered global GUIs (closes #12).
Syntax:

[(all [[of] the]|the)] (global|registered) gui identifiers

If you have any issues, questions, or suggestions, let me know in the Issues tab!

maybe it'll work right this time lol

Quality of Life Features

21 Dec 04:10
Compare
Choose a tag to compare

This update brings some minor but useful changes. The wiki has been updated with guides on how to use these features :)

  • The run on gui close scope can now be cancelled. Syntax: (cancel|uncancel) [the] gui clos(e|ing)
  • Specific slots can now be marked as stealable. New Patterns:
(make|format) [the] next gui [slot] (with|to) [(moveable|stealable)] %itemtype%
(make|format) gui [slot[s]] %strings/numbers% (with|to) [(moveable|stealable)] %itemtype%

WIKI: https://github.com/APickledWalrus/skript-gui/wiki
I will be updating SkriptHub shortly after this is published.

If you have any issues with this release please let me know in the issues tab.

Also, as I have been getting some questions about this, this addon IS NOT compatible with TuSKe. You will encounter errors if you try to use both of them. I apologize for any inconveniences this may cause for you.

1.1.0

16 Aug 20:30
Compare
Choose a tag to compare
  • Added a link to SkriptHub documentation in the README
  • Added an expression to get the GUI of a player:
    • gui of %players%
    • %players%'[s] gui
  • Added a Paginated List expression (taken from TuSKe)
    • Returns the "pages" of a list based on the given number of lines per page. Page 2 of a list with 36 lines per page would return the elements from indexes 37 to 72
    • page[s] %numbers% of %objects% with %number% lines
  • Some minor code optimization
  • Fixed #4

As always, if you have any issues, let me know!