diff options
Diffstat (limited to 'src/main/java/gregtech')
18 files changed, 377 insertions, 11 deletions
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index e29a03bea4..9949a61cfd 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -1989,6 +1989,21 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { MaterialsUEVplus.SixPhasedCopper.mChemicalFormula = "\u2722"; MaterialsUEVplus.Mellion.mChemicalFormula = "Tn\u2081\u2081Or\u2088Rb\u2081\u2081?\u2087?\u2081\u2083?\u2081\u2083"; MaterialsUEVplus.Creon.mChemicalFormula = "\u2E0E"; + Tartarite.mChemicalFormula = "Tt"; + MaterialsUEVplus.TranscendentMetal.mChemicalFormula = "TsЖ"; + // I hate this + MaterialsUEVplus.MoltenProtoHalkoniteBase.mChemicalFormula = "(" + + MaterialsUEVplus.TranscendentMetal.mChemicalFormula + + ")\u2082" + + "(W\u2088Nq*\u2087(" + + Materials.Bedrockium.mChemicalFormula + + ")\u2084C\u2084V\u2083SpPu)\u2082" + + Tartarite.mChemicalFormula + + "\u2082" + + "((CW)\u2087Ti\u2083)\u2083???" + + "If*"; + MaterialsUEVplus.HotProtoHalkonite.mChemicalFormula = MaterialsUEVplus.MoltenProtoHalkoniteBase.mChemicalFormula; + MaterialsUEVplus.ProtoHalkonite.mChemicalFormula = MaterialsUEVplus.MoltenProtoHalkoniteBase.mChemicalFormula; } private static void initSubTags() { @@ -1998,6 +2013,15 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { .addTo(Magnetite, VanadiumMagnetite, BasalticMineralSand, GraniticMineralSand); SubTag.NO_RECIPES.addTo(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.HotProtoHalkonite); + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.ProtoHalkonite); + MaterialsUEVplus.HotProtoHalkonite.remove(SubTag.SMELTING_TO_FLUID); + MaterialsUEVplus.ProtoHalkonite.remove(SubTag.SMELTING_TO_FLUID); + + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.HotExoHalkonite); + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.ExoHalkonite); + MaterialsUEVplus.HotExoHalkonite.remove(SubTag.SMELTING_TO_FLUID); + MaterialsUEVplus.ExoHalkonite.remove(SubTag.SMELTING_TO_FLUID); SubTag.ELECTROMAGNETIC_SEPERATION_IRON.addTo( YellowLimonite, @@ -2251,7 +2275,11 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { TengamPurified, TengamAttuned, MaterialsUEVplus.Eternity, - MaterialsUEVplus.MagMatter); + MaterialsUEVplus.MagMatter, + MaterialsUEVplus.HotProtoHalkonite, + MaterialsUEVplus.ProtoHalkonite, + MaterialsUEVplus.HotExoHalkonite, + MaterialsUEVplus.ExoHalkonite); SubTag.FOOD.addTo( MeatRaw, @@ -2533,6 +2561,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { MaterialsUEVplus.MagMatter.renderer = new InfinityRenderer(); MaterialsUEVplus.SixPhasedCopper.renderer = new GlitchEffectRenderer(); MaterialsUEVplus.GravitonShard.renderer = new InfinityRenderer(); + MaterialsUEVplus.ExoHalkonite.renderer = new InfinityRenderer(); + MaterialsUEVplus.HotExoHalkonite.renderer = new InfinityRenderer(); } private static void fillGeneratedMaterialsMap() { diff --git a/src/main/java/gregtech/api/enums/MaterialsUEVplus.java b/src/main/java/gregtech/api/enums/MaterialsUEVplus.java index 49ab432c5f..d13fe68a47 100644 --- a/src/main/java/gregtech/api/enums/MaterialsUEVplus.java +++ b/src/main/java/gregtech/api/enums/MaterialsUEVplus.java @@ -750,6 +750,96 @@ public class MaterialsUEVplus { .disableAutoGeneratedBlastFurnaceRecipes() .disableAutoGeneratedVacuumFreezerRecipe(); + public static Materials DimensionallyShiftedSuperfluid = new MaterialBuilder( + 151, + new TextureSet("dimensionallyshiftedsuperfluid", true), + "Dimensionally Shifted Superfluid").addCell() + .addFluid() + .setRGBA(255, 255, 255, 0) + .setTransparent(true) + .setName("dimensionallyshiftedsuperfluid") + .setColor(Dyes._NULL) + .constructMaterial() + .setHasCorrespondingFluid(true); + + public static Materials MoltenProtoHalkoniteBase = new MaterialBuilder( + 152, + new TextureSet("protohalkonitebase", true), + "Molten Proto-Halkonite Steel Base").setName("protohalkonitebase") + .addFluid() + .addCell() + .setLiquidTemperature(10000) + .setRGBA(255, 255, 255, 0) + .setTransparent(true) + .setColor(Dyes._NULL) + .constructMaterial() + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + public static Materials HotProtoHalkonite = new MaterialBuilder( + 153, + new TextureSet("hotprotohalkonite", true), + "Hot Proto-Halkonite Steel").setName("hotprotohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setOreValue(2) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + public static Materials ProtoHalkonite = new MaterialBuilder( + 154, + new TextureSet("protohalkonite", true), + "Proto-Halkonite Steel").setName("protohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes(); + + public static Materials MoltenExoHalkoniteBase = new MaterialBuilder( + 155, + TextureSet.SET_FLUID, + "Molten Exo-Halkonite Steel Preparation Base").setName("moltenexohalkonitebase") + .addFluid() + .addCell() + .setLiquidTemperature(10000) + .setRGBA(30, 30, 30, 0) + .setTransparent(false) + .constructMaterial() + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + + public static Materials HotExoHalkonite = new MaterialBuilder( + 156, + new TextureSet("hotexohalkonite", true), + "Hot Exo-Halkonite Steel").setName("hotexohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setOreValue(2) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + public static Materials ExoHalkonite = new MaterialBuilder( + 157, + new TextureSet("exohalkonite", true), + "Exo-Halkonite Steel").setName("exohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes(); + /** * called by Materials. Can be safely called multiple times. exists to allow Materials ensure this class is * initialized diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java index f757d34a7b..7af17351b9 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -704,6 +704,80 @@ public enum OrePrefixes { dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + + plateDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + + plateDouble.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + + // When Exo-Halkonite is added, remove this. + plateSuperdense.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateSuperdense.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + cell.disableComponent(MaterialsUEVplus.GravitonShard); // ingot.mNotGeneratedItems.add(Materials.Ichorium); @@ -794,6 +868,30 @@ public enum OrePrefixes { frame.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); frameGt.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + gear.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + + gear.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + + gear.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + + gear.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + gem.mGeneratedItems.add(MaterialsUEVplus.GravitonShard); dust.mGeneratedItems.addAll(dustPure.mGeneratedItems); diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index b43b1144ee..ad2f609dc7 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -118,7 +118,7 @@ public final class RecipeMaps { }) .build(); public static final RecipeMap<RecipeMapBackend> compressorRecipes = RecipeMapBuilder.of("gt.recipe.compressor") - .maxIO(1, 1, 0, 0) + .maxIO(1, 1, 1, 0) .minInputs(1, 0) .slotOverlays( (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GTUITextures.OVERLAY_SLOT_COMPRESSOR diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_03.java b/src/main/java/gregtech/common/items/ID_MetaItem_03.java new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/main/java/gregtech/common/items/ID_MetaItem_03.java diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java index 86f2c2b5bd..6933a18dc2 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java @@ -206,7 +206,7 @@ public class MTEPurificationPlant extends MTEExtendedPowerMultiBlockBase<MTEPuri .addSeparator() .addInfo("Every purification unit has a configuration window to configure maximum parallel amount.") .addInfo( - "This will only scale purified water I/O and power usage. Other catalysts and outputs are unchanged.") + "This will only scale purified water input, ALL fluid output and power usage. Other catalysts and outputs are unchanged.") .addSeparator() .addInfo( EnumChatFormatting.AQUA + "" diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java index 250d968945..e2f230b6d8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java @@ -293,6 +293,9 @@ public class MTEPurificationUnitBaryonicPerfection .addInfo("Keeps track of the entire sequence of catalysts inserted this recipe.") .addInfo( "If the correct catalyst combination is in the sequence of inserted catalysts, immediately outputs " + + EnumChatFormatting.RED + + BARYONIC_MATTER_OUTPUT + + "L " + EnumChatFormatting.WHITE + "Stabilised Baryonic Matter") .addInfo("At the end of the recipe, all incorrectly inserted catalysts are returned in the output bus.") diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java index e986f16940..263590f184 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java @@ -376,8 +376,8 @@ public abstract class MTEPurificationUnitBase<T extends MTEExtendedPowerMultiBlo FluidStack[] fluidOutputs = new FluidStack[this.currentRecipe.mFluidOutputs.length]; for (int i = 0; i < this.currentRecipe.mFluidOutputs.length; ++i) { fluidOutputs[i] = this.currentRecipe.mFluidOutputs[i].copy(); + fluidOutputs[i].amount *= effectiveParallel; } - fluidOutputs[0].amount *= effectiveParallel; this.mOutputFluids = fluidOutputs; this.mOutputItems = this.currentRecipe.mOutputs; // Set this value, so it can be displayed in Waila. Note that the logic for the units is diff --git a/src/main/java/gregtech/loaders/materials/MaterialsInit1.java b/src/main/java/gregtech/loaders/materials/MaterialsInit1.java index b32ddde894..7bf3b1937d 100644 --- a/src/main/java/gregtech/loaders/materials/MaterialsInit1.java +++ b/src/main/java/gregtech/loaders/materials/MaterialsInit1.java @@ -902,7 +902,7 @@ public class MaterialsInit1 { Materials.InfinityCatalyst = new Materials( 394, TextureSet.SET_SHINY , 64.0F,1310720, 10, 1|2 |8 |64|128 , 255, 255, 255, 0, "InfinityCatalyst" , "Infinity Catalyst" , 5, 500000, 10800, 10800, true, false, 20, 1, 1, Dyes.dyeLightGray ).setProcessingMaterialTierEU(TierEU.RECIPE_UV).disableAutoGeneratedVacuumFreezerRecipe(); Materials.Infinity = new Materials( 397, new TextureSet("infinity", true), 256.0F,2621440, 17, 1|2 |64|128 , 255, 255, 255, 0, "Infinity" , "Infinity" , 5, 5000000, 10800, 10800, true, false, 40, 1, 1, Dyes.dyeLightGray ).setProcessingMaterialTierEU(TierEU.RECIPE_UV).disableAutoGeneratedVacuumFreezerRecipe(); - Materials.Bedrockium = new MaterialBuilder(395,TextureSet.SET_DULL, "Bedrockium").addOreItems().addDustItems().addMetalItems().setDurability(327680).setToolSpeed(8f).setToolQuality(9).setRGB(50,50,50).setName("Bedrockium").setBlastFurnaceRequired(true).setBlastFurnaceTemp(9900).setMeltingPoint(9900).setColor(Dyes.dyeBlack).setOreValue(4).setDensityDivider(1).setDensityMultiplier(1).constructMaterial().setProcessingMaterialTierEU(TierEU.RECIPE_EV).disableAutoGeneratedVacuumFreezerRecipe(); + Materials.Bedrockium = new MaterialBuilder(395,TextureSet.SET_DULL, "Bedrockium").addOreItems().addDustItems().addMetalItems().setDurability(327680).setToolSpeed(8f).setToolQuality(9).setRGB(50,50,50).setName("Bedrockium").setBlastFurnaceRequired(true).setBlastFurnaceTemp(9900).setMeltingPoint(9900).setMaterialList(new MaterialStack(Materials.SiliconDioxide, 26244), new MaterialStack(Materials.Diamond, 9)).setColor(Dyes.dyeBlack).setOreValue(4).setDensityDivider(1).setDensityMultiplier(1).constructMaterial().setProcessingMaterialTierEU(TierEU.RECIPE_EV).disableAutoGeneratedVacuumFreezerRecipe(); Materials.Trinium = new Materials( 868, TextureSet.SET_SHINY , 128.0F, 51200, 8, 1|2 |8 |64|128 , 200, 200, 210, 0, "Trinium" , "Trinium" , 0, 0, 7200, 7200, true, false, 4, 1, 1, Dyes.dyeLightGray ).disableAutoGeneratedBlastFurnaceRecipes().disableAutoGeneratedVacuumFreezerRecipe(); Materials.Ichorium = new Materials( 978, TextureSet.SET_SHINY , 32.0F, 850000, 12, 1|2 |8 |32|64|128 , 211, 120, 6, 0, "Ichorium" , "Ichorium" , 5, 250000, 9000, 9000, true, false, 4, 1, 1, Dyes.dyeOrange ).setTurbineMultipliers(6, 6, 3).setHasCorrespondingPlasma(true); Materials.CosmicNeutronium = new Materials( 982, TextureSet.SET_SHINY , 96.0F, 163840, 12, 1|2 |8 |32|64|128 , 50, 50, 50, 0, "CosmicNeutronium" , "Cosmic Neutronium" , 0, 0, 9900, 9900, true, false, 4, 1, 1, Dyes.dyeBlack ).setProcessingMaterialTierEU(TierEU.RECIPE_ZPM).disableAutoGeneratedVacuumFreezerRecipe().setHasCorrespondingPlasma(true); diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java diff --git a/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java b/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java index c0d73d02b6..3cb8ac8f65 100644 --- a/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java +++ b/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java @@ -24,7 +24,6 @@ import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; -import static gregtech.common.tileentities.machines.multi.purification.MTEPurificationUnitBaryonicPerfection.BARYONIC_MATTER_OUTPUT; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -277,7 +276,7 @@ public class PurifiedWaterRecipes { GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UHV, 16), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 8), - ItemList.Field_Generator_UEV.get(4)) + ItemList.Field_Generator_UEV.get(1)) .fluidInputs( Materials.Neutronium.getMolten(16 * 144), Materials.Infinity.getMolten(16 * 144), @@ -292,9 +291,7 @@ public class PurifiedWaterRecipes { // Fake item inputs .itemInputs(ItemList.Quark_Creation_Catalyst_Charm.get(1), ItemList.Quark_Creation_Catalyst_Strange.get(1)) .fluidInputs(Materials.Grade7PurifiedWater.getFluid(1000L)) - .fluidOutputs( - Materials.Grade8PurifiedWater.getFluid(900L), - Materials.StableBaryonicMatter.getFluid(BARYONIC_MATTER_OUTPUT)) + .fluidOutputs(Materials.Grade8PurifiedWater.getFluid(900L), Materials.StableBaryonicMatter.getFluid(500)) .itemOutputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(2L), Particle.getBaseParticle(Particle.UNKNOWN)) .outputChances(10000, 100) .ignoreCollision() @@ -307,7 +304,7 @@ public class PurifiedWaterRecipes { // real recipe GTValues.RA.stdBuilder() .fluidInputs(Materials.Grade7PurifiedWater.getFluid(1000L)) - .fluidOutputs(Materials.Grade8PurifiedWater.getFluid(900L)) + .fluidOutputs(Materials.Grade8PurifiedWater.getFluid(900L), Materials.StableBaryonicMatter.getFluid(500)) .itemOutputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(2L), Particle.getBaseParticle(Particle.UNKNOWN)) .outputChances(10000, 100) .ignoreCollision() diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java index e500844b37..1b889f2f37 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java @@ -1,5 +1,6 @@ package gregtech.loaders.postload.recipes; +import static gregtech.api.enums.GTValues.M; import static gregtech.api.enums.Mods.BuildCraftTransport; import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; import static gregtech.api.util.GTModHandler.getModItem; @@ -20,6 +21,7 @@ import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.GTModHandler; @@ -411,5 +413,57 @@ public class ChemicalBathRecipes implements Runnable { .duration(40 * SECONDS) .eut(8) .addTo(chemicalBathRecipes); + + this.protoHalkoniteRecipes(); + } + + private void protoHalkoniteRecipes() { + this.addProtoHalkonitePartRecipe(OrePrefixes.frameGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.ingot, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plate, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plateDense, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stick, 2); + this.addProtoHalkonitePartRecipe(OrePrefixes.round, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.bolt, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.screw, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.ring, 4); + this.addProtoHalkonitePartRecipe(OrePrefixes.foil, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGtSmall, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.rotor, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stickLong, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.wireFine, 8); + } + + private void addProtoHalkonitePartRecipe(OrePrefixes prefix, final int multiplier) { + + final int partFraction = (int) (144 * prefix.mMaterialAmount / M); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, Materials.Infinity, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid((long) partFraction * multiplier)) + .duration((int) (multiplier * (8 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UEV) + .noOptimize() + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.Creon, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid((long) partFraction * multiplier / 2L)) + .duration((int) (multiplier * (2 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.Mellion, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid((long) partFraction * multiplier / 2L)) + .duration((int) (multiplier * (2 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(chemicalBathRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java index 1b6e1c0adc..8f6ba3729d 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java @@ -15,7 +15,10 @@ import bartworks.system.material.WerkstoffLoader; import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.recipe.metadata.CompressionTierKey; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; @@ -264,6 +267,16 @@ public class CompressorRecipes implements Runnable { .addTo(compressorRecipes); GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.plateSuperdense, Materials.Infinity, 1)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid(64 * 144)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateSuperdense, MaterialsUEVplus.HotProtoHalkonite, 1)) + // Require stabilized black hole + .metadata(CompressionTierKey.INSTANCE, 2) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(compressorRecipes); + + GTValues.RA.stdBuilder() .itemInputs(WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.gem, 9)) .itemOutputs(WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.block, 1)) .duration(15 * SECONDS) diff --git a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java index ea3c5ff7d1..5cf731c1ed 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java @@ -9,7 +9,10 @@ import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import goodgenerator.items.GGMaterial; import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -69,5 +72,48 @@ public class PlasmaForgeRecipes implements Runnable { .metadata(COIL_HEAT, 12600) .addTo(plasmaForgeRecipes); } + + Fluid celestialTungstenPlasma = MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(); + + // Dimensionally shifted superfluid + + // First recipe using AwDr coil and super heavy radox + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs( + Materials.StableBaryonicMatter.getFluid(250), + GGMaterial.metastableOganesson.getMolten(288), + Materials.Grade8PurifiedWater.getFluid(400), + new FluidStack(celestialTungstenPlasma, 32 * 144), + Materials.RadoxSuperHeavy.getFluid(2000), + MaterialsUEVplus.ExcitedDTCC.getFluid(1000)) + .fluidOutputs( + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(7500), + MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(500)) + .duration(60 * SECONDS) + .eut((int) TierEU.RECIPE_UIV) + .metadata(COIL_HEAT, 10800) + .addTo(plasmaForgeRecipes); + + // Better recipe, unlocks with AwDr coil and uses heavy radox, which can be produced in the QFT. + // This recipe takes UMV power but processes 4x input and output as the original recipe, making it a free POC + // over + // the original recipe + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs( + Materials.StableBaryonicMatter.getFluid(1000), + GGMaterial.metastableOganesson.getMolten(288 * 4), + Materials.Grade8PurifiedWater.getFluid(1600), + new FluidStack(celestialTungstenPlasma, 128 * 144), + Materials.RadoxHeavy.getFluid(8000), + MaterialsUEVplus.ExcitedDTRC.getFluid(4000)) + .fluidOutputs( + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(30000), + MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(2000)) + .duration(60 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .metadata(COIL_HEAT, 12600) + .addTo(plasmaForgeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java index 89e213c31b..89a1aefa89 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java @@ -1,5 +1,6 @@ package gregtech.loaders.postload.recipes; +import static gregtech.api.enums.GTValues.M; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; @@ -410,6 +411,24 @@ public class VacuumFreezerRecipes implements Runnable { .eut(TierEU.RECIPE_UIV) .addTo(vacuumFreezerRecipes); + // Proto-Halkonite + this.addProtoHalkonitePartRecipe(OrePrefixes.frameGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.ingot, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plate, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plateDense, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stick, 2); + this.addProtoHalkonitePartRecipe(OrePrefixes.round, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.bolt, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.screw, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.ring, 4); + this.addProtoHalkonitePartRecipe(OrePrefixes.foil, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGtSmall, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.rotor, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stickLong, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.wireFine, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.plateSuperdense, 1); + GTValues.RA.stdBuilder() .itemInputs(GTOreDictUnificator.get(OrePrefixes.ingotHot, MaterialsUEVplus.Mellion, 9L)) .fluidInputs(MaterialsUEVplus.Creon.getPlasma(1296L)) @@ -419,4 +438,20 @@ public class VacuumFreezerRecipes implements Runnable { .eut(TierEU.RECIPE_UMV) .addTo(vacuumFreezerRecipes); } + + private void addProtoHalkonitePartRecipe(OrePrefixes prefix, final int multiplier) { + final int partFraction = (int) (144 * prefix.mMaterialAmount / M); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.ProtoHalkonite, multiplier)) + .fluidInputs( + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid((long) partFraction * multiplier), + Materials.SuperCoolant.getFluid(partFraction * multiplier * 10L)) + .duration((int) (multiplier * (10 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(vacuumFreezerRecipes); + + } } |