diff --git a/pom.xml b/pom.xml
index bfd892b..a3b1b68 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
21
UTF-8
- 1.15.1
+ 1.15.2
https://youhavetrouble.me
diff --git a/src/main/java/me/youhavetrouble/enchantio/listeners/CloakingListener.java b/src/main/java/me/youhavetrouble/enchantio/listeners/CloakingListener.java
index 54deae8..8267e93 100644
--- a/src/main/java/me/youhavetrouble/enchantio/listeners/CloakingListener.java
+++ b/src/main/java/me/youhavetrouble/enchantio/listeners/CloakingListener.java
@@ -26,7 +26,7 @@ import java.util.UUID;
public class CloakingListener implements Listener {
- private final HashMap ticksSinceLastMovement = new HashMap<>();
+ private final HashMap ticksSinceLastMovement = new HashMap<>();
private final CloakingEnchant cloakingEnchant = (CloakingEnchant) EnchantioConfig.ENCHANTS.get(CloakingEnchant.KEY);
private final PotionEffect cloakingEffect = new PotionEffect(PotionEffectType.INVISIBILITY, 3, 0, false, false, false);
@@ -40,13 +40,13 @@ public class CloakingListener implements Listener {
Bukkit.getGlobalRegionScheduler().runAtFixedRate(enchantio, (task) -> {
for (Player player : Bukkit.getOnlinePlayers()) {
if (!player.isSneaking()) {
- ticksSinceLastMovement.put(player.getUniqueId(), 0L);
+ ticksSinceLastMovement.put(player.getUniqueId(), 0);
continue;
}
int cloakingLevel = Enchantio.getSumOfEnchantLevels(player.getEquipment(), cloaking);
if (cloakingLevel == 0) continue;
ticksSinceLastMovement.computeIfPresent(player.getUniqueId(), (uuid, ticks) -> ticks + 1);
- if (ticksSinceLastMovement.getOrDefault(player.getUniqueId(), 0L) < cloakingEnchant.getTicksToActivate()) continue;
+ if (ticksSinceLastMovement.getOrDefault(player.getUniqueId(), 0) < cloakingEnchant.getTicksToActivate()) continue;
player.getScheduler().execute(enchantio, () -> player.addPotionEffect(cloakingEffect), () -> {}, 1);
}
}, 1, 1);
@@ -54,7 +54,7 @@ public class CloakingListener implements Listener {
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onPlayerJoin(PlayerJoinEvent event) {
- ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0L);
+ ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0);
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
@@ -65,17 +65,17 @@ public class CloakingListener implements Listener {
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onPlayerMove(PlayerMoveEvent event) {
if (!event.hasChangedPosition()) return;
- ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0L);
+ ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0);
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onPlayerJump(PlayerJumpEvent event) {
- ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0L);
+ ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0);
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onPlayerInteract(PlayerInteractEvent event) {
- ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0L);
+ ticksSinceLastMovement.put(event.getPlayer().getUniqueId(), 0);
}
diff --git a/src/main/java/me/youhavetrouble/enchantio/listeners/SmeltingListener.java b/src/main/java/me/youhavetrouble/enchantio/listeners/SmeltingListener.java
index 54b43b7..d7f9ffa 100644
--- a/src/main/java/me/youhavetrouble/enchantio/listeners/SmeltingListener.java
+++ b/src/main/java/me/youhavetrouble/enchantio/listeners/SmeltingListener.java
@@ -60,6 +60,7 @@ public class SmeltingListener implements Listener {
smeltingCache.put(singleItem, result);
return result;
}
+ smeltingCache.put(singleItem, null);
return null;
}
diff --git a/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java b/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java
index beadddd..e1afb20 100644
--- a/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java
+++ b/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java
@@ -6,7 +6,6 @@ import io.papermc.paper.registry.RegistryKey;
import me.youhavetrouble.enchantio.Enchantio;
import me.youhavetrouble.enchantio.EnchantioConfig;
import me.youhavetrouble.enchantio.enchants.TelepathyEnchant;
-import org.bukkit.Bukkit;
import org.bukkit.Registry;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Item;
@@ -36,10 +35,14 @@ public class TelepathyListener implements Listener {
}
// If there's ever a performance problem here, it's the following
- Bukkit.getScheduler().runTask(Enchantio.getPlugin(Enchantio.class), () -> event.getItems().forEach((item) -> {
- if (item == null || item.isDead()) return;
- item.teleport(event.getPlayer(), PlayerTeleportEvent.TeleportCause.PLUGIN);
- }));
+ Enchantio enchantio = Enchantio.getPlugin(Enchantio.class);
+ event.getItems().forEach((item) -> {
+ if (item == null) return;
+ item.getScheduler().run(enchantio, (task) -> {
+ if (item.isDead()) return;
+ item.teleport(event.getPlayer(), PlayerTeleportEvent.TeleportCause.PLUGIN);
+ }, null);
+ });
}
}
diff --git a/src/main/java/me/youhavetrouble/enchantio/listeners/VampirismListener.java b/src/main/java/me/youhavetrouble/enchantio/listeners/VampirismListener.java
index cc53dc7..bc7a371 100644
--- a/src/main/java/me/youhavetrouble/enchantio/listeners/VampirismListener.java
+++ b/src/main/java/me/youhavetrouble/enchantio/listeners/VampirismListener.java
@@ -19,22 +19,25 @@ public class VampirismListener implements Listener {
public VampirismListener() {
if (vampirism == null) return;
- Bukkit.getGlobalRegionScheduler().runAtFixedRate(Enchantio.getPlugin(Enchantio.class), (task) -> {
+ Enchantio enchantio = Enchantio.getPlugin(Enchantio.class);
+ Bukkit.getGlobalRegionScheduler().runAtFixedRate(enchantio, (task) -> {
for (Player player : Bukkit.getOnlinePlayers()) {
boolean hasVampirism = Enchantio.getSumOfEnchantLevels(player.getEquipment(), vampirism) != 0;
- if (!hasVampirism) return;
- Location abovePlayer = player.getLocation().add(0, player.getEyeHeight() + 0.5, 0);
- Block block = player.getWorld().getBlockAt(abovePlayer);
- byte light = block.getLightFromSky();
- if (light < 15) return;
- int fireTicks = player.getFireTicks();
+ if (!hasVampirism) continue;
+ player.getScheduler().execute(enchantio, () -> {
+ Location abovePlayer = player.getLocation().add(0, player.getEyeHeight() + 0.5, 0);
+ Block block = player.getWorld().getBlockAt(abovePlayer);
+ byte light = block.getLightFromSky();
+ if (light < 15) return;
+ int fireTicks = player.getFireTicks();
- // Prefent fire animation from disappearing on the client
- if (player.getFireTicks() < 20) {
- fireTicks = 25;
- }
+ // Prefent fire animation from disappearing on the client
+ if (player.getFireTicks() < 20) {
+ fireTicks = 25;
+ }
- player.setFireTicks(Math.max(fireTicks, player.getMaxFireTicks()));
+ player.setFireTicks(Math.max(fireTicks, player.getMaxFireTicks()));
+ }, () -> {}, 0);
}
}, 1, 20);
diff --git a/src/main/resources/paper-plugin.yml b/src/main/resources/paper-plugin.yml
index 7bd91aa..71a4aed 100644
--- a/src/main/resources/paper-plugin.yml
+++ b/src/main/resources/paper-plugin.yml
@@ -3,6 +3,7 @@ version: '${project.version}'
main: me.youhavetrouble.enchantio.Enchantio
bootstrapper: me.youhavetrouble.enchantio.EnchantioBootstrap
api-version: '1.21.9'
+folia-supported: true
authors: [YouHaveTrouble]
description: Custom enchants for paper servers
website: https://youhavetrouble.me