Add getEntity by UUID API

This commit is contained in:
DemonWav 2016-03-30 01:20:36 -05:00
parent e007d80c16
commit 443a949bac
2 changed files with 101 additions and 0 deletions

View file

@ -0,0 +1,45 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: DemonWav <demonwav@gmail.com>
Date: Wed, 30 Mar 2016 01:19:51 -0500
Subject: [PATCH] Add getEntity by UUID API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -0,0 +0,0 @@ public final class Bukkit {
public static void reloadPermissions() {
server.reloadPermissions();
}
+
+ /**
+ * Find an entity on the server by its UUID
+ *
+ * @param uuid The UUID of the entity
+ * @return The entity that is identified by the given UUID, or null if one isn't found
+ */
+ public static Entity getEntity(UUID uuid) {
+ return server.getEntity(uuid);
+ }
// Paper end
public static Server.Spigot spigot()
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient {
Spigot spigot();
void reloadPermissions(); // Paper
+
+ /**
+ * Find an entity on the server by its UUID
+ *
+ * @param uuid The UUID of the entity
+ * @return The entity that is identified by the given UUID, or null if one isn't found
+ */
+ Entity getEntity(UUID uuid); // Paper
}
--

View file

@ -0,0 +1,56 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: DemonWav <demonwav@gmail.com>
Date: Wed, 30 Mar 2016 01:20:11 -0500
Subject: [PATCH] Add getEntity by UUID API
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
return (Bukkit.getServer() instanceof CraftServer) ? ((CraftServer) Bukkit.getServer()).getServer() : null;
}
// CraftBukkit end
+
+ // Paper start
+ public Entity getEntity(UUID uuid) {
+ Entity entity;
+ for (WorldServer world : worldServer) {
+ entity = world.getEntity(uuid);
+ if (entity != null) {
+ return entity;
+ }
+ }
+ return null;
+ }
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -0,0 +0,0 @@ import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.bukkit.conversations.Conversable;
import org.bukkit.craftbukkit.boss.CraftBossBar;
import org.bukkit.craftbukkit.command.VanillaCommandWrapper;
+import org.bukkit.craftbukkit.entity.CraftEntity;
import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.craftbukkit.generator.CraftChunkData;
import org.bukkit.craftbukkit.help.SimpleHelpMap;
@@ -0,0 +0,0 @@ public final class CraftServer implements Server {
((SimplePluginManager) pluginManager).clearPermissions();
loadCustomPermissions();
}
+
+ @Override
+ public CraftEntity getEntity(UUID uuid) {
+ Entity entity = getHandle().getServer().getEntity(uuid);
+ if (entity == null) {
+ return null;
+ }
+ return entity.getBukkitEntity();
+ }
// Paper end
}
--