diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDamagesBlockScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDamagesBlockScriptEvent.java index 9571901cad..ffddad8930 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDamagesBlockScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDamagesBlockScriptEvent.java @@ -15,14 +15,11 @@ public class PlayerDamagesBlockScriptEvent extends BukkitScriptEvent implements // <--[event] // @Events - // player damages block - // player damages - // - // @Regex ^on player damages [^\s]+$ - // + // player damages // @Group Player // // @Location true + // // @Switch with: to only process the event when the player is hitting the block with a specified item. // // @Cancellable true @@ -41,27 +38,17 @@ public class PlayerDamagesBlockScriptEvent extends BukkitScriptEvent implements // --> public PlayerDamagesBlockScriptEvent() { + registerCouldMatcher("player damages "); + registerSwitches("with"); } public LocationTag location; public MaterialTag material; public BlockDamageEvent event; - @Override - public boolean couldMatch(ScriptPath path) { - if (!path.eventLower.startsWith("player damages")) { - return false; - } - if (!couldMatchBlock(path.eventArgLowerAt(2))) { - return false; - } - return true; - } - @Override public boolean matches(ScriptPath path) { - String mat = path.eventArgLowerAt(2); - if (!material.tryAdvancedMatcher(mat)) { + if (!path.tryArgObject(2, material)) { return false; } if (!runInCheck(path, location)) { @@ -91,13 +78,11 @@ public ScriptEntryData getScriptEntryData() { @Override public ObjectTag getContext(String name) { - if (name.equals("location")) { - return location; - } - else if (name.equals("material")) { - return material; - } - return super.getContext(name); + return switch (name) { + case "location" -> location; + case "material" -> material; + default -> super.getContext(name); + }; } @EventHandler diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStopsDamagingBlockScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStopsDamagingBlockScriptEvent.java index 1c71267000..e99e8223d4 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStopsDamagingBlockScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerStopsDamagingBlockScriptEvent.java @@ -16,8 +16,7 @@ public class PlayerStopsDamagingBlockScriptEvent extends BukkitScriptEvent imple // <--[event] // @Events - // player stops damaging block - // player stops damaging + // player stops damaging // // @Group Player // @@ -43,9 +42,9 @@ public class PlayerStopsDamagingBlockScriptEvent extends BukkitScriptEvent imple // - spawn silverfish|silverfish|silverfish|silverfish|silverfish persistent // --> - LocationTag location; - MaterialTag material; - BlockDamageAbortEvent event; + public LocationTag location; + public MaterialTag material; + public BlockDamageAbortEvent event; public PlayerStopsDamagingBlockScriptEvent() { registerCouldMatcher("player stops damaging "); diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntitySilent.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntitySilent.java index b212721daa..9c95b248c6 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntitySilent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntitySilent.java @@ -59,7 +59,7 @@ public ObjectTag getObjectAttribute(Attribute attribute) { // @mechanism EntityTag.silent // @group attributes // @description - // Returns whether the entity is silent. (Plays no sounds) + // Returns whether the entity is silent (Plays no sounds). // --> if (attribute.startsWith("silent")) { return new ElementTag(entity.getBukkitEntity().isSilent()) @@ -77,7 +77,8 @@ public void adjust(Mechanism mechanism) { // @name silent // @input ElementTag(Boolean) // @description - // Sets whether this entity is silent. (Plays no sounds) + // Sets whether this entity is silent (Plays no sounds). + // If you set a player as silent, it may also prevent the player from *hearing* sound. // @tags // // -->