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 5e414138e4e542c16508d679e571aac72c082e7b..638a0aa5ae80da2df9e640060272b83c6fc986ae 100644
--- a/src/main/java/net/minecraft/server/BlockIceFrost.java
+++ b/src/main/java/net/minecraft/server/BlockIceFrost.java
@@ -26,8 +26,8 @@ public class BlockIceFrost extends BlockIce {
                     EnumDirection enumdirection = aenumdirection[j];
 
                     blockposition_pooledblockposition.g(blockposition).c(enumdirection);
-                    IBlockData iblockdata1 = worldserver.getType(blockposition_pooledblockposition);
-
+                    IBlockData iblockdata1 = worldserver.getTypeIfLoaded(blockposition_pooledblockposition); // Paper - don't load chunks
+                    if (iblockdata1 == null) continue; // Paper
                     if (iblockdata1.getBlock() == this && !this.e(iblockdata1, (World) worldserver, blockposition_pooledblockposition)) {
                         worldserver.getBlockTickList().a(blockposition_pooledblockposition, this, MathHelper.nextInt(random, worldserver.paperConfig.frostedIceDelayMin, worldserver.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay
                     }
@@ -89,7 +89,7 @@ public class BlockIceFrost extends BlockIce {
                 EnumDirection enumdirection = aenumdirection[l];
 
                 blockposition_pooledblockposition.g(blockposition).c(enumdirection);
-                if (iblockaccess.getType(blockposition_pooledblockposition).getBlock() == this) {
+                if (((World) iblockaccess).getBlockIfLoaded(blockposition_pooledblockposition) == this) { // Paper - don't load chunks
                     ++j;
                     if (j >= i) {
                         boolean flag = false;
