fixes some minor issue and improves the code style
This commit is contained in:
@@ -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));
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user