diff options
Diffstat (limited to 'src')
36 files changed, 57 insertions, 27 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java index 5d5f94a84d..e5b5ded0ad 100644 --- a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java +++ b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java @@ -73,5 +73,12 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable { this.mInternalMap.clear(); return true; } + + public synchronized V[] toArray() { + Collection<V> col = this.mInternalMap.values(); + @SuppressWarnings("unchecked") + V[] val = (V[]) col.toArray(); + return val; + } } diff --git a/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java index 54af555733..be1fdfc491 100644 --- a/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java +++ b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoil.java @@ -16,7 +16,7 @@ import gtPlusPlus.core.util.Utils; public class ItemDehydratorCoil extends Item { - public IIcon[] icons = new IIcon[1]; + public IIcon[] icons = new IIcon[4]; public ItemDehydratorCoil() { super(); @@ -29,12 +29,15 @@ public class ItemDehydratorCoil extends Item { @Override public void registerIcons(IIconRegister reg) { - this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "itemDehydratorCoil"); + this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_0"); + this.icons[1] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_1"); + this.icons[2] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_2"); + this.icons[3] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoil_3"); } @Override public IIcon getIconFromDamage(int meta) { - return this.icons[0]; + return this.icons[meta]; } @Override @@ -69,7 +72,7 @@ public class ItemDehydratorCoil extends Item { } - @Override + /*@Override public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { int meta = stack.getItemDamage(); if (meta == 0){ @@ -85,6 +88,6 @@ public class ItemDehydratorCoil extends Item { HEX_OxFFFFFF = Utils.rgbtoHexValue(255,150,50); } return HEX_OxFFFFFF; - } + }*/ }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java index 2a54a9980c..99d4a139dd 100644 --- a/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java +++ b/src/Java/gtPlusPlus/core/item/general/chassis/ItemDehydratorCoilWire.java @@ -16,7 +16,7 @@ import gtPlusPlus.core.util.Utils; public class ItemDehydratorCoilWire extends Item { - public IIcon[] icons = new IIcon[1]; + public IIcon[] icons = new IIcon[4]; public ItemDehydratorCoilWire() { super(); @@ -29,12 +29,15 @@ public class ItemDehydratorCoilWire extends Item { @Override public void registerIcons(IIconRegister reg) { - this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "itemDehydratorCoilWire"); + this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_0"); + this.icons[1] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_1"); + this.icons[2] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_2"); + this.icons[3] = reg.registerIcon(CORE.MODID + ":" + "dehydrator/itemDehydratorCoilWire_3"); } @Override public IIcon getIconFromDamage(int meta) { - return this.icons[0]; + return this.icons[meta]; } @Override @@ -69,7 +72,7 @@ public class ItemDehydratorCoilWire extends Item { } - @Override +/* @Override public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { int meta = stack.getItemDamage(); if (meta == 0){ @@ -85,6 +88,6 @@ public class ItemDehydratorCoilWire extends Item { HEX_OxFFFFFF = Utils.rgbtoHexValue(255,150,50); } return HEX_OxFFFFFF; - } + }*/ }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java index 21c21edb7a..9fd0e92167 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMultiMachine.java @@ -25,6 +25,7 @@ import gregtech.api.util.GT_Utility; import gregtech.common.items.behaviors.Behaviour_DataOrb; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; @@ -219,6 +220,8 @@ extends GregtechMeta_MultiBlockBase { } } + private final AutoMap<ItemStack> mReplicatorOutputMap = new AutoMap<ItemStack>(); + @Override public boolean checkRecipeGeneric( ItemStack[] aItemInputs, FluidStack[] aFluidInputs, @@ -240,7 +243,7 @@ extends GregtechMeta_MultiBlockBase { int tCircuitID = getCircuitID(tCircuit); if (tCircuitID == MODE_REPLICATOR) { - return checkReplicatorRecipe(aItemInputs, aFluidInputs); + return checkReplicatorRecipe(aItemInputs, aFluidInputs, aMaxParallelRecipes, aEUPercent, aSpeedBonusPercent, aOutputChanceRoll); } GT_Recipe tRecipe = this.getRecipeMap(tCircuit).findRecipe( @@ -398,6 +401,7 @@ extends GregtechMeta_MultiBlockBase { this.mMaxProgresstime = 0; this.mOutputItems = new ItemStack[]{}; this.mOutputFluids = new FluidStack[]{}; + this.mReplicatorOutputMap.clear(); long tVoltage = getMaxInputVoltage(); byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); @@ -406,7 +410,7 @@ extends GregtechMeta_MultiBlockBase { ItemStack tCircuit = getCircuit(aItemInputs); int tCircuitID = getCircuitID(tCircuit); - if (!this.canBufferOutputs(aItemInputs, aMaxParallelRecipes)) { + if (canBufferOutputs(aItemInputs, aMaxParallelRecipes)) { Logger.WARNING("BAD RETURN - 2"); return false; } @@ -415,6 +419,9 @@ extends GregtechMeta_MultiBlockBase { ItemStack tCellStack = null; ItemStack tReplicatedItem; FluidStack tOutputFluid; + FluidStack tInputFluid; + final Materials tMaterial = Element.get(Behaviour_DataOrb.getDataName(tDataOrb)).mLinkedMaterials.get(0); + final long tMass = tMaterial.getMass(); //Find First Data Orb with Scan Data for (ItemStack I : aItemInputs) { @@ -432,13 +439,20 @@ extends GregtechMeta_MultiBlockBase { } } - //No Data Orb found? - if (tDataOrb == null) { - return false; + //Find UUM + for (FluidStack F : aFluidInputs) { + if (F != null && F.isFluidEqual(Materials.UUMatter.getFluid(1L))) { + final FluidStack tFluid = F; + if (tFluid.amount >= tMass && tMass > 0L) { + tInputFluid = tFluid; + } + } } - final Materials tMaterial = Element.get(Behaviour_DataOrb.getDataName(tDataOrb)).mLinkedMaterials.get(0); - final long tMass = tMaterial.getMass(); + //No Data Orb or UUM found? + if (tDataOrb == null || tInputFluid == null) { + return false; + } //Temp Values int tEUt = (int) GT_Values.V[(int) this.getInputTier()]; int tMaxProgresstime = (int) (tMass * 512L / (1 << tTier - 1)); @@ -494,8 +508,18 @@ extends GregtechMeta_MultiBlockBase { return false; } + //Requires a cell? Ok, let's use some. + if (COST_CELLS > 0) { + this.depleteInput(ItemUtils.getEmptyCell(COST_CELLS)); + } + + //Build an output map, for simplicity. + for (int r=0;r<parallelRecipes;r++) { + this.mReplicatorOutputMap.put(ItemUtils.getSimpleStack(tReplicatedItem, 1)); + } + - + ItemStack[] mBuiltOutput = this.mReplicatorOutputMap; // -- Try not to fail after this point - inputs have already been consumed! -- @@ -529,15 +553,6 @@ extends GregtechMeta_MultiBlockBase { this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); - // Collect fluid outputs - Not Required? - /*FluidStack[] tOutputFluids = new FluidStack[tRecipe.mFluidOutputs.length]; - for (int h = 0; h < tRecipe.mFluidOutputs.length; h++) { - if (tRecipe.getFluidOutput(h) != null) { - tOutputFluids[h] = tRecipe.getFluidOutput(h).copy(); - tOutputFluids[h].amount *= parallelRecipes; - } - }*/ - // Collect output item types ItemStack[] tOutputItems = new ItemStack[1]; for (int h = 0; h < 1; h++) { @@ -595,6 +610,8 @@ extends GregtechMeta_MultiBlockBase { return true; } + + //Special Space Checking private boolean canBufferOutputs(ItemStack[] aInputs, int aParallelRecipes) { // Count slots available in output buses ArrayList<ItemStack> tBusStacks = new ArrayList<>(); diff --git a/src/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png Binary files differindex 1974a4ca81..9fef2ec178 100644 --- a/src/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png +++ b/src/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png Binary files differindex 4e1c2d3182..1f1770ff1c 100644 --- a/src/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png +++ b/src/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png Binary files differindex 0dd3ea84af..d1e2970117 100644 --- a/src/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png +++ b/src/resources/assets/ic2/textures/items/rotors/itemMagnaliumRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png Binary files differindex 71e00f920c..aec47b7c6b 100644 --- a/src/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png +++ b/src/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png Binary files differindex 1bba301290..03704d5d12 100644 --- a/src/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png +++ b/src/resources/assets/ic2/textures/items/rotors/itemUltimetRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png Binary files differindex a478b2320e..34949af9a6 100644 --- a/src/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png +++ b/src/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png Binary files differindex 9d2dc68ebc..fb5f3783ee 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png Binary files differindex 68cbcd4e69..c0c4c83baa 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png Binary files differindex e38602a83e..93d7585647 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorMagnaliumModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png Binary files differindex 56e00a2851..829dd0575b 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png Binary files differindex d0bdaa5ac7..82f0b29a98 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorUltimetModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png Binary files differindex af6619c9fe..67797b1f79 100644 --- a/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png +++ b/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_0.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_0.png Binary files differnew file mode 100644 index 0000000000..652f68aeb7 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_0.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_1.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_1.png Binary files differnew file mode 100644 index 0000000000..7a14abccbd --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_1.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_2.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_2.png Binary files differnew file mode 100644 index 0000000000..cc0a5fe94d --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_2.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_3.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_3.png Binary files differnew file mode 100644 index 0000000000..ce0dbab306 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoilWire_3.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_0.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_0.png Binary files differnew file mode 100644 index 0000000000..2b2f615676 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_0.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_1.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_1.png Binary files differnew file mode 100644 index 0000000000..f01ba96be9 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_1.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_2.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_2.png Binary files differnew file mode 100644 index 0000000000..f57bb1308b --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_2.png diff --git a/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_3.png b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_3.png Binary files differnew file mode 100644 index 0000000000..77a416a3a6 --- /dev/null +++ b/src/resources/assets/miscutils/textures/items/dehydrator/itemDehydratorCoil_3.png diff --git a/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png Binary files differindex 1d56aa4d38..ffa38f29e2 100644 --- a/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemEnergeticRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png b/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png Binary files differindex 14cda0df64..533568b8be 100644 --- a/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemEnergeticShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png Binary files differindex d822c75ac6..31e5c0563a 100644 --- a/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemIridiumRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png b/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png Binary files differindex 22943db314..168ef8e907 100644 --- a/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemIridiumShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png Binary files differindex 3ff3be7fc8..a100a2ab32 100644 --- a/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemMagnaliumRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png b/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png Binary files differindex faf755dc1c..d909ff9a98 100644 --- a/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemMagnaliumShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png Binary files differindex 3ff3be7fc8..1708c9f934 100644 --- a/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemTungstenSteelRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png b/src/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png Binary files differindex faf755dc1c..f08ba26585 100644 --- a/src/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemTungstenSteelShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png Binary files differindex 3ff3be7fc8..83c40e49db 100644 --- a/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemUltimetRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png b/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png Binary files differindex faf755dc1c..49b449f94f 100644 --- a/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemUltimetShaft.png diff --git a/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png b/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png Binary files differindex ffe451dd46..0842ccda42 100644 --- a/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png +++ b/src/resources/assets/miscutils/textures/items/itemVibrantRotorBlade.png diff --git a/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png b/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png Binary files differindex ec996f66df..877e47766a 100644 --- a/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png +++ b/src/resources/assets/miscutils/textures/items/itemVibrantShaft.png |