Feature Release 2.10.0 #7447
APickledWalrus
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Skript 2.10.0
We are excited to share that Skript 2.10.0 is now available! It is one of our largest updates, with more than 150 new features, bug fixes, and API updates to play around with!
Below, you can familiarize yourself with the changes. Additionally, by clicking here, you can view the list of new syntax on our documentation site. As always, report any issues to our issues page!
Per our release model, we plan to release 2.10.1 on February 1st to address any immediate issues that are spotted with this release. Should it be necessary, an emergency patch release may come before then.
Happy Skripting!
Major Changes
Important
Support for Minecraft versions below 1.19.4 has been dropped.
This means that 1.19.4, 1.20.6, and 1.21.3/1.21.4 are the only supported versions. Going forward, Skript will only support the three latest major Minecraft versions.
In addition, Skript now requires Java 17 to run. While most users are running Java 17 or newer, some may be required to update for this version.
Warning
Some addons may fail to load with 2.10.
Due to the removal of long-deprecated API, outdated addons may fail to load while others will print a warning on start up. In some cases, an addon may only need to be recompiled to work with 2.10.
Caution
Aliases are going away! Your scripts may break if you do not take action.
This means a lot of item names will be changing to match their in-game ids. In addition, categories and blockdata aliases will also be going away, replaced by tags and blockdata respectively.
If you do not want to make changes to your scripts, the old aliases will be provided with each Skript release, so you can continue to use them if you prefer.
See this discussion for more details.
Minecraft Tags
Skript now supports the ability to use Minecraft tags (
#minecraft:swords
,#minecraft:logs
, etc.). These are being introduced as a replacement for the current category aliases (any sword
,any log
) and should provide much more flexibilty. You can even create your own tags!Display Entities
The long-awaited support for display entities is finally here! 2.10 includes a lot of syntax for creating, manipulating, and using display entities.
More display syntax can be found on the docs.
Variable Starting Character Reservations
Some characters are reserved at the start of variable names. Users will receive a warning when trying to use them.
This is so that these characters will be available for special variable functionality in future versions.
The following characters are reserved:
{~variable}
{.variable}
{$variable}
{!variable}
{&variable}
{^variable}
{*variable}
{+variable}
{-variable}
Registration API (Preview)
Caution
This is a preview feature, meaning it is subject to breaking changes without a deprecation period.
This update includes the initial preview of a new Skript/Addon API, starting with addon registration and syntax registration.
The main Skript (JavaPlugin) class now has a new method,
instance()
, which provides access to the modern Skript class. This class contains the registered addons and the newSyntaxRegistry
, which holds all of Skript's (and its addon's) registered syntax.A tutorial with full usage information will be coming in the near future. For now, the full details are available at the pull request.
🧪 Experimental Features
Experimental features allow users to enable syntax on a per-script basis: some of these features are new proposals that we are testing, others may have unsafe or complex elements that regular users don't want.
Experimental features can be enabled by adding 'using %feature name%' at the top of a script.
Please note that anything marked as experimental is subject to changes in future versions.
For-Each Loop
A new kind of loop syntax that stores the loop index and value in variables for convenience.
This can be used to avoid confusion when nesting multiple loops inside each other.
All existing loop features are also available in this section.
Enabling Flag
Queue
A collection that removes elements whenever they are requested.
This is useful for processing tasks or keeping track of things that need to happen only once.
Queues can be looped over like a regular list.
Enabling Flag
Script Reflection
This feature includes:
Enabling Flag
⚠ Breaking Changes
Changelog
Changes Since 2.10.0-pre1
Additions
/my_ban_command sovde 1y 2d 3s
.100_000_000
.mod:item
is accessible asmod's item
oritem from mod
. This feature is not officially supported, as Skript does not officially support any modded platforms.Bug Fixes
any boat
.Removals
download
argument from skript command.Changes
API Changes
-2
.Click here to view the full list of commits made since 2.9.5
Notices
Help Us Test
We have an official Discord community for beta testing Skript's new features and releases.
Thank You
Special thanks to the contributors whose work was included in this version:
As always, if you encounter any issues or have some minor suggestions, please report them at https://github.com/SkriptLang/Skript/issues.
If you have any bigger ideas or input for the future of Skript, you can share those too at https://github.com/SkriptLang/Skript/discussions.
This discussion was created from the release Feature Release 2.10.0.
Beta Was this translation helpful? Give feedback.
All reactions