2019-07-20 03:33:15 +00:00
|
|
|
--- a/net/minecraft/world/server/ChunkManager.java
|
|
|
|
+++ b/net/minecraft/world/server/ChunkManager.java
|
2019-12-11 02:27:07 +00:00
|
|
|
@@ -364,6 +364,7 @@
|
2019-07-30 23:39:05 +00:00
|
|
|
iprofiler.func_219895_b("chunk_unload");
|
|
|
|
if (!this.field_219255_i.func_217402_u()) {
|
|
|
|
this.func_223155_b(p_219204_1_);
|
|
|
|
+ if (this.field_219251_e.isEmpty()) net.minecraftforge.common.DimensionManager.unloadWorld(this.field_219255_i);
|
2019-05-23 23:02:15 +00:00
|
|
|
}
|
|
|
|
|
2019-07-30 23:39:05 +00:00
|
|
|
iprofiler.func_76319_b();
|
2019-12-11 02:27:07 +00:00
|
|
|
@@ -400,6 +401,7 @@
|
2019-05-23 23:02:15 +00:00
|
|
|
if (this.field_219253_g.remove(p_219212_1_, p_219212_3_) && p_219185_5_ != null) {
|
|
|
|
if (p_219185_5_ instanceof Chunk) {
|
|
|
|
((Chunk)p_219185_5_).func_177417_c(false);
|
|
|
|
+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkEvent.Unload((Chunk)p_219185_5_));
|
|
|
|
}
|
|
|
|
|
|
|
|
this.func_219229_a(p_219185_5_);
|
2019-12-11 02:27:07 +00:00
|
|
|
@@ -477,6 +479,7 @@
|
2019-05-23 23:02:15 +00:00
|
|
|
if (flag) {
|
|
|
|
IChunk ichunk = ChunkSerializer.func_222656_a(this.field_219255_i, this.field_219269_w, this.field_219260_n, p_223172_1_, compoundnbt);
|
|
|
|
ichunk.func_177432_b(this.field_219255_i.func_82737_E());
|
|
|
|
+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkEvent.Load(ichunk));
|
|
|
|
return Either.left(ichunk);
|
|
|
|
}
|
|
|
|
|
2019-12-11 02:27:07 +00:00
|
|
|
@@ -586,6 +589,7 @@
|
2019-05-23 23:02:15 +00:00
|
|
|
if (list != null) {
|
|
|
|
list.forEach(chunk::func_76622_b);
|
|
|
|
}
|
|
|
|
+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkEvent.Load(chunk));
|
|
|
|
}
|
|
|
|
|
|
|
|
return chunk;
|
2019-12-11 02:27:07 +00:00
|
|
|
@@ -670,6 +674,7 @@
|
2019-05-23 23:02:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
CompoundNBT compoundnbt1 = ChunkSerializer.func_222645_a(this.field_219255_i, p_219229_1_);
|
|
|
|
+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkDataEvent.Save(p_219229_1_, compoundnbt1));
|
|
|
|
this.func_219100_a(chunkpos, compoundnbt1);
|
|
|
|
return true;
|
|
|
|
} catch (Exception exception) {
|
2019-12-11 02:27:07 +00:00
|
|
|
@@ -806,6 +811,7 @@
|
2019-05-23 23:02:15 +00:00
|
|
|
for(int l = i - this.field_219247_A; l <= i + this.field_219247_A; ++l) {
|
|
|
|
for(int k = j - this.field_219247_A; k <= j + this.field_219247_A; ++k) {
|
|
|
|
ChunkPos chunkpos = new ChunkPos(l, k);
|
|
|
|
+ net.minecraftforge.event.ForgeEventFactory.fireChunkWatch(p_219234_2_, p_219234_1_, chunkpos, field_219255_i);
|
2019-06-25 02:01:03 +00:00
|
|
|
this.func_219199_a(p_219234_1_, chunkpos, new IPacket[2], !p_219234_2_, p_219234_2_);
|
2019-05-23 23:02:15 +00:00
|
|
|
}
|
|
|
|
}
|