mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-04 10:11:29 +01:00
9f6ea786bc
This patch appears to be causing some issues with 1.14.3 entity AI
55 lines
No EOL
2.4 KiB
Diff
55 lines
No EOL
2.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sun, 17 Apr 2016 17:27:09 -0400
|
|
Subject: [PATCH] Prevent Fire from loading chunks
|
|
|
|
This causes the nether to spam unload/reload chunks, plus overall
|
|
bad behavior.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java
|
|
index 81e9717ae5..49e3d7284b 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockFire.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockFire.java
|
|
@@ -0,0 +0,0 @@ public class BlockFire extends Block {
|
|
}
|
|
|
|
blockposition_mutableblockposition.g(blockposition).e(l, j1, i1);
|
|
+ if (!world.isLoaded(blockposition_mutableblockposition)) continue; // Paper
|
|
int l1 = this.a((IWorldReader) world, (BlockPosition) blockposition_mutableblockposition);
|
|
|
|
if (l1 > 0) {
|
|
@@ -0,0 +0,0 @@ public class BlockFire extends Block {
|
|
}
|
|
|
|
private void a(World world, BlockPosition blockposition, int i, Random random, int j, BlockPosition sourceposition) { // CraftBukkit add sourceposition
|
|
- int k = this.q(world.getType(blockposition));
|
|
+ // Paper start
|
|
+ final IBlockData iblockdata = world.getTypeIfLoaded(blockposition);
|
|
+ if (iblockdata == null) {
|
|
+ return;
|
|
+ }
|
|
+ int k = this.q(iblockdata);
|
|
+ // Paper end
|
|
|
|
if (random.nextInt(i) < k) {
|
|
- IBlockData iblockdata = world.getType(blockposition);
|
|
+ //IBlockData iblockdata = world.getType(blockposition); // Paper
|
|
|
|
// CraftBukkit start
|
|
org.bukkit.block.Block theBlock = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
|
@@ -0,0 +0,0 @@ public class BlockFire extends Block {
|
|
|
|
for (int k = 0; k < j; ++k) {
|
|
EnumDirection enumdirection = aenumdirection[k];
|
|
- IBlockData iblockdata = iworldreader.getType(blockposition.shift(enumdirection));
|
|
-
|
|
+ // Paper start
|
|
+ IBlockData iblockdata = iworldreader.getTypeIfLoaded(blockposition.shift(enumdirection));
|
|
+ if (iblockdata == null) {
|
|
+ continue;
|
|
+ }
|
|
+ // Paper end
|
|
i = Math.max(this.r(iblockdata), i);
|
|
}
|
|
|
|
--
|