df984898ac
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 CraftBukkit Changes: 7554e08e Add UUID support to CraftProfileBanList 3fe37460 SPIGOT-5378: Fix TileEntity fixer deadlock 12386dd4 SPIGOT-5375: Add spaces to coordinates from tile fixer 606c19e2 SPIGOT-5373: Simultaneous left+right click in creative mode does not work 13caf848 SPIGOT-5370: Fix Block#rayTrace considering other blocks.
32 lines
1.5 KiB
Diff
32 lines
1.5 KiB
Diff
From ff3dab598aaddf30e1de92362c108cefd4556caf 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/IBlockAccess.java b/src/main/java/net/minecraft/server/IBlockAccess.java
|
|
index 0dff023529..29cdc00875 100644
|
|
--- a/src/main/java/net/minecraft/server/IBlockAccess.java
|
|
+++ b/src/main/java/net/minecraft/server/IBlockAccess.java
|
|
@@ -41,7 +41,15 @@ public interface IBlockAccess {
|
|
|
|
// CraftBukkit start - moved block handling into separate method for use by Block#rayTrace
|
|
default MovingObjectPositionBlock rayTraceBlock(RayTrace raytrace1, BlockPosition blockposition) {
|
|
- IBlockData iblockdata = this.getType(blockposition);
|
|
+ // Paper start - Prevent raytrace from loading chunks
|
|
+ IBlockData iblockdata = this.getTypeIfLoaded(blockposition);
|
|
+ if (iblockdata == null) {
|
|
+ // copied the last function parameter (listed below)
|
|
+ Vec3D vec3d = raytrace1.b().d(raytrace1.a());
|
|
+
|
|
+ return MovingObjectPositionBlock.a(raytrace1.a(), EnumDirection.a(vec3d.x, vec3d.y, vec3d.z), new BlockPosition(raytrace1.a()));
|
|
+ }
|
|
+ // Paper end
|
|
Fluid fluid = this.getFluid(blockposition);
|
|
Vec3D vec3d = raytrace1.b();
|
|
Vec3D vec3d1 = raytrace1.a();
|
|
--
|
|
2.22.1
|
|
|