use of club.nsdn.nyasamarailway.entity.IHighSpeedCart in project NyaSamaRailway by NSDN.
the class ItemNTP8Bit method onUpdate.
@Override
public void onUpdate(ItemStack itemStack, World world, Entity entity, int index, boolean inHand) {
if (!world.isRemote && inHand) {
if (entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) entity;
TrainPacket packet = new TrainPacket();
packet.P = this.power.get(itemStack);
packet.R = this.brake.get(itemStack);
packet.Dir = this.dir.get(itemStack);
packet.Mode = this.mode.get(itemStack);
packet.dimensionID = player.dimension;
EntityMinecart cart = packet.getCartInServer(this.cart.get(itemStack));
if (cart != null) {
if (cart instanceof IHighSpeedCart) {
((IHighSpeedCart) cart).setHighSpeedMode(packet.Mode);
}
if (cart instanceof LocoBase) {
((LocoBase) cart).setTrainPacket(packet);
return;
}
if (Traincraft.getInstance() != null) {
if (Traincraft.instance.isLocomotive(cart)) {
Traincraft.instance.Locomotive_setIsLocoTurnedOn(cart, true);
}
}
packet.Velocity = Dynamics.vel(cart.motionX, cart.motionZ);
TrainController.doMotion(packet, cart);
}
}
}
}
use of club.nsdn.nyasamarailway.entity.IHighSpeedCart in project NyaSamaRailway by NSDN.
the class EntityInteractHandler method onEntityInteract.
@SubscribeEvent
public void onEntityInteract(EntityInteractEvent event) {
if (event.entityLiving instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entityLiving;
if (player.worldObj.isRemote)
return;
Entity entity = event.target;
ItemStack stack = player.getCurrentEquippedItem();
if (stack != null) {
if (stack.getItem() instanceof ItemNTP8Bit) {
if (player.isSneaking()) {
((ItemNTP8Bit) stack.getItem()).clearCart(stack, player);
return;
}
if (entity instanceof EntityMinecart) {
((ItemNTP8Bit) stack.getItem()).addCart(stack, player, entity);
}
} else if (stack.getItem() instanceof ItemNTP32Bit) {
if (player.isSneaking()) {
((ItemNTP32Bit) stack.getItem()).clearCart(stack, player);
return;
}
if (entity instanceof EntityMinecart) {
((ItemNTP32Bit) stack.getItem()).addCart(stack, player, entity);
} else {
if (ExRollerCoaster.getInstance() != null) {
if (ExRollerCoaster.getInstance().verifyEntity(entity)) {
((ItemNTP32Bit) stack.getItem()).addCart(stack, player, entity);
}
}
if (RailsOfWar.getInstance() != null) {
if (RailsOfWar.getInstance().verifyEntity(entity)) {
((ItemNTP32Bit) stack.getItem()).addCart(stack, player, entity);
}
}
}
} else if (stack.getItem() instanceof Item1N4148) {
if (entity instanceof IHighSpeedCart) {
IHighSpeedCart highSpeedCart = (IHighSpeedCart) entity;
highSpeedCart.modifyHighSpeedMode(player);
}
} else if (stack.getItem() instanceof ItemNSPCT5) {
if (entity instanceof NSPCT5) {
((NSPCT5) entity).modifyLength();
}
} else if (stack.getItem() instanceof ItemNSPCT5L) {
if (entity instanceof NSPCT5L) {
((NSPCT5L) entity).modifyLength();
}
}
}
}
}
Aggregations