Move static upgrade helpers in a class with state
This commit is contained in:
@@ -21,7 +21,6 @@ import org.apache.commons.lang3.ArrayUtils;
|
||||
import refinedstorage.api.autocrafting.ICraftingPattern;
|
||||
import refinedstorage.api.network.INetworkMaster;
|
||||
import refinedstorage.api.storage.CompareFlags;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@@ -176,48 +175,6 @@ public final class RefinedStorageUtils {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static int getSpeed(IItemHandler handler) {
|
||||
return getSpeed(handler, 9, 2);
|
||||
}
|
||||
|
||||
public static int getSpeed(IItemHandler handler, int speed, int speedIncrease) {
|
||||
for (int i = 0; i < handler.getSlots(); ++i) {
|
||||
if (handler.getStackInSlot(i) != null && handler.getStackInSlot(i).getMetadata() == ItemUpgrade.TYPE_SPEED) {
|
||||
speed -= speedIncrease;
|
||||
}
|
||||
}
|
||||
|
||||
return speed;
|
||||
}
|
||||
|
||||
public static boolean hasUpgrade(IItemHandler handler, int type) {
|
||||
return getUpgradeCount(handler, type) > 0;
|
||||
}
|
||||
|
||||
public static int getUpgradeCount(IItemHandler handler, int type) {
|
||||
int upgrades = 0;
|
||||
|
||||
for (int i = 0; i < handler.getSlots(); ++i) {
|
||||
if (handler.getStackInSlot(i) != null && handler.getStackInSlot(i).getMetadata() == type) {
|
||||
upgrades++;
|
||||
}
|
||||
}
|
||||
|
||||
return upgrades;
|
||||
}
|
||||
|
||||
public static int getUpgradeEnergyUsage(IItemHandler handler) {
|
||||
int usage = 0;
|
||||
|
||||
for (int i = 0; i < handler.getSlots(); ++i) {
|
||||
if (handler.getStackInSlot(i) != null) {
|
||||
usage += ItemUpgrade.getEnergyUsage(handler.getStackInSlot(i).getMetadata());
|
||||
}
|
||||
}
|
||||
|
||||
return usage;
|
||||
}
|
||||
|
||||
public static void writeBooleanArray(NBTTagCompound tag, String name, boolean[] array) {
|
||||
int[] intArray = new int[array.length];
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@ import net.minecraftforge.items.ItemStackHandler;
|
||||
|
||||
public class BasicItemHandler extends ItemStackHandler {
|
||||
private TileEntity tile;
|
||||
private IItemValidator[] validators;
|
||||
|
||||
protected IItemValidator[] validators;
|
||||
|
||||
public BasicItemHandler(int size, TileEntity tile, IItemValidator... validators) {
|
||||
super(size);
|
||||
|
||||
57
src/main/java/refinedstorage/inventory/UpgradeItemHandler.java
Executable file
57
src/main/java/refinedstorage/inventory/UpgradeItemHandler.java
Executable file
@@ -0,0 +1,57 @@
|
||||
package refinedstorage.inventory;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
|
||||
public class UpgradeItemHandler extends BasicItemHandler {
|
||||
public UpgradeItemHandler(int size, TileEntity tile, int... supportedUpgrades) {
|
||||
super(size, tile, new IItemValidator[supportedUpgrades.length]);
|
||||
|
||||
for (int i = 0; i < supportedUpgrades.length; ++i) {
|
||||
this.validators[i] = new BasicItemValidator(RefinedStorageItems.UPGRADE, supportedUpgrades[i]);
|
||||
}
|
||||
}
|
||||
|
||||
public int getSpeed() {
|
||||
return getSpeed(9, 2);
|
||||
}
|
||||
|
||||
public int getSpeed(int speed, int speedIncrease) {
|
||||
for (int i = 0; i < getSlots(); ++i) {
|
||||
if (getStackInSlot(i) != null && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_SPEED) {
|
||||
speed -= speedIncrease;
|
||||
}
|
||||
}
|
||||
|
||||
return speed;
|
||||
}
|
||||
|
||||
public boolean hasUpgrade(int type) {
|
||||
return getUpgradeCount(type) > 0;
|
||||
}
|
||||
|
||||
public int getUpgradeCount(int type) {
|
||||
int upgrades = 0;
|
||||
|
||||
for (int i = 0; i < getSlots(); ++i) {
|
||||
if (getStackInSlot(i) != null && getStackInSlot(i).getItemDamage() == type) {
|
||||
upgrades++;
|
||||
}
|
||||
}
|
||||
|
||||
return upgrades;
|
||||
}
|
||||
|
||||
public int getEnergyUsage() {
|
||||
int usage = 0;
|
||||
|
||||
for (int i = 0; i < getSlots(); ++i) {
|
||||
if (getStackInSlot(i) != null) {
|
||||
usage += ItemUpgrade.getEnergyUsage(getStackInSlot(i).getItemDamage());
|
||||
}
|
||||
}
|
||||
|
||||
return usage;
|
||||
}
|
||||
}
|
||||
@@ -13,13 +13,12 @@ import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.apiimpl.autocrafting.CraftingTaskScheduler;
|
||||
import refinedstorage.container.ContainerConstructor;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
|
||||
@@ -36,12 +35,7 @@ public class TileConstructor extends TileNode implements ICompareConfig {
|
||||
block = SlotSpecimen.getBlockState(worldObj, pos.offset(getDirection()), getStackInSlot(0));
|
||||
}
|
||||
};
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(
|
||||
4,
|
||||
this,
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_CRAFTING)
|
||||
);
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING);
|
||||
|
||||
private int compare = 0;
|
||||
private IBlockState block;
|
||||
@@ -50,12 +44,12 @@ public class TileConstructor extends TileNode implements ICompareConfig {
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
return RefinedStorage.INSTANCE.constructorUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
return RefinedStorage.INSTANCE.constructorUsage + upgrades.getEnergyUsage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateNode() {
|
||||
if (block != null && ticks % RefinedStorageUtils.getSpeed(upgrades, BASE_SPEED, 4) == 0) {
|
||||
if (block != null && ticks % upgrades.getSpeed(BASE_SPEED, 4) == 0) {
|
||||
BlockPos front = pos.offset(getDirection());
|
||||
|
||||
if (worldObj.isAirBlock(front) && block.getBlock().canPlaceBlockAt(worldObj, front)) {
|
||||
@@ -67,7 +61,7 @@ public class TileConstructor extends TileNode implements ICompareConfig {
|
||||
// From ItemBlock.onItemUse
|
||||
SoundType blockSound = block.getBlock().getSoundType();
|
||||
worldObj.playSound(null, front, blockSound.getPlaceSound(), SoundCategory.BLOCKS, (blockSound.getVolume() + 1.0F) / 2.0F, blockSound.getPitch() * 0.8F);
|
||||
} else if (RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_CRAFTING)) {
|
||||
} else if (upgrades.hasUpgrade(ItemUpgrade.TYPE_CRAFTING)) {
|
||||
ItemStack craft = filter.getStackInSlot(0);
|
||||
|
||||
if (scheduler.canSchedule(compare, craft)) {
|
||||
|
||||
@@ -16,8 +16,8 @@ import refinedstorage.api.autocrafting.ICraftingTask;
|
||||
import refinedstorage.api.network.INetworkMaster;
|
||||
import refinedstorage.container.ContainerCrafter;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.IItemValidator;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemPattern;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
|
||||
@@ -38,11 +38,11 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer {
|
||||
}
|
||||
};
|
||||
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED));
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_SPEED);
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
int usage = RefinedStorage.INSTANCE.crafterUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
int usage = RefinedStorage.INSTANCE.crafterUsage + upgrades.getEnergyUsage();
|
||||
|
||||
for (int i = 0; i < patterns.getSlots(); ++i) {
|
||||
if (patterns.getStackInSlot(i) != null) {
|
||||
@@ -95,7 +95,7 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer {
|
||||
|
||||
@Override
|
||||
public int getSpeed() {
|
||||
return 20 - (RefinedStorageUtils.getUpgradeCount(upgrades, ItemUpgrade.TYPE_SPEED) * 4);
|
||||
return 20 - (upgrades.getUpgradeCount(ItemUpgrade.TYPE_SPEED) * 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -13,11 +13,10 @@ import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.ContainerDestructor;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
@@ -33,23 +32,19 @@ public class TileDestructor extends TileNode implements ICompareConfig, IModeCon
|
||||
private static final int BASE_SPEED = 20;
|
||||
|
||||
private BasicItemHandler filters = new BasicItemHandler(9, this);
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(
|
||||
4,
|
||||
this,
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED)
|
||||
);
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_SPEED);
|
||||
|
||||
private int compare = 0;
|
||||
private int mode = ModeConstants.WHITELIST;
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
return RefinedStorage.INSTANCE.destructorUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
return RefinedStorage.INSTANCE.destructorUsage + upgrades.getEnergyUsage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateNode() {
|
||||
if (ticks % RefinedStorageUtils.getSpeed(upgrades, BASE_SPEED, 4) == 0) {
|
||||
if (ticks % upgrades.getSpeed(BASE_SPEED, 4) == 0) {
|
||||
BlockPos front = pos.offset(getDirection());
|
||||
|
||||
IBlockState frontBlockState = worldObj.getBlockState(front);
|
||||
|
||||
@@ -10,12 +10,11 @@ import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.ItemHandlerHelper;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.apiimpl.autocrafting.CraftingTaskScheduler;
|
||||
import refinedstorage.container.ContainerExporter;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
|
||||
@@ -23,13 +22,7 @@ public class TileExporter extends TileNode implements ICompareConfig {
|
||||
private static final String NBT_COMPARE = "Compare";
|
||||
|
||||
private BasicItemHandler filters = new BasicItemHandler(9, this);
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(
|
||||
4,
|
||||
this,
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_CRAFTING),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK)
|
||||
);
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING, ItemUpgrade.TYPE_STACK);
|
||||
|
||||
private int compare = 0;
|
||||
|
||||
@@ -37,16 +30,16 @@ public class TileExporter extends TileNode implements ICompareConfig {
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
return RefinedStorage.INSTANCE.exporterUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
return RefinedStorage.INSTANCE.exporterUsage + upgrades.getEnergyUsage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateNode() {
|
||||
IItemHandler handler = RefinedStorageUtils.getItemHandler(getFacingTile(), getDirection().getOpposite());
|
||||
|
||||
int size = RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
int size = upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
|
||||
if (handler != null && ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
|
||||
if (handler != null && ticks % upgrades.getSpeed() == 0) {
|
||||
for (int i = 0; i < filters.getSlots(); ++i) {
|
||||
ItemStack slot = filters.getStackInSlot(i);
|
||||
|
||||
@@ -61,7 +54,7 @@ public class TileExporter extends TileNode implements ICompareConfig {
|
||||
if (remainder != null) {
|
||||
network.insertItem(remainder, remainder.stackSize, false);
|
||||
}
|
||||
} else if (RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_CRAFTING)) {
|
||||
} else if (upgrades.hasUpgrade(ItemUpgrade.TYPE_CRAFTING)) {
|
||||
if (scheduler.canSchedule(compare, slot)) {
|
||||
scheduler.schedule(network, compare, slot);
|
||||
}
|
||||
|
||||
@@ -9,11 +9,10 @@ import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.ContainerImporter;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
@@ -25,12 +24,7 @@ public class TileImporter extends TileNode implements ICompareConfig, IModeConfi
|
||||
private 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),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK)
|
||||
);
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
|
||||
private int compare = 0;
|
||||
private int mode = ModeConstants.WHITELIST;
|
||||
@@ -39,7 +33,7 @@ public class TileImporter extends TileNode implements ICompareConfig, IModeConfi
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
return RefinedStorage.INSTANCE.importerUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
return RefinedStorage.INSTANCE.importerUsage + upgrades.getEnergyUsage();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,8 +53,8 @@ public class TileImporter extends TileNode implements ICompareConfig, IModeConfi
|
||||
|
||||
if (stack == null || !ModeFilter.respectsMode(filters, this, compare, stack)) {
|
||||
currentSlot++;
|
||||
} else if (ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
|
||||
int quantity = RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
} else if (ticks % upgrades.getSpeed() == 0) {
|
||||
int quantity = upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1;
|
||||
|
||||
ItemStack result = handler.extractItem(currentSlot, quantity, true);
|
||||
|
||||
|
||||
@@ -10,11 +10,10 @@ import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.ContainerInterface;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
|
||||
@@ -24,12 +23,7 @@ public class TileInterface extends TileNode implements ICompareConfig {
|
||||
private BasicItemHandler importItems = new BasicItemHandler(9, this);
|
||||
private BasicItemHandler exportSpecimenItems = new BasicItemHandler(9, this);
|
||||
private BasicItemHandler exportItems = new BasicItemHandler(9, this);
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(
|
||||
4,
|
||||
this,
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED),
|
||||
new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK)
|
||||
);
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
|
||||
private int compare = 0;
|
||||
|
||||
@@ -37,7 +31,7 @@ public class TileInterface extends TileNode implements ICompareConfig {
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
return RefinedStorage.INSTANCE.interfaceUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
return RefinedStorage.INSTANCE.interfaceUsage + upgrades.getEnergyUsage();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -50,8 +44,8 @@ public class TileInterface extends TileNode implements ICompareConfig {
|
||||
|
||||
if (slot == null) {
|
||||
currentSlot++;
|
||||
} else if (ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
|
||||
int size = Math.min(slot.stackSize, RefinedStorageUtils.hasUpgrade(upgrades, ItemUpgrade.TYPE_STACK) ? 64 : 1);
|
||||
} else if (ticks % upgrades.getSpeed() == 0) {
|
||||
int size = Math.min(slot.stackSize, upgrades.hasUpgrade(ItemUpgrade.TYPE_STACK) ? 64 : 1);
|
||||
|
||||
ItemStack remainder = network.insertItem(slot, size, false);
|
||||
|
||||
|
||||
@@ -9,15 +9,14 @@ import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.api.RefinedStorageAPI;
|
||||
import refinedstorage.api.network.INetworkMaster;
|
||||
import refinedstorage.api.solderer.ISoldererRecipe;
|
||||
import refinedstorage.container.ContainerSolderer;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.SoldererItemHandler;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
|
||||
public class TileSolderer extends TileNode {
|
||||
@@ -25,7 +24,7 @@ public class TileSolderer extends TileNode {
|
||||
private static final String NBT_PROGRESS = "Progress";
|
||||
|
||||
private BasicItemHandler items = new BasicItemHandler(4, this);
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED));
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_SPEED);
|
||||
private SoldererItemHandler[] itemsFacade = new SoldererItemHandler[EnumFacing.values().length];
|
||||
|
||||
private ISoldererRecipe recipe;
|
||||
@@ -36,7 +35,7 @@ public class TileSolderer extends TileNode {
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
return RefinedStorage.INSTANCE.soldererUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
return RefinedStorage.INSTANCE.soldererUsage + upgrades.getEnergyUsage();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -61,7 +60,7 @@ public class TileSolderer extends TileNode {
|
||||
markDirty();
|
||||
}
|
||||
} else if (working) {
|
||||
progress += 1 + RefinedStorageUtils.getUpgradeCount(upgrades, ItemUpgrade.TYPE_SPEED);
|
||||
progress += 1 + upgrades.getUpgradeCount(ItemUpgrade.TYPE_SPEED);
|
||||
|
||||
if (progress >= recipe.getDuration()) {
|
||||
if (items.getStackInSlot(3) != null) {
|
||||
|
||||
@@ -8,20 +8,19 @@ import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.api.network.IWirelessTransmitter;
|
||||
import refinedstorage.container.ContainerWirelessTransmitter;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.UpgradeItemHandler;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
|
||||
public class TileWirelessTransmitter extends TileNode implements IWirelessTransmitter {
|
||||
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_RANGE));
|
||||
private UpgradeItemHandler upgrades = new UpgradeItemHandler(4, this, ItemUpgrade.TYPE_RANGE);
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
return RefinedStorage.INSTANCE.wirelessTransmitterUsage + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||
return RefinedStorage.INSTANCE.wirelessTransmitterUsage + upgrades.getEnergyUsage();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,7 +45,7 @@ public class TileWirelessTransmitter extends TileNode implements IWirelessTransm
|
||||
|
||||
@Override
|
||||
public int getRange() {
|
||||
return RefinedStorage.INSTANCE.wirelessTransmitterBaseRange + (RefinedStorageUtils.getUpgradeCount(upgrades, ItemUpgrade.TYPE_RANGE) * RefinedStorage.INSTANCE.wirelessTransmitterRangePerUpgrade);
|
||||
return RefinedStorage.INSTANCE.wirelessTransmitterBaseRange + (upgrades.getUpgradeCount(ItemUpgrade.TYPE_RANGE) * RefinedStorage.INSTANCE.wirelessTransmitterRangePerUpgrade);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user