mirror of
https://github.com/YouHaveTrouble/Enchantio.git
synced 2026-05-11 21:56:55 +00:00
Adjust telepathy to new behavior of Entity#teleport not being able to change position of entities that are not in the world yet
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<java.version>21</java.version>
|
<java.version>21</java.version>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<revision>1.14.0</revision>
|
<revision>1.15.0</revision>
|
||||||
</properties>
|
</properties>
|
||||||
<url>https://youhavetrouble.me</url>
|
<url>https://youhavetrouble.me</url>
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.papermc.paper</groupId>
|
<groupId>io.papermc.paper</groupId>
|
||||||
<artifactId>paper-api</artifactId>
|
<artifactId>paper-api</artifactId>
|
||||||
<version>1.21.9-R0.1-SNAPSHOT</version>
|
<version>1.21.10-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -3,8 +3,10 @@ package me.youhavetrouble.enchantio.listeners;
|
|||||||
import io.papermc.paper.registry.RegistryAccess;
|
import io.papermc.paper.registry.RegistryAccess;
|
||||||
import io.papermc.paper.registry.RegistryKey;
|
import io.papermc.paper.registry.RegistryKey;
|
||||||
|
|
||||||
|
import me.youhavetrouble.enchantio.Enchantio;
|
||||||
import me.youhavetrouble.enchantio.EnchantioConfig;
|
import me.youhavetrouble.enchantio.EnchantioConfig;
|
||||||
import me.youhavetrouble.enchantio.enchants.TelepathyEnchant;
|
import me.youhavetrouble.enchantio.enchants.TelepathyEnchant;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Registry;
|
import org.bukkit.Registry;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.Item;
|
import org.bukkit.entity.Item;
|
||||||
@@ -28,11 +30,16 @@ public class TelepathyListener implements Listener {
|
|||||||
ItemStack tool = event.getPlayer().getInventory().getItemInMainHand();
|
ItemStack tool = event.getPlayer().getInventory().getItemInMainHand();
|
||||||
if (!tool.containsEnchantment(telepathy)) return;
|
if (!tool.containsEnchantment(telepathy)) return;
|
||||||
for (Item item : event.getItems()) {
|
for (Item item : event.getItems()) {
|
||||||
item.teleport(event.getPlayer(), PlayerTeleportEvent.TeleportCause.PLUGIN);
|
|
||||||
item.setPickupDelay(0);
|
item.setPickupDelay(0);
|
||||||
if (!telepathyEnchant.isOnlyUserCanPickupItems()) continue;
|
if (!telepathyEnchant.isOnlyUserCanPickupItems()) continue;
|
||||||
item.setOwner(event.getPlayer().getUniqueId());
|
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);
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user