mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-07 19:12:22 +01:00
21ae8ff67e
Developers!: You will need to clean up your work/Minecraft/1.13.2 folder for this 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: b850a822 SPIGOT-4526: Add conversion time API for Zombie & subclasses CraftBukkit Changes:38cf676e
SPIGOT-4534: CreatureSpawnEvent not being called for CHUNK_GENb446cb5d
SPIGOT-4527: Fix sponges with waterlogged blocks6ec8ea5c
SPIGOT-4526: Add conversion time API for Zombie & subclassesc64fe508
Mappings Updatea3c2ec03
Fix missing ServerListPingEvent call for legacy pings Spigot Changes: 1dc156ce Rebuild patches 140f654d Mappings Update
33 lines
No EOL
1.7 KiB
Diff
33 lines
No EOL
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
Date: Tue, 13 Nov 2018 14:01:00 +0000
|
|
Subject: [PATCH] limit the range at which we'll consider an attackable target
|
|
|
|
This patch aims to ensure that MCP World#getNearestAttackablePlayer
|
|
will not trigger chunk loads due to PathfinderGoalNearestAttackableTarget
|
|
performing a ray trace operation by pre-checking the maximum limit;
|
|
|
|
Given that the implementation shows that the limit should only ever
|
|
decrease when set, allowing us to skip further checks earlier on
|
|
when looking for an attackable entity
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index d14ee6b9b..9bf3f8343 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -0,0 +0,0 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
|
|
for (int i = 0; i < this.players.size(); ++i) {
|
|
EntityHuman entityhuman1 = (EntityHuman) this.players.get(i);
|
|
|
|
+ // Paper start
|
|
+ // move distance check up, if set, check distance^2 is less than XZlimit^2, continue
|
|
+ // 4th method param is XZlimit (at least at the time of commit)
|
|
+ double d6 = entityhuman1.d(d0, entityhuman1.locY, d2);
|
|
+ if (d3 < 0.0D || d6 < d3 * d3)
|
|
if (!entityhuman1.abilities.isInvulnerable && entityhuman1.isAlive() && !entityhuman1.isSpectator() && (predicate == null || predicate.test(entityhuman1))) {
|
|
- double d6 = entityhuman1.d(d0, entityhuman1.locY, d2);
|
|
+ // Paper end
|
|
double d7 = d3;
|
|
|
|
if (entityhuman1.isSneaking()) {
|
|
--
|