@Override protected boolean hasErrors() { return delegate.getErrorLogic().hasErrors(); }
private boolean isThrottled(IEffectData storedData, IBeeHousing housing) { if (requiresWorkingQueen && housing.getErrorLogic().hasErrors()) { return true; } int time = storedData.getInteger(0); time++; storedData.setInteger(0, time); if (time < throttle) { return true; } // Reset since we are done throttling. storedData.setInteger(0, 0); return false; }
@Override public void onUpdate() { if (new Random().nextInt(2400) == 0) { TileEntity tile = this.getMachine().getTileEntity(); if (tile instanceof TileExtraBeeAlveary) { final IBeeHousing house = ((TileExtraBeeAlveary) tile).getMultiblockLogic().getController(); if (house != null && !house.getErrorLogic().hasErrors()) { final ItemStack queenStack = house.getBeeInventory().getQueen(); final IBee queen = (queenStack.isEmpty()) ? null : Utils.getBeeRoot().getMember(queenStack); if (queen != null) { final ItemStack larvae = Utils.getBeeRoot().getMemberStack(Utils.getBeeRoot().getBee(queen.getGenome()), EnumBeeType.LARVAE); new TransferRequest(larvae, this.getInventory()).transfer(null, true); } } } } } }
errorLogic.setCondition(fillStatus == FluidHelper.FillStatus.NO_SPACE, EnumErrorCode.NO_SPACE_INVENTORY); errorLogic.setCondition(emptyStatus == FluidHelper.FillStatus.NO_SPACE_FLUID, EnumErrorCode.NO_SPACE_TANK); if (emptyStatus == FillStatus.INVALID_INPUT || fillStatus == FillStatus.INVALID_INPUT || errorLogic.hasErrors()) { currentRecipe = null; return false;
@Override public void updateServerSide() { if (updateOnInterval(20)) { IErrorLogic errorLogic = getErrorLogic(); BlockPos pos = getPos(); Biome biome = world.getBiome(pos); errorLogic.setCondition(!biome.canRain(), EnumErrorCode.NO_RAIN_BIOME); BlockPos posAbove = pos.up(); boolean hasSky = world.canBlockSeeSky(posAbove); errorLogic.setCondition(!hasSky, EnumErrorCode.NO_SKY_RAIN_TANK); errorLogic.setCondition(!world.isRainingAt(posAbove), EnumErrorCode.NOT_RAINING); if (!errorLogic.hasErrors()) { resourceTank.fillInternal(WATER_PER_UPDATE, true); } containerFiller.updateServerSide(); } if (canDumpBelow == null) { canDumpBelow = FluidHelper.canAcceptFluid(world, getPos().down(), EnumFacing.UP, STACK_WATER); } if (canDumpBelow) { if (dumpingFluid || updateOnInterval(20)) { dumpingFluid = dumpFluidBelow(); } } }