List of usage examples for net.minecraftforge.common FarmlandWaterManager addAABBTicket
public static AABBTicket addAABBTicket(World world, AxisAlignedBB aabb)
From source file:com.buuz135.industrial.tile.agriculture.HydratorTile.java
License:Open Source License
@Override public void onLoad() { if (!world.isRemote) { farmlandTicket = FarmlandWaterManager.addAABBTicket(world, getWateringArea()); updateTicket(); } }
From source file:com.buuz135.industrial.tile.agriculture.HydratorTile.java
License:Open Source License
@Override public float work() { if (WorkUtils.isDisabled(this.getBlockType())) return 0; if (farmlandTicket == null || !farmlandTicket.axisAlignedBB.equals(getWateringArea())) { if (farmlandTicket != null) farmlandTicket.invalidate(); farmlandTicket = FarmlandWaterManager.addAABBTicket(world, getWateringArea()); updateTicket();//from w w w . j a va 2 s .c o m } List<BlockPos> blockPosList = BlockUtils.getBlockPosInAABB(getWorkingArea()); boolean hasWorked = false; for (BlockPos pos : blockPosList) { if (world.getBlockState(pos).getBlock() instanceof IGrowable) { world.getBlockState(pos).getBlock().randomTick(world, pos, world.getBlockState(pos), world.rand); hasWorked = true; } } return hasWorked ? 1 : 0; }