9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-23 16:59:23 +00:00

Make max interaction distance configurable

This commit is contained in:
Martijn Muijsers
2022-12-24 23:34:08 +01:00
parent 37dec9b234
commit 5304b9d675
24 changed files with 77 additions and 13 deletions

View File

@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Sat, 24 Dec 2022 22:37:29 +0100
Subject: [PATCH] Final timings calls
Subject: [PATCH] Make timings calls final
License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org

View File

@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Sat, 24 Dec 2022 13:24:18 +0100
Subject: [PATCH] Final timings calls
Subject: [PATCH] Make timings calls final
License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org

View File

@@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 2ed3f42b1e487374287d033ac634a922a5ef37bd..b4458776442df2b1e42e143e0b217973618d0af8 100644
index 2ed3f42b1e487374287d033ac634a922a5ef37bd..af96c170c58553f4ce0554c9bd24fea2ad96ed01 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -37,6 +37,7 @@ import net.minecraft.util.Crypt;
@@ -18,17 +18,20 @@ index 2ed3f42b1e487374287d033ac634a922a5ef37bd..b4458776442df2b1e42e143e0b217973
import org.slf4j.Logger;
// CraftBukkit start
@@ -96,7 +97,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@@ -96,7 +97,10 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
}
}
- if (this.tick++ == 600) {
+ if (this.tick++ >= GaleGlobalConfiguration.get().misc.premiumAccountSlowLoginTimeout) { // Gale - make slow login timeout configurable
+ // Gale start - make slow login timeout configurable
+ int slowLoginTimeout = GaleGlobalConfiguration.get().misc.premiumAccountSlowLoginTimeout;
+ if (this.tick++ >= (slowLoginTimeout < 1 ? MAX_TICKS_BEFORE_LOGIN : slowLoginTimeout)) {
+ // Gale end - make slow login timeout configurable
this.disconnect(Component.translatable("multiplayer.disconnect.slow_login"));
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index d87db127a13c37cd4d9e0ff2f0a5b5387c5fbb0b..b25c861d7ea1c167c27fb30fceaf4bbca899a666 100644
index d87db127a13c37cd4d9e0ff2f0a5b5387c5fbb0b..dcbd9b09ffbadaf0af13814c7da1e8b8899b9695 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -42,6 +42,20 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -46,7 +49,7 @@ index d87db127a13c37cd4d9e0ff2f0a5b5387c5fbb0b..b25c861d7ea1c167c27fb30fceaf4bbc
+ * <li><i>Vanilla</i>: -1</li>
+ * </ul>
+ */
+ public int premiumAccountSlowLoginTimeout = 600;
+ public int premiumAccountSlowLoginTimeout = -1;
+ // Gale end - make slow login timeout configurable
+
public IncludeInTimingsReport includeInTimingsReport;

View File

@@ -0,0 +1,61 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Sat, 24 Dec 2022 23:30:35 +0100
Subject: [PATCH] Make max interaction distance configurable
License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 58b093bb1de78ee3b3b2ea364aa50474883f443a..9a511c8e86f7a8b96c450af811bf9d5bb3b28f18 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -173,7 +173,11 @@ public class ServerPlayerGameMode {
private void debugLogging(BlockPos pos, boolean success, int sequence, String reason) {}
public void handleBlockBreakAction(BlockPos pos, ServerboundPlayerActionPacket.Action action, Direction direction, int worldHeight, int sequence) {
- if (this.player.getEyePosition().distanceToSqr(Vec3.atCenterOf(pos)) > ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) {
+ // Gale start - make max interaction distance configurable
+ double configuredMaxInteractionDistance = this.player.level.galeConfig().gameplayMechanics.playerMaxInteractionDistance;
+ double maxInteractionDistanceSquared = configuredMaxInteractionDistance < 0 ? ServerGamePacketListenerImpl.DEFAULT_MAX_INTERACTION_DISTANCE : configuredMaxInteractionDistance * configuredMaxInteractionDistance;
+ if (this.player.getEyePosition().distanceToSqr(Vec3.atCenterOf(pos)) > maxInteractionDistanceSquared) {
+ // Gale end - make max interaction distance configurable
if (true) return; // Paper - Don't notify if unreasonably far away
this.debugLogging(pos, false, sequence, "too far");
} else if (pos.getY() >= worldHeight) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 315c7737f75c426a7e5c091fb340187df12235de..c7f996e8ef77671de4134db37e96022343f223a1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -249,7 +249,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
static final Logger LOGGER = LogUtils.getLogger();
private static final int LATENCY_CHECK_INTERVAL = 15000;
- public static final double MAX_INTERACTION_DISTANCE = Mth.square(6.0D);
+ public static final double DEFAULT_MAX_INTERACTION_DISTANCE = Mth.square(6.0D); // Gale - make max interaction distance configurable
private static final int NO_BLOCK_UPDATES_TO_ACK = -1;
private static final int TRACKED_MESSAGE_DISCONNECT_THRESHOLD = 4096;
private static final Component CHAT_VALIDATION_FAILED = Component.translatable("multiplayer.disconnect.chat_validation_failed");
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index ffc39061f2363b979590888e736dd7a53a0d256a..c5598c0ba356dfc9e1ca66be8dbe7aaffaff316c 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -267,6 +267,18 @@ public class GaleWorldConfiguration extends ConfigurationPart {
public boolean arrowMovementResetsDespawnCounter = true; // Gale - Purpur - make arrow movement resetting despawn counter configurable
public boolean hideFlamesOnEntitiesWithFireResistance = false; // Gale - Slice - hide flames on entities with fire resistance
+ // Gale start - make max interaction distance configurable
+ /**
+ * The maximum distance for blocks with which a player can interact with left- or right-clicking.
+ * Any value < 0 uses the default max distance, which is currently 6.0.
+ * <ul>
+ * <li><i>Default</i>: -1.0</li>
+ * <li><i>Vanilla</i>: -1.0</li>
+ * </ul>
+ */
+ public double playerMaxInteractionDistance = -1.0;
+ // Gale end - make max interaction distance configurable
+
public Fixes fixes;
public class Fixes extends ConfigurationPart {

View File

@@ -36,7 +36,7 @@ index 216929c838446c3c14d9b9906ffa625ef35fcbc8..29c7f53a4fa88a77c4076a6294e689e4
} else {
this.wantedX = vec3.x;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index ffc39061f2363b979590888e736dd7a53a0d256a..aeca83bc1fb000716508c9c4b66b0bc41e481f2c 100644
index c5598c0ba356dfc9e1ca66be8dbe7aaffaff316c..4dd431440caf1ce8cd77e11664a9de51eaaf8322 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -264,6 +264,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -23,7 +23,7 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index b25c861d7ea1c167c27fb30fceaf4bbca899a666..ecbfab92d027ea1e5a3963f88892b34551324609 100644
index dcbd9b09ffbadaf0af13814c7da1e8b8899b9695..77adb09c2cffc153b3cc210441aa8e6cdb98482b 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -98,6 +98,14 @@ public class GaleGlobalConfiguration extends ConfigurationPart {

View File

@@ -87,7 +87,7 @@ index 68247b9daf710c71f84e1fae9d91efed151d39aa..92b30f5293e80e078d8a1a740d22367e
int i = 29999999;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index ecbfab92d027ea1e5a3963f88892b34551324609..ff464fbc0dfe2d9b7d957b574254f2ea8a3545f2 100644
index 77adb09c2cffc153b3cc210441aa8e6cdb98482b..b3abe36458699b32ecfcf9cf8685ad9479cb75e2 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -27,7 +27,29 @@ public class GaleGlobalConfiguration extends ConfigurationPart {

View File

@@ -68,7 +68,7 @@ index b9a799997e3475117ab91d7f3edb5f2f243a9f6b..e23fdd5ba09b50b7eef0ca4f36c54807
import org.yaml.snakeyaml.constructor.SafeConstructor;
import org.yaml.snakeyaml.error.MarkedYAMLException;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index ff464fbc0dfe2d9b7d957b574254f2ea8a3545f2..238e8da987540751c3fcc7c1d91f707fd1e1f927 100644
index b3abe36458699b32ecfcf9cf8685ad9479cb75e2..300c7a31a4b07a566659efff842ed15e8e478663 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -139,6 +139,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {

View File

@@ -1384,7 +1384,7 @@ index 37e0b6212fec71ec9662e6be3b1e8bea487eb4a6..251f098fa2203d06e5e5aa68a31a7653
for (Object o : worldData.cache.values() )
{
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 315c7737f75c426a7e5c091fb340187df12235de..99e684ae2f5ac07660e4f724b15cf1bba185d438 100644
index c7f996e8ef77671de4134db37e96022343f223a1..37c36f94f5dcc8470b1f1d3776d393e6ea4e006a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -186,6 +186,8 @@ import net.minecraft.world.phys.shapes.Shapes;
@@ -1899,7 +1899,7 @@ index 69acbab61a79c24312359a63086f9353d740113f..49ace73d901b6f55545bb21a93d026a0
}
} catch (Exception ex) {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 238e8da987540751c3fcc7c1d91f707fd1e1f927..17b855482c00f6dedef07df8b8ba044088a12eaf 100644
index 300c7a31a4b07a566659efff842ed15e8e478663..cff8a4847ba5b920aed9ae5b9aae1f54373a8c6a 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -2,11 +2,14 @@