fixes some minor issue and improves the code style

This commit is contained in:
way2muchnoise
2016-09-17 01:08:41 +02:00
parent 48b3e7a0bb
commit c8892ac9ee
2 changed files with 29 additions and 12 deletions

View File

@@ -13,7 +13,7 @@ public class GuiDiskManipulator extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(TileDiskManipulator.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(TileDiskManipulator.REDSTONE_MODE));
addSideButton(new SideButtonIOMode(TileDiskManipulator.IOMODE)); addSideButton(new SideButtonIOMode(TileDiskManipulator.IO_MODE));
addSideButton(new SideButtonType(TileDiskManipulator.TYPE)); addSideButton(new SideButtonType(TileDiskManipulator.TYPE));
addSideButton(new SideButtonMode(TileDiskManipulator.MODE)); addSideButton(new SideButtonMode(TileDiskManipulator.MODE));
addSideButton(new SideButtonCompare(TileDiskManipulator.COMPARE, CompareUtils.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(TileDiskManipulator.COMPARE, CompareUtils.COMPARE_DAMAGE));

View File

@@ -31,7 +31,9 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter(); public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter(); public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
public static final TileDataParameter<Integer> TYPE = IType.createParameter(); public static final TileDataParameter<Integer> TYPE = IType.createParameter();
public static final TileDataParameter<Integer> IOMODE = new TileDataParameter<>(DataSerializers.VARINT, 1, new ITileDataProducer<Integer, TileDiskManipulator>() {
public static final int INSERT = 0, EXTRACT = 1;
public static final TileDataParameter<Integer> IO_MODE = new TileDataParameter<>(DataSerializers.VARINT, INSERT, new ITileDataProducer<Integer, TileDiskManipulator>() {
@Override @Override
public Integer getValue(TileDiskManipulator tile) { public Integer getValue(TileDiskManipulator tile) {
return tile.ioMode; return tile.ioMode;
@@ -40,11 +42,10 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
@Override @Override
public void setValue(TileDiskManipulator tile, Integer value) { public void setValue(TileDiskManipulator tile, Integer value) {
tile.ioMode = value; tile.ioMode = value;
tile.markDirty();
} }
}); });
public static final int INSERT = 0, EXTRACT = 1;
private static final String NBT_COMPARE = "Compare"; private static final String NBT_COMPARE = "Compare";
private static final String NBT_MODE = "Mode"; private static final String NBT_MODE = "Mode";
private static final String NBT_TYPE = "Type"; private static final String NBT_TYPE = "Type";
@@ -61,6 +62,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
dataManager.addWatchedParameter(COMPARE); dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(MODE); dataManager.addWatchedParameter(MODE);
dataManager.addWatchedParameter(TYPE); dataManager.addWatchedParameter(TYPE);
dataManager.addWatchedParameter(IO_MODE);
itemStorages = new ItemStorage[6]; itemStorages = new ItemStorage[6];
fluidStorages = new FluidStorage[6]; fluidStorages = new FluidStorage[6];
@@ -212,16 +214,21 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
int ii = 0; int ii = 0;
do { do {
ItemStack stack = null; ItemStack stack = null;
while (storage.getItems().size() > ii && stack == null) while (storage.getItems().size() > ii && stack == null) {
stack = storage.getItems().get(ii++); stack = storage.getItems().get(ii++);
if (stack != null) extracted = storage.extractItem(stack, 1, compare); }
if (stack != null) {
extracted = storage.extractItem(stack, 1, compare);
}
} while (storage.getItems().size() > ii && extracted == null); } while (storage.getItems().size() > ii && extracted == null);
if (extracted == null) { if (extracted == null) {
moveDriveToOutput(slot); moveDriveToOutput(slot);
return; return;
} }
ItemStack leftOver = network.insertItem(extracted, extracted.stackSize, false); ItemStack leftOver = network.insertItem(extracted, extracted.stackSize, false);
if (leftOver != null) storage.insertItem(leftOver, leftOver.stackSize, false); if (leftOver != null) {
storage.insertItem(leftOver, leftOver.stackSize, false);
}
} }
private void extractFromNetwork(ItemStorage storage, int slot) { private void extractFromNetwork(ItemStorage storage, int slot) {
@@ -237,15 +244,21 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
int ii = 0; int ii = 0;
do { do {
FluidStack stack = storage.getStacks().get(ii); FluidStack stack = storage.getStacks().get(ii);
while (stack == null && storage.getStacks().size() > ii) ii++; while (stack == null && storage.getStacks().size() > ii) {
if (stack != null) extracted = storage.extractFluid(stack, 1, compare); ii++;
}
if (stack != null) {
extracted = storage.extractFluid(stack, 1, compare);
}
} while (extracted == null && storage.getStacks().size() > ii); } while (extracted == null && storage.getStacks().size() > ii);
if (extracted == null) { if (extracted == null) {
moveDriveToOutput(slot); moveDriveToOutput(slot);
return; return;
} }
FluidStack leftOver = network.insertFluid(extracted, extracted.amount, false); FluidStack leftOver = network.insertFluid(extracted, extracted.amount, false);
if (leftOver != null) storage.insertFluid(leftOver, leftOver.amount, false); if (leftOver != null) {
storage.insertFluid(leftOver, leftOver.amount, false);
}
} }
private void extractFromNetwork(FluidStorage storage, int slot) { private void extractFromNetwork(FluidStorage storage, int slot) {
@@ -255,8 +268,12 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte
ItemStack disk = disks.getStackInSlot(slot); ItemStack disk = disks.getStackInSlot(slot);
if (disk != null) { if (disk != null) {
int i = 6; int i = 6;
while (disks.getStackInSlot(i) != null && i < 12) i++; while (disks.getStackInSlot(i) != null && i < 12) {
if (i == 12) return; i++;
}
if (i == 12) {
return;
}
if (slot < 6) { if (slot < 6) {
if (itemStorages[slot] != null) { if (itemStorages[slot] != null) {
itemStorages[slot].writeToNBT(); itemStorages[slot].writeToNBT();