Update modern forwarding to v3 (#8219)
This commit is contained in:
		
					parent
					
						
							
								78b19f89a4
							
						
					
				
			
			
				commit
				
					
						c7e118b394
					
				
			
		
					 660 changed files with 211 additions and 204 deletions
				
			
		| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
From 0000000000000000000000000000000000000000 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/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java
 | 
			
		||||
index 8a979600b49e8a11982577fb6dd79503e2521a0f..bca0838e40bc91d78e9b93df5318642d1c9f341e 100644
 | 
			
		||||
--- a/src/main/java/net/minecraft/world/level/BlockGetter.java
 | 
			
		||||
+++ b/src/main/java/net/minecraft/world/level/BlockGetter.java
 | 
			
		||||
@@ -75,7 +75,15 @@ public interface BlockGetter extends LevelHeightAccessor {
 | 
			
		||||
 
 | 
			
		||||
     // CraftBukkit start - moved block handling into separate method for use by Block#rayTrace
 | 
			
		||||
     default BlockHitResult clip(ClipContext raytrace1, BlockPos blockposition) {
 | 
			
		||||
-            BlockState iblockdata = this.getBlockState(blockposition);
 | 
			
		||||
+            // Paper start - Prevent raytrace from loading chunks
 | 
			
		||||
+            BlockState iblockdata = this.getBlockStateIfLoaded(blockposition);
 | 
			
		||||
+            if (iblockdata == null) {
 | 
			
		||||
+                // copied the last function parameter (listed below)
 | 
			
		||||
+                Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo());
 | 
			
		||||
+
 | 
			
		||||
+                return BlockHitResult.miss(raytrace1.getTo(), Direction.getNearest(vec3d.x, vec3d.y, vec3d.z), new BlockPos(raytrace1.getTo()));
 | 
			
		||||
+            }
 | 
			
		||||
+            // Paper end
 | 
			
		||||
             FluidState fluid = this.getFluidState(blockposition);
 | 
			
		||||
             Vec3 vec3d = raytrace1.getFrom();
 | 
			
		||||
             Vec3 vec3d1 = raytrace1.getTo();
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue