mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
30d007b163
Undo the accidental renaming of a method ine45e15c
Aikar wanted to rename DataPalette#getDataBits(T object) to getOrCreateIdFor ine45e15c
but he also accidentally renamed ChunkPacketInfo#getDataBitsIndex(int chunkSectionIndex) to getOrCreateIdForIndex. Remove chunk-edge-mode and chunk loading entirely from Anti-Xray The chunk-edge-mode is broken since several versions. Loading chunk neighbors for chunk edge obfuscation isn't needed anymore. Unlike in previous versions, these are under normal circumstances already loaded at the time we need them (plugins for example can bypass this). Use the modified methods and constructors everywhere Anti-Xray provides support for the default nms methods and constructors, which where modified by Anti-Xray to avoid breaking stuff (plugins) which somehow uses these methods. However, the modified versions of those methods and constructors should be used where possible.
65 lines
No EOL
3.1 KiB
Diff
65 lines
No EOL
3.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
Date: Wed, 18 Dec 2019 22:21:35 -0600
|
|
Subject: [PATCH] MC-145656 Fix Follow Range Initial Target
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index 1c703e48e99..e89ad807ed9 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
|
private void pillagerSettings() {
|
|
disablePillagerPatrols = getBoolean("game-mechanics.disable-pillager-patrols", disablePillagerPatrols);
|
|
}
|
|
+
|
|
+ public boolean entitiesTargetWithFollowRange = false;
|
|
+ private void entitiesTargetWithFollowRange() {
|
|
+ entitiesTargetWithFollowRange = getBoolean("entities-target-with-follow-range", entitiesTargetWithFollowRange);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
|
|
index cd17bf2be53..b85e67a85d1 100644
|
|
--- a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
|
|
+++ b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
|
|
@@ -0,0 +0,0 @@ public class PathfinderGoalNearestAttackableTarget<T extends EntityLiving> exten
|
|
this.b = i;
|
|
this.a(EnumSet.of(PathfinderGoal.Type.TARGET));
|
|
this.d = (new PathfinderTargetCondition()).a(this.k()).a(predicate);
|
|
+ if (entityinsentient.world.paperConfig.entitiesTargetWithFollowRange) this.d.useFollowRange(); // Paper
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/PathfinderTargetCondition.java b/src/main/java/net/minecraft/server/PathfinderTargetCondition.java
|
|
index c76a43837b4..e35ec2db078 100644
|
|
--- a/src/main/java/net/minecraft/server/PathfinderTargetCondition.java
|
|
+++ b/src/main/java/net/minecraft/server/PathfinderTargetCondition.java
|
|
@@ -0,0 +0,0 @@ public class PathfinderTargetCondition {
|
|
|
|
if (this.b > 0.0D) {
|
|
double d0 = this.g ? entityliving1.A(entityliving) : 1.0D;
|
|
- double d1 = this.b * d0;
|
|
+ double d1 = (useFollowRange ? getFollowRange(entityliving) : this.b) * d0; // Paper
|
|
double d2 = entityliving.g(entityliving1.locX(), entityliving1.locY(), entityliving1.locZ());
|
|
|
|
if (d2 > d1 * d1) {
|
|
@@ -0,0 +0,0 @@ public class PathfinderTargetCondition {
|
|
return true;
|
|
}
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ private boolean useFollowRange = false;
|
|
+
|
|
+ public PathfinderTargetCondition useFollowRange() {
|
|
+ this.useFollowRange = true;
|
|
+ return this;
|
|
+ }
|
|
+
|
|
+ private double getFollowRange(EntityLiving entityliving) {
|
|
+ AttributeInstance attributeinstance = entityliving.getAttributeInstance(GenericAttributes.FOLLOW_RANGE);
|
|
+ return attributeinstance == null ? 16.0D : attributeinstance.getValue();
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
--
|