Cleanups
This commit is contained in:
@@ -7,7 +7,6 @@ import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.text.translation.I18n;
|
||||
import net.minecraftforge.fml.client.config.GuiCheckBox;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.gui.sidebutton.SideButton;
|
||||
@@ -116,10 +115,6 @@ public abstract class GuiBase extends GuiContainer {
|
||||
return addButton(new GuiButton(lastButtonId++, x, y, w, h, text));
|
||||
}
|
||||
|
||||
public GuiButton addCheckBox(int x, int y, String text) {
|
||||
return addButton(new GuiCheckBox(lastButtonId++, x, y, text, false));
|
||||
}
|
||||
|
||||
public GuiButton addButton(GuiButton button) {
|
||||
buttonList.add(button);
|
||||
|
||||
|
||||
@@ -106,11 +106,11 @@ public class InventorySimple implements IInventory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInventory(EntityPlayer playerIn) {
|
||||
public void openInventory(EntityPlayer player) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory(EntityPlayer playerIn) {
|
||||
public void closeInventory(EntityPlayer player) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,7 +32,7 @@ public class MachineSearcher {
|
||||
if (machine.getRedstoneMode().isEnabled(controller.getWorld(), tile.getPos())) {
|
||||
machines.add(machine);
|
||||
} else if (machine instanceof TileRelay) {
|
||||
// if the relay is disabled we can't search any further
|
||||
// If the relay is disabled we can't search any further
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,15 +10,17 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import refinedstorage.container.ContainerConstructor;
|
||||
import refinedstorage.inventory.InventorySimple;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
import refinedstorage.util.UpgradeUtils;
|
||||
|
||||
public class TileConstructor extends TileMachine implements ICompareConfig {
|
||||
public static final int BASE_SPEED = 20;
|
||||
|
||||
public static final String NBT_COMPARE = "Compare";
|
||||
|
||||
public static final int BASE_SPEED = 20;
|
||||
|
||||
private InventorySimple inventory = new InventorySimple("constructor", 1, this);
|
||||
private InventorySimple upgradesInventory = new InventorySimple("upgrades", 4, this);
|
||||
|
||||
@@ -31,18 +33,18 @@ public class TileConstructor extends TileMachine implements ICompareConfig {
|
||||
|
||||
@Override
|
||||
public void updateMachine() {
|
||||
if (ticks % TileInterface.getSpeed(upgradesInventory, BASE_SPEED) == 0 && inventory.getStackInSlot(0) != null) {
|
||||
if (ticks % UpgradeUtils.getSpeed(upgradesInventory, BASE_SPEED, 4) == 0 && inventory.getStackInSlot(0) != null) {
|
||||
BlockPos front = pos.offset(getDirection());
|
||||
|
||||
Block tryingToPlace = ((ItemBlock) inventory.getStackInSlot(0).getItem()).getBlock();
|
||||
Block block = ((ItemBlock) inventory.getStackInSlot(0).getItem()).getBlock();
|
||||
|
||||
if (tryingToPlace.canPlaceBlockAt(worldObj, front)) {
|
||||
if (block.canPlaceBlockAt(worldObj, front)) {
|
||||
ItemStack took = controller.take(inventory.getStackInSlot(0).copy(), compare);
|
||||
|
||||
if (took != null) {
|
||||
worldObj.setBlockState(front, tryingToPlace.getStateFromMeta(took.getItemDamage()), 1 | 2);
|
||||
} else if (TileInterface.hasCrafting(upgradesInventory)) {
|
||||
CraftingPattern pattern = controller.getPattern(inventory.getStackInSlot(0).copy(), compare);
|
||||
worldObj.setBlockState(front, block.getStateFromMeta(took.getItemDamage()), 1 | 2);
|
||||
} else if (UpgradeUtils.hasUpgrade(upgradesInventory, ItemUpgrade.TYPE_CRAFTING)) {
|
||||
CraftingPattern pattern = controller.getPattern(inventory.getStackInSlot(0), compare);
|
||||
|
||||
if (pattern != null && !controller.hasCraftingTask(pattern, compare)) {
|
||||
controller.addCraftingTask(pattern);
|
||||
|
||||
@@ -28,7 +28,8 @@ import refinedstorage.network.MessageWirelessGridItems;
|
||||
import refinedstorage.storage.IStorage;
|
||||
import refinedstorage.storage.IStorageProvider;
|
||||
import refinedstorage.storage.ItemGroup;
|
||||
import refinedstorage.tile.autocrafting.*;
|
||||
import refinedstorage.tile.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.autocrafting.TileCrafter;
|
||||
import refinedstorage.tile.autocrafting.task.BasicCraftingTask;
|
||||
import refinedstorage.tile.autocrafting.task.ICraftingTask;
|
||||
import refinedstorage.tile.autocrafting.task.ProcessingCraftingTask;
|
||||
@@ -362,38 +363,31 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
|
||||
}
|
||||
|
||||
public boolean push(ItemStack stack) {
|
||||
IStorage foundStorage = null;
|
||||
|
||||
for (IStorage storage : storages) {
|
||||
if (storage.canPush(stack)) {
|
||||
foundStorage = storage;
|
||||
storage.push(stack);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
syncItems();
|
||||
|
||||
if (foundStorage == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foundStorage.push(stack);
|
||||
|
||||
syncItems();
|
||||
|
||||
// processing tasks accept 1-per
|
||||
for (int i = 0; i < stack.stackSize; ++i) {
|
||||
for (ICraftingTask task : craftingTasks) {
|
||||
if (task instanceof ProcessingCraftingTask) {
|
||||
if (((ProcessingCraftingTask) task).onInserted(stack)) {
|
||||
break;
|
||||
// Notify processing tasks that we got an item
|
||||
// A processing task accepts itemstacks of 1 item, so give it like that
|
||||
for (int i = 0; i < stack.stackSize; ++i) {
|
||||
for (ICraftingTask task : craftingTasks) {
|
||||
if (task instanceof ProcessingCraftingTask) {
|
||||
if (((ProcessingCraftingTask) task).onInserted(stack)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
markDirty();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
markDirty();
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public ItemStack take(ItemStack stack) {
|
||||
@@ -727,20 +721,19 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
|
||||
int quantityPerRequest = 0;
|
||||
CraftingPattern pattern = getPattern(requested);
|
||||
|
||||
for (ItemStack output : pattern.getOutputs()) {
|
||||
if (InventoryUtils.compareStackNoQuantity(requested, output)) {
|
||||
quantityPerRequest = output.stackSize;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (pattern != null) {
|
||||
for (ItemStack output : pattern.getOutputs()) {
|
||||
if (InventoryUtils.compareStackNoQuantity(requested, output)) {
|
||||
quantityPerRequest = output.stackSize;
|
||||
|
||||
while (quantity > 0) {
|
||||
if (pattern != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (quantity > 0) {
|
||||
addCraftingTask(pattern);
|
||||
|
||||
quantity -= quantityPerRequest;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.ModeConfigUtils;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
import refinedstorage.util.UpgradeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -37,7 +38,7 @@ public class TileDestructor extends TileMachine implements ICompareConfig, IMode
|
||||
|
||||
@Override
|
||||
public void updateMachine() {
|
||||
if (ticks % TileInterface.getSpeed(upgradesInventory, BASE_SPEED) == 0) {
|
||||
if (ticks % UpgradeUtils.getSpeed(upgradesInventory, BASE_SPEED, 4) == 0) {
|
||||
BlockPos front = pos.offset(getDirection());
|
||||
|
||||
IBlockState frontBlockState = worldObj.getBlockState(front);
|
||||
|
||||
@@ -9,9 +9,11 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityHopper;
|
||||
import refinedstorage.container.ContainerExporter;
|
||||
import refinedstorage.inventory.InventorySimple;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
import refinedstorage.util.UpgradeUtils;
|
||||
|
||||
public class TileExporter extends TileMachine implements ICompareConfig {
|
||||
public static final String NBT_COMPARE = "Compare";
|
||||
@@ -33,7 +35,7 @@ public class TileExporter extends TileMachine implements ICompareConfig {
|
||||
if (connectedTile instanceof IInventory) {
|
||||
IInventory connectedInventory = (IInventory) connectedTile;
|
||||
|
||||
if (ticks % TileInterface.getSpeed(upgradesInventory) == 0) {
|
||||
if (ticks % UpgradeUtils.getSpeed(upgradesInventory) == 0) {
|
||||
for (int i = 0; i < inventory.getSizeInventory(); ++i) {
|
||||
ItemStack slot = inventory.getStackInSlot(i);
|
||||
|
||||
@@ -49,7 +51,7 @@ public class TileExporter extends TileMachine implements ICompareConfig {
|
||||
if (remaining != null) {
|
||||
controller.push(remaining);
|
||||
}
|
||||
} else if (TileInterface.hasCrafting(upgradesInventory)) {
|
||||
} else if (UpgradeUtils.hasUpgrade(upgradesInventory, ItemUpgrade.TYPE_CRAFTING)) {
|
||||
CraftingPattern pattern = controller.getPattern(slot, compare);
|
||||
|
||||
if (pattern != null && !controller.hasCraftingTask(pattern, compare)) {
|
||||
|
||||
@@ -12,6 +12,7 @@ import refinedstorage.inventory.InventorySimple;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
import refinedstorage.util.UpgradeUtils;
|
||||
|
||||
public class TileImporter extends TileMachine implements ICompareConfig, IModeConfig {
|
||||
public static final String NBT_COMPARE = "Compare";
|
||||
@@ -51,7 +52,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
if (stack == null) {
|
||||
currentSlot++;
|
||||
} else {
|
||||
if (ticks % TileInterface.getSpeed(upgradesInventory) == 0) {
|
||||
if (ticks % UpgradeUtils.getSpeed(upgradesInventory) == 0) {
|
||||
ItemStack toTake = stack.copy();
|
||||
toTake.stackSize = 1;
|
||||
|
||||
@@ -61,7 +62,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
sided.markDirty();
|
||||
}
|
||||
} else {
|
||||
// if we can't import and/or extract, move on (otherwise we stay on the same slot forever)
|
||||
// If we can't import and/or extract, move on (otherwise we stay on the same slot forever)
|
||||
currentSlot++;
|
||||
}
|
||||
}
|
||||
@@ -77,7 +78,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
ItemStack stack = inventory.getStackInSlot(currentSlot);
|
||||
|
||||
if (stack != null) {
|
||||
if (ticks % TileInterface.getSpeed(upgradesInventory) == 0) {
|
||||
if (ticks % UpgradeUtils.getSpeed(upgradesInventory) == 0) {
|
||||
ItemStack toTake = stack.copy();
|
||||
toTake.stackSize = 1;
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
import refinedstorage.util.UpgradeUtils;
|
||||
|
||||
public class TileInterface extends TileMachine implements ICompareConfig, ISidedInventory {
|
||||
public static final String NBT_COMPARE = "Compare";
|
||||
@@ -38,32 +39,6 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided
|
||||
return 4;
|
||||
}
|
||||
|
||||
public static int getSpeed(InventorySimple upgradesInventory) {
|
||||
return getSpeed(upgradesInventory, 9);
|
||||
}
|
||||
|
||||
public static int getSpeed(InventorySimple upgradesInventory, int baseSpeed) {
|
||||
int upgrades = 0;
|
||||
|
||||
for (int i = 0; i < upgradesInventory.getSizeInventory(); ++i) {
|
||||
if (upgradesInventory.getStackInSlot(i) != null && upgradesInventory.getStackInSlot(i).getMetadata() == ItemUpgrade.TYPE_SPEED) {
|
||||
upgrades++;
|
||||
}
|
||||
}
|
||||
|
||||
return baseSpeed - (upgrades * 2);
|
||||
}
|
||||
|
||||
public static boolean hasCrafting(InventorySimple upgradesInventory) {
|
||||
for (int i = 0; i < upgradesInventory.getSizeInventory(); ++i) {
|
||||
if (upgradesInventory.getStackInSlot(i) != null && upgradesInventory.getStackInSlot(i).getMetadata() == ItemUpgrade.TYPE_CRAFTING) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMachine() {
|
||||
if (currentSlot > 8) {
|
||||
@@ -75,7 +50,7 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided
|
||||
if (slot == null) {
|
||||
currentSlot++;
|
||||
} else {
|
||||
if (ticks % getSpeed(upgradesInventory) == 0) {
|
||||
if (ticks % UpgradeUtils.getSpeed(upgradesInventory) == 0) {
|
||||
ItemStack toPush = slot.copy();
|
||||
toPush.stackSize = 1;
|
||||
|
||||
@@ -123,10 +98,10 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided
|
||||
}
|
||||
}
|
||||
|
||||
if (hasCrafting(upgradesInventory)) {
|
||||
if (UpgradeUtils.hasUpgrade(upgradesInventory, ItemUpgrade.TYPE_CRAFTING)) {
|
||||
CraftingPattern pattern = controller.getPattern(wanted, compare);
|
||||
|
||||
if (pattern != null && took == null || took.stackSize != needed) {
|
||||
if (pattern != null && (took == null || took.stackSize != needed)) {
|
||||
int tasksToCreate = needed - controller.getCraftingTaskCount(pattern, compare);
|
||||
|
||||
for (int j = 0; j < tasksToCreate; ++j) {
|
||||
@@ -144,6 +119,18 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCompare() {
|
||||
return compare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCompare(int compare) {
|
||||
markDirty();
|
||||
|
||||
this.compare = compare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
@@ -293,16 +280,4 @@ public class TileInterface extends TileMachine implements ICompareConfig, ISided
|
||||
public IInventory getDroppedInventory() {
|
||||
return upgradesInventory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCompare() {
|
||||
return compare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCompare(int compare) {
|
||||
markDirty();
|
||||
|
||||
this.compare = compare;
|
||||
}
|
||||
}
|
||||
|
||||
30
src/main/java/refinedstorage/util/UpgradeUtils.java
Executable file
30
src/main/java/refinedstorage/util/UpgradeUtils.java
Executable file
@@ -0,0 +1,30 @@
|
||||
package refinedstorage.util;
|
||||
|
||||
import refinedstorage.inventory.InventorySimple;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
|
||||
public class UpgradeUtils {
|
||||
public static int getSpeed(InventorySimple upgrades) {
|
||||
return getSpeed(upgrades, 9, 2);
|
||||
}
|
||||
|
||||
public static int getSpeed(InventorySimple inventory, int speed, int speedIncrease) {
|
||||
for (int i = 0; i < inventory.getSizeInventory(); ++i) {
|
||||
if (inventory.getStackInSlot(i) != null && inventory.getStackInSlot(i).getMetadata() == ItemUpgrade.TYPE_SPEED) {
|
||||
speed -= speedIncrease;
|
||||
}
|
||||
}
|
||||
|
||||
return speed;
|
||||
}
|
||||
|
||||
public static boolean hasUpgrade(InventorySimple inventory, int type) {
|
||||
for (int i = 0; i < inventory.getSizeInventory(); ++i) {
|
||||
if (inventory.getStackInSlot(i) != null && inventory.getStackInSlot(i).getMetadata() == type) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user