summaryrefslogtreecommitdiffstats
path: root/src/main/java/net
diff options
context:
space:
mode:
authorZenexer <paul@vimae.com>2011-02-10 11:15:03 +0800
committertahg <tahgtahv@gmail.com>2011-02-10 12:16:30 +0800
commitfbe54b05f40f7e27e5d209b746af22a4d850f078 (patch)
treee38e9ccf0a7cbc4253ca2e477f2d92f307549a65 /src/main/java/net
parent814c9d444f430bc1fe4358f8d368847075b358e7 (diff)
downloadcraftbukkit-fbe54b05f40f7e27e5d209b746af22a4d850f078.tar
craftbukkit-fbe54b05f40f7e27e5d209b746af22a4d850f078.tar.gz
craftbukkit-fbe54b05f40f7e27e5d209b746af22a4d850f078.tar.lz
craftbukkit-fbe54b05f40f7e27e5d209b746af22a4d850f078.tar.xz
craftbukkit-fbe54b05f40f7e27e5d209b746af22a4d850f078.zip
Added spawn-protection property to server.properties
Diffstat (limited to 'src/main/java/net')
-rw-r--r--src/main/java/net/minecraft/server/ItemBlock.java2
-rw-r--r--src/main/java/net/minecraft/server/MinecraftServer.java2
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java4
-rw-r--r--src/main/java/net/minecraft/server/WorldServer.java14
4 files changed, 12 insertions, 10 deletions
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
index 7819be2e..e0383f06 100644
--- a/src/main/java/net/minecraft/server/ItemBlock.java
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -100,7 +100,7 @@ public class ItemBlock extends Item {
// CraftBukkit hardcoded Spawn distance for now
// TODO make spawn size configurable
- boolean canBuild = distanceFromSpawn > 16 || thePlayer.isOp();
+ boolean canBuild = distanceFromSpawn > ((WorldServer) world).minecraftServer.spawnProtection || thePlayer.isOp();
BlockPlaceEvent event = new BlockPlaceEvent(eventType, placedBlock, replacedBlockState, blockClicked, itemInHand, thePlayer, canBuild);
server.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e476b48a..ae4d9c66 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -41,6 +41,7 @@ public class MinecraftServer implements ICommandListener, Runnable {
public boolean l;
public boolean m;
public boolean n;
+ public int spawnProtection;
public List<WorldServer> worlds = new ArrayList<WorldServer>();
// Craftbukkit start - adds argument OptionSet
@@ -73,6 +74,7 @@ public class MinecraftServer implements ICommandListener, Runnable {
this.l = this.d.a("online-mode", true);
this.m = this.d.a("spawn-animals", true);
this.n = this.d.a("pvp", true);
+ this.spawnProtection = this.d.a("spawn-protection", 16);
InetAddress inetaddress = null;
if (s.length() > 0) {
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index 3d54810f..dc873315 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -325,7 +325,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
// CraftBukkit end
if (packet14blockdig.e == 0) {
- if (j1 > 16 || flag) {
+ if (j1 > this.d.spawnProtection || flag) {
// CraftBukkit start
if(blockId > 0) {
BlockDamageEvent event;
@@ -354,7 +354,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
}
// CraftBukkit end
} else if (packet14blockdig.e == 1) {
- if (j1 > 16 || flag) {
+ if (j1 > this.d.spawnProtection || flag) {
// CraftBukkit start
BlockDamageEvent event;
// If the amount of damage going to the block plus the current amount
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 91914ab8..a6974193 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -16,13 +16,13 @@ public class WorldServer extends World implements BlockChangeDelegate {
public ChunkProviderServer A;
public boolean B = false;
public boolean C;
- private MinecraftServer D;
+ public final MinecraftServer minecraftServer;
private EntityList E = new EntityList();
public PlayerManager manager; // Craftbukkit
public WorldServer(MinecraftServer minecraftserver, File file1, String s, int i) {
super(file1, s, (new Random()).nextLong(), WorldProvider.a(i));
- this.D = minecraftserver;
+ this.minecraftServer = minecraftserver;
// CraftBukkit start
this.server = minecraftserver.server;
@@ -47,7 +47,7 @@ public class WorldServer extends World implements BlockChangeDelegate {
}
public void a(Entity entity, boolean flag) {
- if (!this.D.m && (entity instanceof EntityAnimal || entity instanceof EntityWaterAnimal)) {
+ if (!this.minecraftServer.m && (entity instanceof EntityAnimal || entity instanceof EntityWaterAnimal)) {
entity.q();
}
@@ -87,7 +87,7 @@ public class WorldServer extends World implements BlockChangeDelegate {
i1 = l;
}
- return i1 > 16 || this.D.f.g(entityhuman.name);
+ return i1 > this.minecraftServer.spawnProtection || this.minecraftServer.f.g(entityhuman.name);
}
protected void b(Entity entity) {
@@ -107,7 +107,7 @@ public class WorldServer extends World implements BlockChangeDelegate {
public void a(Entity entity, byte b0) {
Packet38EntityStatus packet38entitystatus = new Packet38EntityStatus(entity.id, b0);
- this.D.k.b(entity, packet38entitystatus);
+ this.minecraftServer.k.b(entity, packet38entitystatus);
}
public Explosion a(Entity entity, double d0, double d1, double d2, float f, boolean flag) {
@@ -119,12 +119,12 @@ public class WorldServer extends World implements BlockChangeDelegate {
}
// Craftbukkit end
- this.D.f.a(d0, d1, d2, 64.0D, new Packet60Explosion(d0, d1, d2, f, explosion.g));
+ this.minecraftServer.f.a(d0, d1, d2, 64.0D, new Packet60Explosion(d0, d1, d2, f, explosion.g));
return explosion;
}
public void c(int i, int j, int k, int l, int i1) {
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));
+ this.minecraftServer.f.a((double) i, (double) j, (double) k, 64.0D, new Packet54PlayNoteBlock(i, j, k, l, i1));
}
}