Use setters and getters for frozen state, separate superHot and
don't tick regular tick events
This commit is contained in:
9 files changed
+71
-25
No files matched your search
@@ -9,6 +9,7 @@ import carpet.settings.SettingsManager;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.client.network.ClientPlayerEntity;
|
||||
import net.minecraft.nbt.AbstractNumberTag;
|
||||
import net.minecraft.nbt.ByteTag;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.ListTag;
|
||||
import net.minecraft.nbt.Tag;
|
||||
@@ -67,9 +68,10 @@ public class ClientNetworkHandler
|
||||
dataHandlers.put("TickRate", (p, t) -> TickSpeed.tickrate(((AbstractNumberTag)t).getFloat(), false));
|
||||
dataHandlers.put("TickingState", (p, t) -> {
|
||||
CompoundTag tickingState = (CompoundTag)t;
|
||||
TickSpeed.is_paused = tickingState.getBoolean("is_paused");
|
||||
TickSpeed.deepFreeze = tickingState.getBoolean("deepFreeze");
|
||||
TickSpeed.is_superHot = tickingState.getBoolean("is_superHot");
|
||||
TickSpeed.setFrozenState(tickingState.getBoolean("is_paused"), tickingState.getBoolean("deepFreeze"));
|
||||
});
|
||||
dataHandlers.put("SuperHotState", (p, t) -> {
|
||||
TickSpeed.is_superHot = ((ByteTag) t).equals(ByteTag.ONE);
|
||||
});
|
||||
dataHandlers.put("TickPlayerActiveTimeout", (p, t) -> TickSpeed.player_active_timeout = ((AbstractNumberTag)t).getInt());
|
||||
dataHandlers.put("scShape", (p, t) -> { // deprecated
|
||||
|
||||
@@ -77,7 +77,7 @@ public class ServerNetworkHandler
|
||||
CarpetSettings.LOG.info("Player "+playerEntity.getName().getString()+" joined with a matching carpet client");
|
||||
else
|
||||
CarpetSettings.LOG.warn("Player "+playerEntity.getName().getString()+" joined with another carpet version: "+clientVersion);
|
||||
DataBuilder data = DataBuilder.create().withTickRate().withTickingState().withTickPlayerActiveTimeout();
|
||||
DataBuilder data = DataBuilder.create().withTickRate().withFrozenState().withTickPlayerActiveTimeout(); // .withSuperHotState()
|
||||
CarpetServer.settingsManager.getRules().forEach(data::withRule);
|
||||
CarpetServer.extensions.forEach(e -> {
|
||||
SettingsManager eManager = e.customSettingsManager();
|
||||
@@ -173,14 +173,26 @@ public class ServerNetworkHandler
|
||||
}
|
||||
}
|
||||
|
||||
public static void updateTickingStateToConnectedPlayers()
|
||||
public static void updateFrozenStateToConnectedPlayers()
|
||||
{
|
||||
if (CarpetSettings.superSecretSetting) return;
|
||||
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
|
||||
{
|
||||
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
||||
CarpetClient.CARPET_CHANNEL,
|
||||
DataBuilder.create().withTickingState().build()
|
||||
DataBuilder.create().withFrozenState().build()
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
public static void updateSuperHotStateToConnectedPlayers()
|
||||
{
|
||||
if(CarpetSettings.superSecretSetting) return;
|
||||
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
|
||||
{
|
||||
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
||||
CarpetClient.CARPET_CHANNEL,
|
||||
DataBuilder.create().withSuperHotState().build()
|
||||
));
|
||||
}
|
||||
}
|
||||
@@ -264,15 +276,19 @@ public class ServerNetworkHandler
|
||||
tag.putFloat("TickRate", TickSpeed.tickrate);
|
||||
return this;
|
||||
}
|
||||
private DataBuilder withTickingState()
|
||||
private DataBuilder withFrozenState()
|
||||
{
|
||||
CompoundTag tickingState = new CompoundTag();
|
||||
tickingState.putBoolean("is_paused", TickSpeed.is_paused);
|
||||
tickingState.putBoolean("deepFreeze", TickSpeed.deepFreeze);
|
||||
tickingState.putBoolean("is_superhot", TickSpeed.is_superHot);
|
||||
tickingState.putBoolean("is_paused", TickSpeed.isPaused());
|
||||
tickingState.putBoolean("deepFreeze", TickSpeed.deeplyFrozen());
|
||||
tag.put("TickingState", tickingState);
|
||||
return this;
|
||||
}
|
||||
private DataBuilder withSuperHotState()
|
||||
{
|
||||
tag.putBoolean("SuperHotState", TickSpeed.is_superHot);
|
||||
return this;
|
||||
}
|
||||
private DataBuilder withTickPlayerActiveTimeout()
|
||||
{
|
||||
tag.putInt("TickPlayerActiveTimeout", TickSpeed.player_active_timeout);
|
||||
|
||||
Reference in new issue
Block a user