ea855e2b46
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 Developers!: You will need to clean up your work/Minecraft/1.13.2 folder for this Also, restore a patch that was dropped in the last upstream Bukkit Changes: 279eeab3 Fix command description not being set 96e2bb18 Remove debug print from SyntheticEventTest CraftBukkit Changes: d3ed1516 Fix dangerously threaded beacons 217a293d Don't relocate joptsimple to allow --help to work. 1be05a21 Prepare for imminent Java 12 release a49270b2 Mappings Update 5259d80c SPIGOT-4669: Fix PlayerTeleportEvent coordinates for relative teleports Spigot Changes: e6eb36f2 Rebuild patches
35 lines
2 KiB
Diff
35 lines
2 KiB
Diff
From 8aded7fc32eb2d1e7f64a0f98b05ab61371196c8 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 b6c602bd0..aa78ccb68 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -860,7 +860,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;
|
|
@@ -982,7 +983,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.21.0
|
|
|