From 5e8077112f642091e8cefb01531c3e9fd406703f Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Wed, 26 Jan 2011 12:03:54 -0800 Subject: [PATCH] Added methods to get a list of entities to World. This replies on net.minecraft.server.Entity.bukkitEntity not being null (otherwise it won't be returned). By: sk89q --- .../org/bukkit/craftbukkit/CraftWorld.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index e4989c4e8a..ce456411aa 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -3,8 +3,11 @@ package org.bukkit.craftbukkit; import org.bukkit.craftbukkit.block.CraftBlock; import org.bukkit.craftbukkit.entity.*; import org.bukkit.entity.*; +import org.bukkit.entity.Entity; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Random; import net.minecraft.server.*; @@ -316,4 +319,46 @@ public class CraftWorld implements World { return hash; } } + + @Override + public List getEntities() { + List list = new ArrayList(); + + for (Object o : world.b) { + if (o instanceof net.minecraft.server.Entity) { + net.minecraft.server.Entity mcEnt + = (net.minecraft.server.Entity)o; + + Entity bukkitEntity = mcEnt.getBukkitEntity(); + + // Assuming that bukkitEntity isn't null + if (bukkitEntity != null) { + list.add(bukkitEntity); + } + } + } + + return list; + } + + @Override + public List getLivingEntities() { + List list = new ArrayList(); + + for (Object o : world.b) { + if (o instanceof net.minecraft.server.Entity) { + net.minecraft.server.Entity mcEnt + = (net.minecraft.server.Entity)o; + + Entity bukkitEntity = mcEnt.getBukkitEntity(); + + // Assuming that bukkitEntity isn't null + if (bukkitEntity != null && bukkitEntity instanceof LivingEntity) { + list.add((LivingEntity)bukkitEntity); + } + } + } + + return list; + } }