Releases: APickledWalrus/skript-gui
Release list
Release 1.4.0
skript-gui 1.4.0
Important
skript-gui now requires Skript 2.14.3 or newer.
Well, it's been a while (over a year in fact), but I'm quite excited to share that skript-gui 1.4.0 is here! This release includes a bunch of bug fixes, better support for modern versions of Skript, and some other exciting new features. Thanks for your patience as I (slowly) worked on this update!
If you encounter any issues, please be sure to report them over in the issues tab: https://github.com/APickledWalrus/skript-gui/issues
I recommend reading over the wiki, which has been rewritten from the ground up for this update.
Happy skript-gui-ing!
Breaking Changes
- For better compatibility with Skript and other inventory types, the 'gui size' expression now returns the number of slots rather than the number of rows. Additionally,
gui rowsis no longer available. Simply usesize of <gui>. - It is no longer possible to obtain all global GUIs using only
guis. You must include the keywordglobal:global guis.
Changelog
Additions
- Properly integrated
nameandsizeof a GUI with Skript's default syntax. This should resolve any syntax collision issues. - Added proper component support for creating virtual inventories.
- Added support for Folia (for forks of Skript that enable this).
- Added experimental support for creating GUIs using real inventories. For example, this enables the creation of working Anvil GUIs for obtaining input. Please see Menu GUIs for more information on using these.
- Added a new
slot changesection which executes when a slot is interacted with or changes in some way. Please see GUI Slot Change for more information on using this section.
Changes
- Made significant internal improvements to improve plugin stability and maintainability.
- Deprecated the
lock statusexpression in favor of a condition and effect. - GUI slots with an action can now have their items taken if explicitly marked as removable.
Bug Fixes
- Fixed an issue where GUI properties did not correctly modify the specified GUI
- Fixed an issue where modifying the lock status of a GUI was backwards (e.g. setting the lock status to
trueunlocked the GUI) - Unformatting the
nextgui slot now starts at the end of the layout, not the beginning.
Release 1.3.2
skript-gui 1.3.2
skript-gui 1.3.2 is here with some minor compatibility fixes for Skript 2.12.
This release only includes support for newer versions of Skript. Development is underway on the next major version of skript-gui, which includes bug fixes, new features, and other significant changes.
Please review the changelog below, as this release includes breaking changes.
Thanks for your continued support, and Happy skript-gui-ing!
Important
The addon requires Skript 2.10.2 or newer, meaning only Minecraft versions 1.19.4 and newer are supported.
Changelog
Bug Fixes
- Fixed conflicts with Skript's 'name' and 'size' expressions. Note that the syntax for the
gui nameandgui sizeproperties has changed. Specifically,guiis now a required keyword:
[skript-]gui name[s] of %guis%
[skript-]gui size[s] of %guis%Release 1.3.1
skript-gui 1.3.1
At long last, skript-gui 1.3.1 is here with proper support for Skript 2.10 and newer!
This release only includes support for newer versions of Skript. Development is underway on the next major version of skript-gui, which includes bug fixes, new features, and other significant changes.
Thanks for your continued support, and Happy skript-gui-ing!
Important
The addon now requires Skript 2.10.2 or newer, meaning only Minecraft versions 1.19.4 and newer are supported.
Changelog
Additions
- Added support for Skript 2.10 and newer.
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 itemexpression 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 sizenow 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 nameDUE 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 guieffect was removed. Therefore,open guiis no longer valid syntax. You can useopen the last gui to the playerto 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 slotwouldn'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 slotexpression (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 nativenameexpression 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
inventoryis no longer required in some cases when creating a GUI inventory (closes #22)
The following inventories do not require you to add
inventoryonto 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 sizereturned 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 guieffect was removed. Therefore,open guiis no longer valid syntax. You can useopen the last gui to the playerto 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
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 :)