@Override protected void checkStateServer() { super.checkStateServer(); if (scanning.getValue()) { int rf = StorageScannerConfiguration.rfPerOperation; rf = (int) (rf * (2.0f - getInfusedFactor()) / 2.0f); if (getEnergyStored(ForgeDirection.DOWN) < rf) { return; } consumeEnergy(rf); int scans = StorageScannerConfiguration.scansPerOperation; scans = scans * (int) (getInfusedFactor() + 1.01f); for (int i = 0; i < scans; i++) { Coordinate c = cur.getCoordinate(); checkInventoryStatus(c.getX(), c.getY(), c.getZ()); if (!advanceCurrent()) { return; } } } }
@Override public void writeToNBT(NBTTagCompound tagCompound) { super.writeToNBT(tagCompound); tagCompound.setBoolean("scanning", scanning.getValue()); c1.writeToNBT(tagCompound, "c1"); c2.writeToNBT(tagCompound, "c2"); cur.writeToNBT(tagCompound, "cur"); inventories.writeToNBT(tagCompound, "inv"); }
@Override public void readFromNBT(NBTTagCompound tagCompound) { super.readFromNBT(tagCompound); scanning.setValue(tagCompound.getBoolean("scanning")); c1.readFromNBT(tagCompound, "c1"); c2.readFromNBT(tagCompound, "c2"); cur.readFromNBT(tagCompound, "cur"); inventories.readFromNBT(tagCompound, "inv"); }
@Override public void writeRestorableToNBT(NBTTagCompound tagCompound) { super.writeRestorableToNBT(tagCompound); tagCompound.setInteger("radius", radius.getValue()); }
@Override public void readRestorableFromNBT(NBTTagCompound tagCompound) { super.readRestorableFromNBT(tagCompound); radius.setValue(tagCompound.getInteger("radius")); }