From 480506629d4a9248989f2b41d1c8de5cc7537718 Mon Sep 17 00:00:00 2001 From: Prototik Date: Sun, 17 May 2015 19:18:28 +0700 Subject: [PATCH] Avoid to throw BlockPhysicsEvent in Mystcraft's profiling world and come back incorrect chunks messages --- build.gradle | 2 +- patches/net/minecraft/world/World.java.patch | 10 ++++++++-- .../minecraft/world/gen/ChunkProviderServer.java.patch | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index bfc95d3..7ccf6e1 100644 --- a/build.gradle +++ b/build.gradle @@ -47,7 +47,7 @@ archivesBaseName = 'kcauldron' ext.mcVersion = "1.7.10" ext.cauldronVersion = "4" ext.forgeVersion = "1403" -ext.revision = "64" +ext.revision = "66" version = "${mcVersion}-${cauldronVersion}.${forgeVersion}.${revision}" launch4j { diff --git a/patches/net/minecraft/world/World.java.patch b/patches/net/minecraft/world/World.java.patch index 108866d..9be0d09 100644 --- a/patches/net/minecraft/world/World.java.patch +++ b/patches/net/minecraft/world/World.java.patch @@ -593,7 +593,7 @@ + // CraftBukkit start + CraftWorld world = ((WorldServer) this).getWorld(); + -+ if (world != null) ++ if (world != null && !isProfilingWorld()) + { + BlockPhysicsEvent event = new BlockPhysicsEvent(world.getBlockAt(p_147460_1_, p_147460_2_, p_147460_3_), + CraftMagicNumbers.getId(p_147460_4_)); @@ -1284,7 +1284,7 @@ { dest.add(entity); } -@@ -4029,4 +4717,67 @@ +@@ -4029,4 +4717,73 @@ } return count; } @@ -1351,4 +1351,10 @@ + tileLimiter = new TickLimiter(spigotConfig.tileMaxTickTime); + } + // Spigot end ++ ++ // Cauldron start ++ public boolean isProfilingWorld() { ++ return provider.dimensionId == Integer.MIN_VALUE; // Mystcraft ++ } ++ // Cauldron end } diff --git a/patches/net/minecraft/world/gen/ChunkProviderServer.java.patch b/patches/net/minecraft/world/gen/ChunkProviderServer.java.patch index 41ac8bc..38800aa 100644 --- a/patches/net/minecraft/world/gen/ChunkProviderServer.java.patch +++ b/patches/net/minecraft/world/gen/ChunkProviderServer.java.patch @@ -211,14 +211,14 @@ + return chunk; + } + -+ /*if (p_73154_1_ != chunk.xPosition || p_73154_2_ != chunk.zPosition) ++ if ((p_73154_1_ != chunk.xPosition || p_73154_2_ != chunk.zPosition) && !worldObj.isProfilingWorld()) + { + logger.error("Chunk (" + chunk.xPosition + ", " + chunk.zPosition + ") stored at (" + p_73154_1_ + ", " + p_73154_2_ + ") in world '" + worldObj.getWorld().getName() + "'"); + logger.error(chunk.getClass().getName()); + Throwable ex = new Throwable(); + ex.fillInStackTrace(); + ex.printStackTrace(); -+ }*/ // Cauldron - workaroung of console spamming for mystcraft ++ } + chunk.lastAccessedTick = MinecraftServer.getServer().getTickCounter(); // Cauldron + return chunk; + // CraftBukkit end