Search in sources :

Example 1 with EntityCartWorldspike

use of mods.railcraft.common.carts.EntityCartWorldspike in project Railcraft by Railcraft.

the class ChunkManager method ticketsLoaded.

@Override
public void ticketsLoaded(List<Ticket> tickets, World world) {
    //        System.out.println("Callback 2");
    for (Ticket ticket : tickets) {
        if (ticket.isPlayerTicket())
            continue;
        Entity entity = ticket.getEntity();
        if (entity == null) {
            int x = ticket.getModData().getInteger("xCoord");
            int y = ticket.getModData().getInteger("yCoord");
            int z = ticket.getModData().getInteger("zCoord");
            if (y >= 0) {
                TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
                if (tile instanceof TileWorldspike) {
                    TileWorldspike worldspike = (TileWorldspike) tile;
                    worldspike.forceChunkLoading(ticket);
                    printWorldspike(worldspike.getName(), x, y, z);
                }
            }
        } else {
            if (entity instanceof EntityCartWorldspike) {
                EntityCartWorldspike worldspike = (EntityCartWorldspike) entity;
                worldspike.setChunkTicket(ticket);
                //                    System.out.println("Load Cart Chunks");
                worldspike.forceChunkLoading(worldspike.chunkCoordX, worldspike.chunkCoordZ);
                printWorldspike(worldspike.getName(), (int) entity.posX, (int) entity.posY, (int) entity.posZ);
            }
        }
    }
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) Ticket(net.minecraftforge.common.ForgeChunkManager.Ticket) Entity(net.minecraft.entity.Entity) TileEntity(net.minecraft.tileentity.TileEntity) TileWorldspike(mods.railcraft.common.blocks.machine.worldspike.TileWorldspike) BlockPos(net.minecraft.util.math.BlockPos) EntityCartWorldspike(mods.railcraft.common.carts.EntityCartWorldspike)

Example 2 with EntityCartWorldspike

use of mods.railcraft.common.carts.EntityCartWorldspike in project Railcraft by Railcraft.

the class ChunkManager method ticketsLoaded.

@Override
public List<Ticket> ticketsLoaded(List<Ticket> tickets, World world, int maxTicketCount) {
    //        System.out.println("Callback 1");
    Set<Ticket> adminTickets = new HashSet<Ticket>();
    Set<Ticket> worldTickets = new HashSet<Ticket>();
    Set<Ticket> cartTickets = new HashSet<Ticket>();
    for (Ticket ticket : tickets) {
        Entity entity = ticket.getEntity();
        if (entity == null) {
            int y = ticket.getModData().getInteger("yCoord");
            String type = ticket.getModData().getString("type");
            if (y >= 0) {
                if (type.equals(WorldspikeVariant.ADMIN.getTag()))
                    adminTickets.add(ticket);
                else if (type.equals(WorldspikeVariant.STANDARD.getTag()))
                    worldTickets.add(ticket);
                else if (type.isEmpty())
                    worldTickets.add(ticket);
            }
        } else {
            if (entity instanceof EntityCartWorldspike) {
                //                    System.out.println("Claim Cart Ticket");
                cartTickets.add(ticket);
            }
        }
    }
    List<Ticket> claimedTickets = new LinkedList<Ticket>();
    claimedTickets.addAll(cartTickets);
    claimedTickets.addAll(adminTickets);
    claimedTickets.addAll(worldTickets);
    return claimedTickets;
}
Also used : Ticket(net.minecraftforge.common.ForgeChunkManager.Ticket) Entity(net.minecraft.entity.Entity) TileEntity(net.minecraft.tileentity.TileEntity) EntityCartWorldspike(mods.railcraft.common.carts.EntityCartWorldspike) LinkedList(java.util.LinkedList) HashSet(java.util.HashSet)

Aggregations

EntityCartWorldspike (mods.railcraft.common.carts.EntityCartWorldspike)2 Entity (net.minecraft.entity.Entity)2 TileEntity (net.minecraft.tileentity.TileEntity)2 Ticket (net.minecraftforge.common.ForgeChunkManager.Ticket)2 HashSet (java.util.HashSet)1 LinkedList (java.util.LinkedList)1 TileWorldspike (mods.railcraft.common.blocks.machine.worldspike.TileWorldspike)1 BlockPos (net.minecraft.util.math.BlockPos)1