Skript Versions Save

Skript is a Bukkit plugin which allows server admins to customize their server easily, but without the hassle of programming a plugin or asking/paying someone to program a plugin for them.

2.6-beta2

2 years ago

NOTICE: 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.

NOTICE (as per Skript 2.6-alpha1): 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

Welcome back to yet another release! This update may be super small but if fixes a pretty major bug with variables.

FIXED:

  • Fixed a critical bug with nested variables not working (closes #4143)

2.6-beta1

2 years ago

NOTICE: 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.

NOTICE (as per Skript 2.6-alpha1): 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

Welcome back to yet another release!

We know it's been a while, but we are still working hard to bring brand new features and fixes to Skript. This update brings support for Minecraft 1.17 and all of its new features. As such, the aliases have been updated to include the new 1.17 blocks and items. You can see the full list of changes below.

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.

Anyways, with that out of the way, off to the change log!

Additions

If you were missing an alias for minecraft:basalt, the alias basalt (plural form just has s on the end) would be created.

Section API (Experimental)

Please note that the dust_color_transition and vibration particles are currently missing and will be added in a future update.

This condition is just like the if statement, but it is prefixed with the word parse. If the condition does not pass in a parse if statement, the code in its section will not be loaded. Example:

on load:
	parse if plugin "SkBee" is enabled:
		# SkBee addon stuff here

This is just like the while loop, but it will always run at least one time. Example:

on load:
	set {_x} to 0
	while {_x} > 5:
		add 1 to {_x}
	# {_x} = 0

	set {_x} to 0
	do while {_x} > 5:
		add 1 to {_x}
	# {_x} = 1

Fixes

This also [re]adds the ability to teleport synchronously by prefacing the effect with force (e.g. force teleport the attacker to the victim) Please note that the keyword 'force' indicates that the effect will not be delayed. This may cause lag spikes or server crashes when teleporting entities to unloaded chunks.

Please note that this fix removes the ability to damage an entity with a custom damage cause. This only worked because of a bug that has been fixed for a long time. If you still wish to use a custom damage cause (retain this functionality) you can use the last damage cause expression (https://github.com/SkriptLang/Skript/blob/master/src/main/java/ch/njol/skript/expressions/ExprLastDamageCause.java - https://skriptlang.github.io/Skript/expressions.html#ExprLastDamageCause)

Addons may also choose to disable hooks in JavaPlugin#onLoad by calling Skript#disableHookRegistration. They may also check whether a hook is enabled through Skript#isHookEnabled.

2.6-alpha1

2 years ago

NOTICE: 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.

NOTICE 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

It's been 5 months since the last release, however this doesn't mean we haven't progressed at all during this time. There were some issues on the administrative aspect of the project which have just been recently resolved, hence why there's a lack of updates recently and we sincerely apologize for that. That being said, I'll start with the changes in the organization to begin with this release and then introduce the changelog for the first alpha of 2.6! Stay tuned.

The family is growing

I am glad to announce two new team members to the organization, @TPGamesNL who has been greatly contributing to the project with amazing patches and @TheLimeGlass who has always been a mindful part of the overall community and has also made great contributions in the past.

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!

All of that done, now let's go through the changelog.

Additions

This makes platforms such as Magma or Mohist more compatible but they're not yet supported by our project.

The RGB literal has been changed from RED: %integer%, GREEN: %integer%, BLUE: %integer% to (rgb|RGB) %integer%, %integer%, %integer% Color support has been added to the note particle effect note [(of|with) [colo[u]r] %number%]

Event priorities can be read about here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/EventPriority.html For most users, you will not need to worry about this. However, it is useful in cases where you want to be sure that Skript is determining the outcome of the event. Keep in mind that LOWEST priority events are called first and MONITOR priority events called last.

Fixes

This fix also adds a new expression, ExprPlain. A plain item is an item with no modifications. It can be used to convert items to their default state or to match with other default items. This is to provide a replacement for using if player's tool is a diamond named "" (you would instead use if the player's tool is a plain diamond)

NOTICE: This rework removes the following syntaxes:

  • [the] list [of] %objects% (doesn't|does not|do not|don't) contain %objects%
  • [the] list [of] %objects% contain[s] %objects%
  • (all|any|none) of %strings% contain[s] %strings%

2.5.3

3 years ago

While Skript 2.5.2 brought some lovely new features, it also brought a couple big bugs along for the ride. Our goal with this update was to squash those pesky bugs and provide a more stable release. This may be a small update, but it’s going to take care of some things that needed some attention.

FIXED:

  • Fixed an issue with substring expression throwing errors (closes #3585)
  • Fixed an issue with the offhand tool in the bucket event returning the main hand (closes #3584)
  • Fixed an issue with getting the event-location in some events (closes #3622)
  • Fixed an issue with local variables being reset after using the teleport effect (closes #3605)
  • Fixed an issue with debug mode not being disabled after changing and reloading config (thanks @TPGamesNL)
  • Fixed an issue with a change in an internal class which caused an addon or two to not load (closes #3624)
  • Fixed an issue with the blocks within expression returning a smaller cuboid than expected (closes #3615)
  • Fixed an issue with the location function throwing an error when the world is missing, it'll now fall back to default main world of the server (closes #3597, #3455, #1465)

Don’t worry, its not all serious, we did add a bunch of new stuff too

ADDED:

  • Added support for XP drops in the block break event
  • Added entity portal event which is called when an entity uses a portal

Oh, never mind, it was just the two.

Enjoy!

2.5.2

3 years ago

This update brings some much needed bug fixes as well as some new features. As always it is recommended to backup any important data before update. Also it is advised to do some testing on your server before going live with an update.

FIXED:

  • Fixed an issue with the decimals between expression returning incorrect values (thanks @bluelhf, closes #3494)
  • Fixed an issue with item types always returning the last known alias (closes #3511)
  • Fixed an issue with changers in enchantment level expression (thanks @Mr-Darth)
  • Fixed an issue with slow variable saving of offline players (thanks @TheDGOfficial)
  • Fixed issues with book author/title expressions
  • Fixed an issue with past gamemode not working in gamemode change event
  • Fixed an issue with async effect not being triggered when last in trigger (thanks @JRoy)

ADDED:

  • Added a future event-entity to the item merge event (this represents the entity the item is merging into)
  • Added support for steerable entities in equip effect
  • Added some missing visual effects
  • Added regex support to the split expression (thanks @DeltaRays)
  • Added whitelist expression and condition (thanks @DeltaRays)
  • Added is interactable condition (thanks @ankoki-dev)
  • Added a matches condition with regex support (thanks @DeltaRays)
  • Added character at to substring expression (thanks @Mr-Darth)
  • Added falling block landing event
  • Added support for event-direction in projectile hit event (thanks @Name531)
  • Added support for potion effects, including a new type, expression, and updates to current potion effect and expression
  • Added support for throwable projectile items in item of expression (thanks @Mr-Darth)
  • Added support for setting block data in the block data expression
  • Added support for Paper’s async teleport in the teleport effect (thanks @JRoy)
  • Added optional sender to message effect

API:

  • Improved public syntax information API (thanks @NickAcPT)

2.5.1

3 years ago

Skript 2.5.1 is a much larger update than we anticipated. Not only does it fix a lot of bugs, it also brings a few handfuls of new features. With that said, new features, and sometimes bug fixes, may also create new bugs. Please be sure to backup any important data before updating to this version. And as usual please report any bugs on our Issue Tracker

ADDED:

  • Added a condition for isOccluding (thanks @Mr-Darth)
  • Added support for block data in the send block change effect
  • Added expressions for arrow pierce and critical state (thanks @Mr-Darth)
  • Added an expression for projectile bounce state (thanks @DeltaRays)
  • Added support for locations, chunks and “within” (blocks cuboid) in blocks expression
  • Added support for “:” in play sound effect to allow for using minecraft namespace (closes #3404)
  • Added item mending event
  • Added heal amount expression (thanks @Romitou, closes #3337)
  • Added expressions for last attacker and last damage (thanks @DeltaRays)
  • Added support for decimals between in ExprNumbers (thanks @bluelhf, closes #2601)
  • Added an expression for generating a random UUID (thanks @Mr-Darth)
  • Added support for non living entities in spawn event (closes #3120)
  • Added support for multiple strings in CondStartsEndsWith (thanks @DeltaRays, closes #3312)
  • Added an effect to force attack (thanks @OfficialDonut)
  • Added an effect to make an entity swing their hand (thanks @OfficialDonut)
  • Added expressions for minecart’s derailed velocity and speed (thanks @DeltaRays)
  • Added an expression for sea level (thanks @Mr-Darth)
  • Added an effect to open a book to a player (thanks @OfficialDonut)
  • Added an arm swing event (thanks @Romitou, closes #3114)
  • Added a condition to check if a block is passable (thanks @Mr-Darth)
  • Added a condition to check if an item is a fuel (thanks @Mr-Darth)
  • Added a condition to check for a normalized vector (thanks @BluBoy3ch0)
  • Added an inventory pickup event (thanks @DeltaRays)
  • Added an expression to get the drops of a block (thanks @DeltaRays)

FIXED:

  • Fixed an issue with zombie pigmen/zombified piglin’s name returning with parenthesis (closes #3400)
  • Fixed an issue with block variations in the send block change effect
  • Fixed more issues with Visual Effects (closes #3379)
  • Fixed a parsing issue with ExprAmount (closes #3333)
  • Fixed an issue with cmd: with $ symbol not working (closes #2706)
  • Fixed an issue with Json messages using <> not working (closes #3328)
  • Fixed an issue with all items in inventory expression not returning the correct value in loops (closes #2340)
  • Fixed an issue with adding multiple numbers to a single variable (closes #3198)
  • Fixed some issues with damage cause comparisons (closes #3022)
  • Fixed delay issues in force respawn player effect
  • Fixed some issues with aliases deleting themselves internally (closes #2672)
  • Fixed an issue with adding/setting/reparing multiple items in an inventory (thanks @OfficialDonut, closes #2989)
  • Fixed an issue with comparing inventory slots and equipment slots matching when they shouldn’t (closes #3430)
  • Fixed some issues with item comparisons (closes #3405)
  • Fixed an issue with missing end rod visual effect and some typos in the lang file for visual effects
  • Fixed an issue with light grey color not working properly on 1.9-1.11.2
  • Fixed some issues with entity datas not sending their correct and/or full name when in a string

2.5

3 years ago

I want to start off by extending a big thank you to everyone who helped with this update. Not only did our team do a lot of work, we had PLENTY of help from contributors. So thank you to everyone who helped make this update possible.

Below is a list of almost everything that was added/fixed/changed since 2.4.1. I left out issues which pertain to things that were broken along the way during the development of 2.5.

⭐️ Notable Additions

This update had a lot of new things added, but here are a few notable additions we thought you'd love to hear about.

BlockData

We added a blockdata type, as well as expression for getting block data. BlockData is very similar to how you would set a block with the vanilla Minecraft /setblock command. This allows users to better customize blocks in the world, without having to struggle figuring out the aliases they need. For more info see the BlockData Type and BlockData Expression in the docs.

Skript Info Command

We added an info sub-command to the /skript command which will provide links to docs and aliases, and also includes Skript version, server version as well as installed addons (including their versions and websites). This will be super helpful in the future, when a user is asking for help, rather than having to ask them a bunch of questions about versions, you can simply say "hey, could you please send me the output of /sk info"

Minecraft 1.16

We added all of the Minecraft 1.16 related stuff, including item/block aliases, entities, enchantment (just one), particles and biomes. We also added support for 1.16's HEX text colors.

⭐️ Everything Else

  • Added an effect and a condition for silencing entity sounds
  • Added support for non-player entities to item pickup event
  • Added location for block command senders
  • Added recursive list size as an option to 'amount' expression
  • Added an expression for toggling entity AI on and off
  • Added an event for players propelling through air due to riptide enchantment
  • Added a condition to check if entities are leashed
  • Added more descriptive alternative syntax for 'blocking' condition
  • Added an expression to get how long players have been online
  • Added support for mooshroom variations
  • Added an expression to get max durability of items
  • Added different capitalization styles to 'case text'
  • Added an effect and a condition for entity invulnerability
  • Added syntaxes for Minecraft 1.14+ CustomModelData
  • Added support for Paper's per-client view distance (not supported on all Paper versions)
  • Added an expression to get all blocks destroyed by explosions
  • Added a way to replace only first occurrance with replace effect
  • Added an event value for selected hotbar button in inventory click events
  • Added an event for armor changes
  • Added support for taming entities
  • Added an expression for counting characters in a string
  • Added a way to convert unix timestamps to dates
  • Added an event for sponge absorbing blocks
  • Added support for item (tool or armor) damage
  • Added an option to temp-ban players
  • Added support for llamas in entity equip effect
  • Added an expression to get/set number of arrows stuck in an entity
  • Added an expression to get/set no damage ticks of entities
  • Added support for creating fiery explosions within the explode effect
  • Added syntax to replace existing potion effects
  • Added syntax to get the entities in a chunk
  • Added new line expression
  • Added an effect and condition to change/check charged creepers
  • Added some spawn reasons which were recently added to the Bukkit API
  • Added explode creeper effect and ignition condition
  • Added an expression to get all scripts, or just the enabled or disabled ones.
  • Added a condition and expression for checking Redstone block power
  • Added several syntaxes for enchanting events and their values
  • Added Korean language support
  • Added more preload functionality to the API for internal use and addon developers
  • Added a ‘time since’ expression
  • Added an expression for entity attributes
  • Added an expression for entity fall distance
  • Added several syntaxes relating to explosions
  • Added syntaxes for world game rules
  • Added the hit block event value to the on projectile hit event
  • Added a heal reason type and expression to be used in the heal event
  • Added a projectile collide event
  • Added better handling of a stack overflow error
  • Added an expression for first/last login of player
  • Added a block fertilize event
  • Added an effect to stop/restart the server
  • Updated money expression to support offline player balances

⭐️ A few handfuls of bug fixes

  • Fixed asterisks not being allowed in expressions in variable names
  • Fixed flickering fireworks not working
  • Fixed 'all foxes' not actually referring to all foxes
  • Fixed exceptions caused by passing invalid arguments to functions
  • Fixed player-specific weather not being always set correctly
  • Fixed random fish spawning not working
  • Fixed some types not being parseable
  • Fixed comparisons between entities and entity types with similarly named aliases
  • Fixed parsing of overlapping syntaxes in comparisons
  • Fixed numerous conditions, expressions, and events using ItemStack instead of ItemType
  • Fixed exception error in replace effect
  • Fixed damage effect not showing damage
  • Fixed some tree types not working in grow tree effect
  • Fixed experience spawn event firing more than once after script reloads
  • Fixed an issue with damaging items throwing console errors
  • Fixed an issue with reloading functions throwing errors
  • Fixed an issue with the item damage event missing an event-item value
  • Fixed an issue with final damage returning the same value as damage
  • Fixed an issue where setting a block would always set it to the default block state
  • Fixed an issue with retrieving inventory names
  • Fixed an issue with setting the player's tab list name
  • Fixed an issue with spawning thrown potions
  • Fixed an issue with spawning a dropped item of a specific item type
  • Fixed an issue with level progress expression throwing errors
  • Fixed an issue with teleporting ignoring yaw and pitch
  • Fixed an issue with event-items
  • Fixed an issue with default values in damage events
  • Fixed an issue with event-value time states
  • Fixed an issue with villager data in legacy versions causing issue to last spawned entity syntax
  • Fixed an issue with ‘show inventory’ expression showing the wrong inventory
  • Fixed a bug with %number% of %itemtype% expression
  • Fixed an issue with the is between condition not comparing when the first number is larger than the latter
  • Fixed an issue with not being able to parse experience
  • Fixed an issue with filters throwing console errors
  • Fixed an issue with some block datas not setting (ie: snow layers)
  • Fixed an issue with setting item amount of inventory slots
  • Fixed an issue with furnace slot expression not accounting for smoker and blast furnace
  • Fixed an issue with not being able to compare some entities with a baby entity
  • Fixed an issue with “item crack” particle not working
  • Fixed an issue with custom inventories not actually returning an inventory
  • Fixed an issue with data value expression not working on 1.12.2 and below
  • Fixed an issue with chunk is loaded condition forcing chunks to load therefor always returning true
  • Fixed an issue with some entities returning their super type
  • Fixed an issue with viewers of inventory expression only returning a single value
  • Fixed some issues with visual effects, namely offset issues and coloured dust particle issues
  • Fixed an issue with the soft depends in the plugin.yml
  • Fixed an issue with FAWE’s WorldGuard not working
  • Fixed an issue with event-slot throwing errors when clicking outside of an inventory
  • Fixed an issue with spawn egg aliases not working in 1.12.2

2.5-beta4

3 years ago

Warning: This is the forth public beta release of Skript 2.5. It may contain some bugs. While the beta releases have proven to be fairly stable, it is not recommended to run these releases on a live/production server. If you choose to, please ensure you backup any important data beforehand.

  • Fixed an issue with inventory owner and entity owner syntaxes clashing (closes #3344)
  • Fixed an issue with named items failing (closes #3347)
  • Fixed an issue with the soft depends in the plugin.yml
  • Fixed an issue with FAWE’s WorldGuard not working (thanks @IronApollo, closes #2674)
  • Fixed an issue with event-slot throwing errors when clicking outside of an inventory (closes #3359)

2.5-beta3

3 years ago

Warning: This is the third public beta release of Skript 2.5. It may contain some bugs. While the beta releases have proven to be fairly stable, it is not recommended to run these releases on a live/production server. If you choose to, please ensure you backup any important data beforehand.

  • Fixed an issue with custom inventories not actually returning an inventory (closes #3304)
  • Fixed an issue with data value expression not working on 1.12.2 and below (closes #2736)
  • Fixed an issue with chunk is loaded condition forcing chunks to load therefor always returning true (closes #2716)
  • Fixed an issue with some entities returning their super type (closes #3316)
  • Fixed an issue with viewers of inventory expression only returning a single value (closes #3321)
  • Fixed some issues with visual effects, namely offset issues and coloured dust particle issues (closes #2958 and #2740)
  • Updated is redstone powered condition to support “indirectly powered” (thanks @Romitou closes, #3294)
  • Updated money expression to support offline player balances
  • Added Piglin Brute entity

2.5-beta2

3 years ago

Warning: This is the second public beta release of Skript 2.5. It is likely to contain some bugs - do NOT run it outside of a test server. Skript 2.4 will continue to receive critical bug fixes until 2.5 is stable, which may take a while.

  • Fixed an issue with the is between condition not comparing when the first number is larger than the latter (closes #3111)
  • Fixed an issue with not being able to parse experience (thanks @Matocolotoe, closes #3265)
  • Fixed an issue with filters throwing console errors (closes #3267)
  • Fixed an issue with “any signs” alias not counting new nether signs (closes #3272)
  • Fixed an issue with “any wooden trapdoor” alias on legacy versions (closes #3107)
  • Fixed an issue with some block datas not setting (ie: snow layers) (closes #3026)
  • Fixed an issue with setting item amount of inventory slots (closes #2707)
  • Fixed an issue with furnace slot expression not accounting for smoker and blast furnace (closes #3286)
  • Fixed an issue with not being able to compare some entities with a baby entity (closes #3252)
  • Fixed an issue with “item crack” particle not working (closes #3012)
  • Update docs for “chunk event” incorrectly stating the event can be cancelled (closes #2753)