geforkt von Mirrors/Paper
0318e62b45
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 0969eedc Clarify furnace burn time behaviour as per SPIGOT-844 16453bfd SPIGOT-4503: Add API to insert complete ItemStack into Jukebox CraftBukkit Changes:dff66dfc
Reduce copying of positions from block states91cae6ef
SPIGOT-4387: Durability looping from cancelled BlockPlaceEvent24c5e68c
SPIGOT-4493: Allow burnt out furnaces to remain lit like Vanilla whilst retaining SPIGOT-844 APIbc943daf
Fix Jukebox API not synchronizing playing data with statefe89a8c1
SPIGOT-4503: Add API to insert complete ItemStack into Jukeboxfc102494
Make CraftBlockState use BlockPosition89ab4887
SPIGOT-4543: Jukebox playing calls should not use legacy data6ff5a64c
SPIGOT-4541: Cancelled bucket events require inventory update
36 Zeilen
2.0 KiB
Diff
36 Zeilen
2.0 KiB
Diff
From 98676ff5b942b199f53538a3cef8268133d750c8 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Mon, 26 Nov 2018 19:21:58 -0500
|
|
Subject: [PATCH] Prevent rayTrace from loading chunks
|
|
|
|
ray tracing into an unloaded chunk should be treated as a miss
|
|
this saves a ton of lag for when AI tries to raytrace near unloaded chunks.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index c702b94ef..26327895b 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -858,7 +858,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
|
int i1 = MathHelper.floor(d1);
|
|
int j1 = MathHelper.floor(d2);
|
|
BlockPosition blockposition = new BlockPosition(l, i1, j1);
|
|
- IBlockData iblockdata = this.getType(blockposition);
|
|
+ IBlockData iblockdata = this.getTypeIfLoaded(blockposition); // Paper
|
|
+ if (iblockdata == null) return null; // Paper
|
|
Fluid fluid = this.getFluid(blockposition);
|
|
boolean flag2;
|
|
boolean flag3;
|
|
@@ -980,7 +981,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
|
i1 = MathHelper.floor(d1) - (enumdirection == EnumDirection.UP ? 1 : 0);
|
|
j1 = MathHelper.floor(d2) - (enumdirection == EnumDirection.SOUTH ? 1 : 0);
|
|
blockposition = new BlockPosition(l, i1, j1);
|
|
- IBlockData iblockdata1 = this.getType(blockposition);
|
|
+ IBlockData iblockdata1 = this.getTypeIfLoaded(blockposition); // Paper
|
|
+ if (iblockdata1 == null) return null; // Paper
|
|
Fluid fluid1 = this.getFluid(blockposition);
|
|
|
|
if (!flag || iblockdata1.getMaterial() == Material.PORTAL || !iblockdata1.getCollisionShape(this, blockposition).isEmpty()) {
|
|
--
|
|
2.20.1
|
|
|