From f7f9da8ae91146824e69abe8c2a9df32a8b416a8 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Wed, 18 Dec 2013 18:57:15 -0500 Subject: [PATCH] Fixed Digital Miner crash, made things efficient, fixed dupe bug --- common/mekanism/common/Mekanism.java | 2 +- .../tileentity/TileEntityDigitalMiner.java | 17 +++++++++++------ .../tileentity/TileEntityElectricChest.java | 15 ++++++++++----- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/common/mekanism/common/Mekanism.java b/common/mekanism/common/Mekanism.java index 5e9a2213e..8530ba52d 100644 --- a/common/mekanism/common/Mekanism.java +++ b/common/mekanism/common/Mekanism.java @@ -968,7 +968,7 @@ public class Mekanism for(ItemStack ore : OreDictionary.getOres("dustObsidian")) { - RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 2), new ItemStack(Block.obsidian)); + RecipeHandler.addCombinerRecipe(MekanismUtils.size(ore, 4), new ItemStack(Block.obsidian)); RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfuseRegistry.get("DIAMOND"), 10, MekanismUtils.size(ore, 1)), new ItemStack(Dust, 1, 3)); } diff --git a/common/mekanism/common/tileentity/TileEntityDigitalMiner.java b/common/mekanism/common/tileentity/TileEntityDigitalMiner.java index 21c2b921e..1b5f6229b 100644 --- a/common/mekanism/common/tileentity/TileEntityDigitalMiner.java +++ b/common/mekanism/common/tileentity/TileEntityDigitalMiner.java @@ -51,6 +51,8 @@ import dan200.computer.api.IPeripheral; public class TileEntityDigitalMiner extends TileEntityElectricBlock implements IPeripheral, IUpgradeTile, IRedstoneControl, IActiveState, IAdvancedBoundingBlock { + public static int[] EJECT_INV; + public List oresToMine = new ArrayList(); public HashList filters = new HashList(); @@ -947,17 +949,20 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I if((location.equals(eject) && side == dir.ordinal()) || (location.equals(pull) && side == 1)) { - int[] ret = new int[27]; - - for(int i = 0; i < ret.length; i++) + if(EJECT_INV == null) { - ret[i] = i; + EJECT_INV = new int[27]; + + for(int i = 0; i < EJECT_INV.length; i++) + { + EJECT_INV[i] = i; + } } - return ret; + return EJECT_INV; } - return null; + return InventoryUtils.EMPTY; } @Override diff --git a/common/mekanism/common/tileentity/TileEntityElectricChest.java b/common/mekanism/common/tileentity/TileEntityElectricChest.java index 3fa9fe44b..a7b0f943d 100644 --- a/common/mekanism/common/tileentity/TileEntityElectricChest.java +++ b/common/mekanism/common/tileentity/TileEntityElectricChest.java @@ -12,6 +12,8 @@ import com.google.common.io.ByteArrayDataInput; public class TileEntityElectricChest extends TileEntityElectricBlock { + public static int[] INV; + public String password = ""; public boolean authenticated = false; @@ -138,14 +140,17 @@ public class TileEntityElectricChest extends TileEntityElectricBlock return InventoryUtils.EMPTY; } else { - int[] ret = new int[55]; - - for(int i = 0; i < ret.length; i++) + if(INV == null) { - ret[i] = i; + INV = new int[55]; + + for(int i = 0; i < INV.length; i++) + { + INV[i] = i; + } } - return ret; + return INV; } }