package com.projectreddog.machinemod.network; import com.projectreddog.machinemod.entity.EntityMachineModRideable; import net.minecraft.entity.Entity; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; public class MachineModMessageInputToServerHandler implements IMessageHandler<MachineModMessageInputToServer, IMessage> { @Override public IMessage onMessage(final MachineModMessageInputToServer message, final MessageContext ctx) { ctx.getServerHandler().playerEntity.getServer().addScheduledTask(new Runnable() { public void run() { processMessage(message, ctx); } }); return null; } public void processMessage(MachineModMessageInputToServer message, MessageContext ctx) { Entity entity = ctx.getServerHandler().playerEntity.worldObj.getEntityByID(message.entityid); if (entity != null) { if (entity instanceof EntityMachineModRideable) { if (((EntityMachineModRideable) entity).getControllingPassenger() == ctx.getServerHandler().playerEntity) { // its ridden by this player (avoid some hacks) ((EntityMachineModRideable) entity).isPlayerAccelerating = message.isPlayerAccelerating; ((EntityMachineModRideable) entity).isPlayerBreaking = message.isPlayerBreaking; ((EntityMachineModRideable) entity).isPlayerTurningLeft = message.isPlayerTurningLeft; ((EntityMachineModRideable) entity).isPlayerTurningRight = message.isPlayerTurningRight; ((EntityMachineModRideable) entity).isPlayerPushingSprintButton = message.isPlayerPushingSprintButton; ((EntityMachineModRideable) entity).isPlayerPushingJumpButton = message.isPlayerPushingJumpButton; ((EntityMachineModRideable) entity).isPlayerPushingSegment1Up = message.isPlayerPushingSegment1Up; ((EntityMachineModRideable) entity).isPlayerPushingSegment1Down = message.isPlayerPushingSegment1Down; ((EntityMachineModRideable) entity).isPlayerPushingSegment2Up = message.isPlayerPushingSegment2Up; ((EntityMachineModRideable) entity).isPlayerPushingSegment2Down = message.isPlayerPushingSegment2Down; ((EntityMachineModRideable) entity).isPlayerPushingSegment3Up = message.isPlayerPushingSegment3Up; ((EntityMachineModRideable) entity).isPlayerPushingSegment3Down = message.isPlayerPushingSegment3Down; ((EntityMachineModRideable) entity).isPlayerPushingTurretRight = message.isPlayerPushingTurretRight; ((EntityMachineModRideable) entity).isPlayerPushingTurretLeft = message.isPlayerPushingTurretLeft; } } } } }