Lusk icon

Lusk -----

Provides what you're missing with Skript.



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!

`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
Resource Information
Author:
----------
Total Downloads: 2,397
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