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;
}
}