Releases: SkriptDev/HySkript
Second PreRelease [1.0.0-pre-release-2]
It's time for a second pre-release.
More bug fixes, and a few changes.
See notes below regarding breaking changes.
If you find any bugs, please report them on our Issue Tracker
Warning
This is a pre-release and may contain bugs
Please DO NOT use on a production server
If you find an issue, please report it in our Issue Tracker
Important
This release was built on Hytale Release version 2026.02.06-aa1b071c2
Happy HySkripting!
Important
There have been some changes to config.sk
Currently we don't have an updater for the config setup so you'll manually have to grab the values.
You can do so by choosing one of the following options:
- Delete your config.sk before the server starts and let it regenerate
- Grab the values from our default config.
Caution
Breaking Change:
Using expressions in variables, the naming system has changed.
For example, players will use their uuid.
Example:
set {var::%context-player%} would set the var as {var::ShaneBee}
Now it will set as {var::0000-0000-0000-0000-000000}
FIXED:
- Fixed an incorrect context-value class in the discover zone event
- Fixed
uuid of playernot working (it did work forcontext-playerbut decided to parse wrong for justplayer) - Fixed yet another error when using an empty expression in another expression
- Fixed the Type serialized for Time
ADDED:
- Added a config value for
max-target-block-distanceto be used in the target block expression - Added Type serializers for duration, date and color
- Added an optional entry
can-generate-permissionto commands, to allow stopping Hytale generating a default permission.
REMOVED:
- Removed "give" from the change effect (I made a mistake with it, it broke, may re-add it later)
CHANGED:
- The load event and periodical events now start after the Hytale server actually finishes booting
- Stopped allowing
cancel effectandreturneffects to be used after delays - Prevent sub commands being created outside commands/subs.
- Allow setting display name of entities in the name of entity expression
- Changed how Objects are serialized as strings in variable names. (see caution above)
INTERNAL:
- Fixed config not properly grabbing keyed values
- Fixed JsonDocPrinter messing up structures and cancellable tag
- Fixed JsonDocPrinter messing up IDs of expressions/conditions
- Fixed JsonDocPrinter "return type" naming
- Added some debugging
- Added variable names to Types
First Pre-Release [1.0.0-pre-release-1]
It's time for our first pre-release.
With less bugs being found, its time we start heading toward a stable build.
Our focus going towards a stable release will be fixing bugs and performance issues.
We probably won't be adding any new content until after our stable release, but you never know 😉
If you find any bugs, please report them on our Issue Tracker
Warning
This is a pre-release and may contain bugs
Please DO NOT use on a production server
If you find an issue, please report it in our Issue Tracker
Important
This release was built on Hytale Release version 2026.02.06-aa1b071c2
Happy HySkripting!
🛠️ THIS UPDATE 🧑🏼🍳:
ADDED:
- Added an explosion effect:
- It doesn't really work as I expected so I marked it as experimental
- It appears to not break solid blocks
- Added player crafting event (but seems broken, server issue?!?!)
- Added an effect to execute player/console commands
- Added connect effect to forward players to other servers
- Interaction:
- Added a type for RootInteraction
- Added an effect to perform an interaction
- Added a section to send notifications
- Added some sample scripts when first running HySkript
- Added the ability to set the NPC Role of an NPC entity
- Added damage effect
- Added discover zone event (doesn't seem to actually get called... wtf Hytale)
- Added a send title effect
CHANGED:
- Scripts now load directories first (in alphabetical order)
- Changed the Skript command for reloading all scripts:
/sk reload all->/sk reload scripts
- Changed the delay effect to add an optional world
- This is used to help make sure your code runs on the right world thread
- If a world is excluded, the effect will try find a world based on the event you're using
FIXED:
- Fixed Enum Types not parsing correctly due to map setup incorrectly
- Fixed random element expression throwing errors
- Fixed scripts/directories prefixed with a hyphen were loading (these should be disabled)
- Fixed a casting error with context values when their contexts don't match
- Fixed periodical events not stopping when a script is reloaded
- Fixed a memory leak, local variables never ever got deleted
- Fixed an error when using an empty object (such as a var) in another expression
- Fixed an error when getting a random element of a single element list
- Fixed a lack of error when trying to delete/reset an object.
- Fixed OP check not working in effect commands
INTERNAL:
- Changed Enum Type registration
- Changed AssetStore Type registration
- Changed JsonDocPrinter to not show parse marks in patterns
- Remove local variables after effect command runs (prevent memory leak)
Fifth Beta [1.0.0-beta5]
A fifth beta of HySkript has found its way to you.
This beta comes with just a few bug fixes and plenty of new features.
Hopefully with less bugs we're getting closer to a stable release.
A special thanks to our first contributor @libnexus
Our docs can be found on the Wiki
Warning
This is a beta release and most likely will contain bugs
Please DO NOT use on a production server
If you find an issue, please report it in our Issue Tracker
Important
This release was built on Hytale Pre-Release version 2026.01.29-301e13929
I've also tested on Pre-Release version 2026.02.05-bd949ff90 and I didn't get any errors.
Happy HySkripting!
🛠️ THIS UPDATE 🧑🏼🍳:
ADDONS:
- Added basic support for addons, might need adjusting later, we'll see.
ADDED:
- Relative position syntaxes:
- Added a type for RelativePosition and RelativeBlockPosition
- Added command arg types for those
- Added an expression to resolve the relative position from a location
- This allows you to do things in command like
~ ~10 ~which would resolve to 10 blocks above.
- Added more command arg types (Item, BlockType, SoundEvent, SoundCategory, EntityEffect)
- Entity Effects:
- Added an effect to apply timed/infinite EntityEffects to an anytime (with an option to overwrite/extend current effects) (limited right now, will hopefully add more down the line)
- Added an ActiveEntityEffect type (similar to PotionEffect on Skript for Minecraft)
- Added an expression to return current ActiveEntityEffects on an entity (this supports removing and clearing)
- Added expressions to get Duration/EntityEffect from an ActiveEntityEffect
- Added an expression to get all values of a type
- Added an expression to get/add/remove permissions of a player/group
- Added an expression to get/add/remove permission groups of a player
- Added some slightly better handling of thread assertion errors
- Added an expression for entities in radius/cuboid.
- Added some GameMode related stuff (Thanks @libnexus):
- GameMode type
- GameMode of player expression (get/set)
- GameMode change event
FIXED:
- Fixed the pattern in the message properties expression
- Fixed some slow loading issues with variables when the file is HUGE
- Fixed some issues with the drop item section continuing in the incorrect order and in the wrong trigger context
- Fixed context values not converting when using in other expressions
INTERNAL:
- Added a Supplier to Types
Fourth Beta [1.0.0-beta4]
A fourth beta of HySkript has been summoned.
This beta brings some bug fixes and some new stuff to check out.
Our docs can be found on the Wiki
Warning
This is a beta release and most likely will contain bugs
Please DO NOT use on a production server
If you find an issue, please report it in our Issue Tracker
Important
This release was built on Hytale Pre-Release version 2026.01.29-301e13929
Happy HySkripting!
🛠️ THIS UPDATE 🧑🏼🍳:
FIXED:
- Fixed an issue with the
size of %objects%expression not returning as a single value - Fixed an issue with the return effect not properly breaking loops
- Fixed Location of entity expression having a NaN rotation
- Fixed spawn entity section having issues with NaN rotation and locking new mob into position
- Fixed setting fluids of a block and them going all wonky
- Fixed functions not working properly when they have a single param
- Fixed player is crouching condition (neg wasn't working, pattern issue)
- Fixed the legacy variable loader spitting out an outdated warning when creating a new file
ADDED:
- Added blocks within/between expression
- Added blocks in radius expression
- Added an effect to spawn an NPC (matches the spawn section)
- Added an expression to get chunks at locations
- Added an effect to regenerate a chunk
- Added an expression to get/change velocity of entities
- Added a play sound section (its kinda messy/buggy so I marked it experimental)
- Added InteractivelyPickupItemEvent (not a regular pickup event)
- Added more context values for the chat event:
context-format- Get/set the format of the chat message (as a String)context-message-format- Get/set the format of the chat message (as a Message)context-messageCan also now be set.
CHANGED:
- Removed the chance section and added a chance condition.
INTERNAL:
- Removed the BlockType field within the Block class, as I assume this will cause issues down the road when checking block type of a block held in a variable
- When setting the type of a block, made sure it's happening on the correct world thread.
- ContextValues in the parser got a big change:
- Created easer methods to include a single getter instead of a list
- Added setters
Third Beta [1.0.0-beta3]
A third beta of HySkript has arrived.
This beta brings some bug fixes and some new stuff to check out.
Our docs can be found on the Wiki
Warning
This is a beta release and most likely will contain bugs
Please DO NOT use on a production server
If you find an issue, please report it in our Issue Tracker
Important
This release was built on Hytale Pre-Release version 2026.01.29-301e13929
Happy HySkripting!
🛠️ THIS UPDATE 🧑🏼🍳:
FIXED:
- Fixed an issue in the parser where property expressions (such as Location Of) would throw casting errors when used in other expressions
- Fixed functions often throwing errors when a script loads due to loading priority
- Fixed global functions not being accessible across other files (sadly this will take script loading order into account)
- Fixed global functions not working in effect commands
- Fixed an error when sending an empty object in the send message effect
ADDED:
- Added an effect to break a block, with optional break settings.
- Added an expression to cast something to another type (This is basically the same as parsed as but without the quotes)
- Added an expression to get/set the hotbar/utility/tool item of a LivingEntity.
- Added an expression to get/set the active hotbar/utility/tool of a LivingEntity (seems really glitchy though, use with caution).
- Added player use block event
- Added player damage block event
- Added an expression to get the slots of an Inventory/ItemContainer (as numbers)
- Added an expression to get distance between 2 locations
CHANGED:
- Changed the block type of block expression to include place settings.
- Changed the format of how variables save in the Json file (HySkript will auto convert for you, don't worry)
- Changed the Item of ItemStack expression to allow converting BlockType to Item
- Changed the message expression to make things a little easier
INTERNAL:
- Moved Player context values out of all the events and into a global register.
Second Beta [1.0.0-beta2]
A second beta of HySkript has arrived.
This beta brings a slew of bug fixes and some new stuff to play around with.
Big thanks to @ChicknTurtle for all the help finding so many bugs.
Our docs can be found on the Wiki
Warning
This is a beta release and most likely will contain bugs
Please DO NOT use on a production server
If you find an issue, please report it in our Issue Tracker
Important
This release was built on Hytale Pre-Release version 2026.01.29-301e13929
Happy HySkripting!
🛠️ THIS UPDATE 🧑🏼🍳:
ADDED:
- Added a serializer for the Location type.
- Added an expression to get/set the BlockType of a block
- Added a condition for player crouching
- Added expression to get/set fluid/fluid levels of a block
- Added an expression to get the target block of a player
- Added an expression to get the target entity of another entity/player
- Added some expressions for itemstacks in inventories
- Added some comparators so you can check if an Inventory/ItemContainer contains an Item/ItemStack
- Added some converters (Item <-> BlockType) to fix issues with saving Items in vars and it actually defaulting to a BlockType
- Added effect/section to drop items
- Added a condition to check if an Inventory/ItemContainer can hold an ItemStack
- Added effect commands:
- You will need to delete your
config.skto let it regenerate to get the options (I still need to figure out how to write to config at runtime) - The
allow-opsthing is currently broken, hopefully I'll figure that out some day - Currently only work in chat (gotta figure out console)
- You will need to delete your
CHANGED:
- Changed the BlockType at location/vector3i expression to support setting blocks
- Changed location of expression to include block locations
- Player Break Block event context-value changes:
item-in-handnow returns an Item (previously ItemStack)itemstack-in-handreturns an ItemStack
FIXED:
- Fixed an issue with context-values and their inaccurate pattern matching
- Fixed an error when loading an empty script (throwing some fun errors)
- Fixed primitive values saving to variable file as strings
- Fixed stack trace errors being thrown when non-serializable objects are attempting to save to file
- Fixed functions not properly registering and therefor throwing errors when attempting to call them
- Fixed errors when using arithmetic operators
- Fixed some number comparisons
- Fixed an issue when stringifying empty variables
- Fixed an issue when using location expression within another expression (name block block at)
- Fixed a StackTraceError when looping a list of literals
- Fixed comparison issues between BlockTypes (seemed to be more so when using a custom BlockType)
INTERNAL:
- Types have been split up into several classes for better organization
- Added a Json doc printer (for future docs of our wiki)
First Beta Release [1.0.0-beta1]
First beta for HySkript is officially out.
Our docs can be found on the Wiki
Warning
This is a beta release and most likely will contain bugs
Please DO NOT use on a production server
If you find an issue, please report it in our Issue Tracker
Important
This release was built on Hytale Pre-Release version 2026.01.29-301e13929
Happy HySkripting!
