diff options
Diffstat (limited to 'src/Java/gtPlusPlus')
18 files changed, 319 insertions, 243 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 7f22ac179e..6f734db111 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -58,6 +58,7 @@ import gtPlusPlus.xmod.gregtech.api.objects.GregtechBufferThread; import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.chemplant.GregtechMTE_ChemicalPlant; import gtPlusPlus.xmod.gregtech.loaders.GT_Material_Loader; import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelterGT_GTNH; import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechMiniRaFusion; @@ -291,6 +292,7 @@ public class GTplusplus implements ActionListener { FishPondFakeRecipe.generateFishPondRecipes(); GregtechMiniRaFusion.generateSlowFusionrecipes(); SemiFluidFuelHandler.generateFuels(); + GregtechMTE_ChemicalPlant.generateRecipes(); //Large Centrifuge generation mOriginalCount[0] = GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.mRecipeList.size(); diff --git a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java index 6e5b47041f..48fe145b68 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java @@ -224,7 +224,7 @@ public class GenericChem extends ItemPackage { private void recipeCyclohexane() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBrownCatalyst, 0) @@ -247,7 +247,7 @@ public class GenericChem extends ItemPackage { private void recipeCyclohexanone() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) @@ -266,7 +266,7 @@ public class GenericChem extends ItemPackage { 120, 2); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getTierTwoChip(), }, @@ -382,7 +382,7 @@ public class GenericChem extends ItemPackage { private void recipeCadaverineAndPutrescine() { // Basic Recipe - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getTierOneChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 64) @@ -402,7 +402,7 @@ public class GenericChem extends ItemPackage { 1); // Advanced Recipe - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 128), @@ -426,7 +426,7 @@ public class GenericChem extends ItemPackage { private void recipeAniline() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getTierThreeChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) @@ -449,7 +449,7 @@ public class GenericChem extends ItemPackage { private void recipeNitroBenzene() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getTierThreeChip(), }, @@ -474,7 +474,7 @@ public class GenericChem extends ItemPackage { private void recipe2Ethylanthraquinone() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedCircuit(4), ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 4), @@ -504,7 +504,7 @@ public class GenericChem extends ItemPackage { private void recipe2Ethylanthrahydroquinone() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedCircuit(4), ItemUtils.getSimpleStack(mOrangeCatalyst, 0), @@ -553,7 +553,7 @@ public class GenericChem extends ItemPackage { private void recipeLithiumHydroperoxide() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedCircuit(4), ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 7), @@ -587,7 +587,7 @@ public class GenericChem extends ItemPackage { private void recipeHydrogenPeroxide() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedCircuit(4), }, diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index 74c8ce4202..484cf99a7b 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -511,6 +511,30 @@ public class RECIPES_GREGTECH { private static void laserEngraverRecipes() { + // Laser Sensors and Emitters together + GregtechItemList[] aTransParts = new GregtechItemList[] { + GregtechItemList.TransmissionComponent_ULV, + GregtechItemList.TransmissionComponent_LV, + GregtechItemList.TransmissionComponent_MV, + GregtechItemList.TransmissionComponent_HV, + GregtechItemList.TransmissionComponent_EV, + GregtechItemList.TransmissionComponent_IV, + GregtechItemList.TransmissionComponent_LuV, + GregtechItemList.TransmissionComponent_ZPM, + GregtechItemList.TransmissionComponent_UV, + GregtechItemList.TransmissionComponent_MAX, + }; + for (int i=0;i<10;i++) { + GT_Values.RA.addLaserEngraverRecipe( + CI.getEmitter(i, 2), + CI.getSensor(i, 2), + aTransParts[i].get(1), + 20 * 5, + MaterialUtils.getVoltageForTier(i)); + } + + + GT_Values.RA.addLaserEngraverRecipe( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L), GregtechItemList.Laser_Lens_Special.get(0), @@ -646,18 +670,18 @@ public class RECIPES_GREGTECH { new int[] {10000}, //Output Chance 20 * 120, 30720); - + //NITINOL_60 CORE.RA.addBlastSmelterRecipe( new ItemStack[] { - ELEMENT.getInstance().TITANIUM.getDust(3), - ELEMENT.getInstance().NICKEL.getDust(2) + ELEMENT.getInstance().TITANIUM.getDust(3), + ELEMENT.getInstance().NICKEL.getDust(2) }, ALLOY.NITINOL_60.getFluid(20 * 144), 0, 20 * 75, 7680); - + @@ -847,13 +871,13 @@ public class RECIPES_GREGTECH { //Gelid Cryotheum CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustCryotheum", 1), FluidUtils.getFluidStack("cryotheum", 250), 200, 240); - + //Ender Fluid CORE.RA.addFluidExtractionRecipe(ItemUtils.getSimpleStack(Items.ender_pearl), FluidUtils.getFluidStack("ender", 250), 100, 30); - + //Blazing Pyrotheum CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustPyrotheum", 1), FluidUtils.getFluidStack("pyrotheum", 250), 200, 240); - + } @@ -1568,10 +1592,10 @@ public class RECIPES_GREGTECH { GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Invar, 8L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Invar, 4L), GregtechItemList.Fluid_Cell_144L.get(1L, new Object[0]), 75, 32); } } - + if (LoadedMods.Baubles) { - + // Turbine Housing Research Page @@ -1600,8 +1624,8 @@ public class RECIPES_GREGTECH { ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1), 20 * 60 * 10, (int) GT_Values.V[7]); - - + + // Supreme Pizza Gloves CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] { ItemUtils.getGregtechCircuit(19), diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index d703bb9637..c30efb29eb 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -253,7 +253,7 @@ public class RECIPES_Machines { CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.gearGt, 6), CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plate, 32), CI.getTieredComponentOfMaterial(Materials.CobaltBrass, OrePrefixes.dust, 16), - ALLOY.STAINLESS_STEEL.getFrameBox(4), + CI.getTieredComponent(OrePrefixes.frameGt, 2, 4), }, ALLOY.STEEL.getFluid(2 * (144 * 4)), GregtechItemList.ChemicalPlant_Controller.get(1), @@ -293,7 +293,7 @@ public class RECIPES_Machines { private static void distillus() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedBioCircuit(19), ItemList.Distillation_Tower.get(2), @@ -338,7 +338,7 @@ public class RECIPES_Machines { CI.getElectricPiston(i, 10), CI.getFieldGenerator(i + 1, 6), CI.getPlate(i, 16), - CI.getEmitter(i - 1, 24), + CI.getTransmissionComponent(i - 1, 8), CI.getTieredComponent(OrePrefixes.cableGt08, i, 16) }, ALLOY.EGLIN_STEEL.getFluid(i * (144 * 4)), @@ -394,7 +394,7 @@ public class RECIPES_Machines { for (int i=0;i<10;i++) { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - CI.getNumberedBioCircuit(22), + CI.getNumberedBioCircuit(20), CI.getTieredMachineCasing(i), CI.getPlate(i, 8), CI.getGear(i, 2), @@ -1488,8 +1488,7 @@ public class RECIPES_Machines { GregtechItemList.Casing_Refinery_Structural.get(4), ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, GTNH ? 2 : 1), CI.getTieredComponent(OrePrefixes.cableGt08, GTNH ? 7 : 6, GTNH ? 32 : 16), - CI.getEmitter(GTNH ? 6 : 5, 2), - CI.getSensor(GTNH ? 6 : 5, 2), + CI.getTransmissionComponent(GTNH ? 6 : 5, 2), GregtechItemList.Gregtech_Computer_Cube.get(1), }, CI.getTieredFluid(7, 144 * (GTNH ? 32 : 8)), GregtechItemList.GT4_Multi_Crafter.get(1), @@ -2178,8 +2177,7 @@ public class RECIPES_Machines { int aTier = (i + 1); ItemStack[] aInputs = new ItemStack[] { CI.getTieredMachineHull(i, 1 * aCostMultiplier), - CI.getEmitter(i, 2 * aCostMultiplier), - CI.getSensor(i, 2 * aCostMultiplier), + CI.getTransmissionComponent(i, 2 * aCostMultiplier), CI.getFieldGenerator(i, 1 * aCostMultiplier), CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier), CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier), @@ -2199,9 +2197,8 @@ public class RECIPES_Machines { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { CI.getTieredMachineHull(-1, 1 * aCostMultiplier), - CI.getEmitter(2, 2 * aCostMultiplier), + CI.getTransmissionComponent(2, 2 * aCostMultiplier), CI.getElectricPiston(4, 2 * aCostMultiplier), - CI.getSensor(4, 1 * aCostMultiplier), CI.getTieredComponent(OrePrefixes.plate, 5, 4 * aCostMultiplier), CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier), }, diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java index 6b8f992266..6fae81e85f 100644 --- a/src/Java/gtPlusPlus/core/recipe/common/CI.java +++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java @@ -1264,4 +1264,20 @@ public class CI { return ItemUtils.getOrePrefixStack(aPrefix, aMaterial, aAmount); } + public static ItemStack getTransmissionComponent(int aTier, int aAmount) { + GregtechItemList[] aTransParts = new GregtechItemList[] { + GregtechItemList.TransmissionComponent_ULV, + GregtechItemList.TransmissionComponent_LV, + GregtechItemList.TransmissionComponent_MV, + GregtechItemList.TransmissionComponent_HV, + GregtechItemList.TransmissionComponent_EV, + GregtechItemList.TransmissionComponent_IV, + GregtechItemList.TransmissionComponent_LuV, + GregtechItemList.TransmissionComponent_ZPM, + GregtechItemList.TransmissionComponent_UV, + GregtechItemList.TransmissionComponent_MAX, + }; + return aTransParts[aTier].get(aAmount); + } + } diff --git a/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java b/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java index 6cd13dc209..add55b8d27 100644 --- a/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java +++ b/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java @@ -20,9 +20,9 @@ public class SlotChemicalPlantInput extends Slot { } public static boolean isItemValidForChemicalPlantSlot(ItemStack aStack) { - boolean validItem = Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.containsInput(aStack); + boolean validItem = Gregtech_Recipe_Map.sChemicalPlantRecipes.containsInput(aStack); if (!validItem) { - for (Recipe_GT f : Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mRecipeList) { + for (Recipe_GT f : Gregtech_Recipe_Map.sChemicalPlantRecipes.mRecipeList) { if (f.mFluidInputs.length > 0) { for (FluidStack g : f.mFluidInputs) { if (g != null) { diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java index 148c6a00de..9f5f374108 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -25,11 +25,14 @@ import gtPlusPlus.core.item.base.dusts.BaseItemDustUnique; import gtPlusPlus.core.item.base.dusts.decimal.BaseItemCentidust; import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust; import gtPlusPlus.core.item.base.plates.BaseItemPlate_OLD; +import gtPlusPlus.core.item.chemistry.AgriculturalChem; +import gtPlusPlus.core.item.chemistry.GenericChem; import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase; import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; @@ -1304,4 +1307,40 @@ public class ItemUtils { } } + public static boolean isControlCircuit(ItemStack aStack) { + if (aStack != null) { + Item aItem = aStack.getItem(); + if (aItem == CI.getNumberedBioCircuit(0).getItem() || aItem == CI.getNumberedCircuit(0).getItem()) { + return true; + } + } + return false; + } + + public static boolean isCatalyst(ItemStack aStack) { + + if (GT_Utility.areStacksEqual(aStack, GenericChem.mBlueCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mBrownCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mOrangeCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mPurpleCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mRedCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mYellowCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, AgriculturalChem.mGreenCatalyst, true)) { + return true; + } + return false; + } + } diff --git a/src/Java/gtPlusPlus/nei/GT_NEI_FluidReactor.java b/src/Java/gtPlusPlus/nei/GT_NEI_FluidReactor.java index b150d94c25..810076743f 100644 --- a/src/Java/gtPlusPlus/nei/GT_NEI_FluidReactor.java +++ b/src/Java/gtPlusPlus/nei/GT_NEI_FluidReactor.java @@ -3,6 +3,7 @@ package gtPlusPlus.nei; import java.awt.Point; import java.awt.Rectangle; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -26,7 +27,11 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; +import gregtech.api.util.Recipe_GT; +import gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.nei.GT_NEI_MultiBlockHandler.CachedDefaultRecipe; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.init.Blocks; @@ -44,31 +49,37 @@ extends TemplateRecipeHandler { GuiContainerManager.addTooltipHandler(new GT_RectHandler()); } - protected final GT_Recipe_Map mRecipeMap; + protected Gregtech_Recipe_Map mRecipeMap; - public GT_NEI_FluidReactor(final GT_Recipe_Map sfluidchemicalreactorrecipes) { - this.mRecipeMap = sfluidchemicalreactorrecipes; - this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), this.getOverlayIdentifier(), new Object[0])); + public GT_NEI_FluidReactor() { + this.mRecipeMap = Gregtech_Recipe_Map.sChemicalPlantRecipes; + this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), this.getRecipeMapName(), new Object[0])); if (!NEI_GT_Config.sIsAdded) { - FMLInterModComms.sendRuntimeMessage(GT_Values.GT, "NEIPlugins", "register-crafting-handler", "gregtechplusplus@" + this.getRecipeName() + "@" + this.getOverlayIdentifier()); + FMLInterModComms.sendRuntimeMessage(GT_Values.GT, "NEIPlugins", "register-crafting-handler", "gregtechplusplus@" + this.getRecipeName() + "@" + this.getRecipeMapName()); GuiCraftingRecipe.craftinghandlers.add(this); GuiUsageRecipe.usagehandlers.add(this); } } + public List<Recipe_GT> getSortedRecipes() { + List<Recipe_GT> result = new ArrayList<>(this.mRecipeMap.mRecipeList); + Collections.sort(result); + return result; + } + public static void drawText(final int aX, final int aY, final String aString, final int aColor) { Minecraft.getMinecraft().fontRenderer.drawString(aString, aX, aY, aColor); } @Override public TemplateRecipeHandler newInstance() { - return new GT_NEI_FluidReactor(this.mRecipeMap); + return new GT_NEI_FluidReactor(); } @Override public void loadCraftingRecipes(final String outputId, final Object... results) { - if (outputId.equals(this.mRecipeMap.mNEIName)) { - for (final GT_Recipe tRecipe : this.mRecipeMap.mRecipeList) { + if (outputId.equals(getRecipeMapName())) { + for (Recipe_GT tRecipe : getSortedRecipes()) { if (!tRecipe.mHidden) { this.arecipes.add(new CachedDefaultRecipe(tRecipe)); } @@ -80,29 +91,29 @@ extends TemplateRecipeHandler { @Override public void loadCraftingRecipes(final ItemStack aResult) { - final ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aResult); + ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aResult); - final ArrayList<ItemStack> tResults = new ArrayList<ItemStack>(); + ArrayList<ItemStack> tResults = new ArrayList<ItemStack>(); tResults.add(aResult); tResults.add(GT_OreDictUnificator.get(true, aResult)); if ((tPrefixMaterial != null) && (!tPrefixMaterial.mBlackListed) && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) { - for (final OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { + for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } } - final FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); + FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true); if (tFluid != null) { tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (final FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tResults.add(GT_Utility.copy(new Object[]{tData.filledContainer})); } } } - for (final GT_Recipe tRecipe : this.mRecipeMap.mRecipeList) { + for (Recipe_GT tRecipe : getSortedRecipes()) { if (!tRecipe.mHidden) { - final CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe); - for (final ItemStack tStack : tResults) { + CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe); + for (ItemStack tStack : tResults) { if (tNEIRecipe.contains(tNEIRecipe.mOutputs, tStack)) { this.arecipes.add(tNEIRecipe); break; @@ -110,33 +121,33 @@ extends TemplateRecipeHandler { } } } + //CachedDefaultRecipe tNEIRecipe; } - @Override - public void loadUsageRecipes(final ItemStack aInput) { - final ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aInput); + public void loadUsageRecipes(ItemStack aInput) { + ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aInput); - final ArrayList<ItemStack> tInputs = new ArrayList<ItemStack>(); + ArrayList<ItemStack> tInputs = new ArrayList<ItemStack>(); tInputs.add(aInput); tInputs.add(GT_OreDictUnificator.get(false, aInput)); if ((tPrefixMaterial != null) && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) { - for (final OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { + for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) { tInputs.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L)); } } - final FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); + FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true); if (tFluid != null) { tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false)); - for (final FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { + for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { if (tData.fluid.isFluidEqual(tFluid)) { tInputs.add(GT_Utility.copy(new Object[]{tData.filledContainer})); } } } - for (final GT_Recipe tRecipe : this.mRecipeMap.mRecipeList) { + for (Recipe_GT tRecipe : getSortedRecipes()) { if (!tRecipe.mHidden) { - final CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe); - for (final ItemStack tStack : tInputs) { + CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe); + for (ItemStack tStack : tInputs) { if (tNEIRecipe.contains(tNEIRecipe.mInputs, tStack)) { this.arecipes.add(tNEIRecipe); break; @@ -144,6 +155,11 @@ extends TemplateRecipeHandler { } } } + //CachedDefaultRecipe tNEIRecipe; + } + + public String getRecipeMapName() { + return this.mRecipeMap.mNEIName; } @Override @@ -195,7 +211,13 @@ extends TemplateRecipeHandler { (tStack.item.stackSize != 0)) { break; } - currenttip.add("Does not get consumed in the process"); + if (ItemUtils.isCatalyst(aStack)) { + currenttip.add("Does not always get consumed in the process"); + currenttip.add("Higher tier pipe casings allow this item to last longer"); + } + else if (ItemUtils.isControlCircuit(aStack)) { + currenttip.add("Does not get consumed in the process"); + } break; } } diff --git a/src/Java/gtPlusPlus/nei/NEI_GT_Config.java b/src/Java/gtPlusPlus/nei/NEI_GT_Config.java index 348b95ecb3..45d406aa96 100644 --- a/src/Java/gtPlusPlus/nei/NEI_GT_Config.java +++ b/src/Java/gtPlusPlus/nei/NEI_GT_Config.java @@ -20,12 +20,12 @@ implements IConfigureNEI { } for (final Gregtech_Recipe_Map tMap : gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map.sMappings) { if (tMap.mNEIAllowed) { - if (!tMap.mUnlocalizedName.equals(Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mUnlocalizedName)) { + if (!tMap.mUnlocalizedName.equals(Gregtech_Recipe_Map.sChemicalPlantRecipes.mUnlocalizedName)) { new GT_NEI_MultiBlockHandler(tMap); } } } - new GT_NEI_FluidReactor(GregtechMTE_ChemicalPlant.getGeneratedRecipeMap()); + new GT_NEI_FluidReactor(); sIsAdded = true; API.registerRecipeHandler(new DecayableRecipeHandler()); API.registerUsageHandler(new DecayableRecipeHandler()); diff --git a/src/Java/gtPlusPlus/plugin/agrichem/BioRecipes.java b/src/Java/gtPlusPlus/plugin/agrichem/BioRecipes.java index 54e2f55851..a139ec7a4d 100644 --- a/src/Java/gtPlusPlus/plugin/agrichem/BioRecipes.java +++ b/src/Java/gtPlusPlus/plugin/agrichem/BioRecipes.java @@ -339,7 +339,7 @@ public class BioRecipes { ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)); // Plastic - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(16), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 64), @@ -489,7 +489,7 @@ public class BioRecipes { var9); // Eu */ - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mGreenCatalyst, 0) }, @@ -583,7 +583,7 @@ public class BioRecipes { continue; } if (ItemUtils.checkForInvalidItems(a)) { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(2), ItemUtils.getSimpleStack(a, 10) @@ -605,7 +605,7 @@ public class BioRecipes { } for (ItemStack a : aSeeds) { if (ItemUtils.checkForInvalidItems(a)) { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(a, 20) @@ -626,7 +626,7 @@ public class BioRecipes { } // Sugar Cane - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(4), ItemUtils.getSimpleStack(Items.reeds, 16) @@ -644,7 +644,7 @@ public class BioRecipes { 30, 1); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(5), ItemUtils.getSimpleStack(Items.reeds, 32), @@ -666,7 +666,7 @@ public class BioRecipes { // Sugar Beet if (OreDictUtils.containsValidEntries("cropSugarbeet")) { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(4), ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 8), @@ -684,7 +684,7 @@ public class BioRecipes { 30, 1); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 16), @@ -705,7 +705,7 @@ public class BioRecipes { } // Produce Acetone, Butanol and Ethanol - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("cellFermentationBase", 48), @@ -732,7 +732,7 @@ public class BioRecipes { } private static void recipePropionicAcid() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mGreenCatalyst, 0) }, @@ -781,7 +781,7 @@ public class BioRecipes { } private static void recipeSodiumHydroxide() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(4) }, @@ -799,7 +799,7 @@ public class BioRecipes { 120, 1); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 5) @@ -821,7 +821,7 @@ public class BioRecipes { private static void recipeSodiumCarbonate() { if (OreDictUtils.containsValidEntries("fuelCoke")) { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(18), ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 3), @@ -844,7 +844,7 @@ public class BioRecipes { } - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(18), ItemUtils.getItemStackOfAmountFromOreDict("dustCoal", 6), @@ -938,7 +938,7 @@ public class BioRecipes { } for (String aOreName : aOreNames) { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedBioCircuit(14), ItemUtils.getSimpleStack(aOreCache.get(aOreName), aOreData2.get(aOreName)) @@ -1051,7 +1051,7 @@ public class BioRecipes { private static void recipeSulfuricAcid() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(7), ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 10), @@ -1070,7 +1070,7 @@ public class BioRecipes { 60, 1); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(7), ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 5), @@ -1094,7 +1094,7 @@ public class BioRecipes { private static void recipeUrea() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(9), }, @@ -1113,7 +1113,7 @@ public class BioRecipes { 30, 1); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(9), }, @@ -1134,7 +1134,7 @@ public class BioRecipes { private static void recipeRawBioResin() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 10), @@ -1156,7 +1156,7 @@ public class BioRecipes { private static void recipeLiquidResin() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mRawBioResin, 1) @@ -1174,7 +1174,7 @@ public class BioRecipes { 30, 1); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 8) @@ -1199,7 +1199,7 @@ public class BioRecipes { ItemStack aFert; if (LoadedMods.Forestry) { aFert = ItemUtils.getSimpleStack(AgriculturalChem.aFertForestry, 2); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(11), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), @@ -1220,7 +1220,7 @@ public class BioRecipes { } aFert = ItemUtils.getSimpleStack(AgriculturalChem.aFertIC2, 2); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(12), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), @@ -1243,7 +1243,7 @@ public class BioRecipes { private static void recipeMethane() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(12), ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 20) @@ -1261,7 +1261,7 @@ public class BioRecipes { 8, 1); - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(13), ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 64), @@ -1284,7 +1284,7 @@ public class BioRecipes { private static void recipeBenzene() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(19), ItemUtils.getSimpleStack(AgriculturalChem.mGreenCatalyst, 0), @@ -1304,7 +1304,7 @@ public class BioRecipes { private static void recipeStyrene() { - CORE.RA.addFluidReactorRecipe( + CORE.RA.addChemicalPlantRecipe( new ItemStack[] { getBioChip(20), ItemUtils.getSimpleStack(AgriculturalChem.mGreenCatalyst, 0), diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index 28692e25cb..ea2b192018 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -39,6 +39,13 @@ public enum GregtechItemList implements GregtechItemContainer { Emitter_ULV, Sensor_ULV, + // Mixed Components + TransmissionComponent_ULV, TransmissionComponent_LV, + TransmissionComponent_MV, TransmissionComponent_HV, + TransmissionComponent_EV, TransmissionComponent_IV, + TransmissionComponent_LuV, TransmissionComponent_ZPM, + TransmissionComponent_UV, TransmissionComponent_MAX, + //Recipe Circuit Circuit_BioRecipeSelector, @@ -625,7 +632,9 @@ public enum GregtechItemList implements GregtechItemContainer { FakeMachineCasingPlate_MV, FakeMachineCasingPlate_HV, FakeMachineCasingPlate_EV, FakeMachineCasingPlate_IV, FakeMachineCasingPlate_LuV, FakeMachineCasingPlate_ZPM, - FakeMachineCasingPlate_UV, FakeMachineCasingPlate_MAX, + FakeMachineCasingPlate_UV, FakeMachineCasingPlate_MAX, + + //---------------------------------------------------------------------------- diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java index 83f052a983..cb889e0233 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java @@ -271,7 +271,7 @@ public interface IGregtech_RecipeAdder { public boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int time, long eu); public boolean addIrLaserRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int time, long eu); - public boolean addFluidReactorRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aTier); + public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aTier); public boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aHeat); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java index ef92f9919d..a5430846a9 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/Gregtech_MetaItem_X32.java @@ -192,22 +192,9 @@ public abstract class Gregtech_MetaItem_X32 extends Gregtech_MetaItem { @Override public int getColorFromItemStack(final ItemStack stack, int HEX_OxFFFFFF) { - if (stack.getDisplayName().contains("ULV")){ - HEX_OxFFFFFF = Utils.rgbtoHexValue(200, 180, 180); - } - else if (stack.getDisplayName().contains("LuV")){ - HEX_OxFFFFFF = 0xffffcc; - } - else if (stack.getDisplayName().contains("ZPM")){ - HEX_OxFFFFFF = 0xffe600; - } - else if (stack.getDisplayName().contains("UV")){ - HEX_OxFFFFFF = 0xffb300; - } - else if (stack.getDisplayName().contains("MAX")){ - HEX_OxFFFFFF = Utils.rgbtoHexValue(MathUtils.randInt(220, 250), MathUtils.randInt(221, 251), MathUtils.randInt(220, 250)); - } - else if (stack.getDisplayName().contains("Sodium")){ + + int aMeta = stack.getItemDamage(); + if (stack.getDisplayName().contains("Sodium")){ HEX_OxFFFFFF = Utils.rgbtoHexValue(90, 90, 255); } else if (stack.getDisplayName().contains("Cadmium")){ @@ -228,8 +215,28 @@ public abstract class Gregtech_MetaItem_X32 extends Gregtech_MetaItem { else if (stack.getDisplayName().contains("Invar")){ HEX_OxFFFFFF = Utils.rgbtoHexValue(180, 180, 120); } - else { - HEX_OxFFFFFF = 0xffffff; + else { + if (aMeta > 50 && aMeta != 150) { + HEX_OxFFFFFF = 0xffffff; + } + else if (stack.getDisplayName().contains("ULV")){ + HEX_OxFFFFFF = Utils.rgbtoHexValue(200, 180, 180); + } + else if (stack.getDisplayName().contains("LuV")){ + HEX_OxFFFFFF = 0xffffcc; + } + else if (stack.getDisplayName().contains("ZPM")){ + HEX_OxFFFFFF = 0xffe600; + } + else if (stack.getDisplayName().contains("UV")){ + HEX_OxFFFFFF = 0xffb300; + } + else if (stack.getDisplayName().contains("MAX")){ + HEX_OxFFFFFF = Utils.rgbtoHexValue(MathUtils.randInt(220, 250), MathUtils.randInt(221, 251), MathUtils.randInt(220, 250)); + } + else { + HEX_OxFFFFFF = 0xffffff; + } } return HEX_OxFFFFFF; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java index 97621203cd..15934784a3 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java @@ -339,7 +339,23 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 { } } GregtechItemList.Laser_Lens_WoodsGlass.set(this.addItem(140, "Wood's Glass Lens", "Allows UV & IF to pass through, blocks visible light spectrums")); - + + int aStartID = 141; + GregtechItemList[] aTransParts = new GregtechItemList[] { + GregtechItemList.TransmissionComponent_ULV, + GregtechItemList.TransmissionComponent_LV, + GregtechItemList.TransmissionComponent_MV, + GregtechItemList.TransmissionComponent_HV, + GregtechItemList.TransmissionComponent_EV, + GregtechItemList.TransmissionComponent_IV, + GregtechItemList.TransmissionComponent_LuV, + GregtechItemList.TransmissionComponent_ZPM, + GregtechItemList.TransmissionComponent_UV, + GregtechItemList.TransmissionComponent_MAX, + }; + for (int aIndex=0;aIndex<10;aIndex++){ + aTransParts[aIndex].set(this.addItem(aStartID++, "Transmission Component ("+GT_Values.VN[aIndex]+")", "", new Object[]{getTcAspectStack(TC_Aspects.ELECTRUM, aIndex), getTcAspectStack(TC_Aspects.MACHINA, aIndex), getTcAspectStack(TC_Aspects.MAGNETO, aIndex)})); + } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java index 2a2b6d5090..140f1d9cd5 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java @@ -1,7 +1,6 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic; import static gregtech.api.enums.GT_Values.V; -import static gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils.mPollution; import java.util.HashSet; import java.util.Set; @@ -10,20 +9,13 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.interfaces.IChunkLoader; -import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.chunkloading.GTPP_ChunkManager; import gtPlusPlus.core.chunkloading.StaticChunkFunctions; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.PlayerUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -36,17 +28,7 @@ import net.minecraft.world.chunk.Chunk; public class GregtechMetaTileEntityChunkLoader extends GT_MetaTileEntity_BasicMachine implements IChunkLoader { public GregtechMetaTileEntityChunkLoader(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 2, "Loads " + getMaxChunksToLoadForTier(aTier) + " chunks when powered", 0, 0, "Recycler.png", "", - new ITexture[]{ - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_MASSFAB_ACTIVE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_MASSFAB), - new GT_RenderedTexture(TexturesGtBlock.Overlay_MatterFab_Active), - new GT_RenderedTexture(TexturesGtBlock.Overlay_MatterFab), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Vent_Fast), - new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Vent), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_MASSFAB_ACTIVE), - new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_MASSFAB) - }); + super(aID, aName, aNameRegional, aTier, 2, "Loads " + getMaxChunksToLoadForTier(aTier) + " chunks when powered", 0, 0, "Recycler.png", "", new ITexture[]{}); } public GregtechMetaTileEntityChunkLoader(String aName, int aTier, String aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) { @@ -54,13 +36,27 @@ public class GregtechMetaTileEntityChunkLoader extends GT_MetaTileEntity_BasicMa } public static int getMaxChunksToLoadForTier(int aTier) { - return (aTier * aTier); + if (aTier < 4) { + return 3 * 3; + } + if (aTier < 6) { + return 7 * 7; + } + if (aTier < 8) { + return 15 * 15; + } + else { + return 0; + } } @Override public String[] getDescription() { return new String[] { - this.mDescription, + "Loads " + getMaxChunksToLoadForTier(this.mTier) + " chunks when powered", + "Consumes 2A", + "Behaves Identically to a Railcraft World Anchor", + CORE.GT_Tooltip }; } @@ -89,57 +85,56 @@ public class GregtechMetaTileEntityChunkLoader extends GT_MetaTileEntity_BasicMa public ITexture[] getFront(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_RedSteel)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier])}; } public ITexture[] getBack(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_RedSteel)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier])}; } public ITexture[] getBottom(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Grisium)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier])}; } public ITexture[] getTop(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Grisium)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier])}; } public ITexture[] getSides(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Redox_3)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier])}; } public ITexture[] getFrontActive(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_RedSteel)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier+1])}; } public ITexture[] getBackActive(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_RedSteel)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier+1])}; } public ITexture[] getBottomActive(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Grisium)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier+1])}; } public ITexture[] getTopActive(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_Grisium)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier+1])}; } public ITexture[] getSidesActive(final byte aColor) { - return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Redox_3)}; + return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Material_MaragingSteel), new GT_RenderedTexture(TexturesGtBlock.TIERED_MACHINE_HULLS[mTier+1])}; } @Override public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { - PlayerUtils.messagePlayer(aPlayer, "Running every "+" minutes."); super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ); } @@ -175,9 +170,7 @@ public class GregtechMetaTileEntityChunkLoader extends GT_MetaTileEntity_BasicMa @Override public String[] getInfoData() { - return new String[] { - this.getLocalName() - }; + return super.getInfoData(); } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_ChemicalReactor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_ChemicalReactor.java index b7e4618e07..79d256909d 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_ChemicalReactor.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_ChemicalReactor.java @@ -43,23 +43,6 @@ public class GregtechMetaTileEntity_ChemicalReactor extends GT_MetaTileEntity_Ba public FluidStack[] mInputFluids = new FluidStack[4]; public FluidStack[] mOutputFluids = new FluidStack[2]; - private static final GT_Recipe_Map mFluidChemicalReactorRecipes = new GT_Recipe_Map( - new HashSet<GT_Recipe>(100), - "gt.recipe.fluidchemicaleactor", - "Chemical Plant", - null, - CORE.MODID+":textures/gui/FluidReactor", - 0, - 0, - 0, - 2, - 1, - "Tier: ", - 1, - E, - true, - false); - public GregtechMetaTileEntity_ChemicalReactor(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 1, "For mixing fluids", 4, 4, "ChemicalReactor.png", "", @@ -124,12 +107,7 @@ public class GregtechMetaTileEntity_ChemicalReactor extends GT_MetaTileEntity_Ba @Override public GT_Recipe.GT_Recipe_Map getRecipeList() { - if (mFluidChemicalReactorRecipes.mRecipeList.isEmpty()) { - for (Recipe_GT i :Recipe_GT.Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mRecipeList) { - mFluidChemicalReactorRecipes.add(i); - } - } - return mFluidChemicalReactorRecipes; + return null; } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java index ebae66fe72..f812eee113 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java @@ -51,36 +51,11 @@ import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { - + private int mSolidCasingTier = 0; private int mMachineCasingTier = 0; private int mPipeCasingTier = 0; - private int mCoilTier = 0; - - public static GT_Recipe_Map getGeneratedRecipeMap() { - return mFluidChemicalReactorRecipes; - } - - /** - * Internal Recipe Map which holds the actual recipes, backed by the real map, shown by NEI. - */ - private static final GT_Recipe_Map mFluidChemicalReactorRecipes = new GT_Recipe_Map( - new HashSet<GT_Recipe>(100), - "gt.recipe.fluidchemicaleactor", - "Chemical Plant", - null, - CORE.MODID+":textures/gui/FluidReactor", - 0, - 0, - 0, - 2, - 1, - "Tier: ", - 1, - E, - true, - false); - + private int mCoilTier = 0; public GregtechMTE_ChemicalPlant(final int aID, final String aName, final String aNameRegional) { super(aID, aName, aNameRegional); @@ -176,15 +151,13 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { @Override public GT_Recipe.GT_Recipe_Map getRecipeMap() { - if (mFluidChemicalReactorRecipes.mRecipeList.isEmpty() || mFluidChemicalReactorRecipes.mRecipeList.size() != Recipe_GT.Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mRecipeList.size()) { - if (!mFluidChemicalReactorRecipes.mRecipeList.isEmpty()) { - mFluidChemicalReactorRecipes.mRecipeList.clear(); - } - for (Recipe_GT i : Recipe_GT.Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mRecipeList) { - mFluidChemicalReactorRecipes.add(i); - } + return Recipe_GT.Gregtech_Recipe_Map.sChemicalPlant_GT; + } + + public static void generateRecipes() { + for (Recipe_GT i : Recipe_GT.Gregtech_Recipe_Map.sChemicalPlantRecipes.mRecipeList) { + Recipe_GT.Gregtech_Recipe_Map.sChemicalPlant_GT.add(i); } - return mFluidChemicalReactorRecipes; } @Override @@ -764,7 +737,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { public String getCustomGUIResourceName() { return null; } - + // Same speed bonus as pyro oven public int getSpeedBonus() { return 50 * (this.mCoilTier - 2); @@ -793,14 +766,14 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { public boolean checkRecipe(final ItemStack aStack) { return checkRecipeGeneric(getMaxParallelRecipes(), getEuDiscountForParallelism(), getSpeedBonus()); } - - + + @Override public boolean checkRecipeGeneric( ItemStack[] aItemInputs, FluidStack[] aFluidInputs, int aMaxParallelRecipes, int aEUPercent, int aSpeedBonusPercent, int aOutputChanceRoll, GT_Recipe aRecipe) { - + // Based on the Processing Array. A bit overkill, but very flexible. // Reset outputs and progress stats @@ -813,34 +786,34 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); long tEnergy = getMaxInputEnergy(); log("Running checkRecipeGeneric(0)"); - + GT_Recipe tRecipe = findRecipe( getBaseMetaTileEntity(), mLastRecipe, false, gregtech.api.enums.GT_Values.V[tTier], aFluidInputs, aItemInputs); - - + + log("Running checkRecipeGeneric(1)"); // Remember last recipe - an optimization for findRecipe() this.mLastRecipe = tRecipe; - - + + if (tRecipe == null) { log("BAD RETURN - 1"); return false; } - + if (tRecipe.mSpecialValue > this.mSolidCasingTier) { log("solid tier is too low"); return false; } - - + + aMaxParallelRecipes = this.canBufferOutputs(tRecipe, aMaxParallelRecipes); if (aMaxParallelRecipes == 0) { log("BAD RETURN - 2"); return false; } - + // checks if it has enough catalyst durabilety ArrayList<ItemStack>tCatalysts = null; int tMaxParrallelCatalyst = aMaxParallelRecipes; @@ -850,7 +823,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { tCatalysts = new ArrayList<ItemStack>(); tMaxParrallelCatalyst = getCatalysts(aItemInputs, tCatalystRecipe, aMaxParallelRecipes,tCatalysts); } - + if (tMaxParrallelCatalyst == 0) { log("found not enough catalists catalyst"); return false; @@ -884,7 +857,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { log("BAD RETURN - 3"); return false; } - + if (tCatalysts != null) { log("damaging catalyst"); for (int j = 0;j<parallelRecipes;j++) { @@ -900,7 +873,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { } // -- Try not to fail after this point - inputs have already been consumed! -- - + // Convert speed bonus to duration multiplier // e.g. 100% speed bonus = 200% speed = 100%/200% = 50% recipe duration. @@ -927,7 +900,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { if (this.mEUt > 0) { this.mEUt = (-this.mEUt); } - + this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); @@ -1001,19 +974,19 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { int allowedParrallel = 0; for (final ItemStack aInput : aItemInputs) { if (aRecipeCatalyst.isItemEqual(aInput)) { - if (aInput.stackSize == 1) { - int damage = getDamage(aInput) + aMaxParrallel; - if (damage > getMaxCatalystDurability() ) { - aOutPut.add(aInput); - allowedParrallel += aMaxParrallel + (getMaxCatalystDurability() - damage); - if (allowedParrallel >aMaxParrallel ) { - return aMaxParrallel; - } - continue; - } + if (aInput.stackSize == 1) { + int damage = getDamage(aInput) + aMaxParrallel; + if (damage > getMaxCatalystDurability() ) { + aOutPut.add(aInput); + allowedParrallel += aMaxParrallel + (getMaxCatalystDurability() - damage); + if (allowedParrallel >aMaxParrallel ) { + return aMaxParrallel; + } + continue; } - aOutPut.add(aInput); - return aMaxParrallel; + } + aOutPut.add(aInput); + return aMaxParrallel; } } return allowedParrallel; @@ -1042,8 +1015,8 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { } return null; } - - + + private void damageCatalyst(ItemStack aStack) { if (MathUtils.randFloat(0, 10000000)/10000000f < (1.2f - (0.2 * this.mPipeCasingTier))) { int damage = getDamage(aStack) + 1; @@ -1063,7 +1036,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { log("not consuming catalyst"); } } - + private int getDamage(ItemStack aStack) { if (aStack.getTagCompound() == null || aStack.getTagCompound().hasNoTags()) { final NBTTagCompound tagMain = new NBTTagCompound(); @@ -1075,13 +1048,13 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { NBTTagCompound aNBT = aStack.getTagCompound(); return aNBT.getCompoundTag("catalyst").getInteger("Damage"); } - + private void setDamage(ItemStack aStack,int aAmount) { NBTTagCompound aNBT = aStack.getTagCompound(); aNBT = aNBT.getCompoundTag("catalyst"); aNBT.setInteger("Damage", aAmount); } - + @SideOnly(Side.CLIENT) diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index efac0222af..bb3d93172c 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -1182,7 +1182,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { @Override - public boolean addFluidReactorRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aTier) { + public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aTier) { if (aInputs.length > 4 || aInputFluids.length > 4 || aOutputs.length > 4 || aFluidOutputs.length > 2) { Logger.INFO("Inputs: "+ItemUtils.getArrayStackNames(aInputs)); @@ -1205,10 +1205,10 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { (int) eu, aTier); - int aSize = Recipe_GT.Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mRecipeList.size(); + int aSize = Recipe_GT.Gregtech_Recipe_Map.sChemicalPlantRecipes.mRecipeList.size(); int aSize2 = aSize; - Recipe_GT.Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.add(aSpecialRecipe); - aSize = Recipe_GT.Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mRecipeList.size(); + Recipe_GT.Gregtech_Recipe_Map.sChemicalPlantRecipes.add(aSpecialRecipe); + aSize = Recipe_GT.Gregtech_Recipe_Map.sChemicalPlantRecipes.mRecipeList.size(); return aSize > aSize2; } |