Releases: APickledWalrus/skript-gui
1.3 is here!
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 USEskript-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 useopen 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
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
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 nativename
expression from Skript.
Example:set the skript-gui name of the gui to "new name"
Alpha 3
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 useopen the last gui to the player
to open a GUI.
Support for Skript 2.6-alpha1
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
- Fixed #13
- Fixed startup warnings about missing lang entries.
Small Fix
Global GUI Identifiers Expression
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
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
- 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!