Changelog
🚀 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
❗ 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.
- Player - on Block Harvest:
-
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.
- ArmorStandInteraction:
-
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:
- CondEntityStanding:
-
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
- ExprRarity:
-
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:
- SecEvtDeath:
🔃 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
- Each block face will only have "face" as a suffix for parity with skBee, Ex:
- 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 fromPass
toDo Nothing...
. - Made
Brewing Stand - on Brew
's description more intuitive. - Added
strict
keyword toExprCases
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.
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
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