retire static TickSpeed. Use Server and Client synchronization agents.

This commit is contained in:
gnembon committed 2023-05-17 21:20:00 +02:00
1 parent d0a7967218
commit c6f52b3293
28 files changed
+511 -419

No files matched your search

@@ -5,7 +5,8 @@ import carpet.CarpetExtension;
import carpet.CarpetSettings;
import carpet.api.settings.CarpetRule;
import carpet.api.settings.InvalidRuleValueException;
import carpet.helpers.TickSpeed;
import carpet.fakes.ClientLevelInterface;
import carpet.helpers.TickRateManager;
import carpet.api.settings.SettingsManager;
import io.netty.buffer.Unpooled;
import java.util.HashMap;
@@ -65,15 +66,23 @@ public class ClientNetworkHandler
}
}
});
dataHandlers.put("TickRate", (p, t) -> TickSpeed.tickrateClient(((NumericTag)t).getAsFloat()));
dataHandlers.put("TickRate", (p, t) -> {
TickRateManager tickRateManager = ((ClientLevelInterface)p.clientLevel).getTickRateManager();
tickRateManager.setTickRate(((NumericTag) t).getAsFloat());
});
dataHandlers.put("TickingState", (p, t) -> {
CompoundTag tickingState = (CompoundTag)t;
TickSpeed.setFrozenStateClient(tickingState.getBoolean("is_paused"), tickingState.getBoolean("deepFreeze"));
TickRateManager tickRateManager = ((ClientLevelInterface)p.clientLevel).getTickRateManager();
tickRateManager.setFrozenState(tickingState.getBoolean("is_paused"), tickingState.getBoolean("deepFreeze"));
});
dataHandlers.put("SuperHotState", (p, t) -> {
TickSpeed.setSuperHotClient(((ByteTag) t).equals(ByteTag.ONE));
TickRateManager tickRateManager = ((ClientLevelInterface)p.clientLevel).getTickRateManager();
tickRateManager.setSuperHot(((ByteTag) t).equals(ByteTag.ONE));
});
dataHandlers.put("TickPlayerActiveTimeout", (p, t) -> {
TickRateManager tickRateManager = ((ClientLevelInterface)p.clientLevel).getTickRateManager();
tickRateManager.setPlayerActiveTimeout(((NumericTag) t).getAsInt());
});
dataHandlers.put("TickPlayerActiveTimeout", (p, t) -> TickSpeed.setPlayer_active_timeoutClient(((NumericTag)t).getAsInt()));
dataHandlers.put("scShape", (p, t) -> { // deprecated // and unused // should remove for 1.17
if (CarpetClient.shapes != null)
CarpetClient.shapes.addShape((CompoundTag)t);
@@ -6,7 +6,7 @@ import carpet.api.settings.CarpetRule;
import carpet.api.settings.RuleHelper;
import carpet.fakes.MinecraftServerInterface;
import carpet.fakes.ServerGamePacketListenerImplInterface;
import carpet.helpers.TickRateManager;
import carpet.helpers.ServerTickRateManager;
import carpet.script.utils.SnoopyCommandSource;
import carpet.api.settings.SettingsManager;
import io.netty.buffer.Unpooled;
@@ -260,29 +260,29 @@ public class ServerNetworkHandler
}
private DataBuilder withTickRate()
{
TickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
tag.putFloat("TickRate", trm.tickrate);
ServerTickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
tag.putFloat("TickRate", trm.tickrate());
return this;
}
private DataBuilder withFrozenState()
{
TickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
ServerTickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
CompoundTag tickingState = new CompoundTag();
tickingState.putBoolean("is_paused", trm.isPaused());
tickingState.putBoolean("is_paused", trm.gameIsPaused());
tickingState.putBoolean("deepFreeze", trm.deeplyFrozen());
tag.put("TickingState", tickingState);
return this;
}
private DataBuilder withSuperHotState()
{
TickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
tag.putBoolean("SuperHotState", trm.is_superHot);
ServerTickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
tag.putBoolean("SuperHotState", trm.isSuperHot());
return this;
}
private DataBuilder withTickPlayerActiveTimeout()
{
TickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
tag.putInt("TickPlayerActiveTimeout", trm.player_active_timeout);
ServerTickRateManager trm = ((MinecraftServerInterface)server).getTickRateManager();
tag.putInt("TickPlayerActiveTimeout", trm.getPlayerActiveTimeout());
return this;
}
private DataBuilder withRule(CarpetRule<?> rule)