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,25 +363,14 @@ 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;
 | 
			
		||||
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (foundStorage == null) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        foundStorage.push(stack);
 | 
			
		||||
                storage.push(stack);
 | 
			
		||||
 | 
			
		||||
                syncItems();
 | 
			
		||||
 | 
			
		||||
        // processing tasks accept 1-per
 | 
			
		||||
                // 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) {
 | 
			
		||||
@@ -395,6 +385,10 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
 | 
			
		||||
 | 
			
		||||
                return true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public ItemStack take(ItemStack stack) {
 | 
			
		||||
        markDirty();
 | 
			
		||||
@@ -727,20 +721,19 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
 | 
			
		||||
            int quantityPerRequest = 0;
 | 
			
		||||
            CraftingPattern pattern = getPattern(requested);
 | 
			
		||||
 | 
			
		||||
            if (pattern != null) {
 | 
			
		||||
                for (ItemStack output : pattern.getOutputs()) {
 | 
			
		||||
                    if (InventoryUtils.compareStackNoQuantity(requested, output)) {
 | 
			
		||||
                        quantityPerRequest = output.stackSize;
 | 
			
		||||
 | 
			
		||||
                        break;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                while (quantity > 0) {
 | 
			
		||||
                if (pattern != null) {
 | 
			
		||||
                    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