mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-23 08:49:25 +00:00
Add entity tracking range modifier api
This commit is contained in:
23
patches/api/0013-Entity-tracking-range-modifier.patch
Normal file
23
patches/api/0013-Entity-tracking-range-modifier.patch
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Samsuik <kfian294ma4@gmail.com>
|
||||||
|
Date: Tue, 18 Jun 2024 13:34:39 +0100
|
||||||
|
Subject: [PATCH] Entity tracking range modifier
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
index 4c2e82a6421722d9a990ff4a216cedc159c7e579..489ad34e24c8b65d8ac7623d38707fb768d3cac1 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
@@ -68,6 +68,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
|
me.samsuik.sakura.player.visibility.Visibility getVisibility();
|
||||||
|
// Sakura end
|
||||||
|
|
||||||
|
+ // Sakura start - entity tracking range modifier
|
||||||
|
+ double getTrackingRangeModifier();
|
||||||
|
+
|
||||||
|
+ void setTrackingRangeModifier(double mod);
|
||||||
|
+ // Sakura end - entity tracking range modifier
|
||||||
|
+
|
||||||
|
// Paper start
|
||||||
|
@Override
|
||||||
|
default net.kyori.adventure.identity.@NotNull Identity identity() {
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||||
Date: Tue, 12 Sep 2023 06:50:16 -0700
|
Date: Tue, 12 Sep 2023 06:50:16 -0700
|
||||||
Subject: [PATCH] Paper Unapplied - Actually optimise explosions
|
Subject: [PATCH] Paper Unapplied - Actually optimise explosions
|
||||||
|
|
||||||
The vast majority of blocks an explosion of power ~4 tries
|
The vast majority of blocks an explosion of power ~4 tries
|
||||||
to destroy are duplicates. The core of the block destroying
|
to destroy are duplicates. The core of the block destroying
|
||||||
|
|||||||
57
patches/server/0080-Entity-tracking-range-modifier.patch
Normal file
57
patches/server/0080-Entity-tracking-range-modifier.patch
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
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 d779e010ba7c0e99aa3b0ce8462b7e3fa7cced8c..c7e994953c68faffce60ba3c91be1800c8d47020 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
|
@@ -1319,7 +1319,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;
|
||||||
|
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
|
index 98e052fecf852d9426671615d9c21f8cc94fb349..229522e8d54d93a676c6e7f65d975ce6c11b66ff 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
|
@@ -332,6 +332,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 a280b9c9c1451f72758b30b9c514c889c846c88c..49f16d135b7df71e6976ff720bb2e243fb00aae8 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() {
|
||||||
Reference in New Issue
Block a user