package net.minecraft.network.protocol.game; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.PacketType; public class ClientboundSetTimePacket implements Packet { public static final StreamCodec STREAM_CODEC = Packet.codec( ClientboundSetTimePacket::write, ClientboundSetTimePacket::new ); private final long gameTime; private final long dayTime; public ClientboundSetTimePacket(long gameTime, long dayTime, boolean daylightCycleEnabled) { this.gameTime = gameTime; long l = dayTime; if (!daylightCycleEnabled) { l = -dayTime; if (l == 0L) { l = -1L; } } this.dayTime = l; } private ClientboundSetTimePacket(FriendlyByteBuf buffer) { this.gameTime = buffer.readLong(); this.dayTime = buffer.readLong(); } /** * Writes the raw packet data to the data stream. */ private void write(FriendlyByteBuf buffer) { buffer.writeLong(this.gameTime); buffer.writeLong(this.dayTime); } @Override public PacketType type() { return GamePacketTypes.CLIENTBOUND_SET_TIME; } /** * Passes this Packet on to the NetHandler for processing. */ public void handle(ClientGamePacketListener handler) { handler.handleSetTime(this); } public long getGameTime() { return this.gameTime; } public long getDayTime() { return this.dayTime; } }