mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-08-28 00:12:16 +00:00
Adds `TerminalDimensionsClientMessage` that: - is sent to each player on server join. - syncs computer, pocket, and maximum monitor sizes.
This commit is contained in:
parent
872b64692f
commit
b81ef83d68
@ -76,6 +76,7 @@ public final class NetworkHandler
|
|||||||
registerMainThread( 18, SpeakerPlayClientMessage.class, SpeakerPlayClientMessage::new );
|
registerMainThread( 18, SpeakerPlayClientMessage.class, SpeakerPlayClientMessage::new );
|
||||||
registerMainThread( 19, SpeakerStopClientMessage.class, SpeakerStopClientMessage::new );
|
registerMainThread( 19, SpeakerStopClientMessage.class, SpeakerStopClientMessage::new );
|
||||||
registerMainThread( 20, UploadResultMessage.class, UploadResultMessage::new );
|
registerMainThread( 20, UploadResultMessage.class, UploadResultMessage::new );
|
||||||
|
registerMainThread( 21, TerminalDimensionsClientMessage.class, TerminalDimensionsClientMessage::new );
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void receive( MinecraftServer server, ServerPlayer player, ServerGamePacketListenerImpl handler, FriendlyByteBuf buffer, PacketSender sender )
|
private static void receive( MinecraftServer server, ServerPlayer player, ServerGamePacketListenerImpl handler, FriendlyByteBuf buffer, PacketSender sender )
|
||||||
|
@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||||
|
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||||
|
* Send enquiries to dratcliffe@gmail.com
|
||||||
|
*/
|
||||||
|
package dan200.computercraft.shared.network.client;
|
||||||
|
|
||||||
|
import dan200.computercraft.ComputerCraft;
|
||||||
|
import dan200.computercraft.shared.network.NetworkMessage;
|
||||||
|
import dan200.computercraft.shared.network.PacketContext;
|
||||||
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The terminal and portable computer server-side configured dimensions.
|
||||||
|
*/
|
||||||
|
public class TerminalDimensionsClientMessage implements NetworkMessage
|
||||||
|
{
|
||||||
|
|
||||||
|
private final int computerTermWidth;
|
||||||
|
private final int computerTermHeight;
|
||||||
|
private final int pocketTermWidth;
|
||||||
|
private final int pocketTermHeight;
|
||||||
|
private final int monitorWidth;
|
||||||
|
private final int monitorHeight;
|
||||||
|
|
||||||
|
public TerminalDimensionsClientMessage()
|
||||||
|
{
|
||||||
|
this.computerTermWidth = ComputerCraft.computerTermWidth;
|
||||||
|
this.computerTermHeight = ComputerCraft.computerTermHeight;
|
||||||
|
this.pocketTermWidth = ComputerCraft.pocketTermWidth;
|
||||||
|
this.pocketTermHeight = ComputerCraft.pocketTermHeight;
|
||||||
|
this.monitorHeight = ComputerCraft.monitorHeight;
|
||||||
|
this.monitorWidth = ComputerCraft.monitorWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TerminalDimensionsClientMessage( @Nonnull FriendlyByteBuf buf )
|
||||||
|
{
|
||||||
|
computerTermWidth = buf.readVarInt();
|
||||||
|
computerTermHeight = buf.readVarInt();
|
||||||
|
pocketTermWidth = buf.readVarInt();
|
||||||
|
pocketTermHeight = buf.readVarInt();
|
||||||
|
monitorHeight = buf.readVarInt();
|
||||||
|
monitorWidth = buf.readVarInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void toBytes( FriendlyByteBuf buf )
|
||||||
|
{
|
||||||
|
buf.writeVarInt( computerTermWidth );
|
||||||
|
buf.writeVarInt( computerTermHeight );
|
||||||
|
buf.writeVarInt( pocketTermWidth );
|
||||||
|
buf.writeVarInt( pocketTermHeight );
|
||||||
|
buf.writeVarInt( monitorWidth );
|
||||||
|
buf.writeVarInt( monitorHeight );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle( PacketContext context )
|
||||||
|
{
|
||||||
|
ComputerCraft.computerTermWidth = this.computerTermWidth;
|
||||||
|
ComputerCraft.computerTermHeight = this.computerTermHeight;
|
||||||
|
ComputerCraft.pocketTermWidth = this.pocketTermWidth;
|
||||||
|
ComputerCraft.pocketTermHeight = this.pocketTermHeight;
|
||||||
|
ComputerCraft.monitorWidth = this.monitorWidth;
|
||||||
|
ComputerCraft.monitorHeight = this.monitorHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -23,6 +23,7 @@ import dan200.computercraft.shared.data.HasComputerIdLootCondition;
|
|||||||
import dan200.computercraft.shared.data.PlayerCreativeLootCondition;
|
import dan200.computercraft.shared.data.PlayerCreativeLootCondition;
|
||||||
import dan200.computercraft.shared.media.items.RecordMedia;
|
import dan200.computercraft.shared.media.items.RecordMedia;
|
||||||
import dan200.computercraft.shared.network.NetworkHandler;
|
import dan200.computercraft.shared.network.NetworkHandler;
|
||||||
|
import dan200.computercraft.shared.network.client.TerminalDimensionsClientMessage;
|
||||||
import dan200.computercraft.shared.peripheral.commandblock.CommandBlockPeripheral;
|
import dan200.computercraft.shared.peripheral.commandblock.CommandBlockPeripheral;
|
||||||
import dan200.computercraft.shared.peripheral.generic.methods.InventoryMethods;
|
import dan200.computercraft.shared.peripheral.generic.methods.InventoryMethods;
|
||||||
import dan200.computercraft.shared.peripheral.modem.wired.BlockCable;
|
import dan200.computercraft.shared.peripheral.modem.wired.BlockCable;
|
||||||
@ -36,6 +37,7 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerBlockEntityEvents;
|
|||||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
||||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
|
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
|
||||||
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
|
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
|
||||||
|
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||||
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
@ -139,6 +141,10 @@ public final class ComputerCraftProxyCommon
|
|||||||
// Config
|
// Config
|
||||||
ServerLifecycleEvents.SERVER_STARTING.register( Config::serverStarting );
|
ServerLifecycleEvents.SERVER_STARTING.register( Config::serverStarting );
|
||||||
ServerLifecycleEvents.SERVER_STOPPING.register( Config::serverStopping );
|
ServerLifecycleEvents.SERVER_STOPPING.register( Config::serverStopping );
|
||||||
|
ServerPlayConnectionEvents.JOIN.register( ( listener, sender, server ) ->
|
||||||
|
{
|
||||||
|
NetworkHandler.sendToPlayer( listener.player, new TerminalDimensionsClientMessage() );
|
||||||
|
} );
|
||||||
|
|
||||||
TurtleEvent.EVENT_BUS.register( FurnaceRefuelHandler.INSTANCE );
|
TurtleEvent.EVENT_BUS.register( FurnaceRefuelHandler.INSTANCE );
|
||||||
TurtleEvent.EVENT_BUS.register( new TurtlePermissions() );
|
TurtleEvent.EVENT_BUS.register( new TurtlePermissions() );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user