61 lines
1.5 KiB
Java
61 lines
1.5 KiB
Java
/*
|
|
* This file is part of ComputerCraft - http://www.computercraft.info
|
|
* Copyright Daniel Ratcliffe, 2011-2021. Do not distribute without permission.
|
|
* Send enquiries to dratcliffe@gmail.com
|
|
*/
|
|
package dan200.computercraft.shared.network.server;
|
|
|
|
import dan200.computercraft.shared.computer.core.IContainerComputer;
|
|
import dan200.computercraft.shared.computer.core.ServerComputer;
|
|
import net.minecraft.network.PacketBuffer;
|
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
public class ComputerActionServerMessage extends ComputerServerMessage
|
|
{
|
|
private final Action action;
|
|
|
|
public ComputerActionServerMessage( int instanceId, Action action )
|
|
{
|
|
super( instanceId );
|
|
this.action = action;
|
|
}
|
|
|
|
public ComputerActionServerMessage( @Nonnull PacketBuffer buf )
|
|
{
|
|
super( buf );
|
|
action = buf.readEnum( Action.class );
|
|
}
|
|
|
|
@Override
|
|
public void toBytes( @Nonnull PacketBuffer buf )
|
|
{
|
|
super.toBytes( buf );
|
|
buf.writeEnum( action );
|
|
}
|
|
|
|
@Override
|
|
protected void handle( @Nonnull ServerComputer computer, @Nonnull IContainerComputer container )
|
|
{
|
|
switch( action )
|
|
{
|
|
case TURN_ON:
|
|
computer.turnOn();
|
|
break;
|
|
case REBOOT:
|
|
computer.reboot();
|
|
break;
|
|
case SHUTDOWN:
|
|
computer.shutdown();
|
|
break;
|
|
}
|
|
}
|
|
|
|
public enum Action
|
|
{
|
|
TURN_ON,
|
|
SHUTDOWN,
|
|
REBOOT
|
|
}
|
|
}
|