From 7a898bdba8257a5f98ebdae99fa38b4429ca5828 Mon Sep 17 00:00:00 2001 From: sk89q 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). --- .../org/bukkit/craftbukkit/CraftWorld.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index e4989c4e8a..ce456411aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/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; + } }