Lusk icon

Lusk -----

Provides what you're missing with Skript.




» CLICK HERE TO DOWNLOAD «
Since Lusk 1.3, 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.0+

This update:

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
----------, Jan 26, 2025

This update adds small things, fixes some bugs and incompatibilities with pre 1.18.2 and pre 1.20.5.

» CLICK HERE TO DOWNLOAD «
Since Lusk 1.3, 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+

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

* 1.3.2 by @JakeGBLP in https://github.com/JakeGBLP/Lusk/pull/23

Full Changelog: https://github.com/JakeGBLP/Lusk/compare/1.3.1...1.3.2
----------, Jan 12, 2025

2025
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.

» CLICK HERE TO DOWNLOAD «
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+


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
----------, Jan 2, 2025

This will soon have a proper description, markdown to bbcode is tedious.
Until then check the fully styled changelog here: https://github.com/JakeGBLP/Lusk/releases/tag/1.3
----------, Dec 31, 2024

❗ Lusk 1.2.x includes 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.

⛏️ This Update:
Tip: Each addition is paired with a working example, but for most elements multiple patterns are available, consider checking the documentation for more info.

➕ Added:
  • Conditions:
    • CondFullBlock: if event-block is a full block:
  • Expressions:
    • ExprBoundingBoxMeasurements: broadcast box height of bounding box of target
    • ExprBoundingBoxVolume: broadcast box volume of bounding box of target
⚙️ Internal Changes:
  • Fixed major 1.20.?+ issue causing patterntypes to be broke.
  • Fixed Some Documentation stuff.
  • Fixed DocumentationIds (thanks eyesniper)
  • Improved Sections.
  • Added Block Utils.
  • Added useful Paper Utils.
  • ^ Fixed Errors on Spigot.
  • Borrowed some stuff from skBee to make my life easier and easily allow Lusk to work on pre skript 2.9 (when it comes to registries anyway)
✅ Summary:
  • Fixed Major issues on 1.20+.
  • Made Lusk more compatible with Spigot.
  • Expanded the BoundingBox API.
  • Lusk's documentation is now more stable.
Note: This release is very similar to the 1.2.1-beta1 pre release, that's because when I posted the pre release I didn't have enough time to verify how good it was and how close it was to being a full release, so as I started working on the full update on it I realized I had already done most of what I needed to do.

Full Changelog: 1.2...1.2.1
----------, Aug 18, 2024

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!

`a`

❗ 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:`
> This event has a lot of customization, it allows you to choose the interactions and which slots are being changed, check the documentation to know more.

- Types:

- ArmorStandInteraction: `change`, `swap`, `retrieve`, `place`
- BlockFace: `south face`, `up face`, `south east face` etc...
- ItemRarity: `common`, `uncommon`, `rare`, `epic`
> This replaces the old system from Paper.
- 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 from `Pass` to `Do Nothing...`.
- Made `Brewing Stand - on Brew`'s description more intuitive.
- Added `strict` keyword to `ExprCases` and 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.
The following are BREAKING CHANGES!
- 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
> EffRingBell is not being deprecated due to Skript's own version of this effect using Direction and Lusk's using blockfaces, so both can be used in different situations.

⚙️ Internal Changes:

- Renamed `CondCanBreatheUnderwater` to `CondEntityBreatheUnderwater`.
- 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 of `itemstacks`.
- 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/compare/1.1.1...1.2
----------, Aug 8, 2024

"Small" update that fixes some bugs and adds new stuff because of it.

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.
----------, May 1, 2024

This update adds, removes and fixes a lot of stuff, heck even the jar is smaller!
As always, contact me on discord @JakeGBLP or open an issue in case there's one.

SkriptHub Docs

SkUnity Docs

Highlights:
Click Section
Code (Text):
spawn pig at player:
  set display name of entity to "&dPig"
  on click on entity:
    broadcast "%entity% has been clicked!"
Damage Section
Code (Text):
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
Code (Text):
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"
----------, Mar 12, 2024

Events:
- on Allay Duplicate
- on Armor Dispense
- on Arrow Body Count Change
- on Arrow Choose
- on Bat Sleep/Wake Up/Toggle
- on Beacon On/Off/Toggle
- on Beacon Effect Applied
- on Bell Resonate
- on Bell Ring
- on Block Path
- on Brew
- on Brewing Stand Fuel
- on Brewing Start
- on Campfire Start
- on Cauldron Level Chang
- on Chunk Enter Event
- on Creeper Ignite/Extinguish/Toggle
- on Crossbow Load
- on Dirt Path
- on Dispense Fail
- on Dye
- on Elder Guardian Appear
- on Ender Dragon Change Phase
- on Enderman Decide
- on Enderman Escape
- on Entity Enter Love Mode
- on Entity Inside Block
- on Entity Pushed by Attack
- on Entity Rename
- on Flower Pot Manipulate
- on Furnace Extract
- on Furnace Start Smelting
- on Grindstone Prepare
- on Hopper Compost Item
- on Item Frame Change (3 in 1)
- on Lectern Page Flip (3 in 1)
- on Loom Pattern Select
- on Main Hand Switch
- on Player Inventory Slot Change (3 in 1)
- on Player Start Spectating
- on Player Stop Spectating
- on Pose Change
- on Post Respawn
- on Pre Compost
- on Pre Damage
- on Pre Dispense
- on Sit/Stand up/Toggle
- on Sleep Fail
- on Stonecutter Recipe Select
- on Stop Using Item
- on Strip (3 in 1)
- on Till
- on Warden Anger Change
- on Warden Sniff Start/Stop/Toggle
- on Whitelist Enable/Disable/Toggle
- on Whitelsit Verify
- on WorldBorder Change (3 in 1)


Conditions:
- Allay - Can Be Duplicated
- Animal - is Dancing
- Animal - is Interested
- Animal - is Sitting
- Beacon - Applied Effect is Primary Effect
- Bell - is Resonating
- Bell - is Ringing
- Boolean
- Cat - Has Head Up
- Cat - Lying Down
- Citizens - is NPC
- Crossbow/Wither/Wither Skull - is Charged
- Dolphin - Has Fish
- Enderman - Has Been Looked At
- Entity - Can Be Sheared
- Entity - Can Breath Underwater
- Entity - is Angry
- Entity - is Awake
- Entity - is Climbing
- Entity - is Converting
- Entity - is Hand Raised
- Entity - is In Powdered Snow
- Entity - is Left Handed
- Entity - is Screaming
- Entity - is Underwater
- Fox - is Crouching
- Fox - is Defending
- Fox - is Faceplanted
- Fox - is Leaping
- Goat - Has Left/Right Horn
- Has Seen Credits
- Horse - is Eating
- Horse - is Eating Grass
- Horse - is Rearing
- Iron Golem - Created By a Player
- is Axeable
- is Bed Respawn
- is Compostable
- is Crawling
- is Critical
- is Pathable
- is Placing in Pot
- is Shearable
- is Sittable
- is Spawner Entity
- is Strippable
- is Tillable
- is Waxable
- Item - Can Be Enchanted With
- JukeBox - Has Record
- Jukebox - is Playing
- Llama - Has Caravan Tail
- Llama - is In Caravan
- Neher/End - is Allowed
- Ocelot - is Trusting
- Player - Can Critical Damage
- Player - is Slim
- Should Trigger Advancements
- Sign - is Editable
- Sign - is Glowing
- Skeleton Horse - is Trapped
- Version - is Valid
- Warden - is Agitated
- Warden - is Calm
- Whitelist is Enabled
- Whitelist is Enforced
- Will Be Damaged
- Will Consume Brewing Fuel
- Will Raise Composter Level
- WorldBorder - Change is Instant
- Zombie - is Raising Its Arms
- Zombie - Should Burn In Day


Effects:
- Allay Dance
- Cancel Advancements
- Cancel Composter Level Rise
- Cancel Consuming Brewing Fuel
- Duplicate Allay
- Enderman - Randomly Teleport
- [un]Enforce Whitelist
- Goat - Ram
- JukeBox - Eject Disc
- JukeBox - Start/Stop Playing
- Llama - Join Caravan
- Llama - Leave Caravan
- Show Fake Experience (Clientside)
- Do Nothing
- Show Credits
- Toggle Whitelist
- Villager - Head Shake
- Villager - Zombify
- Wake Up
- Warden Disturbance


Expressions:
- Allay - Duplication Cooldown
- Allay - Duplication State
- Allay - Jukebox
- Animal - Interested State
- Animal - Sitting State
- Armorstand - Properties
- Armorstand - Rotations
- Arrow Body Count
- Axeables
- Best Equipment Slot
- Beacon - Affected Entities
- Beacon - Applied Effect
- Beacon - Effect Range
- Beacon - Effects
- Beacon - Pyramid Tier
- Bell - Resonation Time
- Bell - Shaking Time
- Block Blast Resistance
- Block Slipperiness
- Bounding Box - Entity
- Brewing - Fuel
- Brewing - Fuel Level
- Brewing - Ingredient
- Brewing Stand Fuel Power
- Cat - Head Up State
- Cat - Lying Down State
- Cauldron - Change Reason
- Chicken - Egg Lay Time
- Chosen Arrow/Bow
- Command Block - Command
- Compostables
- Composter Level
- Dolphin - Has Fish State
- Dolphin - Moist Level
- Dolphin - Treasure
- Ender Dragon Phase (past/future)
- Enderman - Escape Reason
- Enderman - Has Been Looked At State
- Enderman - Held Block
- Entity - Angry State
- Entity - Screaming State
- Entity - Variant
- Entity - Category
- Entity - Height
- Entity - Origin Location
- Entity - Pose
- Entity - Raised Hand
- Entity - Raised Hand Remaining Tim
- Entity - Raised Hand Time
- Entity - Width
- Entity Color
- Equipment Slots
- Fireball - Item
- Fox - Properties
- Goat - Left/Right Horn State
- Horse - Domestication Level
- Horse - Eating Grass State
- Horse - Eating State
- Horse - Jump Strength
- Horse - Maximum Domestication Levl
- Horse - Rearing State
- Iron Golem - Created By a Player State
- Item Compost Chance
- Item Frame - Rotation
- Item Rarity - Color
- Item/Enchantment Rarity
- JukeBox - Record
- Last Death Location
- Llama - Caravan Head
- Llama - Caravan Tail
- Llama - Strength
- Loom Pattern Type
- Love Duration
- Maximum Enchantment Level
- Minimum Enchantment Level
- Ocelot - Trusting State
- Pathables
- Percentage
- Player Version
- Previous Gamemode
- Pusher
- Shearables
- Sittables
- Small Caps
- Entity - Spawn Category
- Entity - Spawn Reason
- Sign - Editable State
- Sign . Glowing State
- Skeleton Horse - Trap Time
- Skeleton Horse - Trapped State
- Stonecutter Result
- Strippables
- Entity - Swimming Sound
- Entity - Swimming Splash Sound
- Entity - High Speed Swimming Splash Sound
- Tillables
- Unenchanted
- Version
- Warden - Anger
- Warden - Prey
- Warden Anger (Event)
- Waxables
- WorldBorder - Change Duration
- WorldBorder - Past/Future Center
- WorldBorder - Past/Future Size
- Zombie - Raised Arms State
- Zombie - Should Burn In Day State

Types:
- Bounding Box
- Cauldron Change Reason
- Ender Dragon Phase
- Equipment Slot
- Pattern Type
- Pose
- Spawn Category
- Version
----------, Apr 21, 2023

Added, Improved, Cleaned up a LOT of stuff.

If you encounter bugs or issues, please report them on Github!

A List of elements will be added to the main page to give an idea of what Lusk does.
----------, Apr 17, 2023

Fixed internal stuff.
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 on GitHub.

Docs:
[​IMG]

[​IMG]
----------, Mar 9, 2023

Resource Information
Author:
----------
Total Downloads: 2,392
First Release: Mar 7, 2023
Last Update: Jan 26, 2025
Category: ---------------
All-Time Rating:
2 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings