Beta Release 2.10.0-beta1
Pre-releaseSkript 2.10.0 Beta 1
Skript 2.10.0 Beta 1 is here, ready for testing! This beta contains many new features, major changes, and bug fixes to improve the Skript experience, but we need to be sure they all work properly!
Below, you can familiarize yourself with the changes. As always, report any issues to our issues page! You can also use the #2-10-0-beta1 channel in the SkriptLang Testing Guild to talk about this beta.
Docs can be found here: https://docs.skriptlang.org/nightly/feature/2.10.0-beta/docs.html
Happy Skripting!
Major Changes
Important
Skript has dropped support for Minecraft versions below 1.19.4. This means 1.19.4, 1.20.6, and 1.21.X are the supported versions. Going forward, Skript will only support the latest 3 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.
- Display entities! Try spawning them, rotating them, translating them, and everything else!
- Animal husbandry syntaxes!
- Get various sounds of blocks, entities, and items, like the footsteps sound of a given item!
- Limit the number of variable backups created so you don't flood your hard drive!
- And much more!
⚠ Breaking Changes
- Out-of-range dates will now return
0 seconds
instead ofnone
in thetime since
expression:
if time since {_date} is less than 3 seconds:
# Previously, if {_date} was in the future, this would be false.
# Now, this is true, since `time since {_date}` evaluates to 0 seconds.
# These situations will not change:
# {_date} more than 3 seconds ago -> false
# {_date} between 0 and 3 seconds ago -> true
Changelog
Additions
- #5601 Adds syntax regarding display entities. Involves spawning, translating, scaling, rotating, and many other interations with displays.
- #6419 Adds the ability to set, add, or remove custom chat completions for players.
- #6532 Adds the entity potion effect event, triggered when an entity gains/loses an effect.
- #6768 Adds the piglin barter event (with barter input & output expressions).
- #6780 Adds a config option for all operators to see information when a script is reloaded.
- #6849 Adds a condition to check if an entity is saddled.
- #6850 Adds an effect to tame an entity and a condition to test if an entity is tamed.
- #6851 Adds a config option to limit the amount of variable backup files stored.
- #6859 Adds expression to get the command of a command block, as well as a condition and effect to check and set the conditionality of a command block.
- #6861 Adds an expression to get or modify the taming level of horses.
- #6898 Adds an effect to immediately detonate a creeper, tnt minecart, primed tnt, firework, or windcharge.
- #6912 Adds a section to filter lists, like the filter expression but with the ability to retain indices.
- #6960 Adds a warning for unreachable code (for example, code following a return effect in a function).
- #6970 Allows deleting/resetting the prefix/suffix of players.
- #6997 Add an explicit sort order to the sort effect.
- #7019 Adds an expression to get various sounds of entities, like their death sound, fall damage sound, or sound for eating a certain item.
- #7040 Adds an expression to get various sound of blocks, like their break sound, footstep sound, or place sound.
- #7045 Adds a last death location expression for players.
- #7075 Adds an event for when blocks drop items when broken.
- #7076 Adds an expression for the experience pickup cooldown of players, as well as an event for when it changes.
- #7094 Adds an effect to open/close the lids of certain blocks, as well as a condition to check if a lid is open or not.
- #7104 Adds a condition to check if a number in evenly divisible by another.
- #7015 Adds syntax to get some client chat options on Paper servers, like if a player has chat colouring disabled.
- #7110 Adds syntax related to animal breeding and age.
- #7142 Adds test world, block, and location expressions for use in tests.
- #7166 Adds a function to format a number based on Java's DecimalFormat system.
Bug Fixes
- #6970 Improves the prefix/suffix expression to avoid LuckPerms errors.
- #7023 Improve performance of book authors expression.
- #7046 Fixes the piglin barter effect tests failing on Windows machines.
- #7055 Fixes the inability to spawn chest boats.
Changes
- #5518 Adds support for getting multiple random numbers at once.
- #6203 Adds
time until
to the time since expression. Changes out-of-range dates to return 0 seconds instead of none. - #6741 Adds gamemodes to the invulnerable condition.
- #6849 Adds support for wolf armor in the
is wearing
condition and theequip
effect. - #6860 Supports wither projectiles in the 'charged' syntax.
- #6867 Supports hiding/revealing all entities instead of just players.
- #6900 Adds the ability to get all entities within a cuboid region (within two locations).
- #6930 Adds the option to ignore trailing empty strings when splitting text.
- #6958 Adds a warning when Skript is reloaded via /reload or similar means.
- #6989 Adds a new option to the connect effect for transfering players between any two servers.
- #7001 Allows the use of shortened timespan units in commands:
/my_ban_command sovde 1y 2d 3s
. - #7013 Adds more support for withers and wither skulls in the charge effect and condition.
- #7030 Allows underscores in numbers for readability:
100_000_000
. - #7041 Adds support for wolf variants.
- #7073 Default names are now generated for enum values that are missing lang entries:
Missing lang enum constant for 'teleport causes.END_GATEWAY'. Using end gateway teleport cause for now
. This allows users to use some new Minecraft content without waiting for a Skript update. - #7126 Added special generated aliases for modded items.
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. Any reported issues with this feature are not guaranteed to be addressed. - #7130 Allows blockdata to be used as the filter for
on click
events. - #7113 Supports adding to and removing from metadata tag values.
- #7115 Reduces delay before starting tests to 5 ticks instead of 5 seconds.
API Changes
- #5552 Adds internal Skript API events, like script initialization and script load events.
- #6873 Allows multiple return types in an ExpressionEntryData.
- #6993 Skript Timespans now implement the full Java time API, making them compatible with external resources.
- #7043 Exposes method to get the pattern strings of a property expression.
- #7053 Adds support for asynchronous JUnit tests.
- #7094 Explicitly add suppliers for EnumClassInfos.
- #7016 Avoids sending join messages when testing to avoid complexities with mocking players.
Click here to view the full list of commits made since 2.9.4
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:
- @APickledWalrus
- @sovdeeth
- @Asleeepp
- @cheeezburga
- @Efnilite
- @Moderocky
- @TenFont
- @TheAbsolutionism
- @TheLimeGlass
- @UnderscoreTud
- @JakeGBLP
- @EquipableMC
- @AyhamAl-Ali
- @Fusezion
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.