From de505b1d6839883c25f207164bffe910822a5f4c Mon Sep 17 00:00:00 2001 From: Ankoki <72931234+Ankoki-Dev@users.noreply.github.com> Date: Wed, 30 Jun 2021 22:31:56 +0100 Subject: [PATCH] 1.3.2 release Took 33 minutes --- pom.xml | 20 +++-- .../skjade/elements/conditions/CondIsWet.java | 80 ++++++++++++------- .../elements/expressions/ExprGlowing.java | 6 +- 3 files changed, 71 insertions(+), 35 deletions(-) diff --git a/pom.xml b/pom.xml index 9133847..3f46ed2 100644 --- a/pom.xml +++ b/pom.xml @@ -62,6 +62,14 @@ destroystokyo-repo https://repo.destroystokyo.com/content/repositories/snapshots/ + + papermc + https://papermc.io/repo/repository/maven-public/ + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + codemc-repo https://repo.codemc.io/repository/maven-public/ @@ -99,10 +107,6 @@ net.milkbowl.vault Vault - - com.destroystokyo.paper - paper-api - @@ -117,10 +121,16 @@ 1.4 provided + + io.papermc.paper + paper-api + 1.17-R0.1-SNAPSHOT + provided + org.spigotmc spigot-api - 1.16.5-R0.1-SNAPSHOT + 1.17-R0.1-SNAPSHOT provided diff --git a/src/main/java/com/ankoki/skjade/elements/conditions/CondIsWet.java b/src/main/java/com/ankoki/skjade/elements/conditions/CondIsWet.java index 537a397..01195b7 100644 --- a/src/main/java/com/ankoki/skjade/elements/conditions/CondIsWet.java +++ b/src/main/java/com/ankoki/skjade/elements/conditions/CondIsWet.java @@ -1,77 +1,99 @@ package com.ankoki.skjade.elements.conditions; import ch.njol.skript.Skript; -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 ch.njol.skript.doc.*; import ch.njol.skript.lang.Condition; import ch.njol.skript.lang.Expression; import ch.njol.skript.lang.SkriptParser.ParseResult; import ch.njol.util.Kleenean; +import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.jetbrains.annotations.Nullable; @Name("Is Wet") -@Description("Checks if a player is in any type of liquid.") +@Description("Checks if a player (1.1.0) or an entity (1.3.2) is in any type of liquid.") @Examples("if player is wet:") +@RequiredPlugins("Paper for anything but is in water.") @Since("1.1.0") public class CondIsWet extends Condition { static { - Skript.registerCondition(CondIsWet.class, - "%player% is(1¦(n[']t| not)|) [standing] in water", - "%player% is(1¦(n[']t| not)|) [standing] in [the] rain", - "%player% is(1¦(n[']t| not)|) [standing] in a bubble column", - "%player% is(1¦(n[']t| not)|) [standing] in water or [a] bubble column", - "%player% is(1¦(n[']t| not)|) [standing] in [the] rain or [a] bubble column", - "%player% is(1¦(n[']t| not)|) (wet|soaked|moist|damp|drenched|sopping|soggy|dripping)", - "%player% is(1¦(n[']t| not)|) in lava", - "%player% is(1¦(n[']t| not)|) [standing] in lava or water", - "%player% is(1¦(n[']t| not)|) (in|touching) any [type of] liquid"); + if (Skript.methodExists(Player.class, "isInRain")) { + Skript.registerCondition(CondIsWet.class, + "%entity% is(1¦(n[']t| not)|) [standing] in water", + "%entity% is(1¦(n[']t| not)|) [standing] in [the] rain", + "%entity% is(1¦(n[']t| not)|) [standing] in a bubble column", + "%entity% is(1¦(n[']t| not)|) [standing] in water or [a] bubble column", + "%entity% is(1¦(n[']t| not)|) [standing] in [the] rain or [a] bubble column", + "%entity% is(1¦(n[']t| not)|) (wet|soaked|moist|damp|drenched|sopping|soggy|dripping)", + "%entity% is(1¦(n[']t| not)|) in lava", + "%entity% is(1¦(n[']t| not)|) [standing] in lava or water", + "%entity% is(1¦(n[']t| not)|) (in|touching) any [type of] liquid"); + } else { + Skript.registerCondition(CondIsWet.class, + "%player% is(1¦(n[']t| not)|) [standing] in water"); + } } - private Expression player; + private Expression entityExpr; private int pattern; private boolean negate; @Override public boolean check(Event e) { - if (player == null) return false; - Player p = player.getSingle(e); - if (p == null) return false; + if (entityExpr == null) return false; + Entity entity = entityExpr.getSingle(e); + if (entity == null) return false; switch (pattern) { case 0: - return negate != p.isInWater(); + return negate != entity.isInWater(); case 1: - return negate != p.isInRain(); + return negate != entity.isInRain(); case 2: - return negate != p.isInBubbleColumn(); + return negate != entity.isInBubbleColumn(); case 3: - return negate != p.isInWaterOrBubbleColumn(); + return negate != entity.isInWaterOrBubbleColumn(); case 4: - return negate != (p.isInRain() || p.isInBubbleColumn()); + return negate != (entity.isInRain() || entity.isInBubbleColumn()); case 5: - return negate != p.isInWaterOrRainOrBubbleColumn(); + return negate != entity.isInWaterOrRainOrBubbleColumn(); case 6: - return negate != p.isInLava(); + return negate != entity.isInLava(); case 7: - return negate != (p.isInWater() || p.isInLava()); + return negate != (entity.isInWater() || entity.isInLava()); case 8: - return negate != (p.isInWaterOrRainOrBubbleColumn() || p.isInLava()); + return negate != (entity.isInWaterOrRainOrBubbleColumn() || entity.isInLava()); } return false; } @Override public String toString(@Nullable Event e, boolean debug) { + switch (pattern) { + case 0: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "standing in water"; + case 1: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "in rain"; + case 2: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "in a bubble column"; + case 3: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "in water or a bubble column"; + case 4: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "wet"; + case 5: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "in lava"; + case 6: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "standing in lava or water"; + case 7: + return entityExpr.toString(e, debug) + " is" + (negate ? "n't " : " ") + "touching any type of liquid"; + } return null; } @Override public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { - player = (Expression) exprs[0]; + entityExpr = (Expression) exprs[0]; pattern = matchedPattern; negate = parseResult.mark == 1; return true; diff --git a/src/main/java/com/ankoki/skjade/elements/expressions/ExprGlowing.java b/src/main/java/com/ankoki/skjade/elements/expressions/ExprGlowing.java index 3c4490a..8247c75 100644 --- a/src/main/java/com/ankoki/skjade/elements/expressions/ExprGlowing.java +++ b/src/main/java/com/ankoki/skjade/elements/expressions/ExprGlowing.java @@ -11,6 +11,7 @@ import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; @Name("Glowing ItemStack") @Description("Makes a glowing(enchanted with no enchant flag) item.") @@ -44,7 +45,10 @@ private ItemStack toShiny(ItemStack itemStack) { } else { itemStack.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 1); } - itemStack.addItemFlags(ItemFlag.HIDE_ENCHANTS); + ItemMeta meta = itemStack.getItemMeta(); + if (meta == null) return itemStack; + meta.addItemFlags(ItemFlag.HIDE_ENCHANTS); + itemStack.setItemMeta(meta); return itemStack; } }