package mods.ocminecart.common.blocks; import li.cil.oc.api.network.Environment; import mods.ocminecart.OCMinecart; import mods.ocminecart.common.tileentity.NetworkRailBaseTile; import net.minecraft.block.BlockRailBase; import net.minecraft.entity.item.EntityMinecart; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class NetworkRail extends BlockRailBase implements INetRail{ protected NetworkRail() { super(false); this.setBlockTextureName(OCMinecart.MODID+":netrail"); this.setBlockName(OCMinecart.MODID+".networkrail"); this.setHardness(0.7F); } public boolean isFlexibleRail(IBlockAccess world, int y, int x, int z){ return false; } public boolean canMakeSlopes(IBlockAccess world, int x, int y, int z){ return false; } @Override public Environment getResponseEnvironment(World world, int x, int y, int z) { if(world.getTileEntity(x, y-1, z) instanceof NetworkRailBaseTile) return ((NetworkRailBaseTile) world.getTileEntity(x, y-1, z)).getRailPlug(); return null; } @Override public boolean isValid(World world, int x, int y, int z, EntityMinecart cart) { return (cart instanceof Environment) && cart.getDistance(x+0.5, y+0.5, z+0.5)<0.5 && cart.worldObj == world; } }