summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorErik Broes <erikbroes@grum.nl>2011-02-07 10:26:12 +0100
committerErik Broes <erikbroes@grum.nl>2011-02-07 10:26:12 +0100
commit2497a610442ee73702516bc0e96ba32301894175 (patch)
treeb7c43a90b9478aa1470a9bba2f9a5c9b3308961e /src/main
parent421d1c1c1f80a7ad255f7dd0539b491e4b195c2b (diff)
downloadcraftbukkit-2497a610442ee73702516bc0e96ba32301894175.tar
craftbukkit-2497a610442ee73702516bc0e96ba32301894175.tar.gz
craftbukkit-2497a610442ee73702516bc0e96ba32301894175.tar.lz
craftbukkit-2497a610442ee73702516bc0e96ba32301894175.tar.xz
craftbukkit-2497a610442ee73702516bc0e96ba32301894175.zip
Moved changes we did to WorldServer back down to World.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/net/minecraft/server/World.java23
-rw-r--r--src/main/java/net/minecraft/server/WorldServer.java59
2 files changed, 22 insertions, 60 deletions
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 3fb680b9..d1a903f0 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -434,6 +434,16 @@ public class World implements IBlockAccess {
Block block = Block.byId[this.getTypeId(i, j, k)];
if (block != null) {
+ // CraftBukkit start
+ if (world != null) {
+ BlockPhysicsEvent event = new BlockPhysicsEvent(Event.Type.BLOCK_PHYSICS, world.getBlockAt(i, j, k), l);
+ server.getPluginManager().callEvent(event);
+ if (event.isCancelled()) {
+ return;
+ }
+ }
+ // CraftBukkit stop
+
block.b(this, i, j, k, l);
}
}
@@ -1623,7 +1633,18 @@ public class World implements IBlockAccess {
axisalignedbb = null;
}
- return axisalignedbb != null && !this.a(axisalignedbb) ? false : (block != Block.WATER && block != Block.STATIONARY_WATER && block != Block.LAVA && block != Block.STATIONARY_LAVA && block != Block.FIRE && block != Block.SNOW ? i > 0 && block == null && block1.a(this, j, k, l) : true);
+ // Craftbukkit start - We dont want to allow the user to override the bounding box check
+ boolean defaultReturn = axisalignedbb != null && !this.a(axisalignedbb) ? false : (block != Block.WATER && block != Block.STATIONARY_WATER && block != Block.LAVA && block != Block.STATIONARY_LAVA && block != Block.FIRE && block != Block.SNOW ? i > 0 && block == null && block1.a(this, j, k, l) : true);
+
+ if (!defaultReturn) {
+ return false;
+ }
+
+ BlockCanBuildEvent event = new BlockCanBuildEvent(Type.BLOCK_CANBUILD, getWorld().getBlockAt(j, k, l), i1, defaultReturn);
+ server.getPluginManager().callEvent(event);
+
+ return event.isBuildable();
+ // CraftBukkit end
}
public PathEntity a(Entity entity, Entity entity1, float f) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 8a18621d..04b75e6c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -125,63 +125,4 @@ public class WorldServer extends World implements BlockChangeDelegate {
super.c(i, j, k, l, i1);
this.D.f.a((double) i, (double) j, (double) k, 64.0D, new Packet54PlayNoteBlock(i, j, k, l, i1));
}
-
- // XXX: the following method is straight from the World.java with tweaks as noted. KEEP THEM UPDATED!
- // XXX: done because it calls private k()
- @Override
- public void h(int i, int j, int k, int l) {
- this.l(i - 1, j, k, l);
- this.l(i + 1, j, k, l);
- this.l(i, j - 1, k, l);
- this.l(i, j + 1, k, l);
- this.l(i, j, k - 1, l);
- this.l(i, j, k + 1, l);
- }
-
- // XXX: the following method is straight from the World.java with tweaks as noted. KEEP THEM UPDATED!
- private void l(int i, int j, int k, int l) {
- if (!this.i && !this.isStatic) {
- Block block = Block.byId[this.getTypeId(i, j, k)];
-
- if (block != null) {
- // CraftBukkit start
- if (world != null) {
- BlockPhysicsEvent event = new BlockPhysicsEvent(Event.Type.BLOCK_PHYSICS, world.getBlockAt(i, j, k), l);
- server.getPluginManager().callEvent(event);
- if (event.isCancelled()) {
- return;
- }
- }
- // CraftBukkit stop
-
- block.b(this, i, j, k, l);
- }
- }
- }
-
- // XXX: the following method is straight from the World.java with tweaks as noted. KEEP THEM UPDATED!
- @Override
- public boolean a(int i, int j, int k, int l, boolean flag) {
- int i1 = this.getTypeId(j, k, l);
- Block block = Block.byId[i1];
- Block block1 = Block.byId[i];
- AxisAlignedBB axisalignedbb = block1.d(this, j, k, l);
-
- if (flag) {
- axisalignedbb = null;
- }
-
- // Craftbukkit start - We dont want to allow the user to override the bounding box check
- boolean defaultReturn = axisalignedbb != null && !this.a(axisalignedbb) ? false : (block != Block.WATER && block != Block.STATIONARY_WATER && block != Block.LAVA && block != Block.STATIONARY_LAVA && block != Block.FIRE && block != Block.SNOW ? i > 0 && block == null && block1.a(this, j, k, l) : true);
-
- if (!defaultReturn) {
- return false;
- }
-
- BlockCanBuildEvent event = new BlockCanBuildEvent(Type.BLOCK_CANBUILD, getWorld().getBlockAt(j, k, l), i1, defaultReturn);
- server.getPluginManager().callEvent(event);
-
- return event.isBuildable();
- // CraftBukkit end
- }
}