diff --git a/pom.xml b/pom.xml
index c88c0a60..193161b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
strife
- 3.2.2
+ 3.2.3
jar
strife
@@ -81,7 +81,7 @@
io.pixeloutlaw
facecore
- 1.16.2.8
+ 1.16.2.10
provided
diff --git a/src/main/java/land/face/strife/StrifePlugin.java b/src/main/java/land/face/strife/StrifePlugin.java
index 1a9599e3..0c19238e 100644
--- a/src/main/java/land/face/strife/StrifePlugin.java
+++ b/src/main/java/land/face/strife/StrifePlugin.java
@@ -79,7 +79,6 @@ The MIT License Copyright (c) 2015 Teal Cube Games
import land.face.strife.listeners.LoreAbilityListener;
import land.face.strife.listeners.MinionListener;
import land.face.strife.listeners.MoneyDropListener;
-import land.face.strife.listeners.MoveListener;
import land.face.strife.listeners.ShootListener;
import land.face.strife.listeners.SkillLevelUpListener;
import land.face.strife.listeners.SpawnListener;
@@ -502,7 +501,6 @@ public void enable() {
Bukkit.getPluginManager().registerEvents(new SwingListener(this), this);
Bukkit.getPluginManager().registerEvents(new ShootListener(this), this);
Bukkit.getPluginManager().registerEvents(new ChatListener(), this);
- Bukkit.getPluginManager().registerEvents(new MoveListener(), this);
Bukkit.getPluginManager().registerEvents(new DataListener(this), this);
Bukkit.getPluginManager().registerEvents(new DeathListener(this), this);
Bukkit.getPluginManager().registerEvents(new SkillLevelUpListener(settings), this);
diff --git a/src/main/java/land/face/strife/data/conditions/GroundedCondition.java b/src/main/java/land/face/strife/data/conditions/GroundedCondition.java
index e987bdc1..f2f1385e 100644
--- a/src/main/java/land/face/strife/data/conditions/GroundedCondition.java
+++ b/src/main/java/land/face/strife/data/conditions/GroundedCondition.java
@@ -1,13 +1,13 @@
package land.face.strife.data.conditions;
+import com.tealcube.minecraft.bukkit.facecore.utilities.MoveUtil;
import land.face.strife.data.StrifeMob;
-import land.face.strife.util.MoveUtil;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
public class GroundedCondition extends Condition {
- private boolean strict;
+ private final boolean strict;
public GroundedCondition(boolean strict) {
this.strict = strict;
diff --git a/src/main/java/land/face/strife/data/conditions/MovingCondition.java b/src/main/java/land/face/strife/data/conditions/MovingCondition.java
index e94b9363..d2713737 100644
--- a/src/main/java/land/face/strife/data/conditions/MovingCondition.java
+++ b/src/main/java/land/face/strife/data/conditions/MovingCondition.java
@@ -1,7 +1,7 @@
package land.face.strife.data.conditions;
+import com.tealcube.minecraft.bukkit.facecore.utilities.MoveUtil;
import land.face.strife.data.StrifeMob;
-import land.face.strife.util.MoveUtil;
import org.bukkit.entity.Player;
public class MovingCondition extends Condition {
diff --git a/src/main/java/land/face/strife/events/LandEvent.java b/src/main/java/land/face/strife/events/LandEvent.java
deleted file mode 100644
index 5182cb99..00000000
--- a/src/main/java/land/face/strife/events/LandEvent.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package land.face.strife.events;
-
-import org.bukkit.Location;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-import org.jetbrains.annotations.NotNull;
-
-public class LandEvent extends Event {
-
- private static final HandlerList HANDLER_LIST = new HandlerList();
-
- public static HandlerList getHandlerList() {
- return HANDLER_LIST;
- }
-
- private final Player player;
- private final Location location;
-
- public LandEvent(Player player, Location location) {
- this.player = player;
- this.location = location;
- }
-
- @NotNull
- @Override
- public HandlerList getHandlers() {
- return HANDLER_LIST;
- }
-
- public Player getPlayer() {
- return player;
- }
-
- public Location getLocation() {
- return location;
- }
-}
diff --git a/src/main/java/land/face/strife/events/LaunchEvent.java b/src/main/java/land/face/strife/events/LaunchEvent.java
deleted file mode 100644
index 83dbae3a..00000000
--- a/src/main/java/land/face/strife/events/LaunchEvent.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package land.face.strife.events;
-
-import org.bukkit.Location;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-import org.jetbrains.annotations.NotNull;
-
-public class LaunchEvent extends Event {
-
- private static final HandlerList HANDLER_LIST = new HandlerList();
-
- public static HandlerList getHandlerList() {
- return HANDLER_LIST;
- }
-
- private final Player player;
- private final Location location;
-
- public LaunchEvent(Player player, Location location) {
- this.player = player;
- this.location = location;
- }
-
- @NotNull
- @Override
- public HandlerList getHandlers() {
- return HANDLER_LIST;
- }
-
- public Player getPlayer() {
- return player;
- }
-
- public Location getLocation() {
- return location;
- }
-}
diff --git a/src/main/java/land/face/strife/listeners/DoubleJumpListener.java b/src/main/java/land/face/strife/listeners/DoubleJumpListener.java
index 297d3ddd..23a97045 100644
--- a/src/main/java/land/face/strife/listeners/DoubleJumpListener.java
+++ b/src/main/java/land/face/strife/listeners/DoubleJumpListener.java
@@ -2,8 +2,10 @@
import static land.face.strife.data.champion.LifeSkillType.AGILITY;
-import com.tealcube.minecraft.bukkit.TextUtils;
-import com.tealcube.minecraft.bukkit.facecore.utilities.MessageUtils;
+import com.tealcube.minecraft.bukkit.facecore.event.LandEvent;
+import com.tealcube.minecraft.bukkit.facecore.utilities.AdvancedActionBarUtil;
+import com.tealcube.minecraft.bukkit.facecore.utilities.MoveUtil;
+import io.pixeloutlaw.minecraft.spigot.garbage.StringExtensionsKt;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
@@ -11,8 +13,7 @@
import land.face.strife.StrifePlugin;
import land.face.strife.data.StrifeMob;
import land.face.strife.data.champion.LifeSkillType;
-import land.face.strife.events.LandEvent;
-import land.face.strife.util.MoveUtil;
+import land.face.strife.util.JumpUtil;
import land.face.strife.util.PlayerDataUtil;
import org.bukkit.GameMode;
import org.bukkit.Particle;
@@ -29,6 +30,7 @@ public class DoubleJumpListener implements Listener {
private final StrifePlugin plugin;
private final Map cachedJumpAnimation = new HashMap<>();
+ private final String JUMP_AB_KEY = "air-jump";
public DoubleJumpListener(StrifePlugin plugin) {
this.plugin = plugin;
@@ -55,12 +57,13 @@ private void resetJumps(Player player) {
StrifeMob mob = plugin.getStrifeMobManager().getStatMob(player);
int agilityLevel = mob.getChampion().getLifeSkillLevel(AGILITY);
if (agilityLevel > 39) {
- int jumps = MoveUtil.getJumps(player);
- int maxJumps = MoveUtil.getMaxJumps(mob);
+ int jumps = JumpUtil.getJumps(player);
+ int maxJumps = JumpUtil.getMaxJumps(mob);
if (jumps != maxJumps) {
- MessageUtils.sendActionBar(player, TextUtils.color("&bJumps Recharged!"));
+ String message = StringExtensionsKt.chatColorize("&bJumps Recharged!");
+ AdvancedActionBarUtil.addMessage(player, JUMP_AB_KEY, message, 10, 0);
}
- MoveUtil.setJumps(player, maxJumps);
+ JumpUtil.setJumps(player, maxJumps);
}
}
@@ -74,7 +77,7 @@ public void airJump(PlayerToggleSneakEvent event) {
return;
}
- int jumps = MoveUtil.getJumps(event.getPlayer());
+ int jumps = JumpUtil.getJumps(event.getPlayer());
if (event.getPlayer().getFoodLevel() < 6 || jumps < 1) {
return;
}
@@ -105,13 +108,14 @@ public void airJump(PlayerToggleSneakEvent event) {
event.getPlayer().setVelocity(velocity.add(bonusVelocity));
jumps--;
- MoveUtil.setJumps(event.getPlayer(), jumps);
+ JumpUtil.setJumps(event.getPlayer(), jumps);
- int maxJumps = MoveUtil.getMaxJumps(mob);
+ int maxJumps = JumpUtil.getMaxJumps(mob);
String bars = IntStream.range(0, maxJumps).mapToObj(i -> "▌").collect(Collectors.joining(""));
bars = insert(bars, "&0", Math.min(jumps, maxJumps));
- MessageUtils.sendActionBar(event.getPlayer(), TextUtils.color("&3&lAir Jumps: &b" + bars));
+ String message = StringExtensionsKt.chatColorize("&3&lAir Jumps: &b" + bars);
+ AdvancedActionBarUtil.addMessage(event.getPlayer(), JUMP_AB_KEY, message, 40, 0);
plugin.getSkillExperienceManager().addExperience(mob, LifeSkillType.AGILITY, 3, false, false);
flingParticle(event.getPlayer());
diff --git a/src/main/java/land/face/strife/listeners/FallListener.java b/src/main/java/land/face/strife/listeners/FallListener.java
index 5c28ed36..ccb0aebe 100644
--- a/src/main/java/land/face/strife/listeners/FallListener.java
+++ b/src/main/java/land/face/strife/listeners/FallListener.java
@@ -6,11 +6,11 @@
import com.tealcube.minecraft.bukkit.TextUtils;
import com.tealcube.minecraft.bukkit.facecore.utilities.MessageUtils;
+import com.tealcube.minecraft.bukkit.facecore.utilities.MoveUtil;
import land.face.strife.StrifePlugin;
import land.face.strife.data.champion.Champion;
import land.face.strife.data.champion.LifeSkillType;
import land.face.strife.util.DamageUtil;
-import land.face.strife.util.MoveUtil;
import land.face.strife.util.SpecialStatusUtil;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -23,8 +23,8 @@
public class FallListener implements Listener {
- private StrifePlugin plugin;
- private int fallMs;
+ private final StrifePlugin plugin;
+ private final int fallMs;
public FallListener(StrifePlugin plugin) {
this.plugin = plugin;
diff --git a/src/main/java/land/face/strife/listeners/LaunchAndLandListener.java b/src/main/java/land/face/strife/listeners/LaunchAndLandListener.java
index 1910325b..bbf2e7b6 100644
--- a/src/main/java/land/face/strife/listeners/LaunchAndLandListener.java
+++ b/src/main/java/land/face/strife/listeners/LaunchAndLandListener.java
@@ -2,15 +2,15 @@
import static land.face.strife.data.champion.LifeSkillType.AGILITY;
+import com.tealcube.minecraft.bukkit.facecore.event.LandEvent;
+import com.tealcube.minecraft.bukkit.facecore.event.LaunchEvent;
+import com.tealcube.minecraft.bukkit.facecore.utilities.MoveUtil;
import land.face.strife.StrifePlugin;
import land.face.strife.data.AgilityLocationContainer;
import land.face.strife.data.StrifeMob;
import land.face.strife.data.champion.Champion;
import land.face.strife.data.champion.LifeSkillType;
-import land.face.strife.events.LandEvent;
-import land.face.strife.events.LaunchEvent;
import land.face.strife.stats.StrifeStat;
-import land.face.strife.util.MoveUtil;
import land.face.strife.util.PlayerDataUtil;
import org.bukkit.GameMode;
import org.bukkit.Particle;
@@ -22,7 +22,7 @@
public class LaunchAndLandListener implements Listener {
- private StrifePlugin plugin;
+ private final StrifePlugin plugin;
public LaunchAndLandListener(StrifePlugin plugin) {
this.plugin = plugin;
@@ -74,17 +74,15 @@ public void onLaunch(LaunchEvent event) {
@EventHandler
public void onLand(LandEvent event) {
- for (AgilityLocationContainer cont : plugin.getAgilityManager().getInWorld(event.getLocation()
- .getWorld().getName())) {
- boolean success = AgilityLocationContainer
- .setProgress(cont, event.getPlayer(), event.getLocation());
+ for (AgilityLocationContainer cont : plugin.getAgilityManager()
+ .getInWorld(event.getLocation().getWorld().getName())) {
+ boolean success = AgilityLocationContainer.setProgress(cont, event.getPlayer(), event.getLocation());
if (success) {
Champion champion = plugin.getChampionManager().getChampion(event.getPlayer());
float xp = cont.getExp();
xp *= PlayerDataUtil.getLifeSkillLevel(champion, AGILITY) / cont.getDifficulty();
xp = Math.min(cont.getExp(), xp);
- plugin.getSkillExperienceManager()
- .addExperience(event.getPlayer(), AGILITY, xp, false, false);
+ plugin.getSkillExperienceManager().addExperience(event.getPlayer(), AGILITY, xp, false, false);
}
}
}
diff --git a/src/main/java/land/face/strife/listeners/MoveListener.java b/src/main/java/land/face/strife/listeners/MoveListener.java
deleted file mode 100644
index 546f5e70..00000000
--- a/src/main/java/land/face/strife/listeners/MoveListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package land.face.strife.listeners;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-import land.face.strife.events.LandEvent;
-import land.face.strife.events.LaunchEvent;
-import land.face.strife.util.MoveUtil;
-import org.bukkit.Bukkit;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerMoveEvent;
-
-public class MoveListener implements Listener {
-
- private Map groundedLastTick = new HashMap<>();
-
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onPlayerMoveHorizontally(PlayerMoveEvent event) {
- if (groundedLastTick.getOrDefault(event.getPlayer().getUniqueId(), true) != event.getPlayer()
- .isOnGround()) {
- if (event.getPlayer().isOnGround()) {
- LandEvent ev = new LandEvent(event.getPlayer(), event.getPlayer().getLocation());
- Bukkit.getPluginManager().callEvent(ev);
- } else {
- LaunchEvent ev = new LaunchEvent(event.getPlayer(), event.getPlayer().getLocation());
- Bukkit.getPluginManager().callEvent(ev);
- }
- }
- groundedLastTick.put(event.getPlayer().getUniqueId(), event.getPlayer().isOnGround());
- if (event.getFrom().getX() != event.getTo().getX()
- || event.getFrom().getZ() != event.getTo().getZ()) {
- MoveUtil.setLastMoved(event.getPlayer());
- }
- }
-}
diff --git a/src/main/java/land/face/strife/managers/StealthManager.java b/src/main/java/land/face/strife/managers/StealthManager.java
index 44c80476..82cf77f7 100644
--- a/src/main/java/land/face/strife/managers/StealthManager.java
+++ b/src/main/java/land/face/strife/managers/StealthManager.java
@@ -18,13 +18,13 @@
*/
package land.face.strife.managers;
+import com.tealcube.minecraft.bukkit.facecore.utilities.MoveUtil;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
import land.face.strife.StrifePlugin;
import land.face.strife.data.champion.LifeSkillType;
import land.face.strife.managers.IndicatorManager.IndicatorStyle;
-import land.face.strife.util.MoveUtil;
import land.face.strife.util.PlayerDataUtil;
import land.face.strife.util.StatUtil;
import org.bukkit.Bukkit;
diff --git a/src/main/java/land/face/strife/tasks/EnergyRegenTask.java b/src/main/java/land/face/strife/tasks/EnergyRegenTask.java
index 4c6f7321..7e9c051f 100644
--- a/src/main/java/land/face/strife/tasks/EnergyRegenTask.java
+++ b/src/main/java/land/face/strife/tasks/EnergyRegenTask.java
@@ -16,6 +16,7 @@
*/
package land.face.strife.tasks;
+import com.tealcube.minecraft.bukkit.facecore.utilities.MoveUtil;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -27,7 +28,6 @@
import land.face.strife.data.champion.LifeSkillType;
import land.face.strife.stats.StrifeStat;
import land.face.strife.stats.StrifeTrait;
-import land.face.strife.util.MoveUtil;
import land.face.strife.util.PlayerDataUtil;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
diff --git a/src/main/java/land/face/strife/tasks/EveryTickTask.java b/src/main/java/land/face/strife/tasks/EveryTickTask.java
index 0e367f6b..3062d542 100644
--- a/src/main/java/land/face/strife/tasks/EveryTickTask.java
+++ b/src/main/java/land/face/strife/tasks/EveryTickTask.java
@@ -19,21 +19,12 @@
package land.face.strife.tasks;
import land.face.strife.StrifePlugin;
-import land.face.strife.util.MoveUtil;
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
public class EveryTickTask extends BukkitRunnable {
@Override
public void run() {
- for (Player player : Bukkit.getOnlinePlayers()) {
- MoveUtil.setSneak(player);
- if (player.isOnGround()) {
- MoveUtil.setLastGrounded(player);
- }
- }
StrifePlugin.getInstance().getBlockManager().tickHolograms();
}
}
diff --git a/src/main/java/land/face/strife/util/JumpUtil.java b/src/main/java/land/face/strife/util/JumpUtil.java
new file mode 100644
index 00000000..9825907e
--- /dev/null
+++ b/src/main/java/land/face/strife/util/JumpUtil.java
@@ -0,0 +1,41 @@
+package land.face.strife.util;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+import land.face.strife.data.StrifeMob;
+import land.face.strife.data.champion.LifeSkillType;
+import land.face.strife.stats.StrifeStat;
+import org.bukkit.entity.Player;
+
+public class JumpUtil {
+
+ private final static Map JUMP_MAP = new HashMap<>();
+
+ public static int getMaxJumps(StrifeMob mob) {
+ return getMaxJumps(mob.getChampion().getLifeSkillLevel(LifeSkillType.AGILITY)) +
+ (int) mob.getStat(StrifeStat.AIR_JUMPS);
+ }
+
+ public static int getMaxJumps(int agilityLevel) {
+ if (agilityLevel > 59) {
+ return 2;
+ }
+ if (agilityLevel > 39) {
+ return 1;
+ }
+ return 0;
+ }
+
+ public static void setJumps(Player player, int amount) {
+ if (amount == 0) {
+ JUMP_MAP.remove(player.getUniqueId());
+ }
+ JUMP_MAP.put(player.getUniqueId(), amount);
+ }
+
+ public static int getJumps(Player player) {
+ return JUMP_MAP.getOrDefault(player.getUniqueId(), 0);
+ }
+
+}
diff --git a/src/main/java/land/face/strife/util/MoveUtil.java b/src/main/java/land/face/strife/util/MoveUtil.java
deleted file mode 100644
index 86ed49f5..00000000
--- a/src/main/java/land/face/strife/util/MoveUtil.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package land.face.strife.util;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-import land.face.strife.data.StrifeMob;
-import land.face.strife.data.champion.LifeSkillType;
-import land.face.strife.stats.StrifeStat;
-import org.bukkit.entity.Player;
-
-public class MoveUtil {
-
- private final static Map LAST_MOVED = new HashMap<>();
- private final static Map LAST_GROUNDED = new HashMap<>();
- private final static Map SNEAK_START = new HashMap<>();
- private final static Map JUMP_MAP = new HashMap<>();
-
- public static int getMaxJumps(StrifeMob mob) {
- return getMaxJumps(mob.getChampion().getLifeSkillLevel(LifeSkillType.AGILITY)) +
- (int) mob.getStat(StrifeStat.AIR_JUMPS);
- }
-
- public static int getMaxJumps(int agilityLevel) {
- if (agilityLevel > 59) {
- return 2;
- }
- if (agilityLevel > 39) {
- return 1;
- }
- return 0;
- }
-
- public static void setJumps(Player player, int amount) {
- if (amount == 0) {
- JUMP_MAP.remove(player.getUniqueId());
- }
- JUMP_MAP.put(player.getUniqueId(), amount);
- }
-
- public static int getJumps(Player player) {
- return JUMP_MAP.getOrDefault(player.getUniqueId(), 0);
- }
-
- public static void setLastMoved(Player player) {
- LAST_MOVED.put(player.getUniqueId(), System.currentTimeMillis());
- }
-
- public static void setLastGrounded(Player player) {
- LAST_GROUNDED.put(player.getUniqueId(), System.currentTimeMillis());
- }
-
- public static boolean hasMoved(Player player) {
- return System.currentTimeMillis() - LAST_MOVED.getOrDefault(player.getUniqueId(), 0L) < 100;
- }
-
- public static long timeOffGround(Player player) {
- return System.currentTimeMillis() - LAST_GROUNDED.getOrDefault(player.getUniqueId(), 1L);
- }
-
- public static void setSneak(Player player) {
- if (player.isSneaking()) {
- if (!SNEAK_START.containsKey(player.getUniqueId())) {
- SNEAK_START.put(player.getUniqueId(), System.currentTimeMillis());
- }
- } else {
- SNEAK_START.remove(player.getUniqueId());
- }
- }
-
- public static int getLastSneak(UUID uuid) {
- if (!SNEAK_START.containsKey(uuid)) {
- return -1;
- }
- return Math.toIntExact(System.currentTimeMillis() - SNEAK_START.get(uuid));
- }
-}