NOT FINISHED! 1.13 pre-7 - Holy moley, more patches!

Really, don't touch! may harm your cat!
This commit is contained in:
Shane Freeder
2018-07-18 19:55:52 +01:00
parent 96f62ca759
commit 37f7038e10
35 changed files with 292 additions and 448 deletions

View File

@@ -5,28 +5,31 @@ Subject: [PATCH] Prevent Frosted Ice from loading/holding chunks
diff --git a/src/main/java/net/minecraft/server/BlockIceFrost.java b/src/main/java/net/minecraft/server/BlockIceFrost.java
index a8dbbf20a..87f40bfcf 100644
index 77cf6b8e9..9d9671eae 100644
--- a/src/main/java/net/minecraft/server/BlockIceFrost.java
+++ b/src/main/java/net/minecraft/server/BlockIceFrost.java
@@ -0,0 +0,0 @@ public class BlockIceFrost extends BlockIce {
for (int k = 0; k < j; ++k) {
EnumDirection enumdirection = aenumdirection[k];
EnumDirection enumdirection = aenumdirection[j];
- if (world.getType(blockposition.shift(enumdirection)).getBlock() == this) {
+ IBlockData iblockdata1 = world.getTypeIfLoaded(blockposition.shift(enumdirection)); // Paper - don't load chunks
+ if (iblockdata1 == null) continue; // Paper
+ if (iblockdata1.getBlock() == this) { // Paper
++i;
if (i >= 4) {
return i;
blockposition_b.j(blockposition).d(enumdirection);
+
+ // Paper start - Prevent Frosted Ice from loading/holding chunks
+ if (!world.isChunkLoaded(blockposition_b.getX() >> 4, blockposition_b.getZ() >> 4, true))
+ continue;
+ // Paper end - Prevent Frosted Ice from loading/holding chunks
+
IBlockData iblockdata1 = world.getType(blockposition_b);
if (iblockdata1.getBlock() == this && !this.c(iblockdata1, world, blockposition_b)) {
@@ -0,0 +0,0 @@ public class BlockIceFrost extends BlockIce {
for (int k = 0; k < j; ++k) {
EnumDirection enumdirection = aenumdirection[k];
BlockPosition blockposition1 = blockposition.shift(enumdirection);
- IBlockData iblockdata1 = world.getType(blockposition1);
+ IBlockData iblockdata1 = world.getTypeIfLoaded(blockposition1); // Paper - don't load chunks
+ if (iblockdata1 == null) continue; // Paper
EnumDirection enumdirection = aenumdirection[l];
if (iblockdata1.getBlock() == this) {
this.a(world, blockposition1, iblockdata1, random, false);
blockposition_b.j(blockposition).d(enumdirection);
+ // Paper start - Prevent Frosted Ice from loading/holding chunks
+ if (!((World) iblockaccess).isChunkLoaded(blockposition_b.getX() >> 4, blockposition_b.getZ() >> 4, true))
+ continue;
+ // Paper end - Prevent Frosted Ice from loading/holding chunks
if (iblockaccess.getType(blockposition_b).getBlock() == this) {
++j;
if (j >= i) {
--