2021-06-12 21:30:37 +02:00
|
|
|
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
|
|
|
|
|
|
|
|
1.17: Shouldn't be needed as blocks no longer tick without at least 1 radius chunk loaded.
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java b/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
|
2021-11-23 16:04:41 +01:00
|
|
|
index 48776edab1479b5e861eca8146da04ebee01c46a..e0903ecf7a478d0a341d6ad6d94f06aef9836cc9 100644
|
2021-06-12 21:30:37 +02:00
|
|
|
--- a/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/level/block/FrostedIceBlock.java
|
|
|
|
@@ -38,7 +38,8 @@ public class FrostedIceBlock extends IceBlock {
|
|
|
|
|
|
|
|
for(Direction direction : Direction.values()) {
|
|
|
|
mutableBlockPos.setWithOffset(pos, direction);
|
|
|
|
- BlockState blockState = world.getBlockState(mutableBlockPos);
|
|
|
|
+ BlockState blockState = world.getTypeIfLoaded(mutableBlockPos); // Paper
|
|
|
|
+ if (blockState == null) { continue; } // Paper
|
|
|
|
if (blockState.is(this) && !this.slightlyMelt(blockState, world, mutableBlockPos)) {
|
2021-11-23 16:04:41 +01:00
|
|
|
world.scheduleTick(mutableBlockPos, this, Mth.nextInt(random, world.paperConfig.frostedIceDelayMin, world.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay
|
2021-06-12 21:30:37 +02:00
|
|
|
}
|
|
|
|
@@ -75,7 +76,10 @@ public class FrostedIceBlock extends IceBlock {
|
|
|
|
|
|
|
|
for(Direction direction : Direction.values()) {
|
|
|
|
mutableBlockPos.setWithOffset(pos, direction);
|
|
|
|
- if (world.getBlockState(mutableBlockPos).is(this)) {
|
|
|
|
+ // Paper start
|
|
|
|
+ BlockState blockState = world.getTypeIfLoaded(mutableBlockPos);
|
|
|
|
+ if (blockState != null && blockState.is(this)) {
|
|
|
|
+ // Paper end
|
|
|
|
++i;
|
|
|
|
if (i >= maxNeighbors) {
|
|
|
|
return false;
|