Skip to content

Releases: SkriptLang/Skript

Backported security fix

27 Jun 18:20
Compare
Choose a tag to compare

A security issue with JSON chat formatting was found. The fix was backported for 2.3, since 2.4 is not stable yet.

  • Fixed a security issue with chat styles (closes #2198)
  • Backported other minor bugfixes
  • Updated the aliases
  • Disabled FAWE hook; it cannot currently be compiled

A security release

27 Jun 18:20
Compare
Choose a tag to compare
A security release Pre-release
Pre-release

A new alpha release for 2.4 is out a bit sooner than expected. A security issue was noticed, so you should update as soon as possible.

  • Added support for checking if all entities are 'dead'
  • Added (hopefully) functional support for 1.14 cats
  • Added support for clearing block drops for 1.14 (closes #659)
  • Fixed inventory titles not working on 1.13 and older versions; still doesn't work on 1.14 (thanks @ShaneBeee)
  • Fixed a broken documentation link (thanks @MrScopes)
  • Fixed leash holder throwing exceptions (closes #2157, thanks @Blueyescat)
  • Fixed chat codes being case sensitive (closes #2152)
  • Fixed bugs in tablist modification expression (closes #2130)
  • Fixed a security issue with chat styles (closes #2198)
  • Fixed spectator target support not being available (closes #2201)
  • Triggers are now called events in docs

Critical error on 1.12 and older

04 Jun 15:39
Compare
Choose a tag to compare
Pre-release
  • Fixed a bug that caused Skript not to load on Minecraft 1.12 and older (closes #2137)

Moving forward with 2.4

03 Jun 17:02
Compare
Choose a tag to compare
Pre-release

Second test release of 2.4 brings bug fixes, new features and improved Minecraft 1.14 support.

  • Added support most 1.14 entities and particles (closes #2064)
  • Added most of the missing visual effects that affect entities
  • Added effects for enabling and disabling (other) scripts (closes #822, thanks @JRoy)
  • Fixed a warning related to color serializer (closes #2072)
  • Fixed patterns for new villager professions (closes #2065)
  • Fixed a regression with enchantment type parsing (closes #2063)
  • Fixed drowned being treated as zombies (closes #2087, thanks @ShaneBeee)
  • Fixed sending block changes ignoring block data on Minecraft 1.13 and newer versions (closes #2039, thanks @ShaneBeee)
  • Fixed a bug that duplicated placed stairs and trap doors (closes #1977, thanks @ShaneBeee)
  • Added a condition for checking if materials are blocks (thanks @ShaneBeee)
  • Fixed a bug which caused dropping items or experience from a list variable not to work (closes #1917, thanks @ShaneBeee)
  • Fixed entity click events ignoring held item (closes #2084)

In addition to these user-facing changes, Spigot's nullness annotations are now accounted for.

1.14.1 Alpha Release

18 May 19:48
Compare
Choose a tag to compare
1.14.1 Alpha Release Pre-release
Pre-release

First experimental release of Skript 2.4 is finally here. While smaller than 2.3, this is a large release. Don't use this on a production server before testing extensively.

Once things are starting to look stable, a beta release will be published. Consider waiting for it unless you're especially interested in reporting bugs. Alternatively, use latest stable release (2.3.6) available below.

  • Added an effect to break blocks naturally (thanks @ShaneBeee)
  • Added support for getting colors of beds (closes #1972)
  • Added missing event-values to vehicle events
  • Added support for playing multiple sounds in multiple locations (thanks @Blueyescat)
  • Added support for specifying sound category (thanks @Blueyescat)
  • Added support for playing sounds at players without specifying locations (thanks @Blueyescat)
  • Added an effect to stop sounds (closes #1921, thanks @Blueyescat)
  • Added experimental support for Minecraft (Spigot, Paper) 1.14.1
  • Fixed some expressions being treated as singulars, even though they are not
  • Fixed 'indices' expression not being available
  • Fixed minor issues with inventory expressions
  • Fixed using enchanted items in variable names not working (closes #1987)
  • Fixed a bug that caused aliases contain too much whitespace
  • Fixed removing enchantments ignoring their levels
  • Fixed click events not working reliably on villagers (#1927)
  • Fixed armor stand click events not working at all
  • Fixed entity click events not working with high verbosity settings (closes #1938)
  • Fixed built-in calcExperience function not working reliably (closes #2040, thanks @Matocolotoe)
  • Fixed playing sounds sometimes throwing exceptions (closes #1914, thanks @Blueyescat)
  • Fixed an issue with material registry updates sometimes corrupting the registry
  • Fixed getting command arguments crashing with alternative syntax (closes #2050)
  • Improved vector implementation (thanks @Blueyescat)
  • Improved documentation of play sound effect (thanks @Blueyescat)
  • Reworked how enchantments are serialized
  • Reworked parts of aliases system; fixed many comparison issues, improved performance, slightly reduced memory usage
  • Removed FAWE support; it was contributed in a pull request, but broke due to their Maven server changes

Bug fixes to you!

03 Mar 11:46
Compare
Choose a tag to compare

2.3 continues to receive bug fixes.

  • Fixed opening and closing doors not working (closes #1897)
  • Fixed sorting some lists not working (closes #1904)
  • Fixed setting all items of an inventory to a list ignoring some items (closes #1906)
  • Fixed aliases with upper-case letters not being usable (closes #1907)
  • Fixed falling blocks causing exceptions on 1.12 and older (closes #1909)
  • Fixed setting blocks sometimes causing exceptions on 1.12 and older (closes #1902)
  • Fixed some cases of click events not working on 1.12 and older (closes #1916)
  • Fixed changes to items in variables also affecting items in inventories (closes #1813)
  • Fixed insertion chat style not working (closes #1378)
  • Improved performance of removing all items from an inventory (related #772)

101th release

08 Feb 20:09
Compare
Choose a tag to compare

Too bad it is nothing major. Last week's release had a few regressions that needed to be fixed ASAP.

  • Fixed WorldGuard+FAWE not working on 1.12 (closes #1875)
  • Fixed item comparison issues caused by fixing other item comparison issues (closes #1871)

Hotfix release 2.3.5:

  • Fixed a major regression caused by fixing other regressions (closes #1888)
  • Fixed a module build issue (closes #1887, #1891)

More bug fixes!

03 Feb 11:54
Compare
Choose a tag to compare

1.12 aliases have been a bit unstable; they should be better now. For users of 1.13, we have a few other bug fixes available.

  • Added FAWE WorldGuard support (thanks @Pugabyte, closes #1821)
  • Fixed 'starts with' not working (closes #1864)
  • Fixed block and item names ignoring data values on 1.12 and below (closes #1799)
  • Fixed item parsing messing up the data values on 1.12 and below (closes #1850)
  • Fixed alias comparison issues on 1.12 and below (closes #1739)
  • Fixed bed block aliases not working on 1.12 (closes #1856)
  • Fixed right click events not always working with items in off hand (closes #1808)
  • Removed old potion item expression (closes #1866)

Bug fixes

20 Jan 10:25
e3cf1fa
Compare
Choose a tag to compare

Skript 2.3.1 has been relatively stable. Still, bugs exist and now we have fixed some of them. Since no new features were added, hopefully nothing broke this time.

  • Fixed a documentation issue with open inventory effect (closes #1826)
  • Fixed time span parsing sometimes throwing exceptions (closes #1829)
  • Fixed getting and setting display names of items not working reliably (closes #1807)
  • Fixed parse expression not working with optional parts (closes #1222)
  • Fixed issues with setting items to slots (closes #1822)
  • Fixed feed effect setting food level instead of increasing it
  • Changed Skript not to send script command names to clients when they have not been changed; improves performance on 1.13 when there are many players online

A (not so?) stable release

05 Jan 04:06
993ef25
Compare
Choose a tag to compare

A first stable release of Skript for years is here!

Main good news since Skript 2.2:

  • Added support for Minecraft 1.9, 1.10, 1.11, 1.12 and 1.13 (latest revisions only)
  • Rewrote item and block alias system and the aliases
  • Reworked Skript documentation, since Njol's docs website was not open source
  • Added vector support (was previously an addon)
  • Added support for advanced chat formatting features (known as "JSON chat")
  • Added support for particles (not just legacy effects)
  • Added support for playing sounds
  • Added ability to place function calls before function definitions
  • Added item with lore expression
    • You have probably used the with lore expression from skQuery addon, now it is added to Skript itself, but it uses text lists instead of || for new lines. So you will have to update your scripts using this format. The same goes for the item lore expression, so it returns a text list.
       a diamond sword named "name" with lore "lore"
       a diamond sword with lore "line 1" and "line 2"
       a diamond sword with lore "line 1", "" and "line 3"
      
       set {_lore::*} to the lore of player's tool
      
  • Fixed some ancient bugs

Additions / Improvements

Note: some additions may be missing from the list below. Please read the docs
for complete reference of Skript features.

General

⭐ Vector support

  • Vector arithmetics expression
  • Rotate vector around effect
  • Rotate vector around XYZ effect
  • Location from vector expression
  • Location offset by vector expression
  • Angle between vectors expression
  • Vector between locations expression
  • Cross product between vectors expression
  • Dot product between vectors expression
  • New cylindrical vector expression
  • New spherical vector expression
  • Vector from X, Y, Z expression
  • Vector from yaw, pitch expression
  • Vector length expression
  • Normalized vector expression
  • Vector from location expression
  • Random vector expression
  • Squared vector length expression
  • Vector coordinates expression
  • Vector yaw, pitch expression
  • Entity velocity expression (changeable)

⭐ Full server list control

Now you can fully modify info of the server in the server list, but some of these features requires Paper 1.12.2 or newer

  • Server list ping event
  • Changeable MOTD expression
  • Max players expession (changeable in the ping event)
  • Online players count expression (changeable in the ping event)
  • Changeable protocol version expression
  • Changeable version string expression
  • Changeable hover list expression
  • Load server icon from file effect
  • Last loaded server icon expression
  • Server icon expression (changeable in the ping event)
  • Hide/show player info in server list effect
  • Hide player from server list effect
  • Ability to the get IP address of the pinger in the server ping event

⭐ Easy to use command cooldown system

These entries can be used in command creations:

cooldown: <timespan>
cooldown message:
cooldown bypass: <permission>
cooldown storage: <variable>

⭐ Player visibility controls

  • Effect to hide specified players from the other specified players
  • Effect to reveal specified players to the other specified players
  • Expression to get hidden players of a player
  • Condition to check whether specified players can see the other specified players

✨Mixed

  • Client side weather support
    • Expression to get/change client weather of players
    • Condition to check whether a player has client weather
  • Scoreboard tags support
    You can visit Minecraft Wiki for more info about scoreboard tags
    • Expression to get/change scoreboard tags of entities
    • Condition to check whether an entity has a scoreboard tag
  • Support for more tree types
  • A sample script for inventory clicks (equip anything.sk)
  • Support for parsing UUID as player and offline player
  • Support for Residence regions
  • Support for PreciousStones regions
  • Support for glowing and bad luck potion effects
  • Support for multiple vehicle passengers
  • Support for ambient and particle-less potion effects
  • Used BStats for metrics
  • Support for moved blocks in piston events
  • A way to get documentation exported from Skript in JSON format
  • A warning if some ridiculous function signatures are used
  • A warning when used delays with less than 1 tick, as they have never worked
  • Plants support for the grow event
  • Support for multiple texts in the replace effect
  • Possibility to replace items with another item in inventories
  • Support for boat types
  • direction event value in certain events
  • Support for entity UUIDs
  • Support for zero-argument functions
  • world event value for the portal creation event
  • Support for coloring potions and maps in Minecraft 1.11
  • Condition to check if an entity is on ground
  • Support for silverfish in the block form event
  • Support for configuring variable storage table name
  • Added configuration options to disable certain warnings
  • Support for forcing players to fly
  • A warning for unnecessary text conversions
  • A function to calculate experience needed to achieve the given level in Minecraft.
  • Support for using expressions in command permission message
  • Support for looping an inventory, that means looping items in the inventory
  • Support for manipulating balances of offline players
  • Local variable type hints
  • A warning for using only single : in a variable name
  • Ability to change inventory names

Effects

  • Effect to force players to respawn
  • Ability to drop items without velocity
  • Anvil support for the open inventory effect
  • Make player start/stop flying effect
  • continue effect which skips the current loop
  • Effect for sending fake block changes to players
  • Effect to force a player to say something
  • Effect to execute another effect conditionally
  • Effect to send action bars
  • Effect to leash an entity to a leash holder entity
  • Effect to suppress some warnings locally to the current script
  • Effect to send titles and subtitles

Expressions

  • ⭐ Default value expression
  • ⭐ Ternary expression
  • ⭐ List Filter
  • Off hand tool expression
  • Raw Minecraft item name expression
  • Last damage cause expression
  • Saturation expression
  • Cursor slot expression
  • Elytra gliding state expression (changeable)
  • Unbreakable item expression
  • Expressions to convert texts to lower/upper case
  • Expression to get sorted and shuffled form of a list
    (Note: a sorted/shuffled variable list doesn’t keep its indexes)
  • Expression to get the final damage in a damage event
  • Expression to get amount of an item stack
  • Glowing effect expression (can be set and reset)
  • Ability to specify the fake damage cause for the damage effect
  • Inventory support for the name expression
  • Gravity expression for Minecraft 1.10+
  • Inventory slot expression
  • Inventory action expression
  • Expression to get the currently open inventory of a player
  • Expression to get the last dropped item
  • Tamer expression for the tame event
  • Chat message format expression for the chat event
  • Book related expressions
  • Unix timestamp expression
  • ⭐ Expression to format dates
  • Expression to get type of an inventory
  • Expression to get all permissions of a player
  • 'date ago/later' expression, which increments/reduces a date by the given timespan
  • Expression to allow survival players to fly when they want to
  • Expression to create custom chest inventories
  • Expression to get holder, viewers and rows of an inventory
  • Expression to get the highest block at a location
  • Player exhaustion expression
  • Expression to get all online and offline players
  • World seed expression
  • Block humidity expression
  • Block temperature expression
  • Expression to get item of an item frame or a dropped item
  • Expression to get/change enchantments of an item
  • Player ping expression
  • Server TPS expression
  • Player hotbar slot expression (changeable)
  • ⭐ Metadata expression
  • Expression to get Minecraft language of a player
  • Spectator target expression
  • ⭐ Expression to get the spawn reason in the spawn event
  • ⭐ Expression to get the teleport cause in the teleport event
  • Expression to get leash holder of an entity
  • Expression to get/change difficulty of worlds

Conditions

  • Is script is loaded condition
  • Is block is solid condition
  • Is block flammable condition
  • Is block transparent condition
  • Is item edible condition
  • Text starts/ends with text condition
  • Is chunk loaded condition
  • Is world loaded condition
  • Is slime chunk condition
  • Is swimming condition

Events

  • Prepare crafting event
  • Inventory open and close events
  • Inventory click event
  • Entity mount/dismount events
  • Elytra glide state change event (cancellable)
  • Area effect cloud event
  • Player world change event
  • Resurrect event for 1.11+
  • Item item despawn event
  • Item merge event
  • Flight toggle event
  • Player language change event
  • Jump event
  • Hand item swap event
  • Swim toggle event

Also, there are some breaking changes:

  • Skript now requires Java 8
  • Skript also requires Spigot/Paper and Minecraft 1.9 or newer
    • CraftBukkit does not work, Glowstone might work but is not tested
  • Old aliases in scripts are not compatible
  • Numeric item ids are not supported anymore
  • Syntax for hashing was changed, MD5 is not a secure hashing algorithm. See the docs for the new syntax
    • Consider using SHA instead or better, not dealing with passwords with Skript
  • Slots now work as specified in the documentation (i.e. they're not passed to variables)
  • Some new bugs might break your scripts

For people updating from the previous beta release, a...

Read more