1.3.1 - Bug Fixes
on Jan 2, 2025🎉 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.
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
1.3 - Your Lusk
on Dec 31, 2024🎄Merry Christmas!✝️
Merry Christmas everyone, I hope you've all had the chance to spend these last few days with your loved ones and I pray for all of you to be able to happily celebrate New Year's Eve; 2024 is coming to a close and after just over 4 months without public releases and a ton of work behind the scenes I'm happy to announce Lusk 1.3, this update took a while to make but I'm satisfied with the result and I think you'll be too!
If you're interested in getting early access to releases/features, join the skUnity Discord, I often give out betas and prereleases there.
Your Lusk
To go along with this release I would also like to mention that if you have any suggestions, ideas, want to see something added or just need help with something you can contact me at any time or open an issue here if appropriate!
Where there's demand there's supply.
» This is the official Download Page! «
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+
🚀 Added:
Each addition is paired with a working example, but for most elements multiple patterns are available, consider checking the documentation for more info.
⚒️ Anvil GUI:
-
Events:
- on Anvil Gui Open:
on anvil gui open:
- on Anvil Gui Click:
on anvil gui click:
- on Anvil Gui Close:
on anvil gui close:
- on Anvil Gui Open:
-
Conditions:
- Can Be Closed:
if the anvil cannot be closed:
- is Viewing:
if {_player} is viewing any anvil gui:
if {_player} is viewing anvil gui {_anvilGui}:
- Can Be Closed:
-
Effects:
- Close:
close anvil gui {_anvilGui}
- Open:
open anvil gui {_anvilGui} to {_player}
- Prevent Closing:
prevent anvil gui {_anvilGui} from closing
- Close:
-
Expressions:
- The Anvil Gui:
the anvil gui
- Interactable Slots:
send the anvil gui interactable slots of {_anviGui}
- Inventory:
anvil gui inventory of {_anvilGui}
- Opened Anvil GUI:
currently open anvil gui of {_player}
- First/Second/Result Item:
set the anvil gui first item of {_anvilGui} to stone named "hi"
- Text Input/Title:
set the anvil gui text input of {_anvilGui} to "new text!"
- New Anvil Gui:
set {_anvilGui} to a new anvil gui
set {_anvilGui} to a new anvil gui copying {_otherAnvilGui}
- All Open Anvil Gui:
send all of the open anvil guis
- The Anvil Gui:
-
Types:
- Anvil Gui
-
Sections:
- on Open/Close/Click Section:
when {_anvilGui} gets opened:
broadcast "%{_anvilGui}% has been opened!"
when {_anvilGui} gets clicked:
broadcast "%{_anvilGui}% has been clicked!"
when {_anvilGui} gets closed:
broadcast "%{_anvilGui}% has been closed!"
🖱️ Inventory:
-
Expressions:
- on Inventory Click - Clicked Item:
set the clicked itemstack to stone
- on Inventory Click - Clicked Item:
🧍🏼♂️ Player:
-
Events:
- on Inventory Slot Drop:
on player slot drop:
- Drop Info (Condition):
if the item is being dropped from the cursor:
if the item is not being dropped from the inventory:
if the whole stack is being dropped:
if the whole stack is being dropped from the cursor:
- Drop Info (Condition):
- on Interact: #18
on player off hand interaction with an entity:
on player interacting with a block:
on player main hand interact:
- on Velocity Change:
on player velocity change:
- New Velocity Vector (Expression):
set the new player velocity to vector(0.4, 5, 1)
- New Velocity Vector (Expression):
- on Inventory Slot Drop:
-
Effects:
- Start/Stop Riptiding:
make player start riptiding for 5 seconds
make player start riptiding for 5 seconds using tool with attack damage 12
make player stop riptiding
- Sleep:
forcefully make {_player} sleep at {_location}
try making {_player} sleep at {_location}
force {_player} to sleep at {_location}
- Start/Stop Riptiding:
👤 Entity:
-
Effects:
- Make Burn Under The Sun:
make {_entity} not burn under the sun
make {_entity} immune to the sunlight
- Make Burn Under The Sun:
-
Conditions:
- is Aggressive:
if {_entity} is aggressive:
- is Aggressive:
-
Expressions:
- Collidable Exemptions:
add {_entities::*} to collidable exemptions of {_entity}
set {_uuids::*} to collidable exemptions uuids of {_entities::*}
- Client Sided Custom Name Visibility (Property):
set client sided custom name visibility of {_entity} to false
- Item from Equipment Slot:
set equipment slot chest slot of {_entity} to iron chestplate
- Protocol Id:
send entity id of {_entity}
- is Aggressive (Property):
set whether {_entity} is aggressive to true
- Collidable Exemptions:
📷 Entity Snapshot:
-
Effects:
- Spawn:
spawn snapshot {_entitySnapshot} at {_location}
spawn 3 of snapshots {_entitySnapshots::*} at {_location}
- Spawn:
-
Expressions:
- Entity Type:
send entity snapshot type of {_entitySnapshot}
- Entity Type:
-
Types:
- Entity Snapshot
✏️ Item:
-
Expressions:
- Supported/Preferred Enchantments:
broadcast supported enchantments of {_tool}
- Supported/Preferred Enchantments:
-
Types:
- Comparator with Item Rarity.
🧰 Skript:
-
Events:
- on Effect Command:
on skript effect command:
- Effect Command String (Expression):
the effect command
- Effect Command String (Expression):
- on Effect Command:
🖼️ Item Frame:
-
Conditions:
- is Fixed:
if item frame {_frame} is fixed:
- is Visible / is Invisible: #17
if item frame {_frame} is visible:
if item frame {_frame} is invisible:
- is Fixed:
-
Effects:
- Rotate:
rotate {_itemFrame} counter clockwise twice
rotate {_itemFrames::*} by 45 degrees 3 times
- set Item Silently:
silently set item frame item of {_itemFrame} to iron sword
- Rotate:
-
Expressions:
- Rotation:
set the item frame rotation of {_itemFrames::*} to 45 degrees
- Item Drop Chance:
set the item frame drop chance of {_frame} to 0.74
- is Fixed (Property):
set whether item frame {_frame} is fixed to false
-is Visible / is Invisible (Property): #17set whether item frame {_frame} is visible to false
set whether item frame {_frame} is invisible to false
- Item (Silently Set):
- Rotation:
silently:
set item frame item of {_frame} to stone
# Won't make the placing sound.
-
Types:
- Rotation:
45 degrees
,135 degrees
- Rotation:
🤸♂️ Armor Stand:
-
Conditions:
- is Equipment Slot Disabled:
if chest slot is disabled for {_armorStand}:
- is Equipment Slot Disabled:
-
Effects:
- Disabled Slots:
set the armor stand disable slots of {_armorStand} to chest slot and hand slot
- is Invisible (Property):
set whether armor stand {_armorStand} is invisible to true
- Disabled Slots:
-
Types:
- BodyPart
📖 Enchanted Book:
-
Conditions:
- has Stored Enchantments:
if {_book} has stored enchants:
- has Stored Enchantments:
-
Expressions:
- Stored Enchantments:
set stored enchantments of {_book} to sharpness and unbreaking 3
- Stored Enchantments:
🏹 Crossbow:
-
Conditions:
- has Charged Projectiles:
if {_crossbow} has charged projectiles:
- has Charged Projectiles:
-
Expressions:
- Charged Projectiles:
set charged projectiles of {_crossbow} to iron sword, dirt and arrow
- Charged Projectiles:
⚽ Projectile:
-
Conditions:
- has Left The Shooter:
if {_projectile} has left its shooter:
- has Left The Shooter:
-
Expressions:
- has Left The Shooter (Property):
set whether {_projectile} has left its shooter to true
- has Left The Shooter (Property):
🏹 Arrow:
-
Expressions:
- Damage:
set the arrow damage of {_projectile} to 10
- Piece Amount:
set the arrow pierce amount of {_projectile} to 3
- Damage:
🐔 Chicken:
-
Conditions:
- is Chicken Jockey:
if {_chicken} is chicken jockey:
- is Chicken Jockey:
-
Expressions:
- is Chicken Jockey (Property):
set whether {_chicken} is a chicken jockey to true:
- is Chicken Jockey (Property):
⬛ Enderman:
-
Effects:
- Teleport Towards Entity:
teleport {_endermen::*} towards {_entity}
- Teleport Towards Entity:
🐺 Wolf:
-
Types:
- Wolf Variant.
🐇 Rabbit:
-
Types:
- Rabbit Type
🐟 Salmon:
-
Types:
- Salmon Variant
🐠 Tropical Fish:
-
Types:
- Tropical Fish Pattern
🦊 Fox:
-
Conditions:
- Trusts Players:
if {_foxes::*} trust {_players::*}:
- Trusts Players:
-
Expressions:
- is Crouching (Property):
set whether fox {_fox} is crouching to true:
- is Defending (Property):
set whether fox {_fox} is defending to false:
- is Faceplanted (Property):
set whether fox {_fox} is faceplanted to false:
- is Leaping (Property):
set whether fox {_fox} is leaping to true:
- Variant:
set fox variant of {_fox} to red fox type:
- is Crouching (Property):
-
Types:
- Fox Variant
🍄 Mushroom Cow:
-
Types:
- Mushroom Cow Variant
🦜 Parrot:
-
Types:
- Parrot Variant
🦙 Llama:
-
Types:
- Llama Color
🐎 Horse:
-
Types:
- Horse Color
- Horse Style
🐸 Frog:
-
Types:
- Frog Variant
🪸 Axolotl:
-
Types:
- Axolotl Variant
🧌 Warden:
-
Types:
- Comparator with Warden Anger.
🔮 End Crystal:
-
Conditions:
- is Showing Bottom:
if {_endCrystal} is showing its bottom:
- is Showing Bottom:
-
Effects:
- Hide/Show Bottom Plate:
hide end crystal bottom of {_endCrystals::*}
show entity's end crystal bottom
- Hide/Show Bottom Plate:
-
Expressions:
- Beam Target:
set end crystal beam target location of {_endCrystals::*} to location(54, 90.5, 54)
- is Showing Bottom (Property):
set whether ender crystal {_endCrystal} is showing the bottom to true
- Beam Target:
👁️ Ender Signal:
-
Conditions:
- is Going to Drop/Shatter:
if ender eye {_enderEye} is going to drop:
if ender eye {_enderEye} is going to shatter:
- is Going to Drop/Shatter:
-
Effects:
- Set Target Location Without Updating:
set the ender signal target location of {_enderEye} to {_location} without updating
- Set Target Location Without Updating:
-
Expressions:
- Despawn Time/Ticks:
set ender eye despawn time of {_enderEye} to 2 seconds
- Item:
set ender signal item of {_enderEye} to stone
- is Going to Drop/Shatter (Property):
set the ender signal is going to drop property of {_enderEye} to false
- Target Location:
set ender eye target location of {_enderEye} to location of player
- Despawn Time/Ticks:
🖥️ Server:
-
Expressions:
- Version:
the server version
- Version:
🗣️ Sound:
-
Types:
- Sound
🧊 Block:
[!TIP] Most of the new Block elements support Blocks, BlockStates, BlockDatas and Items!
-
Events:
- on Damage Update:
on block damage update:
on block break progress update:
- on Ignite [Lusk Extension]:
on block ignition due to lava ignition:
on player block ignition:
- on Damage Update:
-
Conditions:
- can Be Waterlogged:
if {_block} can be waterlogged:
if tool of player can be waterlogged:
- is Waterlogged:
if {_blockData} is waterlogged:
if {_blockState} is not waterlogged:
- can Be Waterlogged:
-
Effects:
- Water Log:
waterlog {_blocks::*}
make {_item} not waterlogged
- Water Log:
-
Expressions:
- is Waterlogged (Property):
set whether {_block} is waterlogged to true
send is waterlogged property of {_item}
- Fluid Level Change Event - new Block Data:
set the fluid level blockdata to water[level=4]
- is Waterlogged (Property):
-
Types:
- Ignition Cause
🪧 Sign:
-
Conditions:
- is Waxed:
if tool of player is waxed:
if block is waxed:
- is Waxed:
-
Expressions:
- is Waxed (Property):
set whether offhand tool of player is waxed to false
send is waxed property of {_blockStates::*}
- is Waxed (Property):
📦 BlockState:
-
Conditions:
- is Placed:
if {_blockState} is not placed:
- is Placed:
-
Types:
- BlockState
⬡ Bounding Box:
-
Conditions:
- Overlaps:
if {_boundingBox} overlaps {_boxes::*}:
- Overlaps:
-
Expressions:
- Blocks Within:
all of the blocks within {_box} in world {_world}
- Entities Within:
all of the zombies in box {_box} in world {_world}
all the entities in boxes {_boxes::*} in {_world}
- Corners/Center Coordinates:
set {_lesserX} to the bounding box lesser x-loc of {_box}
set {_centerY::*} to the bounding box center y-coord of {_boxes::*}
- Corners/Center :
set {_lesserX} to the bounding box lesser corner of {_box}
set {_centerY::*} to the bounding box center of {_boxes::*}
- Blocks Within:
📐 Math/Geometry:
-
Types:
- EulerAngle: Converter to vector and back.
🧱 BlockFace:
-
Expressions:
- Between Blocks:
set {_face} to blockface from {_block1} to {_block2}
- Between Blocks:
🏴 Banner:
-
Expressions:
- From Pattern Type and Color:
banner pattern skull pattern type with color red
- From Pattern Type and Color:
-
Types:
- Pattern Type
- Pattern
⏳ Time:
-
Types:
- Timespan Period
💣 Creeper/Primed TNT/TNT Minecart:
-
Expressions:
- Max/Regular Fuse Time/Ticks:
set max fuse ticks of {_creeper} to 10
set fuse time of {_tntMinecart} to 4 seconds
set fuse ticks of {_tnt} to 35
- Max/Regular Fuse Time/Ticks:
🧮 3D Vectors, 4D Vectors, 2D Vectors, Location, Chunk Etc:
-
Expressions:
- XYZ(W) Coordinate/Coordinate List:
send coordinate list of {_quaternion}
broadcast x coordinate of {_location}
- XYZ(W) Coordinate/Coordinate List:
🎨 Entity, Block, BlockState, Item:
-
Conditions:
- is Collidable:
if {_object} is collidable:
- is Collidable:
Other:
-
Sections:
- Run Silently:
silently:
set item frame item of {_frame} to iron sword # won't play the sound
📈 Changes:
🧍🏼♂️ Player:
-
Conditions:
- is Crawling:
- Added plural support.
- Improved logic, it now works in cases where the player is rapidly changing pose.
- is Slim: Added offline player support.
- is Crawling:
👤 Entity:
-
Conditions:
- is In Powdered Snow: Added plural support.
-
Expressions:
- is Interested (Property): Added plural support.
- Origin: Added plural support.
- Spawn Category: Added plural support.
- Width: Added plural support.
- Spawn Reason: Added plural support.
- Pose: Added plural support.
- Should Burn During The Day (Property): Added paper and spigot safeties.
☄️Fireball:
-
Expressions:
- Displayed Item: Added plural support.
🤸♂️ Armor Stand:
-
Events:
- on Manipulate: Added
event-livingentity
.
- on Manipulate: Added
-
Expressions:
- Rotations:
- Switched to degrees instead of radians.
- Now uses bodyparts.
- has Arms (Property): Added item support.
- has Base Plate (Property): Added item support.
- is Marker (Property): Added item support.
- is Small (Property): Added item support.
- Rotations:
⬛ Enderman:
-
Events:
- on Escape: Added
event-endermanescapereason
.
- on Escape: Added
-
Effects:
- Randomly Teleport: Added spigot support.
-
Expressions:
- Held Block Data: Added plural support.
🐐 Goat:
-
Conditions:
- Has Left/Right/Both/Either Horn: Added plural, both horns and either horn support.
🐬 Dolphin:
-
Expressions:
- Has Been Fed Fish (Property): Added plural support.
- Moisture Level: Added plural, 'add' and 'remove' support.
🦙 Llama:
-
Conditions:
- is In Caravan: Added plural support.
-
Expressions:
- Strength: Added plural support.
🐔 Chicken:
-
Expressions:
- Egg Lay Time/Ticks: Added ticks support.
🐈 Cat:
-
Expressions:
- is Looking Up (Property): Added plural and 'reset' support.
- is Lying Down (Property): Added plural and reset support.
🧊 Block:
-
Conditions:
- is Full: Added blockstate support.
-
Expressions:
- Blast Resistance: Added block, blockstate and blockdata support.
- Slipperiness: Added plural, block, blockstate and blockdata support.
🪧 Sign:
-
Conditions:
- is Editable: Added plural and blockstate support.
-
Expressions:
- is Editable (Property): Added plural, blockstate and item support.
⚗️ Brewing Stand:
-
Expressions:
- Fuel Item: Added plural, blockstate and item support.
- Ingredient: Added plural, blockstate and item support.
- Fuel Level: Added plural, blockstate and item support.
- Remaining Time/Ticks: Added plural, blockstate, item and ticks support.
💽 Jukebox:
-
Conditions:
- is Playing: Added blockstate support.
-
Effects:
- Eject Disc: Added blockstate support.
- Start/Stop Playing: Added blockstate support.
-
Expressions:
- Record/Disc: Added plural and blockstate support.
🔔 Bell:
-
Conditions:
- is Resonating:
- Removed deprecation.
- Added blockstate and plural support.
- is Ringing:
- Removed deprecation.
- Added blockstate and plural support.
- is Resonating:
-
Effects:
- Ring: Added blockstate and plural support.
-
Expressions:
- Resonating Time/Ticks:
- Removed deprecation.
- Added blockstate and ticks support.
- Shaking Time/Ticks:
- Removed deprecation.
- Added blockstate and ticks support.
- Resonating Time/Ticks:
✏️ Item:
-
Expressions:
- Unenchanted/Disenchanted: Added plural support.
⬡ Bounding Box:
-
Expressions:
- of Entity/Block: Added blockstate support-
- New Bounding Box: Added copy/clone support.
-
Types:
- Added converters from Entity, Block, Structure Piece and Generates Structure.
⏹️ World Border:
-
Expressions:
- on Change - Change Duration: Added milliseconds support.
🧚🏻♀️ Allay:
-
Conditions:
- can Be Duplicated: Added plural support.
-
Expressions:
- can Be Duplicated (Property): Added plural support.
- Duplication Cooldown: Added plural and ticks support.
📝 String:
-
Expressions:
- Small Capital Case; Added lenient option as opposed to "strict".
⚙️ Internal Changes:
Made almost everything spigot and version safe.
Improved build.gradle
.
Added better console logging and startup messages.
Fixed UpdateChecker.java
.
Added custom Skript API and modified what was already present.
Small changes to the documentation of EnumWrapper.java
.
Moved classes around.
Removed redundant parentheses.
Removed redundant "class exists" checks.
Renamed variables for consistency.
Added to do comments for future reference.
Turned repeated "class exists" checks into Constants.
Added/removed spaces where it seemed necessary.
Improved many classes code-wise.
Replaced non jetbrains annotations with jetbrains'.
Improved documentation.
Improved patterns.
Set the more accurate expression type for some expressions, some of which i need reimplementation (ex. ExprIronGolemCreatedByPlayerState.java).
Made a big chunk of utility classes that help a LOT of syntax elements be more readable and more straight to the point.
Took some pieces of code from other places (skript and skbee) and added credits.
Added a lot of tests.
Full Changelog: https://github.com/JakeGBLP/Lusk/compare/1.2.1...1.3
1.20.4 Fixes & More
on Nov 16, 2024I'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, I 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.
Major Fixes
on Nov 16, 2024This 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 beta is rather stable.
Back on Track
on Nov 16, 2024🚀 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
Bug Fixes and Small Additions
on Nov 16, 2024"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.
The Big Update
on Nov 16, 2024This update adds, removes and fixes a lot of stuff, heck even the jar is smaller! As always, contact me on discord @JakeGBLP or open an issue in case there's one.
Highlights:
Click Section
spawn pig at player:
set display name of entity to "&dPig"
on click on entity:
broadcast "%entity% has been clicked!"
Damage Section
spawn pig at player:
set display name of entity to "&dPig &7- &c%health of entity%&8/&c%max health of entity%"
on damage of entity:
set display name of victim to "&dPig &7- &c%health of victim - final damage%&8/&c%max health of victim%"
Heal Section
spawn pig at player:
set display name of entity to "&dPig &7- &c%health of entity%&8/&c%max health of entity%"
on heal of entity:
push entity upwards
broadcast "%entity% has been healed, yay"
Lusk 1.0.4-beta2
on Nov 16, 2024Fixed a lot of big issues, slightly improved a few patterns, added a few things, most importantly:
[on] [player] shield (down|off|lower[ed])
(paper only)
[on] [player] shield (up|on|(use|raise)[d])
[on] player collide [with entity]
[on] [component] click on %textcomponent%
(requires skbee) (this is NOT an event, it's a section)
Full release is close.
Lusk 1.0.4-beta1
on Nov 16, 2024Full Changelog: https://github.com/J-ak-e/Lusk/compare/1.0.3...1.0.4-beta1
Added Beacon Effect Change Event and related stuff, added Active Item Expression, fixed issue when using Spigot. Event Naming Improved.
Lusk 1.0.3
on Nov 16, 2024This release stabilizes things, adds some things, removes a few things and makes the addon better in a couple ways.
Lusk 1.0.3-beta1
on Nov 16, 2024This beta adds the Beacon Effect Apply Event along with a condition and an expression for it. It also adds Raised Hand Elements. This beta exists for the purpose of supporting multiple softwares, in particular Purpur. Fix GrindstonePrepareEvent conflicts between Bukkit and Paper.1.181
Lusk 1.0.2
on Nov 16, 2024The Biggest Update so far.
Added, Improved, Cleaned up a LOT of stuff.
If you encounter bugs or issues, please report them using the Issues tab!
Full Changelog: https://github.com/J-ak-e/Lusk/compare/1.0.1...1.0.2
A List of elements will be added to the read me to give an idea of what Lusk does.
Lusk 1.0.1
on Nov 16, 2024Fixed internal stuff. Improved Utils class. Improved many things. Added many things. Replaced every stringify checks with proper checks, thanks to this there are a few new alias expressions. If you find any bugs, open an issue about it.11.18
Lusk 1.0.0
on Nov 16, 2024First Release of Lusk All Syntaxes will be documented on SkriptHub and skUnity. Report any issues and bugs.