• Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

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
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
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
I'm releasing this as a beta just to provide Lusk support for servers using 1.20.4, this might include 1.20.3, 1.20.2, 1.20.1 and 1.20, don't know, for sure but if this issue was there then it's most likely going to be fixed now.

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.
[!WARNING]
## ❗ 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:
- ## $${\color{red}Conditions}$$:
- CondFullBlock: if event-block is a full block:
- ## $${\color{lime}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 much 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: https://github.com/JakeGBLP/Lusk/compare/1.2...1.2.1
This beta fixes major issues with 1.2, especially when using it on newer versions, full changelog will be posted when this version goes out of beta.
This versiu
[!IMPORTANT]
## Back on Track:
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

[!WARNING]
## ❗ 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:
[!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:
- ## $${\color{magenta}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.
- ## $${\color{orange}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.
- ## $${\color{red}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 {[i]enderDragon}, {[/i]ravager} and {_someOtherEntity} are roaring:
- ## $${\color{lime}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 {[i]between} to face from {[/i]block} to block below player
- ExprBoundingBoxOf: broadcast bounding box of event-block
- ExprBoundingBoxesOfVoxelShape: broadcast bounding boxes of {_voxelShape}
- ExprNewBoundingBox: set {[i]box} to a new bounding box, set {[/i]boundingBox} to bounding box from {[i]loc1} to {[/i]loc2}
- ExprVoxelShapeOf: broadcast voxel shape of target block
- ## $${\color{cyan}Sections}$$:
- SecEvtDeath : run on death of {[i]player}:, when {[/i]wolf} dies:
- SecEvtJump : execute on {[i]player} jump:, when {[/i]wolf} jumps:
- SecEvtBreak : execute on mine of {[i]block}:, when {[/i]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.
[!CAUTION]
These 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
  • Like
Reactions: Fusezion
"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.