PaperMC/Spigot-Server-Patches/Prevent-Frosted-Ice-from-loading-holding-chunks.patch
Aikar 0a953a924a Fix issues with getBlockState(false) not loading Tile Entity data
This only impacted people who used our useSnapshots new API in a plugin,
which obviously was no one as the data result was completely broken.

Merged the NPE check patch into mine since it has to handle it too.
2018-06-30 01:40:52 -04:00

32 lines
No EOL
1.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 10 Mar 2018 16:33:15 -0500
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
--- 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];
- 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;
@@ -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
if (iblockdata1.getBlock() == this) {
this.a(world, blockposition1, iblockdata1, random, false);
--