mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-21 15:59:26 +00:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@5a362b8 Use ConcurrentUtil from Paper repo PaperMC/Paper@ef0670c Update paperweight and Gradle wrapper PaperMC/Paper@e5bf173 Always fork jvm for compile, even when using the Gradle runtime jvm PaperMC/Paper@cbd578c Fix api build script deprecation PaperMC/Paper@7e601ad Implement new CustomModelData PaperMC/Paper@3b35456 Implement assetid PaperMC/Paper@d0645d9 Update readme, set updatingMinecraft to false PaperMC/Paper@747cac4 Updated Upstream (CraftBukkit) PaperMC/Paper@416a733 Apply coordinate offset only to VoxelShape PaperMC/Paper@1cc86be Update setup-gradle action PaperMC/Paper@b0d7153 fix item meta PaperMC/Paper@2206b9a fix components PaperMC/Paper@e73d396 fix asset id PaperMC/Paper@2a4ba00 add missing effect cause, for bee being poisoned PaperMC/Paper@4806ce5 properly override push/knockback methods PaperMC/Paper@bb4fb53 call EntityInsideBlockEvent for eyeblossom PaperMC/Paper@ae060b3 Finish PlayerPickItemEvent PaperMC/Paper@c54c062 Port exact choice improvements (#11705) PaperMC/Paper@e4e24f3 Move around patches again PaperMC/Paper@4c39ea2 More moving around of hunks PaperMC/Paper@77afb9a Add new bundle animation (#11708) PaperMC/Paper@346b9b8 Fixup PlayerPickItemEvent docs more
58 lines
3.4 KiB
Diff
58 lines
3.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samsuik <kfian294ma4@gmail.com>
|
|
Date: Tue, 18 Jun 2024 13:34:55 +0100
|
|
Subject: [PATCH] Entity tracking range modifier
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
index 274b3a5e1d4606ed47ba7e3e4ee369d607cea8a1..49f8afdaa91e89b899b9fcce1ef9a972ec141b8b 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
@@ -1326,7 +1326,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
|
double vec3d_dz = player.getZ() - this.entity.getZ();
|
|
// Paper end - remove allocation of Vec3D here
|
|
int i = ChunkMap.this.getPlayerViewDistance(player);
|
|
- double d0 = (double) Math.min(this.getEffectiveRange(), i * 16);
|
|
+ // Sakura start - entity tracking range modifier
|
|
+ double visibleRange = (double) this.getEffectiveRange() * player.trackingRangeModifier;
|
|
+ double d0 = (double) Math.min(visibleRange, i * 16);
|
|
+ // Sakura end - entity tracking range modifier
|
|
double d1 = vec3d_dx * vec3d_dx + vec3d_dz * vec3d_dz; // Paper
|
|
double d2 = d0 * d0;
|
|
// Paper start - Configurable entity tracking range by Y
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
index 2a9659158d39d4d5505328afd7a2d8dc9ecf456f..5f7945c852ef9eb0d1183cc0ce33db5a82edee56 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -358,6 +358,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
|
}
|
|
// Paper end - rewrite chunk system
|
|
public final me.samsuik.sakura.player.visibility.PlayerVisibilitySettings visibilitySettings = new me.samsuik.sakura.player.visibility.PlayerVisibilitySettings(); // Sakura - client visibility settings
|
|
+ public double trackingRangeModifier = 1.0; // Sakura - entity tracking range modifier
|
|
|
|
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) {
|
|
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
index f3f4b4df097e1e593ac5028f7d3db92fc407d831..12e6681470575564a0833aa68cc62f7b399cef66 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -3025,6 +3025,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance();
|
|
}
|
|
|
|
+ // Sakura start - entity tracking range modifier
|
|
+ @Override
|
|
+ public double getTrackingRangeModifier() {
|
|
+ return this.getHandle().trackingRangeModifier * 100.0;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setTrackingRangeModifier(double mod) {
|
|
+ this.getHandle().trackingRangeModifier = mod / 100.0;
|
|
+ }
|
|
+ // Sakura end - entity tracking range modifier
|
|
+
|
|
// Paper start
|
|
@Override
|
|
public java.util.Locale locale() {
|