Patches removing forge spawn protection, now a vanilla feature.

This commit is contained in:
LexManos 2012-10-21 10:21:39 -07:00
parent 1ee857e779
commit 067458bdc0
2 changed files with 25 additions and 37 deletions

View file

@ -85,19 +85,15 @@
{ {
return; return;
} }
@@ -417,8 +444,9 @@ @@ -419,6 +446,7 @@
if (par1Packet14BlockDig.status == 0)
{ {
- if (var20 <= 16 && !var3) if (var20 <= this.mcServer.func_82357_ak() && !var3)
- { {
+ if (var20 <= mcServer.spawnProtectionSize && !var3)
+ {
+ ForgeEventFactory.onPlayerInteract(playerEntity, Action.LEFT_CLICK_BLOCK, var5, var6, var7, 0); + ForgeEventFactory.onPlayerInteract(playerEntity, Action.LEFT_CLICK_BLOCK, var5, var6, var7, 0);
this.playerEntity.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(var5, var6, var7, var2)); this.playerEntity.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(var5, var6, var7, var2));
} }
else else
@@ -479,7 +507,11 @@ @@ -477,7 +505,11 @@
return; return;
} }
@ -110,18 +106,18 @@
} }
else if (par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit() - 1 && (par1Packet15Place.getDirection() == 1 || par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit())) else if (par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit() - 1 && (par1Packet15Place.getDirection() == 1 || par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit()))
{ {
@@ -497,7 +529,9 @@ @@ -495,7 +527,9 @@
var12 = var11; var12 = var11;
} }
- if (this.hasMoved && this.playerEntity.getDistanceSq((double)var5 + 0.5D, (double)var6 + 0.5D, (double)var7 + 0.5D) < 64.0D && (var12 > 16 || var9)) - if (this.hasMoved && this.playerEntity.getDistanceSq((double)var5 + 0.5D, (double)var6 + 0.5D, (double)var7 + 0.5D) < 64.0D && (var12 > this.mcServer.func_82357_ak() || var9))
+ double dist = playerEntity.theItemInWorldManager.getBlockReachDistance() + 1; + double dist = playerEntity.theItemInWorldManager.getBlockReachDistance() + 1;
+ dist *= dist; + dist *= dist;
+ if (this.hasMoved && this.playerEntity.getDistanceSq((double)var5 + 0.5D, (double)var6 + 0.5D, (double)var7 + 0.5D) < dist && (var12 > mcServer.spawnProtectionSize || var9)) + if (this.hasMoved && this.playerEntity.getDistanceSq((double)var5 + 0.5D, (double)var6 + 0.5D, (double)var7 + 0.5D) < dist && (var12 > this.mcServer.func_82357_ak() || var9))
{ {
this.playerEntity.theItemInWorldManager.activateBlockOrUseItem(this.playerEntity, var2, var3, var5, var6, var7, var8, par1Packet15Place.getXOffset(), par1Packet15Place.getYOffset(), par1Packet15Place.getZOffset()); this.playerEntity.theItemInWorldManager.activateBlockOrUseItem(this.playerEntity, var2, var3, var5, var6, var7, var8, par1Packet15Place.getXOffset(), par1Packet15Place.getYOffset(), par1Packet15Place.getZOffset());
} }
@@ -798,7 +832,7 @@ @@ -794,7 +828,7 @@
return; return;
} }

View file

@ -10,52 +10,52 @@
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public class IntegratedServer extends MinecraftServer public class IntegratedServer extends MinecraftServer
@@ -48,44 +51,21 @@ @@ -48,44 +51,22 @@
protected void loadAllWorlds(String par1Str, String par2Str, long par3, WorldType par5WorldType) protected void loadAllWorlds(String par1Str, String par2Str, long par3, WorldType par5WorldType, String par6Str)
{ {
this.convertMapIfNeeded(par1Str); this.convertMapIfNeeded(par1Str);
- this.worldServers = new WorldServer[3]; - this.worldServers = new WorldServer[3];
- this.timeOfLastDimensionTick = new long[this.worldServers.length][100]; - this.timeOfLastDimensionTick = new long[this.worldServers.length][100];
ISaveHandler var6 = this.getActiveAnvilConverter().getSaveLoader(par1Str, true); ISaveHandler var7 = this.getActiveAnvilConverter().getSaveLoader(par1Str, true);
- for (int var7 = 0; var7 < this.worldServers.length; ++var7) - for (int var8 = 0; var8 < this.worldServers.length; ++var8)
- { - {
- byte var8 = 0; - byte var9 = 0;
- -
- if (var7 == 1) - if (var8 == 1)
+ WorldServer overWorld = (isDemo() ? new DemoWorldServer(this, var6, par2Str, 0, theProfiler) : new WorldServer(this, var6, par2Str, 0, theWorldSettings, theProfiler)); + WorldServer overWorld = (isDemo() ? new DemoWorldServer(this, var7, par2Str, 0, theProfiler) : new WorldServer(this, var7, par2Str, 0, theWorldSettings, theProfiler));
+ for (int dim : DimensionManager.getStaticDimensionIDs()) + for (int dim : DimensionManager.getStaticDimensionIDs())
+ { + {
+ WorldServer world = (dim == 0 ? overWorld : new WorldServerMulti(this, var6, par2Str, dim, theWorldSettings, overWorld, theProfiler)); + WorldServer world = (dim == 0 ? overWorld : new WorldServerMulti(this, var7, par2Str, dim, theWorldSettings, overWorld, theProfiler));
+ world.addWorldAccess(new WorldManager(this, world)); + world.addWorldAccess(new WorldManager(this, world));
+ if (!this.isSinglePlayer()) + if (!this.isSinglePlayer())
{ {
- var8 = -1; - var9 = -1;
+ world.getWorldInfo().setGameType(this.getGameType()); + world.getWorldInfo().setGameType(this.getGameType());
} }
-
- if (var7 == 2) - if (var8 == 2)
- { - {
- var8 = 1; - var9 = 1;
- } - }
- -
- if (var7 == 0) - if (var8 == 0)
- { - {
- if (this.isDemo()) - if (this.isDemo())
- { - {
- this.worldServers[var7] = new DemoWorldServer(this, var6, par2Str, var8, this.theProfiler); - this.worldServers[var8] = new DemoWorldServer(this, var7, par2Str, var9, this.theProfiler);
- } - }
- else - else
- { - {
- this.worldServers[var7] = new WorldServer(this, var6, par2Str, var8, this.theWorldSettings, this.theProfiler); - this.worldServers[var8] = new WorldServer(this, var7, par2Str, var9, this.theWorldSettings, this.theProfiler);
- } - }
- } - }
- else - else
- { - {
- this.worldServers[var7] = new WorldServerMulti(this, var6, par2Str, var8, this.theWorldSettings, this.worldServers[0], this.theProfiler); - this.worldServers[var8] = new WorldServerMulti(this, var7, par2Str, var9, this.theWorldSettings, this.worldServers[0], this.theProfiler);
- } - }
- -
- this.worldServers[var7].addWorldAccess(new WorldManager(this, this.worldServers[var7])); - this.worldServers[var8].addWorldAccess(new WorldManager(this, this.worldServers[var8]));
- this.getConfigurationManager().setPlayerManager(this.worldServers); - this.getConfigurationManager().setPlayerManager(this.worldServers);
- } - }
- -
@ -66,11 +66,3 @@
this.setDifficultyForAllWorlds(this.getDifficulty()); this.setDifficultyForAllWorlds(this.getDifficulty());
this.initialWorldChunkLoad(); this.initialWorldChunkLoad();
} }
@@ -106,6 +86,7 @@
this.loadAllWorlds(this.getFolderName(), this.getWorldName(), this.theWorldSettings.getSeed(), this.theWorldSettings.getTerrainType());
this.setMOTD(this.getServerOwner() + " - " + this.worldServers[0].getWorldInfo().getWorldName());
FMLCommonHandler.instance().handleServerStarting(this);
+ spawnProtectionSize = 0;
return true;
}