mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-29 03:49:21 +00:00
fix reduce chunk source updates position check and mark experimental
This commit is contained in:
@@ -5,24 +5,15 @@ Subject: [PATCH] Reduce PlayerChunk Updates
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 983f2b1c12d2e64c099ba7c717b9d2bc7f1770ce..6dc940aa6ee513e5c87b6058ccaa90bba91bade9 100644
|
||||
index 7c12d65849a975aedfb94fc135bad7071908a02b..d6078ccf648c77717291e784200f952633fbbacf 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1457,6 +1457,8 @@ public class ServerGamePacketListenerImpl
|
||||
this.resetPosition();
|
||||
}
|
||||
|
||||
+ final net.minecraft.world.level.ChunkPos playerStartChunkPosition = this.player.chunkPosition(); // Leaf - Reduce PlayerChunk Updates
|
||||
+
|
||||
if (this.player.hasClientLoaded()) {
|
||||
float f = Mth.wrapDegrees(packet.getYRot(this.player.getYRot())); final float toYaw = f; // Paper - OBFHELPER
|
||||
float f1 = Mth.wrapDegrees(packet.getXRot(this.player.getXRot())); final float toPitch = f1; // Paper - OBFHELPER
|
||||
@@ -1734,7 +1736,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -1734,7 +1734,7 @@ public class ServerGamePacketListenerImpl
|
||||
&& !isFallFlying
|
||||
&& !isAutoSpinAttack
|
||||
&& this.noBlocksAround(this.player);
|
||||
- this.player.level().getChunkSource().move(this.player);
|
||||
+ if (!org.dreeam.leaf.config.modules.opt.ReduceChunkSourceUpdates.enabled || this.player.level() != serverLevel || this.player.chunkPosition() == playerStartChunkPosition) this.player.level().getChunkSource().move(this.player); // Leaf - Reduce PlayerChunk Updates
|
||||
+ if (!org.dreeam.leaf.config.modules.opt.ReduceChunkSourceUpdates.enabled || this.player.getLastSectionPos().asLong() != net.minecraft.core.SectionPos.asLong(this.player.blockPosition())) this.player.level().getChunkSource().move(this.player); // Leaf - Reduce PlayerChunk Updates
|
||||
Vec3 vec3 = new Vec3(this.player.getX() - x, this.player.getY() - y, this.player.getZ() - z);
|
||||
this.player.setOnGroundWithMovement(packet.isOnGround(), packet.horizontalCollision(), vec3);
|
||||
this.player.doCheckFallDamage(vec3.x, vec3.y, vec3.z, packet.isOnGround());
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.dreeam.leaf.config.modules.opt;
|
||||
|
||||
import org.dreeam.leaf.config.ConfigModules;
|
||||
import org.dreeam.leaf.config.EnumConfigCategory;
|
||||
import org.dreeam.leaf.config.annotations.Experimental;
|
||||
|
||||
public class ReduceChunkSourceUpdates extends ConfigModules {
|
||||
|
||||
@@ -9,15 +10,20 @@ public class ReduceChunkSourceUpdates extends ConfigModules {
|
||||
return EnumConfigCategory.PERF.getBaseKeyName() + ".reduce-chunk-source-updates";
|
||||
}
|
||||
|
||||
@Experimental
|
||||
public static boolean enabled = false;
|
||||
|
||||
@Override
|
||||
public void onLoaded() {
|
||||
enabled = config.getBoolean(getBasePath() + ".enabled", enabled,
|
||||
config.pickStringRegionBased(
|
||||
"Reduces chunk source updates on inter-chunk player moves.",
|
||||
"减少玩家跨区块移动时的区块源更新。"
|
||||
)
|
||||
config.addCommentRegionBased(getBasePath(), """
|
||||
*** Experimental Feature ***
|
||||
Reduces chunk source updates on inter-chunk player moves.""", """
|
||||
*** 实验性功能 ***
|
||||
减少玩家跨区块移动时的区块源更新."""
|
||||
);
|
||||
enabled = config.getBoolean(getBasePath() + ".force-enabled", enabled);
|
||||
if (config.getBoolean(getBasePath() + ".enabled", enabled)) {
|
||||
LOGGER.warn("Disabled reduce-chunk-source-updates due to its experimental");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user