[!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