mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-22 16:29:16 +00:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@691d452 Fix bundled spark permission check (#11355) PaperMC/Paper@012c527 Update Velocity natives (#11347) PaperMC/Paper@953e6e9 Fire BlockExpEvent on grindstone use (#11346) PaperMC/Paper@10f5879 Change condition check order of entity tracking Y (#11348) PaperMC/Paper@805a974 Improve console completion with brig suggestions (#9251) PaperMC/Paper@e0021b1 Fix allowSpiderWorldBorderClimbing world config (#11321) PaperMC/Paper@3db4758 Check dead flag in isAlive() (#11330) PaperMC/Paper@21f125f Revert velocity natives to 3.1.2 (#11368) PaperMC/Paper@0e82527 Fix NPE while trying to respawn an already disconnected player (#11353) PaperMC/Paper@5d91bef Fix shulkerbox loot table replenish (#11366) PaperMC/Paper@a8e6a93 Deprecate for removal all OldEnum-related methods (#11371) PaperMC/Paper@925c3b9 Add FeatureFlag API (#8952) PaperMC/Paper@426f992 Enchantment is data-driven, so not FeatureDependant (#11377) PaperMC/Paper@1ba1be7 Update Velocity natives again PaperMC/Paper@7632de5 Tag Lifecycle Events (#10993) PaperMC/Paper@b09eaf2 Add Item serialization as json api (#11235) PaperMC/Paper@971a7a5 Add Decorated Pot Cracked API (#11365) PaperMC/Paper@61fe23c deprecate isEnabledByFeature in Item/BlockType PaperMC/Paper@e945cfe Fix PaperServerListPingEvent#getPlayerSample not being populated or used (#11387) PaperMC/Paper@4ff58c4 Update spark PaperMC/Paper@d1a72ea Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11405) PaperMC/Paper@0a53f1d Set default drop behavior for player deaths (#11380) PaperMC/Paper@951e7dd Fix TrialSpawner forgetting assigned mob when placed by player (#11381) PaperMC/Paper@13a2395 Fix enable-player-collisions playing sounds when set to false (#11390) PaperMC/Paper@1348e44 Prevent NPE when serializing unresolved profile (#11407) PaperMC/Paper@2aaf436 Validate slot in PlayerInventory#setSlot (#11399) PaperMC/Paper@5c82955 Only mark decorations dirty if a removal actually occurs (#11413) PaperMC/Paper@c5a1066 Remove wall-time / unused skip tick protection (#11412)
58 lines
3.3 KiB
Diff
58 lines
3.3 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 47e1bec18c9bed6028b63ed6a1bcc66bcd4df238..80c5515b481c01e3a2fb59d4a69bc0a0d2b01792 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
@@ -1290,7 +1290,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 007bc568d3fb23f08790044aa3171727996927dc..4a5844be3683f502eebe01eed7ff1c2a6bf99962 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -333,6 +333,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
|
return this.viewDistanceHolder;
|
|
}
|
|
// Paper end - rewrite chunk system
|
|
+ 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 ff8580ca3e74e7e28afbfa8c2e566b98ced2dbff..c989f7051167ad6b83f0c916aefd068198711dab 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -3017,6 +3017,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() {
|