Skip to content

Commit f3d4edd

Browse files
committed
Fix dynamic mode calculator logic to use new min and max handling system
1 parent 545d1c6 commit f3d4edd

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/main/java/me/wyzebb/playerviewdistancecontroller/data/VdCalculator.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,22 @@ public static void calcVdSet(Player player, boolean luckPermsEvent, boolean send
4949

5050
int finalChunks = Math.min(amount, luckpermsDistance);
5151

52-
5352
if (amountOthers != 0 && amountOthers != -1) {
5453
finalChunks = ClampAmountUtility.clampChunkValue(amountOthers);
5554
}
5655

57-
if (dynamicModeEnabled) {
58-
finalChunks -= dynamicReducedChunks;
56+
if (player.isOnline() && dynamicModeEnabled) {
57+
PlayerDataHandler playerDataHandler = DataHandlerHandler.getPlayerDataHandler(player);
58+
int maxAllowed = ClampAmountUtility.clampChunkValue(32);
59+
60+
if (playerDataHandler.getChunksOthers() != 0 && playerDataHandler.getChunksOthers() != -1) {
61+
maxAllowed = Math.min(playerDataHandler.getChunksOthers(), luckpermsDistance);
62+
}
63+
64+
int optimisedChunks = Math.max(maxAllowed, plugin.getPingOptimiserConfig().getInt("min"));
65+
optimisedChunks = Math.min(optimisedChunks, plugin.getPingOptimiserConfig().getInt("max"));
66+
67+
finalChunks = ClampAmountUtility.clampChunkValue(optimisedChunks - dynamicReducedChunks);
5968
}
6069

6170
if (!luckPermsEvent) {

0 commit comments

Comments
 (0)