Lusk
Lusk is a Misc Skript Addon that adds a lot of useful features to Skript!
Click Here to join the Official Lusk Support Discord Server
In this server you will receive support for Lusk among other things!
Support
For anything, reach out to me on Discord (@JakeGBLP) or open an Issue about it.
Documentation
⭐ Featured:
Other:
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 | ||||
| 22h ago | 1 |
# This update:
Added support for Skript 2.16 BUT removed support for Minecraft versions older than 1.20.6.
> ## **Supported Versions:**
> - Minecraft 1.20.6 -> 26.1.2
> - Skript 2.10.0 -> 2.16.0
# Added:
- Updated protocol versions to include 1.21.11, 26.1.x, and 26.2.
- Added viaversion support for the client version expression.
# Internal Changes:
- Removed usage of methods removed in Skript 2.16.
- Removed pre 1.20.6 testing environments.
- Removed pre 1.20.6 safety checks.
- Added 26.1.2 testing environment.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.13...1.3.14
# This update:
Added support for Skript 2.15 BUT removed support for Skript versions older than 2.10 and Minecraft versions older than 1.19.4.
> ## **Supported Versions:**
> - Minecraft 1.19.4 -> 26.1.2 (Spigot and Paper)
> - Skript 2.10.0 -> 2.15.0
# Internal Changes:
- Added 2.15+ safety checks for event value registering.
- Removed pre 1.19.4 testing environments.
- Removed pre 2.10.0 edge cases.
- Removed useless versioning warnings.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.12...1.3.13
# This update:
Added support for Anvil Guis on 1.21.11 and ensured compatibility with Skript 2.14.x and Minecraft 1.21.11.
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.11 (Spigot and Paper)
> - Skript 2.6.4 -> 2.14.3
# Internal Changes:
- Increased skript version in recent testing environments to 2.14.3
- Added testing environment for Minecraft 1.21.11
- Updated skript and anvil-gui to 2.14.3 and 1.10.11 respectively.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.11...1.3.12
# This update:
This Update adds support for Anvil Guis on 1.21.9/10 and ensures compatibility with Skript 2.13.0.
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.10 (Spigot and Paper)
> - Skript 2.6.4 -> 2.13.0
# Internal Changes:
- Increased skript version in recent testing environments to 2.13.0
- Updated skript and anvil-gui to 2.13.0 and 1.10.10 respectively.
- Removed faulty testing code.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.10...1.3.11
# This update:
This Update serves the purpose of ensuring compatibility with the newest versions of Skript and Minecraft.
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.10 (Spigot and Paper)
> - Skript 2.6.4 -> 2.12.2
# Changes:
- Added 1.21.10 to the internal protocol version record.
# Internal Changes:
- Increased skript version in recent testing environments to 2.12.2 (#42)
- Added testing environments for 1.21.10 (#42)
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.9...1.3.10
# This update:
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.8 (Spigot and Paper)
> - Skript 2.6.4 -> 2.12.1
# Additions:
- Added 'Player Tab List Order' expression.
# Changes:
- The 'Previous Game Mode' and 'Client Version' expressions now support plural inputs.
# Fixes:
- Fixed 'Supported Enchantments' expression being viewed as a single object.
# Internal Changes:
- Increased skript version in recent testing environment to 2.12.1.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.8...1.3.9
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.8 (Spigot and Paper)
> - Skript 2.6.4 -> 2.12.0
> # 🚨 Breaking Changes:
> This update removes the
whether x is y patterns from all boolean expressions, this is to avoid confusion with Skript's 'whether' expression.> Example:
> -
set whether armor stand target can tick to true becomes set can tick property of target to true# Additions:
- Added Tameable is Tamed Property.
- Added Tameable Death Message Event. (Paper 1.18.2+)
- Added Bucketable API. (Paper 1.18+)
- Added Armadillo API. (1.21.5+)
# Changes:
- Removed all 'whether' patterns from all boolean expressions, see 'breaking changes' section above; modified examples accordingly.
# Fixes:
- Fixed
BlockWrappermodifications being called on instances that shouldn't update the respective block object.
# Internal Changes:
- Updated anvil gui version.
- Fixed some faulty tests.
- Improved some code.
- Revamped
BlockWrapper.classwith more and dynamic constructors. - Simplified expression with already existing API.
- Added testing environment for 1.21.8.
- Removed testing tasks using Skript's dev branches.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.7...1.3.8
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.7 (Spigot and Paper)
> - Skript 2.6.4 -> 2.12.0
This Patch fixes a major issue with anvil guis.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.6...1.3.7
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.7 (Spigot and Paper)
> - Skript 2.6.4 -> 2.12.0
Small patch to support Skript 2.12.0 and Minecraft 1.21.6/7.
Fixed some issues with entity variants.
Added Cow, Chicken and Pig variants.
Added skript versions expression.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.5...1.3.6
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.5 (Spigot and Paper)
> - Skript 2.6.4 -> 2.11.0
Small patch to support Skript 2.11.0 and Minecraft 1.21.5.
This update enables Lusk to support future Skript versions, unless SkriptLang introduces breaking changes to the API.
##
Note: due to some deprecation within Skript, the Used Equipment Slot expression might not work as it should, report all issues on [GitHub](https://github.com/JakeGBLP/Lusk/issues) or to me on discord [@JakeGBLP](https://discord.com/users/842074156405358652)
## **Fixes:**
- Updated Anvil Gui dependency to work in 1.21.5.
- Fixed Lusk not running on unrecognized skript versions.
## **Internal Changes:**
- Planned out future patch.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.4...1.3.5
> ## **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.4+ (Spigot and Paper)
> - Skript 2.6.4 -> 2.10.2+
## **Added:**
- 'Spawner/Trial Spawner - Entity Type'
- 'Smithing Table - on Item Smith'
## **Fixes:**
- Updated Anvil Gui dependency to work in 1.21.4.
## **Changes:**
- Removed unnecessary Update Checker checks.
## **Internal Changes:**
- Edited some JavaDocs and skript documentation.
## What's Changed
- Merging main into dev/patch by @JakeGBLP in https://github.com/JakeGBLP/Lusk/pull/29
- Merged Dev/patch by @JakeGBLP in https://github.com/JakeGBLP/Lusk/pull/35
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.3...1.3.4
## **Supported Versions:**
- Minecraft 1.16.5 -> 1.21.4+ (Spigot and Paper)
- Skript 2.6.4 -> 2.10.0+
## **Added:**
- 'Entity - has Fixed Pose'
- 'Fixed' option to 'Entity - Pose/Fixed Pose'
- 'Armor - is Dyed'
- 'Armor - Color'
- 'Suspicious Stew - has Custom Potion Effects'
- 'Suspicious Stew - Custom Potion Effects'
- 'Block - Liquid Level'
- 'Entity - on Knockback'
- 'Entity - on Knockback by Entity'
- 'Entity Snapshot - As String'
- 'Entity Snapshot - From String'
- 'Entity Snapshot - Spawn'ù
## **Fixes:**
- Fixed issues caused by Skript 2.10.0 API changes.
- Fixed 'Entity - Item from Equipment Slot' not working well in some cases, improved its documentation as well.
- Fixed entity snapshot elements from causing issues in versions prior to their implementation.
- Fixed and (in some cases) added documentation for many entity variant classinfos.
- Fixed versions (and especially minecraft ones) from not being created and compared correctly.
- Fixed some voxel shape elements from causing issues in versions prior to their implementation.
- Fixed event-equipmentslot from causing issues prior to its implementation in the entity place event.
## **Changes:**
- BREAKING: EVERY POSE OBJECT WILL NOW BE SUFFIXED WITH "pose"! (ex: "dying pose", "sneaking pose")
- Improved the patterns of most bounding box elements.
- Modified the patterns of 'Armor Stand - has Arms (Property)', 'Armor Stand - has Base Plate (Property)'
- Rebranded 'Entity - on Attack Push' into 'Entity - on Push by Entity Attack'.
- Improved documentation for the 'Should Burn During The Day' elements and many others.
- ``
/skript info`` now displays the Lusk repository url.
## **Internal Changes:**
- Replaced reflection nightmare with Skript Adapters, thus making Lusk a multi-module project. (NMS? 👀)
- Improved 'Enchanted Book - Stored Enchantments'
- Commented some unused methods.
- Simplified a lot of logic.
- Renamed some field and variables for consistency.
- Removed redundant null checks.
- Replaced all java 21 Math calls with the Skript Math2 equivalent.
- Prevented some tests (or parts of them) from running when they shouldn't.
- Fixed some tests.
- Annotated many methods.
## Github Autogenerated Info:
### What's Changed
- Dev/feature to main by @JakeGBLP in https://github.com/JakeGBLP/Lusk/pull/25
- 2.10 entity snapshot workaround by @JakeGBLP in https://github.com/JakeGBLP/Lusk/pull/27
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3.2...1.3.3
# **Supported Versions:**
- Minecraft 1.16.5 -> 1.21.4+ (Spigot and Paper)
- Skript 2.6.4 -> 2.10+
- Fixed some expressions registering under the wrong class.
- Improved patterns for bounding box related elements and made examples consistent.
- Improved documentation.
- Improved internals.
- Removed extra spaces (super important... right? Lol).
- Made Lusk warnings yellow (they used to be red).
- Fixed issues with entitysnapshot pre 1.20.5.
- Added Block - Liquid Level.
- Added Lusk link to /sk info.
Happy New Year everyone, this patch fixes a couple of issues, ensuring compatibility as promised by the previous release!
# 1.3:
Read the full changelog here: https://github.com/JakeGBLP/Lusk/releases/tag/1.3
# This Update:
Fixed incompatibility with skript 2.10 that was introduced in 2.10-pre1.
Patches the riptide effect causing issues.
Added the resurrect section event.
#
Enjoy the auto generated changelog:
## What's Changed
- 1.3.1 patches by @JakeGBLP in https://github.com/JakeGBLP/Lusk/pull/21
## New Contributors
- @JakeGBLP made their first contribution in https://github.com/JakeGBLP/Lusk/pull/21
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.3...1.3.1
Merry Christmas everyone, I hope you've all had the chance to spend these last few days with your loved ones and I pray for all of you to be able to happily celebrate New Year's Eve; 2024 is coming to a close and after just over 4 months without public releases and a ton of work behind the scenes I'm happy to announce **Lusk 1.3**, this update took a while to make but I'm satisfied with the result and I think you'll be too!
> _If you're interested in getting early access to releases/features, join the [skUnity Discord](https://skunity.com/), I often give out betas and prereleases there._
# Your Lusk
To go along with this release I would also like to mention that if you have any suggestions, ideas, want to see something added or just need help with something you can [contact me at any time](https://discord.com/users/842074156405358652) or open an issue [here](https://github.com/JakeGBLP/Lusk/issues) if appropriate!
> _Where there's demand there's supply._
#
## » This is the official Download Page! «
> From now on all official releases of Lusk will only be available on Modrinth; Modrinth grants developers 75% of the ad revenue and this can REALLY help a ton when making updates!
# **Supported Versions:**
> - Minecraft 1.16.5 -> 1.21.4+ (Spigot and Paper)
> - Skript 2.6.4 -> 2.10+
# 🚀 Added:
> Each addition is paired with a working example, but for most elements multiple patterns are available, consider checking the documentation for more info.
## ⚒️ Anvil GUI:
- ### Events:
- on Anvil Gui Open:
on anvil gui open: - on Anvil Gui Click:
on anvil gui click: - on Anvil Gui Close:
on anvil gui close:
- ### Conditions:
- Can Be Closed:
if the anvil cannot be closed: - is Viewing:
if {_player} is viewing any anvil gui:if {_player} is viewing anvil gui {_anvilGui}:
- ### Effects:
- Close:
close anvil gui {_anvilGui} - Open:
open anvil gui {_anvilGui} to {_player} - Prevent Closing:
prevent anvil gui {_anvilGui} from closing
- ### Expressions:
- The Anvil Gui:
the anvil gui - Interactable Slots:
send the anvil gui interactable slots of {_anviGui} - Inventory:
anvil gui inventory of {_anvilGui} - Opened Anvil GUI:
currently open anvil gui of {_player} - First/Second/Result Item:
set the anvil gui first item of {_anvilGui} to stone named "hi" - Text Input/Title:
set the anvil gui text input of {_anvilGui} to "new text!" - New Anvil Gui:
set {_anvilGui} to a new anvil guiset {_anvilGui} to a new anvil gui copying {_otherAnvilGui}- All Open Anvil Gui:
send all of the open anvil guis
- ### Types:
- Anvil Gui
- ### Sections:
- on Open/Close/Click Section:
when {_anvilGui} gets opened:
broadcast "%{_anvilGui}% has been opened!"
when {_anvilGui} gets clicked:
broadcast "%{_anvilGui}% has been clicked!"
when {_anvilGui} gets closed:
broadcast "%{_anvilGui}% has been closed!"
`
#
## 🖱️ Inventory:
- ### Expressions:
- on Inventory Click - Clicked Item:
set the clicked itemstack to stone#
## 🧍🏼♂️ Player:
- ### Events:
- on Inventory Slot Drop:
on player slot drop:Drop Info (Condition): if the item is being dropped from the cursor:if the item is not being dropped from the inventory:if the whole stack is being dropped:if the whole stack is being dropped from the cursor:on Interact: #18 on player off hand interaction with an entity:on player interacting with a block:on player main hand interact:on Velocity Change: on player velocity change:New Velocity Vector (Expression): set the new player velocity to vector(0.4, 5, 1)
- ### Effects:
- Start/Stop Riptiding:
make player start riptiding for 5 secondsmake player start riptiding for 5 seconds using tool with attack damage 12make player stop riptidingSleep: forcefully make {_player} sleep at {_location}try making {_player} sleep at {_location}force {_player} to sleep at {_location}#
## 👤 Entity:
- ### Effects:
- Make Burn Under The Sun:
make {_entity} not burn under the sunmake {_entity} immune to the sunlight
- ### Conditions:
- is Aggressive:
if {_entity} is aggressive:
- ### Expressions:
- Collidable Exemptions:
add {_entities::*} to collidable exemptions of {_entity}set {_uuids::*} to collidable exemptions uuids of {_entities::*}Client Sided Custom Name Visibility (Property): set client sided custom name visibility of {_entity} to falseItem from Equipment Slot: set equipment slot chest slot of {_entity} to iron chestplateProtocol Id: send entity id of {_entity}is Aggressive (Property): set whether {_entity} is aggressive to true#
## 📷 Entity Snapshot:
- ### Effects:
- Spawn:
spawn snapshot {_entitySnapshot} at {_location}spawn 3 of snapshots {_entitySnapshots::*} at {_location}
- ### Expressions:
- Entity Type:
send entity snapshot type of {_entitySnapshot}
- ### Types:
- Entity Snapshot
#
## ✏️ Item:
- ### Expressions:
- Supported/Preferred Enchantments:
broadcast supported enchantments of {_tool}
- ### Types:
- Comparator with Item Rarity.
#
## 🧰 Skript:
- ### Events:
- on Effect Command:
on skript effect command:Effect Command String (Expression): the effect command
## 🖼️ Item Frame:
- ### Conditions:
- is Fixed:
if item frame {_frame} is fixed:is Visible / is Invisible: #17 if item frame {_frame} is visible:if item frame {_frame} is invisible:
- ### Effects:
- Rotate:
rotate {_itemFrame} counter clockwise twicerotate {_itemFrames::*} by 45 degrees 3 timesset Item Silently: silently set item frame item of {_itemFrame} to iron sword
- ### Expressions:
- Rotation:
set the item frame rotation of {_itemFrames::*} to 45 degreesItem Drop Chance: set the item frame drop chance of {_frame} to 0.74is Fixed (Property): set whether item frame {_frame} is fixed to falseis Visible / is Invisible (Property): #17 set whether item frame {_frame} is visible to falseset whether item frame {_frame} is invisible to falseItem (Silently Set): `
silently:
set item frame item of {_frame} to stone
# Won't make the placing sound.
`
- ### Types:
- Rotation:
45 degrees, 135 degrees#
## 🤸♂️ Armor Stand:
- ### Conditions:
- is Equipment Slot Disabled:
if chest slot is disabled for {_armorStand}:
- ### Effects:
- Disabled Slots:
set the armor stand disable slots of {_armorStand} to chest slot and hand slotis Invisible (Property): set whether armor stand {_armorStand} is invisible to true
- ### Types:
- BodyPart
#
## 📖 Enchanted Book:
- ### Conditions:
- has Stored Enchantments:
if {_book} has stored enchants:
- ### Expressions:
- Stored Enchantments:
set stored enchantments of {_book} to sharpness and unbreaking 3#
## 🏹 Crossbow:
- ### Conditions:
- has Charged Projectiles:
if {_crossbow} has charged projectiles:
- ### Expressions:
- Charged Projectiles:
set charged projectiles of {_crossbow} to iron sword, dirt and arrow#
## ⚽ Projectile:
- ### Conditions:
- has Left The Shooter:
if {_projectile} has left its shooter:
- ### Expressions:
- has Left The Shooter (Property):
set whether {_projectile} has left its shooter to true#
## 🏹 Arrow:
- ### Expressions:
- Damage:
set the arrow damage of {_projectile} to 10Piece Amount: set the arrow pierce amount of {_projectile} to 3#
## 🐔 Chicken:
- ### Conditions:
- is Chicken Jockey:
if {_chicken} is chicken jockey:
- ### Expressions:
- is Chicken Jockey (Property):
set whether {_chicken} is a chicken jockey to true:#
## ⬛ Enderman:
- ### Effects:
- Teleport Towards Entity:
teleport {_endermen::*} towards {_entity}#
## 🐺 Wolf:
- ### Types:
- Wolf Variant.
#
## 🐇 Rabbit:
- ### Types:
- Rabbit Type
#
## 🐟 Salmon:
- ### Types:
- Salmon Variant
#
## 🐠 Tropical Fish:
- ### Types:
- Tropical Fish Pattern
#
## 🦊 Fox:
- ### Conditions:
- Trusts Players:
if {_foxes::*} trust {_players::*}:
- ### Expressions:
- is Crouching (Property):
set whether fox {_fox} is crouching to true:is Defending (Property): set whether fox {_fox} is defending to false:is Faceplanted (Property): set whether fox {_fox} is faceplanted to false:is Leaping (Property): set whether fox {_fox} is leaping to true:Variant: set fox variant of {_fox} to red fox type:
- ### Types:
- Fox Variant
#
## 🍄 Mushroom Cow:
- ### Types:
- Mushroom Cow Variant
#
## 🦜 Parrot:
- ### Types:
- Parrot Variant
#
## 🦙 Llama:
- ### Types:
- Llama Color
#
## 🐎 Horse:
- ### Types:
- Horse Color
- Horse Style
#
## 🐸 Frog:
- ### Types:
- Frog Variant
#
## 🪸 Axolotl:
- ### Types:
- Axolotl Variant
#
## 🧌 Warden:
- ### Types:
- Comparator with Warden Anger.
#
## 🔮 End Crystal:
- ### Conditions:
- is Showing Bottom:
if {_endCrystal} is showing its bottom:
- ### Effects:
- Hide/Show Bottom Plate:
hide end crystal bottom of {_endCrystals::*}show entity's end crystal bottom
- ### Expressions:
- Beam Target:
set end crystal beam target location of {_endCrystals::*} to location(54, 90.5, 54)is Showing Bottom (Property): set whether ender crystal {_endCrystal} is showing the bottom to true#
## 👁️ Ender Signal:
- ### Conditions:
- is Going to Drop/Shatter:
if ender eye {_enderEye} is going to drop:if ender eye {_enderEye} is going to shatter:
- ### Effects:
- Set Target Location Without Updating:
set the ender signal target location of {_enderEye} to {_location} without updating
- ### Expressions:
- Despawn Time/Ticks:
set ender eye despawn time of {_enderEye} to 2 secondsItem: set ender signal item of {_enderEye} to stoneis Going to Drop/Shatter (Property): set the ender signal is going to drop property of {_enderEye} to falseTarget Location: set ender eye target location of {_enderEye} to location of player#
## 🖥️ Server:
- ### Expressions:
- Version:
the server version#
## 🗣️ Sound:
- ### Types:
- Sound
#
## 🧊 Block:
> [!TIP]
> Most of the new Block elements support Blocks, BlockStates, BlockDatas and **Items**!
- ### Events:
- on Damage Update:
on block damage update:on block break progress update:on Ignite [Lusk Extension]: on block ignition due to lava ignition:on player block ignition:### Conditions: can Be Waterlogged: if {_block} can be waterlogged:if tool of player can be waterlogged:is Waterlogged: if {_blockData} is waterlogged:if {_blockState} is not waterlogged:
- ### Effects:
- Water Log:
waterlog {_blocks::*}make {_item} not waterlogged
- ### Expressions:
- is Waterlogged (Property):
set whether {_block} is waterlogged to truesend is waterlogged property of {_item}Fluid Level Change Event - new Block Data: set the fluid level blockdata to water[level=4]
- ### Types:
- Ignition Cause
#
## 🪧 Sign:
- ### Conditions:
- is Waxed:
if tool of player is waxed:if block is waxed:
- ### Expressions:
- is Waxed (Property):
set whether offhand tool of player is waxed to falsesend is waxed property of {_blockStates::*}#
## 📦 BlockState:
- ### Conditions:
- is Placed:
if {_blockState} is not placed:
- ### Types:
- BlockState
#
## ⬡ Bounding Box:
- ### Conditions:
- Overlaps:
if {_boundingBox} overlaps {_boxes::*}:
- ### Expressions:
- Blocks Within:
all of the blocks within {_box} in world {_world}Entities Within: all of the zombies in box {_box} in world {_world}all the entities in boxes {_boxes::*} in {_world}Corners/Center Coordinates: set {_lesserX} to the bounding box lesser x-loc of {_box}set {_centerY::*} to the bounding box center y-coord of {_boxes::*}Corners/Center : set {_lesserX} to the bounding box lesser corner of {_box}set {_centerY::*} to the bounding box center of {_boxes::*}#
## 📐 Math/Geometry:
- ### Types:
- EulerAngle: Converter to vector and back.
#
## 🧱 BlockFace:
- ### Expressions:
- Between Blocks:
set {_face} to blockface from {_block1} to {_block2}#
## 🏴 Banner:
- ### Expressions:
- From Pattern Type and Color:
banner pattern skull pattern type with color red
- ### Types:
- Pattern Type
- Pattern
#
## ⏳ Time:
- ### Types:
- Timespan Period
#
## 💣 Creeper/Primed TNT/TNT Minecart:
- ### Expressions:
- Max/Regular Fuse Time/Ticks:
set max fuse ticks of {_creeper} to 10set fuse time of {_tntMinecart} to 4 secondsset fuse ticks of {_tnt} to 35#
## 🧮 3D Vectors, 4D Vectors, 2D Vectors, Location, Chunk Etc:
- ### Expressions:
- XYZ(W) Coordinate/Coordinate List:
send coordinate list of {_quaternion}broadcast x coordinate of {_location}#
## 🎨 Entity, Block, BlockState, Item:
- ### Conditions:
- is Collidable:
if {_object} is collidable:#
## Other:
- ### Sections:
- Run Silently:
`
silently:
set item frame item of {_frame} to iron sword # won't play the sound
`
# 📈 Changes:
## 🧍🏼♂️ Player:
- ### Conditions:
- is Crawling:
- Added plural support.
- Improved logic, it now works in cases where the player is rapidly changing pose.
- is Slim: Added offline player support.
#
## 👤 Entity:
- ### Conditions:
- is In Powdered Snow: Added plural support.
- ### Expressions:
- is Interested (Property): Added plural support.
- Origin: Added plural support.
- Spawn Category: Added plural support.
- Width: Added plural support.
- Spawn Reason: Added plural support.
- Pose: Added plural support.
- Should Burn During The Day (Property): Added paper and spigot safeties.
#
## ☄️Fireball:
- ### Expressions:
- Displayed Item: Added plural support.
#
## 🤸♂️ Armor Stand:
- ### Events:
- on Manipulate: Added
event-livingentity.
- ### Expressions:
- Rotations:
- Switched to degrees instead of radians.
- Now uses bodyparts.
- has Arms (Property): Added item support.
- has Base Plate (Property): Added item support.
- is Marker (Property): Added item support.
- is Small (Property): Added item support.
#
## ⬛ Enderman:
- ### Events:
- on Escape: Added
event-endermanescapereason.
- ### Effects:
- Randomly Teleport: Added spigot support.
- ### Expressions:
- Held Block Data: Added plural support.
#
## 🐐 Goat:
- ### Conditions:
- Has Left/Right/Both/Either Horn: Added plural, both horns and either horn support.
#
## 🐬 Dolphin:
- ### Expressions:
- Has Been Fed Fish (Property): Added plural support.
- Moisture Level: Added plural, 'add' and 'remove' support.
#
## 🦙 Llama:
- ### Conditions:
- is In Caravan: Added plural support.
- ### Expressions:
- Strength: Added plural support.
#
## 🐔 Chicken:
- ### Expressions:
- Egg Lay Time/Ticks: Added ticks support.
#
## 🐈 Cat:
- ### Expressions:
- is Looking Up (Property): Added plural and 'reset' support.
- is Lying Down (Property): Added plural and reset support.
#
## 🧊 Block:
- ### Conditions:
- is Full: Added blockstate support.
- ### Expressions:
- Blast Resistance: Added block, blockstate and blockdata support.
- Slipperiness: Added plural, block, blockstate and blockdata support.
#
## 🪧 Sign:
- ### Conditions:
- is Editable: Added plural and blockstate support.
- ### Expressions:
- is Editable (Property): Added plural, blockstate and item support.
#
## ⚗️ Brewing Stand:
- ### Expressions:
- Fuel Item: Added plural, blockstate and item support.
- Ingredient: Added plural, blockstate and item support.
- Fuel Level: Added plural, blockstate and item support.
- Remaining Time/Ticks: Added plural, blockstate, item and ticks support.
#
## 💽 Jukebox:
- ### Conditions:
- is Playing: Added blockstate support.
- ### Effects:
- Eject Disc: Added blockstate support.
- Start/Stop Playing: Added blockstate support.
- ### Expressions:
- Record/Disc: Added plural and blockstate support.
#
## 🔔 Bell:
- ### Conditions:
- is Resonating:
- Removed deprecation.
- Added blockstate and plural support.
- is Ringing:
- Removed deprecation.
- Added blockstate and plural support.
- ### Effects:
- Ring: Added blockstate and plural support.
- ### Expressions:
- Resonating Time/Ticks:
- Removed deprecation.
- Added blockstate and ticks support.
- Shaking Time/Ticks:
- Removed deprecation.
- Added blockstate and ticks support.
#
## ✏️ Item:
- ### Expressions:
- Unenchanted/Disenchanted: Added plural support.
#
## ⬡ Bounding Box:
- ### Expressions:
- of Entity/Block: Added blockstate support-
- New Bounding Box: Added copy/clone support.
- ### Types:
- Added converters from Entity, Block, Structure Piece and Generates Structure.
#
## ⏹️ World Border:
- ### Expressions:
- on Change - Change Duration: Added milliseconds support.
#
## 🧚🏻♀️ Allay:
- ### Conditions:
- can Be Duplicated: Added plural support.
- ### Expressions:
- can Be Duplicated (Property): Added plural support.
- Duplication Cooldown: Added plural and ticks support.
#
## 📝 String:
- ### Expressions:
- Small Capital Case; Added lenient option as opposed to "strict".
# ⚙️ Internal Changes:
Made almost everything spigot and version safe.
Improved build.gradle.
Added better console logging and startup messages.
Fixed UpdateChecker.java.
Added custom Skript API and modified what was already present.
Small changes to the documentation of EnumWrapper.java`.Moved classes around.
Removed redundant parentheses.
Removed redundant "class exists" checks.
Renamed variables for consistency.
Added to do comments for future reference.
Turned repeated "class exists" checks into Constants.
Added/removed spaces where it seemed necessary.
Improved many classes code-wise.
Replaced non jetbrains annotations with jetbrains'.
Improved documentation.
Improved patterns.
Set the more accurate expression type for some expressions, some of which i need reimplementation (ex. ExprIronGolemCreatedByPlayerState.java).
Made a big chunk of utility classes that help a LOT of syntax elements be more readable and more straight to the point.
Took some pieces of code from other places (skript and skbee) and added credits.
Added a lot of tests.
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.2.1...1.3
This release's github target is not accurate due to me having 91 files to commit and in no time to do it, in this case releasing this is a bit more important than target changes accuracy, i'll try my best not to make this mistake again in the future since i've already slightly done it with other releases (small but important things i had to fix right after release).
If you want to know whats in this release i guess you'll have to decompile it and find it, but good luck with that 💀 (hint: it has to do with anvils and with dropping items).
That's about it for this release, see ya.
This beta is rather stable.
> This is the first update since May and I hope to bring more frequent updates, school and real life had been holding me back a bit but I think I've found a good balance to continue making Lusk better and better, expect more updates in the next months!
> > _"Essentially, this is the best **Lusk's** ever been."_
> > \- JakeGBLP
> ## ❗ Breaking Changes:
> A lot of things have been removed in this update, mainly hardcoded stuff that i internally referred to as "_aliases_", this is because they are tough to maintain, i might add them back in the future but for now be on the lookout for errors, **always** test your code on a development server first.
# ⛏️ What Changed:
> Each addition is paired with a working example, but for most elements multiple patterns are available, consider checking the documentation for more info.
## ➕ Added:
- ## Events:
- Player - on Block Harvest:
on block harvest:,on harvest: - Armor Stand - on Manipulate:
on armor stand chest slot change:
- ## Types:
- ArmorStandInteraction:
change,swap,retrieve,place - BlockFace:
south face,up face,south east faceetc... - ItemRarity:
common,uncommon,rare,epic
- VoxelShape: The voxel shape of a block.
- ## Conditions:
- CondEntityStanding:
if player is standing: - CondVindicatorJohnny:
if {_vindicator} is johnny: - CondTridentCollided:
if event-projectile has collided: - CondTridentEnchanted:
if event-projectile is enchanted: - CondTridentLoyal:
if event-projectile is loyal: - CondBlockFaceCartesian:
if {_blockface} is cartesian: - CondEntityCanSit:
if victim can sit: - CondBoundingBoxWithin:
if {_location} is within bounding box {_boundingBox} - CondEntityRoaring: if {_enderDragon}, {_ravager} and {_someOtherEntity} are roaring:
- ## Expressions:
- ExprRarity: set item rarity of tool of player to epic
- ExprRarityColor: broadcat rarity color of item rarity of dragon egg
- ExprVindicatorJohnny: set whether or not {_vindicator} is johnny to true
- ExprTridentLoyalty: set loyalty level of event-projectile to 4
- ExprFoxTrustedPlayers: broadcast first trusted player of {_fox}
- ExprBlockFaceModXYZ: broadcast mod-y of {_blockfaces::*}
- ExprBlockFaceVector: broadcast vector direction of west face
- ExprBlockFaceOpposite: broadcast opposite blockface of {_storedBlockfaces::*}
- ExprBlockFaceBetween: set {_between} to face from {_block} to block below player
- ExprBoundingBoxOf: broadcast bounding box of event-block
- ExprBoundingBoxesOfVoxelShape: broadcast bounding boxes of {_voxelShape}
- ExprNewBoundingBox: set {_box} to a new bounding box
,set {_boundingBox} to bounding box from {_loc1} to {_loc2} - ExprVoxelShapeOf: broadcast voxel shape of target block
- ## Sections:
- SecEvtDeath: run on death of {_player}:
,when {_wolf} dies: - SecEvtJump: execute on {_player} jump:
,when {_wolf} jumps: - SecEvtBreak: execute on mine of {_block}:
,when {_block} gets broken:
## 🔃 Changes:
- ExprUsedTool:
- Fixed possible errors due to missing methods in older versions.
- Now works in the Elytra Boost event.
- Now allows you to get either the hand or the item in that hand ( the used item ).
- Improved Pattern.
- Block Faces:
- Each block face will only have "face" as a suffix for parity with skBee, Ex: south face
,up face - ExprFoxProperties:
- Added the sleeping property.
- Greatly improved the description, which now explains which properties can be set on which platform.
- CondEntityAwake -> CondEntitySleeping:
- Improved pattern to allow "asleep" and "sleeping".
- Changed EffPass
's documentation name fromPasstoDo Nothing.... - Made Brewing Stand - on Brew
's description more intuitive. - Added strict
keyword toExprCasesand expanded the description to explain in. - Equipment Slots now require the word slot
at the end., in other words, they must be suffixed by it. - Versions can now be parsed and aren't required to be wrapped in a string: send version 1.20.6
- Fixed malformed pattern in the Campfire - on Start
event. - Fixed use of deprecated method in the Entity - on Attack Push
event. - Fixed ExprBestEquipmentSlot's register method being the exact same as another totally different element (fixed this oversight).
- Improved some patterns here and there.
- Improved Sections
- Stored Bounding Boxes are now persistent across restarts.
- CondServerAllows can now be used to check if the server allows any of the following: nether, end, flight.
- CondCharged now has better checks for crossbows (chances are it didn't work before).
- All classinfos should now have aliases.
## ➖ Removed:
- The old item/enchantment rarity system, now rarities are their own object and enchantments don't have a rarity of their own.
- Beacon Elements.
- CondAxeable
- CondPathable
- CondStrippable
- CondTillable
- CondShearable
- CondSittable (somewhat replaced by CondEntityCanSit)
- CondWaxable
- CondCompostable
- EvtBlockPath
- EvtBlockStrip
- EvtBlockTill
- ExprAxeables
- ExprPathable(s)
- ExprStrippables
- ExprTillables
- ExprWaxables
- ExprShearables
- ExprSittables
- ExprCompostables
- ExprCompostChance
## ⚠️ The following elements are deprecated when using Skript 2.9 or newer
- CondBellResonating
- CondBellRinging
- Bell - on Resonate
- Bell - on Ring
- ExprBellResonatingTime
- ExprBellShakingTime
## ⚙️ Internal Changes:
- Renamed CondCanBreatheUnderwater
toCondEntityBreatheUnderwater. - Moved ExprFireballItem
to fireball package. - Tests wooo @Pikachu920
- Internal Skript version is 2.9.
- CondCanBeEnchanted negation is now on a separate pattern.
- CondCanBeEnchanted now takes itemtypes
instead ofitemstacks`. - The Equipment Slot classinfo now uses the EnumWrapper class.
- Added missing aliases and removed pointless aliases.
- Renamed Comparators.java to VersionComparators.java for more clarity.
- Due to the massive amount of removals most utility classes are now much smaller.
- Removed some trailing spaces.
- Replaced deprecated URL stuff in the UpdateChecker.
- Fixed version lang issue.
- Moved some method around in the main class.
- Added MIT license, wooo
- Improved build.gradle by a LOT.
- Added a method to check if a block break event will drops items.
- Switched to the new internal Skript comparator system.
## ✅ Summary:
- Trident API: 100%
- BlockFace API: 100%
- Fox API: 100%
- Vindicator API: 100%
- EquipmentSlot API: 90%
- BoundingBox API: 10%
- Full Changelog**: https://github.com/JakeGBLP/Lusk/comp
Fixed:
Bell Ring effect
Fake XP and/or Level effect
Used Tool expression, it's now lighter on the server as it no longer uses reflection
Version objects don't throw console errors anymore
fixed some toString() and getPropertyName() methods
Some expressions from allowing themselves to be changed when they shouldn't
The (event) dye color expression no longer crashes with other syntaxes
Changes:
Switched to newer Skript api
Improved Bell Conditions internally
Improved 'Will do x' conditions' patterns
Improved charged condition
Improved Should Burn In Day condition
Improved Has Horns condition
Internally condensed some effects and conditions
Expanded is Awake to all entities (that can sleep)
Moved all event values to their appropriate event's class
Renamed some events to match the most recent ones
Improved Beacon related expressions
Switched Expressions to extend Simpler Expression classes (SimpleExpression, SimplePropertyExpression etc)
Added:
aliases for the currently added types (equipment slots, armorstand interactions, block faces etc.
Armor Stand Manipulate event + Armor Stand Interaction type
Roaring condition
Entity Bow Shoot event + syntaxes
Entity Place(d) event
Harvest Event
Enum Wrapper and Update Checker from SkBee, also added credits
Re-Added:
Bell Resonate Event (?)
'Horse - is Eating' Condition
Removed:
Arrow Body Count expression
- Full Changelog**: https://github.com/JakeGBLP/Lusk/compare/1.1...1.1.1
As always, contact me on discord @JakeGBLP or open an issue in case there's one.
As always, contact me on discord @JakeGBLP or open an issue in case there's one.
## Highlights:
### Click Section
``
vb
spawn pig at player:
set display name of entity to "&dPig"
on click on entity:
broadcast "%entity% has been clicked!"
`
### Damage Section
`vb
spawn pig at player:
set display name of entity to "&dPig &7- &c%health of entity%&8/&c%max health of entity%"
on damage of entity:
set display name of victim to "&dPig &7- &c%health of victim - final damage%&8/&c%max health of victim%"
`
### Heal Section
`vb
spawn pig at player:
set display name of entity to "&dPig &7- &c%health of entity%&8/&c%max health of entity%"
on heal of entity:
push entity upwards
broadcast "%entity% has been healed, yay"
``[on] [player] shield (down|off|lower[ed]) (paper only)[on] [player] shield (up|on|(use|raise)[d])[on] player collide [with entity][on] [component] click on %textcomponent% (requires skbee) (this is NOT an event, it's a section)Full release is close.
- Full Changelog**: https://github.com/J-ak-e/Lusk/compare/1.0.3...1.0.4-beta1
Added Beacon Effect Change Event and related stuff, added Active Item Expression, fixed issue when using Spigot.
Event Naming Improved.
It also adds Raised Hand Elements.
This beta exists for the purpose of supporting multiple softwares, in particular Purpur.
Fix GrindstonePrepareEvent conflicts between Bukkit and Paper.1.181
#
Added, Improved, Cleaned up a LOT of stuff.
#
If you encounter bugs or issues, please report them using the Issues tab!
#
- Full Changelog**: https://github.com/J-ak-e/Lusk/compare/1.0.1...1.0.2
A List of elements will be added to the read me to give an idea of what Lusk does.
Improved Utils class.
Improved many things.
Added many things.
Replaced every stringify checks with proper checks, thanks to this there are a few new alias expressions.
If you find any bugs, open an issue about it.11.18
All Syntaxes will be documented on SkriptHub and skUnity.
Report any issues and bugs.


