diff --git a/pom.xml b/pom.xml
index 8df030a..6ec70ea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
21
UTF-8
- 1.14.0
+ 1.15.0
https://youhavetrouble.me
@@ -67,7 +67,7 @@
io.papermc.paper
paper-api
- 1.21.9-R0.1-SNAPSHOT
+ 1.21.10-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java b/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java
index 83bbfd6..beadddd 100644
--- a/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java
+++ b/src/main/java/me/youhavetrouble/enchantio/listeners/TelepathyListener.java
@@ -3,8 +3,10 @@ package me.youhavetrouble.enchantio.listeners;
import io.papermc.paper.registry.RegistryAccess;
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;
@@ -28,11 +30,16 @@ public class TelepathyListener implements Listener {
ItemStack tool = event.getPlayer().getInventory().getItemInMainHand();
if (!tool.containsEnchantment(telepathy)) return;
for (Item item : event.getItems()) {
- item.teleport(event.getPlayer(), PlayerTeleportEvent.TeleportCause.PLUGIN);
item.setPickupDelay(0);
if (!telepathyEnchant.isOnlyUserCanPickupItems()) continue;
item.setOwner(event.getPlayer().getUniqueId());
}
+
+ // 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);
+ }));
}
}