BloodMagic/src/main/java/WayofTime/bloodmagic/network/ItemRouterButtonPacketProcessor.java
Nick 6c729db70c Initial 1.9 commit
This DOES NOT BUILD. Do not even attempt.

Almost everything has been ported besides the block/item packages. Then it's a matter of testing what broke.
2016-03-17 13:00:46 -07:00

85 lines
2.6 KiB
Java

package WayofTime.bloodmagic.network;
import WayofTime.bloodmagic.tile.routing.TileFilteredRoutingNode;
import io.netty.buffer.ByteBuf;
import net.minecraft.network.PacketBuffer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import net.minecraftforge.fml.relauncher.Side;
public class ItemRouterButtonPacketProcessor implements IMessage, IMessageHandler<ItemRouterButtonPacketProcessor, IMessage>
{
private int buttonPress;
private int dimension;
private BlockPos pos;
public ItemRouterButtonPacketProcessor()
{
}
public ItemRouterButtonPacketProcessor(int buttonPress, BlockPos pos, World world)
{
this.buttonPress = buttonPress;
this.pos = pos;
this.dimension = world.provider.getDimension();
}
@Override
public void fromBytes(ByteBuf buffer)
{
PacketBuffer buff = new PacketBuffer(buffer);
dimension = buff.readInt();
pos = buff.readBlockPos();
buttonPress = buff.readInt();
}
@Override
public void toBytes(ByteBuf buffer)
{
PacketBuffer buff = new PacketBuffer(buffer);
buff.writeInt(dimension);
buff.writeBlockPos(pos);
buff.writeInt(buttonPress);
}
@Override
public IMessage onMessage(ItemRouterButtonPacketProcessor message, MessageContext ctx)
{
if (ctx.side == Side.SERVER)
{
message.onMessageFromClient();
}
return null;
}
public void onMessageFromClient()
{
World world = DimensionManager.getWorld(dimension);
if (world != null)
{
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileFilteredRoutingNode)
{
if (buttonPress >= 6)
{
if (buttonPress == 6)
{
((TileFilteredRoutingNode) tile).incrementCurrentPriotiryToMaximum(9);
} else if (buttonPress == 7)
{
((TileFilteredRoutingNode) tile).decrementCurrentPriority();
}
} else
{
((TileFilteredRoutingNode) tile).swapFilters(buttonPress);
}
}
}
}
}