Skip to content

The 1.18 update

Compare
Choose a tag to compare
@TPGamesNL TPGamesNL released this 25 Jan 21:10
· 928 commits to master since this release
e43c37e

⭐️ Changes

As with the previous release, the full changelog can be found below this summary.

Minecraft 1.18 support

Skript now officially supports Minecraft 1.18. There was a temporary unofficial release from @ShaneBeee on the skUnity Discord, but we recommend switching to this official release now.

Parsing output reformatted

Skript's parsing output (the errors and warnings) are now easier to read and more stylish, thanks to a PR from @AyhamAl-Ali.

Full changelog

Fixes

  • Fixed an exception when dropping 0 of an item (closes #4315, thanks @AyhamAl-Ali)
  • Fixed number literal parsing slowing down parsing considerably
  • Fixed parsing issue (closes #2382)
  • Removed variable conflict warnings (closes #3932)

For addon developers:
This change could cause your addon to not compile anymore due to your code overriding the method Parser#getVariableNamePattern, that has now been removed.
To fix this, remove the @Override annotation if you want to preserve backwards compatibility with older Skript versions, otherwise remove the method entirely.

  • Fixed multiple issues with the parse expression (closes #3013)
  • Fixed and improved event value parsing (closes #3499)
  • Fixed many item comparison issues (closes #999, #3669, #4053, #4054, #4163, #4278, #4292)
  • Fix Skript not properly interacting with blocks below Y=0 (closes #4324)
  • Fixes CSV storage not writing to the right temporary file (closes #4398)
  • Fixed command cooldown cancelling not working after a delay (closes #4311)
  • Removed target block cache to fix a bug of it (closes #4341)
  • Fix NPE from connect effect execution with no online players (closes #4349)
  • Fix looping a single value (thanks @Mr-Darth)
  • Fix Skript's tests not working (closes #4439, thanks @AyhamAl-Ali)
  • Fix timespan from date expression changing its argument (closes #4431, thanks @AyhamAl-Ali)
  • Fix Skript attempting to parse a hex chat code when not supported (closes #3906, thanks @AyhamAl-Ali)
  • Fix an error specific to 1.18 (closes #4466)
  • Fix some missing event values for pickup events
  • Fixed an NPE with parsing sections (closes #4473)
  • Fixed an error with strings containing a closing bracket in function calls (closes #4487)
  • Fix an item duplication issue with the tool expression and bucket filling (closes #4415, thanks @AyhamAl-Ali)
  • Fix uncoloured string expression removing the wrong things (closes #3787, thanks @AyhamAl-Ali)
  • Fix script is loaded condition throwing exception in effect commands (closes #4467, thanks @AyhamAl-Ali)

Additions / improvements

  • Updated list of authors in the plugin file
  • Added the spawn effectsection (closes #2403)
  • Added world support to the chunk of expression (closes #4215, thanks @TUCAOEVER)
  • Switched to pattern compiling instead of pattern interpreting
  • Added modified attribute value expression (closes #4171, thanks @AyhamAl-Ali)
  • Add victim support to the projectile hit event (closes #3746, thanks @Mr-Darth)
  • Improved the localization system (closes #136, #1359, #2585, #2890, #3859, #4155, #4233)
  • Added a converter from inventory to inventory type
  • Updated Korean translations (thanks @AlphaKR93)
  • Allow past form of the damage cause expression (closes #4347)
  • Remove 'Numeric ids are not supported anymore' error (closes #4371)
  • Added expression to get indices sorted by their corresponding values (closes #3446, thanks @bluelhf)
  • Add middle of location expression (thanks @AyhamAl-Ali)
  • Improve formatting of /skript info command (thanks @AyhamAl-Ali)
  • Add entity has potion condition (thanks @AyhamAl-Ali)
  • Add a tab completer to the skript command (closes #3531, thanks @AyhamAl-Ali)
  • Expand timespans to support weeks, months and years (closes #2220, thanks @AyhamAl-Ali)
  • Add entity in liquid condition (closes #4180, thanks @AyhamAl-Ali)
  • Add hostname expression for connect event (closes #3854, thanks @AyhamAl-Ali)
  • Add world with name expression (closes #3971, thanks @AyhamAl-Ali)
  • Add the name to a variable's debug string (closes #4294)
  • Add more info to the string form of a location (thanks @AyhamAl-Ali)
  • Add advanced formatting support to broadcast effect (closes #4156)
  • Add an error when a region can't be found (thanks @AyhamAl-Ali)
  • Adds support for 3D biomes
  • Improve world height support
  • Add 1.18 biomes (thanks @AlphaKR93)
  • Reverse the checking order of ParserInstance#getCurrentSection (closes #4446, thanks @Olyno)
  • Add attack cooldown expression (closes #4105, thanks @AyhamAl-Ali)
  • Reformatted parsing output (closes #3505, thanks @AyhamAl-Ali)

The docs will be updated with the new changes soon.

⭐️ Organization Stuff

End of 1.12 support

After a lot of discussion, we have decided to drop support for 1.12 and lower, as it stops us from adding a lot of features and focusing on other parts of Skript. 2.6.x will be the last version working with 1.12 and lower. Security patches and other kind of fixes might be ported to this version, but keep in mind that features won't be added.

For addon developers

  • We've switched to a new maven repository for Skript: https://repo.skriptlang.org/releases! Read more about it in #4506.
  • We've removed the method Parser#getVariableNamePattern, see the full changelog above for more info.
  • Introducing parse tags, like parse marks but better! Read more about them here.
  • Added SkriptEvent#getEventClasses so a SkriptEvent has control over which event class the code is parsed with, see #4195).
  • (same as in 2.6) Due to the merge of #3924, many addons might be broken by this release. If you want to make them compatible, you may use SkriptAddonPatcher or its plugin version.

We're moving!

Another thing to note for addon developers and people who wish to contribute to the project, we have moved the main discussion area to the skUnity discord. While Skript-chat was good enough we need to reflect our rapidly growing community's needs and we will achieve this by taking it to the largest Skript community in place.

This doesn't mean skUnity documentation/forums are handled by the SkriptLang organization as they take part of their own service. We'll still maintain our own documentation at https://skriptlang.github.io/Skript and support any other services such as SkriptHub/Skript-MC to continue taking part of this community!

As always, if you encounter any issues please report them at https://github.com/SkriptLang/Skript/issues.
If you have any ideas or input for the future development of Skript, you can share those too at https://github.com/SkriptLang/Skript/discussions.