diff --git a/src/main/java/ch/njol/skript/conditions/CondAI.java b/src/main/java/ch/njol/skript/conditions/CondAI.java index 4e4b602f4f7..960ef2cb0d4 100644 --- a/src/main/java/ch/njol/skript/conditions/CondAI.java +++ b/src/main/java/ch/njol/skript/conditions/CondAI.java @@ -22,10 +22,15 @@ public class CondAI extends PropertyCondition { public boolean check(LivingEntity entity) { return entity.hasAI(); } - + + @Override + protected PropertyType getPropertyType() { + return PropertyType.HAVE; + } + @Override protected String getPropertyName() { return "artificial intelligence"; } - + } diff --git a/src/main/java/ch/njol/skript/conditions/CondCanFly.java b/src/main/java/ch/njol/skript/conditions/CondCanFly.java index efbd07272d4..8dd1a201854 100644 --- a/src/main/java/ch/njol/skript/conditions/CondCanFly.java +++ b/src/main/java/ch/njol/skript/conditions/CondCanFly.java @@ -12,7 +12,6 @@ @Description("Whether a player is allowed to fly.") @Examples("player can fly") @Since("2.3") - public class CondCanFly extends PropertyCondition { static { @@ -33,4 +32,5 @@ protected PropertyType getPropertyType() { protected String getPropertyName() { return "fly"; } + } diff --git a/src/main/java/ch/njol/skript/conditions/CondChatColors.java b/src/main/java/ch/njol/skript/conditions/CondChatColors.java index dedb076af2d..5957d35df62 100644 --- a/src/main/java/ch/njol/skript/conditions/CondChatColors.java +++ b/src/main/java/ch/njol/skript/conditions/CondChatColors.java @@ -28,6 +28,11 @@ public boolean check(Player player) { return player.getClientOption(ClientOption.CHAT_COLORS_ENABLED); } + @Override + protected PropertyType getPropertyType() { + return PropertyType.CAN; + } + @Override protected String getPropertyName() { return "see chat colors"; diff --git a/src/main/java/ch/njol/skript/conditions/CondChatFiltering.java b/src/main/java/ch/njol/skript/conditions/CondChatFiltering.java index 606b0b7db05..6fb15b1899b 100644 --- a/src/main/java/ch/njol/skript/conditions/CondChatFiltering.java +++ b/src/main/java/ch/njol/skript/conditions/CondChatFiltering.java @@ -27,6 +27,11 @@ public boolean check(Player player) { return player.getClientOption(ClientOption.TEXT_FILTERING_ENABLED); } + @Override + protected PropertyType getPropertyType() { + return PropertyType.HAVE; + } + @Override protected String getPropertyName() { return "chat filtering enabled"; diff --git a/src/main/java/ch/njol/skript/conditions/CondEntityIsInLiquid.java b/src/main/java/ch/njol/skript/conditions/CondEntityIsInLiquid.java index d470d0b14e8..a98688678af 100644 --- a/src/main/java/ch/njol/skript/conditions/CondEntityIsInLiquid.java +++ b/src/main/java/ch/njol/skript/conditions/CondEntityIsInLiquid.java @@ -10,11 +10,13 @@ @Name("Entity is in Liquid") @Description("Checks whether an entity is in rain, lava, water or a bubble column.") -@Examples({"if player is in rain:", - "if player is in water:", - "player is in lava:", - "player is in bubble column"}) -@RequiredPlugins("Minecraft 1.16+ (in water), Paper 1.16+ (in rain, lava and bubble column)") +@Examples({ + "if player is in rain:", + "if player is in water:", + "player is in lava:", + "player is in bubble column" +}) +@RequiredPlugins("Paper (in rain, lava and bubble column)") @Since("2.6.1") public class CondEntityIsInLiquid extends PropertyCondition { @@ -24,7 +26,7 @@ public class CondEntityIsInLiquid extends PropertyCondition { patterns.append("1¦water"); if (Skript.methodExists(Entity.class, "isInLava")) // Paper - All added at the same time + isInWater patterns.append("|2¦lava|3¦[a] bubble[ ]column|4¦rain"); - register(CondEntityIsInLiquid.class, PropertyType.BE, "in (" + patterns + ")", "entities"); + register(CondEntityIsInLiquid.class, "in (" + patterns + ")", "entities"); } } diff --git a/src/main/java/ch/njol/skript/conditions/CondEntityIsWet.java b/src/main/java/ch/njol/skript/conditions/CondEntityIsWet.java index 4b1dd579236..11b08a1b770 100644 --- a/src/main/java/ch/njol/skript/conditions/CondEntityIsWet.java +++ b/src/main/java/ch/njol/skript/conditions/CondEntityIsWet.java @@ -14,7 +14,7 @@ public class CondEntityIsWet extends PropertyCondition { static { if (Skript.methodExists(Entity.class, "isInWaterOrRainOrBubbleColumn")) - register(CondEntityIsWet.class, PropertyType.BE, "wet", "entities"); + register(CondEntityIsWet.class, "wet", "entities"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondGlowingText.java b/src/main/java/ch/njol/skript/conditions/CondGlowingText.java index f7d42248377..1044734d244 100644 --- a/src/main/java/ch/njol/skript/conditions/CondGlowingText.java +++ b/src/main/java/ch/njol/skript/conditions/CondGlowingText.java @@ -27,14 +27,14 @@ public class CondGlowingText extends PropertyCondition { @Override public boolean check(Object obj) { - if (obj instanceof Block) { - BlockState state = ((Block) obj).getState(); - return state instanceof Sign && ((Sign) state).isGlowingText(); - } else if (obj instanceof ItemType) { - ItemMeta meta = ((ItemType) obj).getItemMeta(); - if (meta instanceof BlockStateMeta) { - BlockState state = ((BlockStateMeta) meta).getBlockState(); - return state instanceof Sign && ((Sign) state).isGlowingText(); + if (obj instanceof Block block) { + BlockState state = block.getState(); + return state instanceof Sign sign && sign.isGlowingText(); + } else if (obj instanceof ItemType itemType) { + ItemMeta meta = itemType.getItemMeta(); + if (meta instanceof BlockStateMeta blockStateMeta) { + BlockState state = blockStateMeta.getBlockState(); + return state instanceof Sign sign && sign.isGlowingText(); } } return false; diff --git a/src/main/java/ch/njol/skript/conditions/CondHasClientWeather.java b/src/main/java/ch/njol/skript/conditions/CondHasClientWeather.java index 0719ebf94ac..8047dfc77b0 100755 --- a/src/main/java/ch/njol/skript/conditions/CondHasClientWeather.java +++ b/src/main/java/ch/njol/skript/conditions/CondHasClientWeather.java @@ -10,10 +10,11 @@ @Name("Has Client Weather") @Description("Checks whether the given players have a custom client weather") -@Examples({"if the player has custom weather:", - "\tmessage \"Your custom weather is %player's weather%\""}) +@Examples({ + "if the player has custom weather:", + "\tmessage \"Your custom weather is %player's weather%\"" +}) @Since("2.3") - public class CondHasClientWeather extends PropertyCondition { static { diff --git a/src/main/java/ch/njol/skript/conditions/CondHasCustomModelData.java b/src/main/java/ch/njol/skript/conditions/CondHasCustomModelData.java index 66621f9e91b..e349157635f 100644 --- a/src/main/java/ch/njol/skript/conditions/CondHasCustomModelData.java +++ b/src/main/java/ch/njol/skript/conditions/CondHasCustomModelData.java @@ -28,7 +28,12 @@ public class CondHasCustomModelData extends PropertyCondition { public boolean check(ItemType item) { return item.getItemMeta().hasCustomModelData(); } - + + @Override + protected PropertyType getPropertyType() { + return PropertyType.HAVE; + } + @Override protected String getPropertyName() { return "custom model data"; diff --git a/src/main/java/ch/njol/skript/conditions/CondIgnitionProcess.java b/src/main/java/ch/njol/skript/conditions/CondIgnitionProcess.java index f59bc77a819..2edbeabfec7 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIgnitionProcess.java +++ b/src/main/java/ch/njol/skript/conditions/CondIgnitionProcess.java @@ -16,11 +16,13 @@ @Name("Ignition Process") @Description("Checks if a creeper is going to explode.") -@Examples({"if the last spawned creeper is going to explode:", - "\tloop all players in radius 3 of the last spawned creeper", - "\t\tsend \"RUN!!!\" to the loop-player"}) +@Examples({ + "if the last spawned creeper is going to explode:", + "\tloop all players in radius 3 of the last spawned creeper", + "\t\tsend \"RUN!!!\" to the loop-player" +}) @Since("2.5") -@RequiredPlugins("Paper 1.13 or newer") +@RequiredPlugins("Paper") public class CondIgnitionProcess extends PropertyCondition { static { @@ -32,7 +34,7 @@ public class CondIgnitionProcess extends PropertyCondition { } } - @SuppressWarnings({"unchecked", "null"}) + @SuppressWarnings({"unchecked"}) @Override public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { setExpr((Expression) exprs[0]); @@ -41,12 +43,13 @@ public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelaye } @Override - public boolean check(LivingEntity e) { - return e instanceof Creeper && ((Creeper) e).isIgnited(); + public boolean check(LivingEntity entity) { + return entity instanceof Creeper creeper && creeper.isIgnited(); } @Override protected String getPropertyName() { return "going to explode"; } + } diff --git a/src/main/java/ch/njol/skript/conditions/CondIsAlive.java b/src/main/java/ch/njol/skript/conditions/CondIsAlive.java index 5026d5199ab..625bbe0d8e6 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsAlive.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsAlive.java @@ -13,10 +13,12 @@ @Name("Is Alive") @Description("Checks whether an entity is alive. Works for non-living entities too.") -@Examples({"if {villager-buddy::%player's uuid%} is not dead:", +@Examples({ + "if {villager-buddy::%player's uuid%} is not dead:", "", "on shoot:", - "\twhile the projectile is alive:"}) + "\twhile the projectile is alive:" +}) @Since("2.0, 2.4-alpha4 (non-living entity support)") public class CondIsAlive extends PropertyCondition { diff --git a/src/main/java/ch/njol/skript/conditions/CondIsBanned.java b/src/main/java/ch/njol/skript/conditions/CondIsBanned.java index 37fc818c2ac..0709b474d28 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsBanned.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsBanned.java @@ -1,11 +1,5 @@ package ch.njol.skript.conditions; -import java.net.InetSocketAddress; - -import org.bukkit.Bukkit; -import org.bukkit.OfflinePlayer; -import org.bukkit.entity.Player; - import ch.njol.skript.Skript; import ch.njol.skript.conditions.base.PropertyCondition; import ch.njol.skript.doc.Description; @@ -15,15 +9,19 @@ import ch.njol.skript.lang.Expression; import ch.njol.skript.lang.SkriptParser.ParseResult; import ch.njol.util.Kleenean; +import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; +import org.bukkit.entity.Player; + +import java.net.InetSocketAddress; -/** - * @author Peter Güttinger - */ @Name("Is Banned") @Description("Checks whether a player or IP is banned.") -@Examples({"player is banned", - "victim is not IP-banned", - "\"127.0.0.1\" is banned"}) +@Examples({ + "player is banned", + "victim is not IP-banned", + "\"127.0.0.1\" is banned" +}) @Since("1.4") public class CondIsBanned extends PropertyCondition { @@ -36,8 +34,7 @@ public class CondIsBanned extends PropertyCondition { } private boolean ipBanned; - - @SuppressWarnings("null") + @Override public boolean init(final Expression[] exprs, final int matchedPattern, final Kleenean isDelayed, final ParseResult parseResult) { setExpr(exprs[0]); @@ -48,17 +45,17 @@ public boolean init(final Expression[] exprs, final int matchedPattern, final @Override public boolean check(Object obj) { - if (obj instanceof Player) { + if (obj instanceof Player player) { if (ipBanned) { - InetSocketAddress sockAddr = ((Player) obj).getAddress(); + InetSocketAddress sockAddr = player.getAddress(); if (sockAddr == null) return false; // Assume not banned, they've never played here return Bukkit.getIPBans().contains(sockAddr.getAddress().getHostAddress()); } else { - return ((Player) obj).isBanned(); + return player.isBanned(); } - } else if (obj instanceof OfflinePlayer) { - return ((OfflinePlayer) obj).isBanned(); + } else if (obj instanceof OfflinePlayer offlinePlayer) { + return offlinePlayer.isBanned(); } else if (obj instanceof String) { return Bukkit.getIPBans().contains(obj) || !ipBanned && Bukkit.getBannedPlayers().stream() diff --git a/src/main/java/ch/njol/skript/conditions/CondIsBlock.java b/src/main/java/ch/njol/skript/conditions/CondIsBlock.java index ee4035336b4..69df1a0dc69 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsBlock.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsBlock.java @@ -9,7 +9,10 @@ @Name("Is Block") @Description("Checks whether an item is a block.") -@Examples({"player's held item is a block", "{list::*} are blocks"}) +@Examples({ + "player's held item is a block", + "{list::*} are blocks" +}) @Since("2.4") public class CondIsBlock extends PropertyCondition { @@ -18,8 +21,8 @@ public class CondIsBlock extends PropertyCondition { } @Override - public boolean check(ItemType i) { - return i.getMaterial().isBlock(); + public boolean check(ItemType itemType) { + return itemType.getMaterial().isBlock(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsBlocking.java b/src/main/java/ch/njol/skript/conditions/CondIsBlocking.java index 684c3c38370..cf628866a0f 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsBlocking.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsBlocking.java @@ -8,14 +8,13 @@ import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; -/** - * @author Peter Güttinger - */ @Name("Is Blocking") @Description("Checks whether a player is blocking with their shield.") -@Examples({"on damage of player:", - " victim is blocking", - " damage attacker by 0.5 hearts"}) +@Examples({ + "on damage of player:", + "\tvictim is blocking", + "\tdamage attacker by 0.5 hearts" +}) @Since("unknown (before 2.1)") public class CondIsBlocking extends PropertyCondition { @@ -24,8 +23,8 @@ public class CondIsBlocking extends PropertyCondition { } @Override - public boolean check(final Player p) { - return p.isBlocking(); + public boolean check(Player player) { + return player.isBlocking(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsBurning.java b/src/main/java/ch/njol/skript/conditions/CondIsBurning.java index f2e7838edf8..560cdcc0735 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsBurning.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsBurning.java @@ -8,14 +8,13 @@ import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; -/** - * @author Peter Güttinger - */ @Name("Is Burning") @Description("Checks whether an entity is on fire, e.g. a zombie due to being in sunlight, or any entity after falling into lava.") -@Examples({"# increased attack against burning targets", - "victim is burning:", - " increase damage by 2"}) +@Examples({ + "# increased attack against burning targets", + "victim is burning:", + "\tincrease damage by 2" +}) @Since("1.4.4") public class CondIsBurning extends PropertyCondition { @@ -24,8 +23,8 @@ public class CondIsBurning extends PropertyCondition { } @Override - public boolean check(final Entity e) { - return e.getFireTicks() > 0; + public boolean check(Entity entity) { + return entity.getFireTicks() > 0; } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsCharged.java b/src/main/java/ch/njol/skript/conditions/CondIsCharged.java index f6c80e959b6..7f8bb9691ec 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsCharged.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsCharged.java @@ -12,8 +12,10 @@ @Name("Is Charged") @Description("Checks if a creeper, wither, or wither skull is charged (powered).") -@Examples({"if the last spawned creeper is charged:", - "\tbroadcast \"A charged creeper is at %location of last spawned creeper%\""}) +@Examples({ + "if the last spawned creeper is charged:", + "\tbroadcast \"A charged creeper is at %location of last spawned creeper%\"" +}) @Since("2.5, 2.10 (withers, wither skulls)") public class CondIsCharged extends PropertyCondition { diff --git a/src/main/java/ch/njol/skript/conditions/CondIsCommandBlockConditional.java b/src/main/java/ch/njol/skript/conditions/CondIsCommandBlockConditional.java index 9e25d424bc4..41409e8a6a3 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsCommandBlockConditional.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsCommandBlockConditional.java @@ -12,9 +12,7 @@ import org.bukkit.block.data.type.CommandBlock; @Name("Is Conditional") -@Description( - "Checks whether a command block is conditional or not." -) +@Description("Checks whether a command block is conditional or not.") @Examples({ "if {_block} is conditional:", "\tmake {_block} unconditional" diff --git a/src/main/java/ch/njol/skript/conditions/CondIsEdible.java b/src/main/java/ch/njol/skript/conditions/CondIsEdible.java index d386c321a0f..fc49069d910 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsEdible.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsEdible.java @@ -9,7 +9,10 @@ @Name("Is Edible") @Description("Checks whether an item is edible.") -@Examples({"steak is edible", "player's tool is edible"}) +@Examples({ + "steak is edible", + "player's tool is edible" +}) @Since("2.2-dev36") public class CondIsEdible extends PropertyCondition { @@ -18,8 +21,8 @@ public class CondIsEdible extends PropertyCondition { } @Override - public boolean check(ItemType i) { - return i.getMaterial().isEdible(); + public boolean check(ItemType itemType) { + return itemType.getMaterial().isEdible(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsEmpty.java b/src/main/java/ch/njol/skript/conditions/CondIsEmpty.java index c8774e8316b..1c1a9d7bdd1 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsEmpty.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsEmpty.java @@ -28,8 +28,8 @@ public boolean check(final Object object) { return string.isEmpty(); if (object instanceof SkriptQueue queue) return queue.isEmpty(); - if (object instanceof Inventory) { - for (ItemStack s : ((Inventory) object).getContents()) { + if (object instanceof Inventory inventory) { + for (ItemStack s : inventory.getContents()) { if (s != null && s.getType() != Material.AIR) return false; // There is an item here! } diff --git a/src/main/java/ch/njol/skript/conditions/CondIsFlammable.java b/src/main/java/ch/njol/skript/conditions/CondIsFlammable.java index 778a37c7dee..4cb3b5ee8e0 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsFlammable.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsFlammable.java @@ -9,7 +9,10 @@ @Name("Is Flammable") @Description("Checks whether an item is flammable.") -@Examples({"wood is flammable", "player's tool is flammable"}) +@Examples({ + "wood is flammable", + "player's tool is flammable" +}) @Since("2.2-dev36") public class CondIsFlammable extends PropertyCondition { @@ -18,8 +21,8 @@ public class CondIsFlammable extends PropertyCondition { } @Override - public boolean check(ItemType i) { - return i.getMaterial().isFlammable(); + public boolean check(ItemType itemType) { + return itemType.getMaterial().isFlammable(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsFlying.java b/src/main/java/ch/njol/skript/conditions/CondIsFlying.java index bc1d831dba7..b93e978b0d2 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsFlying.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsFlying.java @@ -8,9 +8,6 @@ import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; -/** - * @author Peter Güttinger - */ @Name("Is Flying") @Description("Checks whether a player is flying.") @Examples("player is not flying") @@ -22,8 +19,8 @@ public class CondIsFlying extends PropertyCondition { } @Override - public boolean check(final Player p) { - return p.isFlying(); + public boolean check(Player player) { + return player.isFlying(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsFuel.java b/src/main/java/ch/njol/skript/conditions/CondIsFuel.java index 07f8ed9df1f..f124f183a6b 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsFuel.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsFuel.java @@ -13,13 +13,13 @@ @Name("Is Fuel") @Description("Checks whether an item can be used as fuel in a furnace.") -@Examples({"on right click on furnace:", - "\tif player's tool is not fuel:", - "\t\tsend \"Please hold a valid fuel item in your hand\"", - "\t\tcancel event" +@Examples({ + "on right click on furnace:", + "\tif player's tool is not fuel:", + "\t\tsend \"Please hold a valid fuel item in your hand\"", + "\t\tcancel event" }) @Since("2.5.1") -@RequiredPlugins("Minecraft 1.11.2+") public class CondIsFuel extends PropertyCondition { static { diff --git a/src/main/java/ch/njol/skript/conditions/CondIsInfinite.java b/src/main/java/ch/njol/skript/conditions/CondIsInfinite.java index ceea3976c7d..2aa93d171f0 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsInfinite.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsInfinite.java @@ -1,13 +1,11 @@ package ch.njol.skript.conditions; -import org.bukkit.potion.PotionEffect; - -import ch.njol.skript.Skript; import ch.njol.skript.conditions.base.PropertyCondition; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Examples; import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; +import org.bukkit.potion.PotionEffect; // This class can be expanded apon for other types if needed. @Name("Is Infinite") @@ -17,8 +15,7 @@ public class CondIsInfinite extends PropertyCondition { static { - if (Skript.methodExists(PotionEffect.class, "isInfinite")) - register(CondIsInfinite.class, "infinite", "potioneffects"); + register(CondIsInfinite.class, "infinite", "potioneffects"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsInteractable.java b/src/main/java/ch/njol/skript/conditions/CondIsInteractable.java index d699204c024..ff642ed0793 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsInteractable.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsInteractable.java @@ -1,30 +1,22 @@ package ch.njol.skript.conditions; -import org.bukkit.Material; - -import ch.njol.skript.Skript; import ch.njol.skript.aliases.ItemType; import ch.njol.skript.conditions.base.PropertyCondition; -import ch.njol.skript.doc.Description; -import ch.njol.skript.doc.Examples; -import ch.njol.skript.doc.Name; -import ch.njol.skript.doc.RequiredPlugins; -import ch.njol.skript.doc.Since; +import ch.njol.skript.doc.*; @Name("Is Interactable") @Description("Checks wether or not a block is interactable.") -@Examples({"on block break:", - "\tif event-block is interactable:", +@Examples({ + "on block break:", + "\tif event-block is interactable:", "\t\tcancel event", - "\t\tsend \"You cannot break interactable blocks!\""}) + "\t\tsend \"You cannot break interactable blocks!\"" +}) @Since("2.5.2") -@RequiredPlugins("Minecraft 1.13+") public class CondIsInteractable extends PropertyCondition { static { - if (Skript.methodExists(Material.class, "isInteractable")) { - register(CondIsInteractable.class, "interactable", "itemtypes"); - } + register(CondIsInteractable.class, "interactable", "itemtypes"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsInvisible.java b/src/main/java/ch/njol/skript/conditions/CondIsInvisible.java index a839313e34d..bf2251f753d 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsInvisible.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsInvisible.java @@ -1,6 +1,5 @@ package ch.njol.skript.conditions; -import ch.njol.skript.Skript; import ch.njol.skript.conditions.base.PropertyCondition; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Examples; @@ -18,8 +17,7 @@ public class CondIsInvisible extends PropertyCondition { static { - if (Skript.methodExists(LivingEntity.class, "isInvisible")) - register(CondIsInvisible.class, PropertyType.BE, "(invisible|:visible)", "livingentities"); + register(CondIsInvisible.class, "(invisible|:visible)", "livingentities"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsInvulnerable.java b/src/main/java/ch/njol/skript/conditions/CondIsInvulnerable.java index b788dc689ac..e1be6e893bd 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsInvulnerable.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsInvulnerable.java @@ -19,18 +19,19 @@ @Since("2.5, 2.10 (gamemode)") @RequiredPlugins("Paper 1.20.6+ (gamemodes)") public class CondIsInvulnerable extends PropertyCondition { + private static final boolean SUPPORTS_GAMEMODE = Skript.methodExists(GameMode.class, "isInvulnerable"); static { - register(CondIsInvulnerable.class, PropertyType.BE, "(invulnerable|invincible)", "entities" + (SUPPORTS_GAMEMODE ? "/gamemodes" : "")); + register(CondIsInvulnerable.class, "(invulnerable|invincible)", "entities" + (SUPPORTS_GAMEMODE ? "/gamemodes" : "")); } @Override public boolean check(Object object) { - if (object instanceof Entity) { - return ((Entity) object).isInvulnerable(); - } else if (SUPPORTS_GAMEMODE && object instanceof GameMode) { - return ((GameMode) object).isInvulnerable(); + if (object instanceof Entity entity) { + return entity.isInvulnerable(); + } else if (SUPPORTS_GAMEMODE && object instanceof GameMode gameMode) { + return gameMode.isInvulnerable(); } return false; } diff --git a/src/main/java/ch/njol/skript/conditions/CondIsLeftHanded.java b/src/main/java/ch/njol/skript/conditions/CondIsLeftHanded.java index 178a7b75425..c687dc67ef7 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsLeftHanded.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsLeftHanded.java @@ -33,9 +33,9 @@ public class CondIsLeftHanded extends PropertyCondition { static { if (CAN_USE_ENTITIES) { - register(CondIsLeftHanded.class, PropertyType.BE, "(:left|right)( |-)handed", "livingentities"); + register(CondIsLeftHanded.class, "(:left|right)( |-)handed", "livingentities"); } else { - register(CondIsLeftHanded.class, PropertyType.BE, "(:left|right)( |-)handed", "players"); + register(CondIsLeftHanded.class, "(:left|right)( |-)handed", "players"); } } @@ -50,12 +50,12 @@ public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, @Override public boolean check(LivingEntity livingEntity) { // check if entity is a mob and if the method exists - if (CAN_USE_ENTITIES && livingEntity instanceof Mob) - return ((Mob) livingEntity).isLeftHanded() == (hand == MainHand.LEFT); + if (CAN_USE_ENTITIES && livingEntity instanceof Mob mob) + return mob.isLeftHanded() == (hand == MainHand.LEFT); // check if entity is a player - if (livingEntity instanceof HumanEntity) - return ((HumanEntity) livingEntity).getMainHand() == hand; + if (livingEntity instanceof HumanEntity humanEntity) + return humanEntity.getMainHand() == hand; // invalid entity return false; diff --git a/src/main/java/ch/njol/skript/conditions/CondIsOnline.java b/src/main/java/ch/njol/skript/conditions/CondIsOnline.java index 98eee7e0c07..a5c511e6111 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsOnline.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsOnline.java @@ -14,7 +14,11 @@ import ch.njol.util.Kleenean; @Name("Is Online") -@Description("Checks whether a player is online. The 'connected' pattern will return false once this player leaves the server, even if they rejoin. Be aware that using the 'connected' pattern with a variable will not have this special behavior. Use the direct event-player or other non-variable expression for best results.") +@Description( + "Checks whether a player is online. The 'connected' pattern will return false once this player leaves the server, " + + "even if they rejoin. Be aware that using the 'connected' pattern with a variable will not have this special behavior. " + + "Use the direct event-player or other non-variable expression for best results." +) @Examples({ "player is online", "player-argument is offline", @@ -41,7 +45,7 @@ public class CondIsOnline extends PropertyCondition { private boolean connected; // https://github.com/SkriptLang/Skript/issues/6100 - @SuppressWarnings({"unchecked", "null"}) + @SuppressWarnings({"unchecked"}) @Override public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { this.setExpr((Expression) exprs[0]); diff --git a/src/main/java/ch/njol/skript/conditions/CondIsOp.java b/src/main/java/ch/njol/skript/conditions/CondIsOp.java index 63b0d24476e..08dcf7af851 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsOp.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsOp.java @@ -14,7 +14,7 @@ public class CondIsOp extends PropertyCondition { static { - register(CondIsOp.class, PropertyType.BE, "[[a] server|an] op[erator][s]", "offlineplayers"); + register(CondIsOp.class, "[[a] server|an] op[erator][s]", "offlineplayers"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsPassable.java b/src/main/java/ch/njol/skript/conditions/CondIsPassable.java index 200d442c6a2..652028f7212 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsPassable.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsPassable.java @@ -1,29 +1,22 @@ package ch.njol.skript.conditions; -import org.bukkit.block.Block; - -import ch.njol.skript.Skript; import ch.njol.skript.conditions.base.PropertyCondition; -import ch.njol.skript.doc.Description; -import ch.njol.skript.doc.Examples; -import ch.njol.skript.doc.Name; -import ch.njol.skript.doc.RequiredPlugins; -import ch.njol.skript.doc.Since; +import ch.njol.skript.doc.*; +import org.bukkit.block.Block; @Name("Is Passable") -@Description({"Checks whether a block is passable.", - "A block is passable if it has no colliding parts that would prevent players from moving through it.", - "Blocks like tall grass, flowers, signs, etc. are passable, but open doors, fence gates, trap doors, etc. are not because they still have parts that can be collided with." +@Description({ + "Checks whether a block is passable.", + "A block is passable if it has no colliding parts that would prevent players from moving through it.", + "Blocks like tall grass, flowers, signs, etc. are passable, but open doors, fence gates, trap doors, etc. " + + "are not because they still have parts that can be collided with." }) @Examples("if player's targeted block is passable") @Since("2.5.1") -@RequiredPlugins("Minecraft 1.13.2+") public class CondIsPassable extends PropertyCondition { static { - if (Skript.methodExists(Block.class, "isPassable")) { - register(CondIsPassable.class, "passable", "blocks"); - } + register(CondIsPassable.class, "passable", "blocks"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsPoisoned.java b/src/main/java/ch/njol/skript/conditions/CondIsPoisoned.java index 89f85cacf02..7cb3b1ac764 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsPoisoned.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsPoisoned.java @@ -9,14 +9,13 @@ import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; -/** - * @author Peter Güttinger - */ @Name("Is Poisoned") @Description("Checks whether an entity is poisoned.") -@Examples({"player is poisoned:", - " cure the player from poison", - " message \"You have been cured!\""}) +@Examples({ + "player is poisoned:", + "\tcure the player from poison", + "\tmessage \"You have been cured!\"" +}) @Since("1.4.4") public class CondIsPoisoned extends PropertyCondition { @@ -25,8 +24,8 @@ public class CondIsPoisoned extends PropertyCondition { } @Override - public boolean check(final LivingEntity e) { - return e.hasPotionEffect(PotionEffectType.POISON); + public boolean check(LivingEntity entity) { + return entity.hasPotionEffect(PotionEffectType.POISON); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsRiptiding.java b/src/main/java/ch/njol/skript/conditions/CondIsRiptiding.java index ef891f4e065..fe1932d79f5 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsRiptiding.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsRiptiding.java @@ -1,13 +1,11 @@ package ch.njol.skript.conditions; -import org.bukkit.entity.LivingEntity; - -import ch.njol.skript.Skript; import ch.njol.skript.conditions.base.PropertyCondition; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Examples; import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; +import org.bukkit.entity.LivingEntity; @Name("Is Riptiding") @Description("Checks to see if an entity is currently using the Riptide enchantment.") @@ -16,9 +14,7 @@ public class CondIsRiptiding extends PropertyCondition { static { - if (Skript.methodExists(LivingEntity.class, "isRiptiding")) { - register(CondIsRiptiding.class, PropertyType.BE, "riptiding", "livingentities"); - } + register(CondIsRiptiding.class, "riptiding", "livingentities"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSheared.java b/src/main/java/ch/njol/skript/conditions/CondIsSheared.java index 99f4fb6b138..d8fc15408db 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsSheared.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSheared.java @@ -35,14 +35,13 @@ public boolean check(LivingEntity entity) { if (entity instanceof Cow) { return entity.getEntitySpawnReason() == CreatureSpawnEvent.SpawnReason.SHEARED; } else if (INTERFACE_METHOD) { - if (!(entity instanceof Shearable)) { + if (!(entity instanceof Shearable shearable)) return false; - } - return !((Shearable) entity).readyToBeSheared(); - } else if (entity instanceof Sheep) { - return ((Sheep) entity).isSheared(); - } else if (entity instanceof Snowman) { - return ((Snowman) entity).isDerp(); + return !shearable.readyToBeSheared(); + } else if (entity instanceof Sheep sheep) { + return sheep.isSheared(); + } else if (entity instanceof Snowman snowman) { + return snowman.isDerp(); } return false; } diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSilent.java b/src/main/java/ch/njol/skript/conditions/CondIsSilent.java index 46078b7b9c7..36f205fe6d5 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsSilent.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSilent.java @@ -15,7 +15,7 @@ public class CondIsSilent extends PropertyCondition { static { - register(CondIsSilent.class, PropertyType.BE, "silent", "entities"); + register(CondIsSilent.class, "silent", "entities"); } @Override @@ -27,4 +27,5 @@ public boolean check(Entity entity) { protected String getPropertyName() { return "silent"; } + } diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSkriptCommand.java b/src/main/java/ch/njol/skript/conditions/CondIsSkriptCommand.java index ea6a21305c4..49045fab196 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsSkriptCommand.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSkriptCommand.java @@ -1,27 +1,28 @@ package ch.njol.skript.conditions; -import static ch.njol.skript.command.Commands.scriptCommandExists; - import ch.njol.skript.conditions.base.PropertyCondition; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Examples; import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; +import static ch.njol.skript.command.Commands.scriptCommandExists; + @Name("Is a Skript command") @Description("Checks whether a command/string is a custom Skript command.") -@Examples( - {"# Example 1", +@Examples({ + "# Example 1", "on command:", - "\tcommand is a skript command", + "\tcommand is a skript command", "", "# Example 2", - "\"sometext\" is a skript command"}) + "\"sometext\" is a skript command" +}) @Since("2.6") public class CondIsSkriptCommand extends PropertyCondition { static { - register(CondIsSkriptCommand.class, PropertyType.BE, "[a] s(k|c)ript (command|cmd)", "string"); + register(CondIsSkriptCommand.class, "[a] s(k|c)ript (command|cmd)", "string"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSleeping.java b/src/main/java/ch/njol/skript/conditions/CondIsSleeping.java index d253829b89d..59b7c522c90 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsSleeping.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSleeping.java @@ -8,16 +8,15 @@ import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; -/** - * @author Peter Güttinger - */ @Name("Is Sleeping") @Description("Checks whether a player is sleeping.") -@Examples({"# cut your enemies' throats in their sleep >=)", - "on attack:", - " attacker is holding a sword", - " victim is sleeping", - " increase the damage by 1000"}) +@Examples({ + "# cut your enemies' throats in their sleep >=)", + "on attack:", + "\tattacker is holding a sword", + "\tvictim is sleeping", + "\tincrease the damage by 1000" +}) @Since("1.4.4") public class CondIsSleeping extends PropertyCondition { @@ -26,8 +25,8 @@ public class CondIsSleeping extends PropertyCondition { } @Override - public boolean check(final Player p) { - return p.isSleeping(); + public boolean check(Player player) { + return player.isSleeping(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSlimeChunk.java b/src/main/java/ch/njol/skript/conditions/CondIsSlimeChunk.java index c8528b1bb43..8c43ae10cad 100755 --- a/src/main/java/ch/njol/skript/conditions/CondIsSlimeChunk.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSlimeChunk.java @@ -1,33 +1,28 @@ package ch.njol.skript.conditions; -import java.util.Random; - -import ch.njol.skript.Skript; -import org.bukkit.Chunk; - import ch.njol.skript.conditions.base.PropertyCondition; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Examples; import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; +import org.bukkit.Chunk; -/** - * @author Nicofisi - */ @Name("Is Slime Chunk") -@Description({"Tests whether a chunk is a so-called slime chunk.", - "Slimes can generally spawn in the swamp biome and in slime chunks.", - "For more info, see the Minecraft wiki."}) -@Examples({"command /slimey:", +@Description({ + "Tests whether a chunk is a so-called slime chunk.", + "Slimes can generally spawn in the swamp biome and in slime chunks.", + "For more info, see the Minecraft wiki." +}) +@Examples({ + "command /slimey:", "\ttrigger:", - "\t\tif chunk at player is a slime chunk:", - "\t\t\tsend \"Yeah, it is!\"", - "\t\telse:", - "\t\t\tsend \"Nope, it isn't\""}) + "\t\tif chunk at player is a slime chunk:", + "\t\t\tsend \"Yeah, it is!\"", + "\t\telse:", + "\t\t\tsend \"Nope, it isn't\"" +}) @Since("2.3") public class CondIsSlimeChunk extends PropertyCondition { - - private static final boolean CHUNK_METHOD_EXISTS = Skript.methodExists(Chunk.class, "isSlimeChunk"); static { register(CondIsSlimeChunk.class, "([a] slime chunk|slime chunks|slimey)", "chunk"); @@ -35,15 +30,7 @@ public class CondIsSlimeChunk extends PropertyCondition { @Override public boolean check(Chunk chunk) { - if (CHUNK_METHOD_EXISTS) - return chunk.isSlimeChunk(); - - Random random = new Random(chunk.getWorld().getSeed() + - (0x4c1906L * chunk.getX() * chunk.getX()) + - (0x5ac0dbL * chunk.getX()) + - (0x4307a7L * chunk.getZ() * chunk.getZ()) + - ((0x5f24fL *chunk.getZ()) ^ 0x3ad8025fL)); - return random.nextInt(10) == 0; + return chunk.isSlimeChunk(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSneaking.java b/src/main/java/ch/njol/skript/conditions/CondIsSneaking.java index 532ed58214b..1b64bfa251d 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsSneaking.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSneaking.java @@ -8,16 +8,15 @@ import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; -/** - * @author Peter Güttinger - */ @Name("Is Sneaking") @Description("Checks whether a player is sneaking.") -@Examples({"# prevent mobs from seeing sneaking players if they are at least 4 meters apart", - "on target:", - " target is sneaking", - " distance of target and the entity is bigger than 4", - " cancel the event"}) +@Examples({ + "# prevent mobs from seeing sneaking players if they are at least 4 meters apart", + "on target:", + "\ttarget is sneaking", + "\tdistance of target and the entity is bigger than 4", + "\tcancel the event" +}) @Since("1.4.4") public class CondIsSneaking extends PropertyCondition { @@ -26,8 +25,8 @@ public class CondIsSneaking extends PropertyCondition { } @Override - public boolean check(final Player p) { - return p.isSneaking(); + public boolean check(Player player) { + return player.isSneaking(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSolid.java b/src/main/java/ch/njol/skript/conditions/CondIsSolid.java index 940672e82fc..8b38be7da90 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsSolid.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSolid.java @@ -9,7 +9,10 @@ @Name("Is Solid") @Description("Checks whether an item is solid.") -@Examples({"grass block is solid", "player's tool isn't solid"}) +@Examples({ + "grass block is solid", + "player's tool isn't solid" +}) @Since("2.2-dev36") public class CondIsSolid extends PropertyCondition { @@ -18,8 +21,8 @@ public class CondIsSolid extends PropertyCondition { } @Override - public boolean check(ItemType i) { - return i.getMaterial().isSolid(); + public boolean check(ItemType itemType) { + return itemType.getMaterial().isSolid(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsSwimming.java b/src/main/java/ch/njol/skript/conditions/CondIsSwimming.java index ef340e17f21..f9bf7ba7df6 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsSwimming.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsSwimming.java @@ -1,30 +1,22 @@ package ch.njol.skript.conditions; -import org.bukkit.entity.LivingEntity; - -import ch.njol.skript.Skript; import ch.njol.skript.conditions.base.PropertyCondition; -import ch.njol.skript.doc.Description; -import ch.njol.skript.doc.Examples; -import ch.njol.skript.doc.Name; -import ch.njol.skript.doc.RequiredPlugins; -import ch.njol.skript.doc.Since; +import ch.njol.skript.doc.*; +import org.bukkit.entity.LivingEntity; @Name("Is Swimming") @Description("Checks whether a living entity is swimming.") @Examples("player is swimming") -@RequiredPlugins("1.13 or newer") @Since("2.3") public class CondIsSwimming extends PropertyCondition { static { - if (Skript.methodExists(LivingEntity.class, "isSwimming")) - register(CondIsSwimming.class, "swimming", "livingentities"); + register(CondIsSwimming.class, "swimming", "livingentities"); } @Override - public boolean check(final LivingEntity e) { - return e.isSwimming(); + public boolean check(LivingEntity entity) { + return entity.isSwimming(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsTameable.java b/src/main/java/ch/njol/skript/conditions/CondIsTameable.java index b7e55382673..e27c9c6f0ca 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsTameable.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsTameable.java @@ -11,9 +11,11 @@ @Name("Is Tameable") @Description("Check if an entity is tameable.") -@Examples({"on damage:", - "\tif victim is tameable:", - "\t\tcancel event"}) +@Examples({ + "on damage:", + "\tif victim is tameable:", + "\t\tcancel event" +}) @Since("2.5") public class CondIsTameable extends PropertyCondition { diff --git a/src/main/java/ch/njol/skript/conditions/CondIsTamed.java b/src/main/java/ch/njol/skript/conditions/CondIsTamed.java index 20988bed324..7daaa9ac2ed 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsTamed.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsTamed.java @@ -23,7 +23,7 @@ public class CondIsTamed extends PropertyCondition { @Override public boolean check(Entity entity) { - return (entity instanceof Tameable) && ((Tameable) entity).isTamed(); + return (entity instanceof Tameable tameable) && tameable.isTamed(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsTransparent.java b/src/main/java/ch/njol/skript/conditions/CondIsTransparent.java index 16a5b68a8d6..bf6311c7daa 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsTransparent.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsTransparent.java @@ -8,7 +8,10 @@ import ch.njol.skript.doc.Since; @Name("Is Transparent") -@Description("Checks whether an item is transparent. Note that this condition may not work for all blocks, due to the transparency list used by Spigot not being completely accurate.") +@Description( + "Checks whether an item is transparent. Note that this condition may not work for all blocks, " + + "due to the transparency list used by Spigot not being completely accurate." +) @Examples("player's tool is transparent.") @Since("2.2-dev36") public class CondIsTransparent extends PropertyCondition { @@ -18,8 +21,8 @@ public class CondIsTransparent extends PropertyCondition { } @Override - public boolean check(ItemType i) { - return i.getMaterial().isTransparent(); + public boolean check(ItemType itemType) { + return itemType.getMaterial().isTransparent(); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondIsVectorNormalized.java b/src/main/java/ch/njol/skript/conditions/CondIsVectorNormalized.java index ce8444e26ae..7c4851d8470 100644 --- a/src/main/java/ch/njol/skript/conditions/CondIsVectorNormalized.java +++ b/src/main/java/ch/njol/skript/conditions/CondIsVectorNormalized.java @@ -1,14 +1,11 @@ package ch.njol.skript.conditions; - - import org.bukkit.util.Vector; - - import ch.njol.skript.Skript; - import ch.njol.skript.conditions.base.PropertyCondition; - import ch.njol.skript.doc.Description; - import ch.njol.skript.doc.Examples; - import ch.njol.skript.doc.Name; - import ch.njol.skript.doc.RequiredPlugins; - import ch.njol.skript.doc.Since; + +import ch.njol.skript.conditions.base.PropertyCondition; +import ch.njol.skript.doc.Description; +import ch.njol.skript.doc.Examples; +import ch.njol.skript.doc.Name; +import ch.njol.skript.doc.Since; +import org.bukkit.util.Vector; @Name("Is Normalized") @Description("Checks whether a vector is normalized i.e. length of 1") @@ -17,9 +14,7 @@ public class CondIsVectorNormalized extends PropertyCondition { static { - if (Skript.methodExists(Vector.class, "isNormalized")) { - register(CondIsVectorNormalized.class, "normalized", "vectors"); - } + register(CondIsVectorNormalized.class, "normalized", "vectors"); } @Override diff --git a/src/main/java/ch/njol/skript/conditions/CondItemEnchantmentGlint.java b/src/main/java/ch/njol/skript/conditions/CondItemEnchantmentGlint.java index 149d6a82705..694a786b656 100644 --- a/src/main/java/ch/njol/skript/conditions/CondItemEnchantmentGlint.java +++ b/src/main/java/ch/njol/skript/conditions/CondItemEnchantmentGlint.java @@ -14,14 +14,14 @@ @Description("Checks whether an item has the enchantment glint overridden, or is forced to glint or not.") @Examples({ "if the player's tool has the enchantment glint override", - "\tsend \"Your tool has the enchantment glint override.\" to player", + "\tsend \"Your tool has the enchantment glint override.\" to player", "", "if {_item} is forced to glint:", - "\tsend \"This item is forced to glint.\" to player", + "\tsend \"This item is forced to glint.\" to player", "else if {_item} is forced to not glint:", - "\tsend \"This item is forced to not glint.\" to player", + "\tsend \"This item is forced to not glint.\" to player", "else:", - "\tsend \"This item does not have any glint override.\" to player" + "\tsend \"This item does not have any glint override.\" to player" }) @RequiredPlugins("Spigot 1.20.5+") @Since("2.10") @@ -35,10 +35,12 @@ public class CondItemEnchantmentGlint extends PropertyCondition { } private int matchedPattern; + private boolean glint; @Override public boolean init(Expression[] expressions, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { this.matchedPattern = matchedPattern; + glint = !parseResult.hasTag("not"); return super.init(expressions, matchedPattern, isDelayed, parseResult); } @@ -58,7 +60,7 @@ public boolean check(ItemType itemType) { protected String getPropertyName() { if (matchedPattern == 0) return "enchantment glint overridden"; - return "forced to " + (isNegated() ? "not " : "") + "glint"; + return "forced to " + (glint ? "" : "not ") + "glint"; } } diff --git a/src/main/java/ch/njol/skript/test/runner/CondMethodExists.java b/src/main/java/ch/njol/skript/test/runner/CondMethodExists.java index b91d320a7c1..a479fcb903c 100644 --- a/src/main/java/ch/njol/skript/test/runner/CondMethodExists.java +++ b/src/main/java/ch/njol/skript/test/runner/CondMethodExists.java @@ -23,7 +23,7 @@ @Name("Method Exists") @Description("Checks if a method exists") -@Examples("if method \"org.bukkit.Bukkit#getPluginCommand(java.lang.String)") +@Examples("if method \"org.bukkit.Bukkit#getPluginCommand(java.lang.String)\" exists") @Since("2.7") @NoDoc public class CondMethodExists extends PropertyCondition { diff --git a/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanAge.java b/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanAge.java index 88590d52d9c..05817ba127c 100644 --- a/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanAge.java +++ b/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanAge.java @@ -27,6 +27,11 @@ public boolean check(LivingEntity entity) { return entity instanceof Breedable breedable && !breedable.getAgeLock(); } + @Override + protected PropertyType getPropertyType() { + return PropertyType.CAN; + } + @Override protected String getPropertyName() { return "age"; diff --git a/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanBreed.java b/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanBreed.java index 6cf33cc16ba..a45312dc905 100644 --- a/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanBreed.java +++ b/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondCanBreed.java @@ -1,6 +1,5 @@ package org.skriptlang.skript.bukkit.breeding.elements; -import ch.njol.skript.Skript; import ch.njol.skript.conditions.base.PropertyCondition; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Examples; @@ -28,6 +27,11 @@ public boolean check(LivingEntity entity) { return entity instanceof Breedable breedable && breedable.canBreed(); } + @Override + protected PropertyType getPropertyType() { + return PropertyType.CAN; + } + @Override protected String getPropertyName() { return "breed"; diff --git a/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondIsBaby.java b/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondIsBaby.java index a8d333617a9..f72ec60e717 100644 --- a/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondIsBaby.java +++ b/src/main/java/org/skriptlang/skript/bukkit/breeding/elements/CondIsBaby.java @@ -25,7 +25,6 @@ public class CondIsBaby extends PropertyCondition { @Override public boolean check(LivingEntity entity) { return entity instanceof Ageable ageable && !ageable.isAdult(); - } @Override diff --git a/src/main/java/org/skriptlang/skript/bukkit/fishing/elements/CondIsInOpenWater.java b/src/main/java/org/skriptlang/skript/bukkit/fishing/elements/CondIsInOpenWater.java index f3ec6701b2f..e78c2e0ab53 100644 --- a/src/main/java/org/skriptlang/skript/bukkit/fishing/elements/CondIsInOpenWater.java +++ b/src/main/java/org/skriptlang/skript/bukkit/fishing/elements/CondIsInOpenWater.java @@ -21,8 +21,7 @@ public class CondIsInOpenWater extends PropertyCondition { static { - register(CondIsInOpenWater.class, PropertyType.BE, - "in open water[s]", "entities"); + register(CondIsInOpenWater.class, "in open water[s]", "entities"); } @Override diff --git a/src/main/java/org/skriptlang/skript/bukkit/loottables/elements/conditions/CondHasLootTable.java b/src/main/java/org/skriptlang/skript/bukkit/loottables/elements/conditions/CondHasLootTable.java index 65347d2ea3b..cb1ffa37908 100644 --- a/src/main/java/org/skriptlang/skript/bukkit/loottables/elements/conditions/CondHasLootTable.java +++ b/src/main/java/org/skriptlang/skript/bukkit/loottables/elements/conditions/CondHasLootTable.java @@ -34,6 +34,11 @@ public boolean check(Object object) { return LootTableUtils.isLootable(object) && LootTableUtils.getLootTable(object) != null; } + @Override + protected PropertyType getPropertyType() { + return PropertyType.HAVE; + } + @Override protected String getPropertyName() { return "a loot table";