Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for Jake

Provides what you're missing with Skript.

Report Lusk?

Release
1.2

Jake released Lusk version 1.2 on August 8, 2024

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:

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

    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

Information

Published onAugust 8, 2024
Downloads3

Platforms

Paper Paper (1.20-1.21.1)