diff options
author | Kyle Wood <[email protected]> | 2021-04-24 17:01:33 -0500 |
---|---|---|
committer | Kyle Wood <[email protected]> | 2021-04-25 18:37:43 -0500 |
commit | 3093b81fee3064603c368ab934eddf66ce304433 (patch) | |
tree | cb99f05b5f31de92c41af4cc40b4bef5f3cbf573 /Spigot-Server-Patches-Unmapped/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch | |
parent | 1af696a05d21cbdd7b5a7170f95598c013257588 (diff) | |
download | Paper-3093b81fee3064603c368ab934eddf66ce304433.tar.gz Paper-3093b81fee3064603c368ab934eddf66ce304433.zip |
Move patches
Diffstat (limited to 'Spigot-Server-Patches-Unmapped/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch')
-rw-r--r-- | Spigot-Server-Patches-Unmapped/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Spigot-Server-Patches-Unmapped/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/Spigot-Server-Patches-Unmapped/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch new file mode 100644 index 0000000000..34cdbbb716 --- /dev/null +++ b/Spigot-Server-Patches-Unmapped/0393-Don-t-load-Chunks-from-Hoppers-and-other-things.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Aikar <[email protected]> +Date: Thu, 3 Nov 2016 20:28:12 -0400 +Subject: [PATCH] Don't load Chunks from Hoppers and other things + +Hoppers call this to I guess "get the primary side" of a double sided chest. + +If the double sided chest crosses chunk lines, it causes the chunk to load. +This will end up causing sync chunk loads, which will unload with Chunk GC, +only to be reloaded again the next tick. + +This of course is undesirable, so just return the loaded side as "primary" +and treat it as a single chest if the other sides are unloaded + +diff --git a/src/main/java/net/minecraft/world/level/block/DoubleBlockFinder.java b/src/main/java/net/minecraft/world/level/block/DoubleBlockFinder.java +index d51f89fed6129c4b37ef63971f8f61dc14e8032d..efa98e87eead036246348f3915b401f0f52f2242 100644 +--- a/src/main/java/net/minecraft/world/level/block/DoubleBlockFinder.java ++++ b/src/main/java/net/minecraft/world/level/block/DoubleBlockFinder.java +@@ -29,7 +29,12 @@ public class DoubleBlockFinder { + return new DoubleBlockFinder.Result.Single<>(s0); + } else { + BlockPosition blockposition1 = blockposition.shift((EnumDirection) function1.apply(iblockdata)); +- IBlockData iblockdata1 = generatoraccess.getType(blockposition1); ++ // Paper start ++ IBlockData iblockdata1 = generatoraccess.getTypeIfLoaded(blockposition1); ++ if (iblockdata1 == null) { ++ return new DoubleBlockFinder.Result.Single<>(s0); ++ } ++ // Paper end + + if (iblockdata1.a(iblockdata.getBlock())) { + DoubleBlockFinder.BlockType doubleblockfinder_blocktype1 = (DoubleBlockFinder.BlockType) function.apply(iblockdata1); |