diff --git a/common/net/minecraftforge/common/ForgeVersion.java b/common/net/minecraftforge/common/ForgeVersion.java index 025bdd7c7..f1322fb4f 100644 --- a/common/net/minecraftforge/common/ForgeVersion.java +++ b/common/net/minecraftforge/common/ForgeVersion.java @@ -7,10 +7,10 @@ package net.minecraftforge.common; public class ForgeVersion { - //This number is incremented every Minecraft version, and never reset + //This number is incremented every time we remove deprecated code/major API changes, never reset public static final int majorVersion = 6; - //This number is incremented every official release, and reset every Minecraft version - public static final int minorVersion = 0; + //This number is incremented every minecraft release, never reset + public static final int minorVersion = 2; //This number is incremented every time a interface changes or new major feature is added, and reset every Minecraft version public static final int revisionVersion = 1; //This number is incremented every time Jenkins builds Forge, and never reset. Should always be 0 in the repo code. diff --git a/patches/common/net/minecraft/src/ServerConfigurationManager.java.patch b/patches/common/net/minecraft/src/ServerConfigurationManager.java.patch index 6bfcfdb3e..541aaec71 100644 --- a/patches/common/net/minecraft/src/ServerConfigurationManager.java.patch +++ b/patches/common/net/minecraft/src/ServerConfigurationManager.java.patch @@ -29,7 +29,16 @@ var7.entityId = par1EntityPlayerMP.entityId; WorldServer var8 = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension); this.func_72381_a(var7, par1EntityPlayerMP, var8); -@@ -367,6 +375,7 @@ +@@ -363,14 +371,20 @@ + + public void transferPlayerToDimension(EntityPlayerMP par1EntityPlayerMP, int par2) + { ++ transferPlayerToDimension(par1EntityPlayerMP, par2, mcServer.worldServerForDimension(par2).func_85176_s()); ++ } ++ ++ public void transferPlayerToDimension(EntityPlayerMP par1EntityPlayerMP, int par2, Teleporter teleporter) ++ { + int var3 = par1EntityPlayerMP.dimension; WorldServer var4 = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension); par1EntityPlayerMP.dimension = par2; WorldServer var5 = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension); @@ -37,13 +46,23 @@ par1EntityPlayerMP.playerNetServerHandler.sendPacketToPlayer(new Packet9Respawn(par1EntityPlayerMP.dimension, (byte)par1EntityPlayerMP.worldObj.difficultySetting, var5.getWorldInfo().getTerrainType(), var5.getHeight(), par1EntityPlayerMP.theItemInWorldManager.getGameType())); var4.removeEntity(par1EntityPlayerMP); par1EntityPlayerMP.isDead = false; -@@ -391,38 +400,18 @@ +- this.transferEntityToWorld(par1EntityPlayerMP, var3, var4, var5); ++ this.transferEntityToWorld(par1EntityPlayerMP, var3, var4, var5, teleporter); + this.func_72375_a(par1EntityPlayerMP, var4); + par1EntityPlayerMP.playerNetServerHandler.setPlayerLocation(par1EntityPlayerMP.posX, par1EntityPlayerMP.posY, par1EntityPlayerMP.posZ, par1EntityPlayerMP.rotationYaw, par1EntityPlayerMP.rotationPitch); + par1EntityPlayerMP.theItemInWorldManager.setWorld(var5); +@@ -391,38 +405,23 @@ */ public void transferEntityToWorld(Entity par1Entity, int par2, WorldServer par3WorldServer, WorldServer par4WorldServer) { - double var5 = par1Entity.posX; - double var7 = par1Entity.posZ; - double var9 = 8.0D; ++ transferEntityToWorld(par1Entity, par2, par3WorldServer, par4WorldServer, par4WorldServer.func_85176_s()); ++ } ++ ++ public void transferEntityToWorld(Entity par1Entity, int par2, WorldServer par3WorldServer, WorldServer par4WorldServer, Teleporter teleporter) ++ { + WorldProvider pOld = par3WorldServer.provider; + WorldProvider pNew = par4WorldServer.provider; + double moveFactor = pOld.getMovementFactor() / pNew.getMovementFactor(); @@ -82,3 +101,12 @@ { ChunkCoordinates var18; +@@ -459,7 +458,7 @@ + par4WorldServer.spawnEntityInWorld(par1Entity); + par1Entity.setLocationAndAngles(var5, par1Entity.posY, var7, par1Entity.rotationYaw, par1Entity.rotationPitch); + par4WorldServer.updateEntityWithOptionalForce(par1Entity, false); +- par4WorldServer.func_85176_s().placeInPortal(par1Entity, var11, var13, var15, var17); ++ teleporter.placeInPortal(par1Entity, var11, var13, var15, var17); + } + + par3WorldServer.theProfiler.endSection(); diff --git a/patches/common/net/minecraft/src/WorldServer.java.patch b/patches/common/net/minecraft/src/WorldServer.java.patch index 94fa09ae1..0df59f963 100644 --- a/patches/common/net/minecraft/src/WorldServer.java.patch +++ b/patches/common/net/minecraft/src/WorldServer.java.patch @@ -21,17 +21,18 @@ public class WorldServer extends World { -@@ -45,6 +52,9 @@ +@@ -45,6 +52,10 @@ /** An IntHashMap of entity IDs (integers) to their Entity objects. */ private IntHashMap entityIdMap; + /** Stores the recently processed (lighting) chunks */ + protected Set doneChunks = new HashSet(); ++ public List customTeleporters = new ArrayList(); + public WorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2ISaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { super(par2ISaveHandler, par3Str, par5WorldSettings, WorldProvider.getProviderForDimension(par4), par6Profiler); -@@ -68,6 +78,7 @@ +@@ -68,6 +79,7 @@ } this.field_85177_Q = new Teleporter(this); @@ -39,7 +40,18 @@ } /** -@@ -184,10 +195,7 @@ +@@ -131,6 +143,10 @@ + this.villageSiegeObj.tick(); + this.theProfiler.endStartSection("portalForcer"); + this.field_85177_Q.func_85189_a(this.getTotalWorldTime()); ++ for (Teleporter tele : customTeleporters) ++ { ++ tele.func_85189_a(getTotalWorldTime()); ++ } + this.theProfiler.endSection(); + this.sendAndApplyBlockEvents(); + } +@@ -184,10 +200,7 @@ private void resetRainAndThunder() { @@ -51,7 +63,7 @@ } public boolean areAllPlayersAsleep() -@@ -258,6 +266,14 @@ +@@ -258,6 +271,14 @@ int var1 = 0; int var2 = 0; Iterator var3 = this.activeChunkSet.iterator(); @@ -66,7 +78,7 @@ while (var3.hasNext()) { -@@ -268,14 +284,16 @@ +@@ -268,14 +289,16 @@ Chunk var7 = this.getChunkFromChunkCoords(var4.chunkXPos, var4.chunkZPos); this.moodSoundAndLightCheck(var5, var6, var7); this.theProfiler.endStartSection("tickChunk"); @@ -85,7 +97,7 @@ { this.updateLCG = this.updateLCG * 3 + 1013904223; var8 = this.updateLCG >> 2; -@@ -293,7 +311,7 @@ +@@ -293,7 +316,7 @@ this.theProfiler.endStartSection("iceandsnow"); int var13; @@ -94,7 +106,7 @@ { this.updateLCG = this.updateLCG * 3 + 1013904223; var8 = this.updateLCG >> 2; -@@ -372,7 +390,8 @@ +@@ -372,7 +395,8 @@ public void func_82740_a(int par1, int par2, int par3, int par4, int par5, int par6) { NextTickListEntry var7 = new NextTickListEntry(par1, par2, par3, par4); @@ -104,7 +116,7 @@ if (this.scheduledUpdatesAreImmediate && par4 > 0) { -@@ -434,7 +453,7 @@ +@@ -434,7 +458,7 @@ */ public void updateEntities() { @@ -113,7 +125,7 @@ { if (this.updateEntityTick++ >= 1200) { -@@ -483,7 +502,8 @@ +@@ -483,7 +507,8 @@ this.pendingTickListEntries.remove(var4); this.field_73064_N.remove(var4); @@ -123,7 +135,7 @@ if (this.checkChunksExist(var4.xCoord - var5, var4.yCoord - var5, var4.zCoord - var5, var4.xCoord + var5, var4.yCoord + var5, var4.zCoord + var5)) { -@@ -601,15 +621,27 @@ +@@ -601,15 +626,27 @@ public List getAllTileEntityInBox(int par1, int par2, int par3, int par4, int par5, int par6) { ArrayList var7 = new ArrayList(); @@ -160,7 +172,7 @@ } } -@@ -620,6 +652,11 @@ +@@ -620,6 +657,11 @@ * Called when checking if a certain block can be mined or not. The 'spawn safe zone' check is located here. */ public boolean canMineBlock(EntityPlayer par1EntityPlayer, int par2, int par3, int par4) @@ -172,7 +184,7 @@ { int var5 = MathHelper.abs_int(par2 - this.worldInfo.getSpawnX()); int var6 = MathHelper.abs_int(par4 - this.worldInfo.getSpawnZ()); -@@ -629,7 +666,7 @@ +@@ -629,7 +671,7 @@ var6 = var5; } @@ -181,7 +193,7 @@ } protected void initialize(WorldSettings par1WorldSettings) -@@ -712,7 +749,7 @@ +@@ -712,7 +754,7 @@ */ protected void createBonusChest() { @@ -190,7 +202,7 @@ for (int var2 = 0; var2 < 10; ++var2) { -@@ -755,6 +792,7 @@ +@@ -755,6 +797,7 @@ } this.chunkProvider.saveChunks(par1, par2IProgressUpdate); @@ -198,7 +210,7 @@ } } -@@ -766,6 +804,7 @@ +@@ -766,6 +809,7 @@ this.checkSessionLock(); this.saveHandler.saveWorldInfoWithPlayer(this.worldInfo, this.mcServer.getConfigurationManager().getTagsFromLastWrite()); this.mapStorage.saveAllData(); @@ -206,7 +218,7 @@ } /** -@@ -996,4 +1035,9 @@ +@@ -996,4 +1040,9 @@ { return this.field_85177_Q; }