Search in sources :

Example 1 with TrainBase

use of club.nsdn.nyasamarailway.entity.TrainBase in project NyaSamaRailway by NSDN.

the class ItemTrainBase method onItemUse.

@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float px, float py, float pz) {
    if (BlockRailBase.func_150051_a(world.getBlock(x, y, z))) {
        if (!world.isRemote) {
            TrainBase trainBody = new TrainBase(world, (double) x + 0.5, (double) y + 0.5, (double) z + 0.5);
            MinecartBase bogieF = new NSBT1(world, (double) x + 0.5, (double) y + 0.5, (double) z + 0.5);
            MinecartBase bogieB = new NSBT1(world, (double) x + 0.5, (double) y + 0.5, (double) z + 0.5);
            if (itemStack.hasDisplayName()) {
                trainBody.setMinecartName(itemStack.getDisplayName());
            }
            trainBody.addBogie(0, bogieF.getEntityId(), 2.0);
            trainBody.addBogie(1, bogieB.getEntityId(), -2.0);
            world.spawnEntityInWorld(trainBody);
            if (getRailDirection(world, x, y, z) == RailDirection.WE) {
                bogieF.posX += 2.0;
                bogieB.posX -= 2.0;
            } else if (getRailDirection(world, x, y, z) == RailDirection.NS) {
                bogieF.posZ += 2.0;
                bogieB.posZ -= 2.0;
            }
            world.spawnEntityInWorld(bogieF);
            world.spawnEntityInWorld(bogieB);
        }
        --itemStack.stackSize;
        return true;
    } else {
        return false;
    }
}
Also used : MinecartBase(club.nsdn.nyasamarailway.entity.MinecartBase) TrainBase(club.nsdn.nyasamarailway.entity.TrainBase) NSBT1(club.nsdn.nyasamarailway.entity.cart.NSBT1)

Aggregations

MinecartBase (club.nsdn.nyasamarailway.entity.MinecartBase)1 TrainBase (club.nsdn.nyasamarailway.entity.TrainBase)1 NSBT1 (club.nsdn.nyasamarailway.entity.cart.NSBT1)1