Add stack upgrade to importer and exporter
This commit is contained in:
@@ -32,7 +32,7 @@ public class GuiWirelessTransmitter extends GuiBase {
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:wireless_transmitter"));
|
||||
drawString(28, 24, t("gui.refinedstorage:wireless_transmitter.distance", wirelessTransmitter.getRange()));
|
||||
drawString(28, 25, t("gui.refinedstorage:wireless_transmitter.distance", wirelessTransmitter.getRange()));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ public class ItemUpgrade extends ItemBase {
|
||||
public static final int TYPE_RANGE = 1;
|
||||
public static final int TYPE_SPEED = 2;
|
||||
public static final int TYPE_CRAFTING = 3;
|
||||
public static final int TYPE_STACK = 4;
|
||||
|
||||
public ItemUpgrade() {
|
||||
super("upgrade");
|
||||
@@ -21,7 +22,7 @@ public class ItemUpgrade extends ItemBase {
|
||||
|
||||
@Override
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
for (int i = 0; i <= 3; ++i) {
|
||||
for (int i = 0; i <= 4; ++i) {
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
@@ -34,6 +35,8 @@ public class ItemUpgrade extends ItemBase {
|
||||
return 2;
|
||||
case TYPE_CRAFTING:
|
||||
return 5;
|
||||
case TYPE_STACK:
|
||||
return 12;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -416,6 +416,7 @@ public class CommonProxy {
|
||||
SoldererRegistry.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_RANGE));
|
||||
SoldererRegistry.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_SPEED));
|
||||
SoldererRegistry.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_CRAFTING));
|
||||
SoldererRegistry.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_STACK));
|
||||
|
||||
// Storage Blocks
|
||||
SoldererRegistry.addRecipe(new SoldererRecipeStorage(EnumStorageType.TYPE_1K, ItemStoragePart.TYPE_1K));
|
||||
|
||||
@@ -26,7 +26,8 @@ public class TileExporter extends TileMachine implements ICompareConfig {
|
||||
4,
|
||||
this,
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_CRAFTING)
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_CRAFTING),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK)
|
||||
);
|
||||
|
||||
private int compare = 0;
|
||||
@@ -47,7 +48,9 @@ public class TileExporter extends TileMachine implements ICompareConfig {
|
||||
ItemStack slot = filters.getStackInSlot(i);
|
||||
|
||||
if (slot != null) {
|
||||
ItemStack took = controller.take(ItemHandlerHelper.copyStackWithSize(slot, 1), compare);
|
||||
int quantity = RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
|
||||
ItemStack took = controller.take(ItemHandlerHelper.copyStackWithSize(slot, quantity), compare);
|
||||
|
||||
if (took != null) {
|
||||
scheduler.resetSchedule();
|
||||
|
||||
@@ -24,7 +24,12 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
public static final String NBT_MODE = "Mode";
|
||||
|
||||
private BasicItemHandler filters = new BasicItemHandler(9, this);
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED));
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(
|
||||
4,
|
||||
this,
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK)
|
||||
);
|
||||
|
||||
private int compare = 0;
|
||||
private int mode = ModeConstants.WHITELIST;
|
||||
@@ -54,10 +59,12 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
if (stack == null || !ModeFilter.respectsMode(filters, this, compare, stack)) {
|
||||
currentSlot++;
|
||||
} else if (ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
|
||||
ItemStack result = handler.extractItem(currentSlot, 1, true);
|
||||
int quantity = RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
|
||||
ItemStack result = handler.extractItem(currentSlot, quantity, true);
|
||||
|
||||
if (result != null && controller.push(result)) {
|
||||
handler.extractItem(currentSlot, 1, false);
|
||||
handler.extractItem(currentSlot, quantity, false);
|
||||
} else {
|
||||
currentSlot++;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,8 @@ public class SoldererRecipeUpgrade implements ISoldererRecipe {
|
||||
return new ItemStack(Blocks.REDSTONE_BLOCK);
|
||||
case ItemUpgrade.TYPE_CRAFTING:
|
||||
return new ItemStack(Blocks.CRAFTING_TABLE);
|
||||
case ItemUpgrade.TYPE_STACK:
|
||||
return new ItemStack(RefinedStorageItems.UPGRADE, 1, ItemUpgrade.TYPE_SPEED);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user