From 7a898bdba8257a5f98ebdae99fa38b4429ca5828 Mon Sep 17 00:00:00 2001 From: sk89q Date: Wed, 26 Jan 2011 12:03:54 -0800 Subject: 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). --- .../java/org/bukkit/craftbukkit/CraftWorld.java | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index e4989c4e..ce456411 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; + } } -- cgit v1.2.3 From 105a14d6d13a61881a20cd9e5baa4b7b8e4dd15f Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Thu, 27 Jan 2011 13:26:37 +0000 Subject: You don't override for interfaces! --- src/main/java/org/bukkit/craftbukkit/CraftWorld.java | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index ce456411..cdeffc3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -320,7 +320,6 @@ public class CraftWorld implements World { } } - @Override public List getEntities() { List list = new ArrayList(); @@ -341,7 +340,6 @@ public class CraftWorld implements World { return list; } - @Override public List getLivingEntities() { List list = new ArrayList(); -- cgit v1.2.3 From cab61f169e16e5871f5b2c6bf7d729b221fe37f7 Mon Sep 17 00:00:00 2001 From: Taylor Kelly Date: Thu, 27 Jan 2011 16:15:41 -0500 Subject: onDisable on stop - stephank --- src/main/java/org/bukkit/craftbukkit/CraftServer.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 68c9eb59..8368d377 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -52,6 +52,10 @@ public final class CraftServer implements Server { } } + public void disablePlugins() { + pluginManager.disablePlugins(); + } + private void loadPlugin(Plugin plugin) { List pluginCommands = PluginCommandYamlParser.parse(plugin); if (!pluginCommands.isEmpty()) { -- cgit v1.2.3 From c2d9af58fec008b2651dd7564421f0c65e549b7f Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Fri, 28 Jan 2011 09:15:32 +0000 Subject: Implemented player.performCommand(String) --- src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index a1ed1165..2ceb8d97 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -106,4 +106,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entity.a.b(((Packet) (new Packet6SpawnPosition(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())))); } + public boolean performCommand(String command) { + return server.dispatchCommand(this, command); + } } -- cgit v1.2.3 From b6b5a1ef77792eb6f5d83e30a3e2c2a4435bdcbc Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Fri, 28 Jan 2011 14:18:49 +0000 Subject: server.reload() now reloads plugins --- src/main/java/org/bukkit/craftbukkit/CraftServer.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 8368d377..250e0ff2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -175,5 +175,9 @@ public final class CraftServer implements Server { console.e.k = monsters ? 1 : 0; console.e.a(monsters, animals); + + pluginManager.clearPlugins(); + commandMap.clearCommands(); + loadPlugins(); } } -- cgit v1.2.3 From 61c37bd3696329ef2ea42d4578f8694b95ef5792 Mon Sep 17 00:00:00 2001 From: sk89q Date: Fri, 28 Jan 2011 10:24:53 -0800 Subject: Added Block.isBlockPowered(), block.isBlockIndirectlyPowered(). --- src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index 4c000896..4d19e34b 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -337,6 +337,14 @@ public class CraftBlock implements Block { return null; } + public boolean isBlockPowered() { + return world.getHandle().o(x, y, z); + } + + public boolean isBlockIndirectlyPowered() { + return world.getHandle().p(x, y, z); + } + public void update() { type = world.getHandle().a(x, y, z); data = (byte)world.getHandle().b(x, y, z); -- cgit v1.2.3