diff options
Diffstat (limited to 'src/main/java/gregtech')
21 files changed, 529 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index a11bb7ea6e..74f169681c 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -2554,6 +2554,9 @@ public enum ItemList implements IItemContainer { BetterJukebox_EV, BetterJukebox_IV, WirelessHeadphones, + Thermal_Superconductor, + Relativistic_Heat_Capacitor, + Phononic_Seed_Crystal, ResearchCompleter, // Populated in EMT SpaceElevatorController, // Populated in GTNH-Intergalactic // semicolon after the comment to reduce merge conflicts diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 2dada8dfb0..3d314c4742 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -20,6 +20,7 @@ import javax.annotation.Nonnull; import net.minecraft.enchantment.Enchantment; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; @@ -37,6 +38,7 @@ import gregtech.common.config.gregtech.ConfigHarvestLevel; import gregtech.common.render.items.CosmicNeutroniumRenderer; import gregtech.common.render.items.GT_GeneratedMaterial_Renderer; import gregtech.common.render.items.GaiaSpiritRenderer; +import gregtech.common.render.items.GlitchEffectRenderer; import gregtech.common.render.items.InfinityRenderer; import gregtech.common.render.items.TranscendentMetalRenderer; import gregtech.common.render.items.UniversiumRenderer; @@ -1976,6 +1978,17 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { MaterialsUEVplus.ExcitedDTSC.mChemicalFormula = "[-Stellar-Stellar-]"; MaterialsUEVplus.DimensionallyTranscendentStellarCatalyst.mChemicalFormula = "Stellar"; PolyAluminiumChloride.mChemicalFormula = "Al\u2082(OH)\u2083Cl\u2083"; + MaterialsUEVplus.QuarkGluonPlasma.mChemicalFormula = EnumChatFormatting.OBFUSCATED + "X" + + EnumChatFormatting.RESET + + EnumChatFormatting.GRAY + + "g" + + EnumChatFormatting.OBFUSCATED + + "X"; + MaterialsUEVplus.PhononCrystalSolution.mChemicalFormula = "\u3004"; + MaterialsUEVplus.PhononMedium.mChemicalFormula = "((Si\u2085O\u2081\u2080Fe)\u2083(Bi\u2082Te\u2083)\u2084ZrO\u2082Fe\u2085\u2080C)\u2085Og*Pr\u2081\u2085((C\u2081\u2084Os\u2081\u2081O\u2087Ag\u2083SpH\u2082O)\u2084?\u2081\u2080(Fs\u26B6)\u2086(\u2318\u262F\u262F\u2318)\u2085)\u2086\u3004\u2084"; + MaterialsUEVplus.SixPhasedCopper.mChemicalFormula = "\u2722"; + MaterialsUEVplus.Mellion.mChemicalFormula = "Tn\u2081\u2081Or\u2088Rb\u2081\u2081?\u2087?\u2081\u2083?\u2081\u2083"; + MaterialsUEVplus.Creon.mChemicalFormula = "\u2E0E"; } private static void initSubTags() { @@ -2516,6 +2529,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { MaterialsUEVplus.Universium.renderer = new UniversiumRenderer(); MaterialsUEVplus.Eternity.renderer = new InfinityRenderer(); MaterialsUEVplus.MagMatter.renderer = new InfinityRenderer(); + MaterialsUEVplus.SixPhasedCopper.renderer = new GlitchEffectRenderer(); + MaterialsUEVplus.GravitonShard.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 1ff8cc2fb0..7542e1f600 100644 --- a/src/main/java/gregtech/api/enums/MaterialsUEVplus.java +++ b/src/main/java/gregtech/api/enums/MaterialsUEVplus.java @@ -590,6 +590,166 @@ public class MaterialsUEVplus { 1, Dyes._NULL); + public static Materials PhononMedium = new Materials( + 145, + TextureSet.SET_FLUID, + 1.0F, + 0, + 2, + 16, + 255, + 255, + 255, + 0, + "PhononMedium", + "Lossless Phonon Transfer Medium", + -1, + -1, + 500, + 1, + false, + true, + 1, + 1, + 1, + Dyes._NULL); + + public static Materials PhononCrystalSolution = new Materials( + 146, + TextureSet.SET_FLUID, + 1.0F, + 0, + 2, + 16, + 255, + 255, + 255, + 0, + "PhononCrystalSolution", + "Saturated Phononic Crystal Solution", + -1, + -1, + 500, + 1, + false, + true, + 1, + 1, + 1, + Dyes._NULL); + + public static Materials SixPhasedCopper = new Materials( + 147, + TextureSet.SET_SHINY, + 1.0F, + 8 * 2621440, + 26, + 1 | 2 | 64 | 128, + 255, + 120, + 20, + 0, + "SixPhasedCopper", + "Six-Phased Copper", + -1, + -1, + 1000, + 14000, + true, + false, + 2, + 1, + 1, + Dyes._NULL, + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1))) + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedVacuumFreezerRecipe() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV); + + public static Materials Mellion = new Materials( + 148, + TextureSet.SET_SHINY, + 1.0F, + 8 * 2621440, + 26, + 1 | 2 | 64 | 128, + 60, + 5, + 5, + 0, + "Mellion", + "Mellion", + -1, + -1, + 1000, + 14000, + true, + false, + 2, + 1, + 1, + Dyes._NULL, + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1))) + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedVacuumFreezerRecipe() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV); + + public static Materials Creon = new Materials( + 149, + TextureSet.SET_SHINY, + 1.0F, + 8 * 2621440, + 26, + 1 | 2 | 64 | 128, + 70, + 0, + 70, + 0, + "Creon", + "Creon", + -1, + -1, + 1000, + 14000, + true, + false, + 2, + 1, + 1, + Dyes._NULL, + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1))) + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedVacuumFreezerRecipe() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .setHasCorrespondingPlasma(true); + + public static Materials GravitonShard = new Materials( + 150, + new TextureSet("GravitonShard", true), + 1.0F, + 8 * 2621440, + 26, + 256, + 255, + 255, + 255, + 0, + "GravitonShard", + "Graviton Shard", + -1, + -1, + 100000, + 100000, + false, + false, + 2, + 1, + 1, + Dyes._NULL, + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 150))) + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedVacuumFreezerRecipe(); + /** * 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 d0c9399980..8e80f41a05 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -701,6 +701,8 @@ public enum OrePrefixes { dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + cell.disableComponent(MaterialsUEVplus.GravitonShard); + // ingot.mNotGeneratedItems.add(Materials.Ichorium); nugget.mNotGeneratedItems.add(Materials.Gold); plate.mNotGeneratedItems.add(Materials.Paper); @@ -780,6 +782,7 @@ public enum OrePrefixes { nanite.mGeneratedItems.add(MaterialsUEVplus.BlackDwarfMatter); nanite.mGeneratedItems.add(Materials.Glowstone); nanite.mGeneratedItems.add(MaterialsUEVplus.Eternity); + nanite.mGeneratedItems.add(MaterialsUEVplus.SixPhasedCopper); // ----- gear.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); @@ -788,6 +791,8 @@ public enum OrePrefixes { frame.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); frameGt.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + gem.mGeneratedItems.add(MaterialsUEVplus.GravitonShard); + dust.mGeneratedItems.addAll(dustPure.mGeneratedItems); dust.mGeneratedItems.addAll(dustImpure.mGeneratedItems); dust.mGeneratedItems.addAll(dustRefined.mGeneratedItems); @@ -1001,7 +1006,8 @@ public enum OrePrefixes { OrePrefixes.gemExquisite, OrePrefixes.gearGt, OrePrefixes.itemCasing, - OrePrefixes.nanite)); + OrePrefixes.nanite, + OrePrefixes.cell)); /** * Yes this Value can be changed to add Bits for the MetaGenerated-Item-Check. */ diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index 4a5142138a..7caa8f41e5 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -1161,6 +1161,7 @@ public class Textures { BLOCK_UNIVERSIUM, BLOCK_ETERNITY, BLOCK_MAGMATTER, + BLOCK_SIXPHASEDCOPPER, BLOCK_ORIHARUKON, @@ -1573,7 +1574,7 @@ public class Textures { BLOCK_BLAZE }, STORAGE_BLOCKS12 = { BLOCK_CRYOLITE, BLOCK_SILICONSG, BLOCK_NICKELALUMINIUM, BLOCK_SPACETIME, BLOCK_TRANSCENDENTMETAL, BLOCK_ORIHARUKON, BLOCK_WHITEDWARFMATTER, BLOCK_BLACKDWARFMATTER, - BLOCK_UNIVERSIUM, BLOCK_ETERNITY, BLOCK_MAGMATTER }; + BLOCK_UNIVERSIUM, BLOCK_ETERNITY, BLOCK_MAGMATTER, BLOCK_SIXPHASEDCOPPER }; public static final ITexture[] HIDDEN_TEXTURE = { TextureFactory.builder() .addIcon(HIDDEN_FACE) 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 index a5301179c2..7d24a9e339 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java @@ -204,6 +204,7 @@ import static gregtech.common.items.ID_MetaItem_03.NuclearStar; import static gregtech.common.items.ID_MetaItem_03.Optical_Cpu_Containment_Housing; import static gregtech.common.items.ID_MetaItem_03.Optically_Compatible_Memory; import static gregtech.common.items.ID_MetaItem_03.Optically_Perfected_CPU; +import static gregtech.common.items.ID_MetaItem_03.Phononic_Seed_Crystal; import static gregtech.common.items.ID_MetaItem_03.Quark_Catalyst_Housing; import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Bottom; import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Charm; @@ -212,7 +213,9 @@ import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Stran import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Top; import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Unaligned; import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Up; +import static gregtech.common.items.ID_MetaItem_03.Relativistic_Heat_Capacitor; import static gregtech.common.items.ID_MetaItem_03.Spinneret; +import static gregtech.common.items.ID_MetaItem_03.Thermal_Superconductor; import static gregtech.common.items.ID_MetaItem_03.Timepiece; import static gregtech.common.items.ID_MetaItem_03.Transdimensional_Alignment_Matrix; import static gregtech.common.items.ID_MetaItem_03.Tube_Wires; @@ -1186,6 +1189,13 @@ public class GT_MetaGenerated_Item_03 extends GT_MetaGenerated_Item_X32 { "Enables Dimensional Convergence on the DTPF."), o)); + ItemList.Thermal_Superconductor + .set(addItem(Thermal_Superconductor.ID, "Thermal Superconductor", "With the power of second sound!", o)); + ItemList.Relativistic_Heat_Capacitor + .set(addItem(Relativistic_Heat_Capacitor.ID, "Relativistic Heat Capacitor", "Thermal Resonance?", o)); + ItemList.Phononic_Seed_Crystal + .set(addItem(Phononic_Seed_Crystal.ID, "Phononic Seed Crystal", "Perfect Thermal Conductance", o)); + ItemList.White_Dwarf_Shape_Extruder_Plate.set( addItem( White_Dwarf_Shape_Extruder_Plate.ID, diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_03.java b/src/main/java/gregtech/common/items/ID_MetaItem_03.java index fea5a687df..64b3f07249 100644 --- a/src/main/java/gregtech/common/items/ID_MetaItem_03.java +++ b/src/main/java/gregtech/common/items/ID_MetaItem_03.java @@ -229,7 +229,10 @@ public enum ID_MetaItem_03 { White_Dwarf_Shape_Extruder_Turbine_Blade(755), White_Dwarf_Shape_Extruder_ToolHeadDrill(756), Timepiece(757), - Transdimensional_Alignment_Matrix(758); + Transdimensional_Alignment_Matrix(758), + Thermal_Superconductor(759), + Relativistic_Heat_Capacitor(760), + Phononic_Seed_Crystal(761); public final int ID; diff --git a/src/main/java/gregtech/common/render/items/GlitchEffectRenderer.java b/src/main/java/gregtech/common/render/items/GlitchEffectRenderer.java new file mode 100644 index 0000000000..f7e4413c97 --- /dev/null +++ b/src/main/java/gregtech/common/render/items/GlitchEffectRenderer.java @@ -0,0 +1,124 @@ +package gregtech.common.render.items; + +import java.util.Random; + +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.fluids.FluidStack; + +import org.lwjgl.opengl.GL11; + +import codechicken.lib.render.TextureUtils; +import gregtech.api.interfaces.IGT_ItemWithMaterialRenderer; +import gregtech.api.util.GT_Utility; + +public class GlitchEffectRenderer extends GT_GeneratedMaterial_Renderer { + + public Random rand = new Random(); + int[] red = new int[] { 255, 50, 50, 192 }; + int[] cyan = new int[] { 0, 220, 220, 160 }; + int counter = 0; + double offsetRed = 0; + double offsetCyan = 0; + + private void applyGlitchEffect(ItemRenderType type, boolean shouldModulateColor, int[] color, IIcon... icons) { + double offset; + for (IIcon icon : icons) { + if (icon == null) continue; + if (counter % 2 == 0) { + offset = offsetRed; + } else { + offset = offsetCyan; + } + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_BLEND); + + Tessellator t = Tessellator.instance; + + if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) { + t.startDrawingQuads(); + if (shouldModulateColor) { + t.setColorRGBA_F(color[0] / 255.0F, color[1] / 255.0F, color[2] / 255.0F, color[3] / 255.0F); + } else { + t.setColorRGBA_F(1f, 1f, 1f, 0.75f); + } + t.addVertexWithUV(0 + offset, 0 + offset, 0, icon.getMinU(), icon.getMinV()); + t.addVertexWithUV(0 + offset, 16 + offset, 0, icon.getMinU(), icon.getMaxV()); + t.addVertexWithUV(16 + offset, 16 + offset, 0, icon.getMaxU(), icon.getMaxV()); + t.addVertexWithUV(16 + offset, 0 + offset, 0, icon.getMaxU(), icon.getMinV()); + t.draw(); + } + + GL11.glDisable(GL11.GL_BLEND); + GL11.glPopMatrix(); + } + counter++; + } + + @Override + protected void renderRegularItem(ItemRenderType type, ItemStack item, IIcon icon, boolean shouldModulateColor, + int pass, Object... data) { + short metaData = (short) item.getItemDamage(); + if (!(item.getItem() instanceof IGT_ItemWithMaterialRenderer itemRenderer)) return; + + int currentFrame = (int) ((System.nanoTime() % 4_000_000_000L) / 20_000_000L); + boolean timing = currentFrame <= 20; + + if (timing && currentFrame % 5 == 0) { + offsetRed = rand.nextDouble() * 1.7 * Math.signum(rand.nextGaussian()); + offsetCyan = rand.nextDouble() * 1.7 * Math.signum(rand.nextGaussian()); + } + + IIcon itemIcon = itemRenderer.getIcon(metaData, pass); + IIcon overlay = itemRenderer.getOverlayIcon(metaData, pass); + FluidStack aFluid = GT_Utility.getFluidForFilledItem(item, true); + + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + if (shouldModulateColor) { + short[] modulation = itemRenderer.getRGBa(item); + GL11.glColor4f( + modulation[0] / 255.0F, + modulation[1] / 255.0F, + modulation[2] / 255.0F, + modulation[3] / 255.0F); + } + + GL11.glEnable(GL11.GL_ALPHA_TEST); + + if (itemIcon != null) { + markNeedsAnimationUpdate(itemIcon); + renderRegularItem(type, item, itemIcon, aFluid == null); + } + + if (overlay != null && aFluid != null && aFluid.getFluid() != null) { + IIcon fluidIcon = aFluid.getFluid() + .getIcon(aFluid); + if (fluidIcon != null) { + markNeedsAnimationUpdate(fluidIcon); + // Adds colour to a cells fluid. Does not colour full fluid icons as shown in NEI etc. + renderContainedFluid(type, aFluid, fluidIcon); + } + } + + if (overlay != null) { + GL11.glColor3f(1.0F, 1.0F, 1.0F); + TextureUtils.bindAtlas(itemRenderer.getSpriteNumber()); + markNeedsAnimationUpdate(overlay); + renderItemOverlay(type, overlay); + } + + if (type == ItemRenderType.INVENTORY && timing) { + GL11.glDisable(GL11.GL_DEPTH_TEST); + applyGlitchEffect(type, shouldModulateColor, cyan, itemIcon, overlay); + GL11.glEnable(GL11.GL_DEPTH_TEST); + applyGlitchEffect(type, shouldModulateColor, red, itemIcon, overlay); + + } + GL11.glDisable(GL11.GL_BLEND); + } +} diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java index 1b3802306c..836756a18a 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java @@ -163,6 +163,23 @@ public class GT_NaniteChain { .eut(1_000_000_000) .addTo(nanoForgeRecipes); + // Six-Phased Copper Nanites - Used in Phononic Crystal production for the godforge + GT_Values.RA.stdBuilder() + .itemInputs( + aUIVTierLens, + MaterialsUEVplus.SixPhasedCopper.getBlocks(16), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64)) + .itemOutputs(MaterialsUEVplus.SixPhasedCopper.getNanite(8)) + .fluidInputs( + Materials.UUMatter.getFluid(500_000), + MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(50_000)) + .metadata(NANO_FORGE_TIER, 3) + .duration(100 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); + // White Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter. GT_Values.RA.stdBuilder() .itemInputs( diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java index c2631632c6..217be9082a 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java @@ -48,6 +48,7 @@ import gregtech.api.util.ExternalMaterials; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.material.ALLOY; public class AssemblerRecipes implements Runnable { @@ -3532,6 +3533,31 @@ public class AssemblerRecipes implements Runnable { } } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeHuge, MaterialsUEVplus.TranscendentMetal, 1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.SuperconductorUIVBase, 64), + ALLOY.QUANTUM.getPlate(8), + ItemList.Electric_Pump_UIV.get(1)) + .fluidInputs(MaterialsUEVplus.PhononMedium.getFluid(100)) + .itemOutputs(ItemList.Thermal_Superconductor.get(1)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Thermal_Superconductor.get(2), + ALLOY.QUANTUM.getPlate(12), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SuperconductorUIVBase, 8), + GT_OreDictUnificator.get(OrePrefixes.rotor, MaterialsUEVplus.SixPhasedCopper, 3), + ItemList.Field_Generator_UEV.get(1)) + .fluidInputs(MaterialsUEVplus.PhononMedium.getFluid(500)) + .itemOutputs(ItemList.Relativistic_Heat_Capacitor.get(1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(assemblerRecipes); } /** diff --git a/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java index 519d584136..311c5b1941 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java @@ -10,6 +10,7 @@ import static gregtech.api.util.GT_RecipeBuilder.TICKS; import gregtech.api.enums.GT_Values; 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.util.GT_ModHandler; @@ -230,5 +231,23 @@ public class AutoclaveRecipes implements Runnable { .duration(60 * SECONDS) .eut(TierEU.RECIPE_LV) .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.TranscendentMetal, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.Mellion, 32L)) + .itemOutputs(ItemList.Phononic_Seed_Crystal.get(8L)) + .fluidInputs(Materials.Grade8PurifiedWater.getFluid(32_000L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.round, MaterialsUEVplus.MagMatter, 1)) + .itemOutputs(ItemList.Phononic_Seed_Crystal.get(5)) + .fluidInputs(MaterialsUEVplus.PhononCrystalSolution.getFluid(250)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_UXV) + .addTo(autoclaveRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java index 192422437a..33149b2ff3 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java @@ -7,6 +7,7 @@ import static gregtech.api.util.GT_RecipeBuilder.TICKS; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import goodgenerator.items.MyMaterial; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -315,6 +316,13 @@ public class BenderRecipes implements Runnable { .eut(8) .addTo(benderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(MyMaterial.tairitsu.get(OrePrefixes.ingot, 9), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(MyMaterial.tairitsu.get(OrePrefixes.plateDense, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(benderRecipes); + if (GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 1L) != null) { GT_Values.RA.stdBuilder() .itemInputs( diff --git a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java index 6a95493f8c..84833c933d 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java @@ -651,6 +651,28 @@ public class BlastFurnaceRecipes implements Runnable { .eut(TierEU.RECIPE_HV) .metadata(COIL_HEAT, 573) .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Phononic_Seed_Crystal.get(1), + MaterialsUEVplus.SixPhasedCopper.getNanite(1), + Materials.Dilithium.getDust(16), + GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(MaterialsUEVplus.Mellion.getMolten(128 * 144L)) + .fluidOutputs(MaterialsUEVplus.PhononCrystalSolution.getFluid(1000)) + .duration(300 * SECONDS) + .eut((int) TierEU.RECIPE_UIV) + .metadata(COIL_HEAT, 17000) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsUEVplus.Mellion.getDust(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, MaterialsUEVplus.Mellion, 1)) + .fluidInputs(Materials.Radon.getGas(1000)) + .duration(50 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .metadata(COIL_HEAT, 14000) + .addTo(blastFurnaceRecipes); } public void registerPrimitiveBlastFurnaceRecipes() { diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java index 8ca67db192..7be13ecbe4 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java @@ -10,6 +10,10 @@ import static gregtech.api.util.GT_RecipeBuilder.TICKS; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import gregtech.api.GregTech_API; import gregtech.api.enums.Dyes; @@ -311,6 +315,14 @@ public class ChemicalBathRecipes implements Runnable { .eut(TierEU.RECIPE_LV) .addTo(chemicalBathRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.CubicZirconia.get(OrePrefixes.gemExquisite, 1)) + .itemOutputs(Materials.Firestone.getGems(1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 250)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(chemicalBathRecipes); + // Na + H2O = NaOH + H GT_Values.RA.stdBuilder() .itemInputs(Materials.Sodium.getDust(1)) diff --git a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java index 78d8319907..a5144260c2 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java @@ -11,6 +11,8 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; + import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -247,6 +249,13 @@ public class CompressorRecipes implements Runnable { .eut(4) .addTo(compressorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.gem, 9)) + .itemOutputs(WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.block, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + if (Railcraft.isModLoaded()) { GT_Values.RA.stdBuilder() .itemInputs(RailcraftToolItems.getCoalCoke(9)) diff --git a/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java index 88c07e365e..3d53de7d2a 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java @@ -8,6 +8,7 @@ import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.TierEU; +import gtPlusPlus.core.material.ELEMENT; public class FusionReactorRecipes implements Runnable { @@ -270,6 +271,14 @@ public class FusionReactorRecipes implements Runnable { .addTo(fusionRecipes); // FT3 GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Cobalt.getMolten(144), ELEMENT.getInstance().NEON.getFluidStack(144)) + .fluidOutputs(Materials.Rubidium.getMolten(144)) + .duration(1 * SECONDS + 4 * TICKS) + .eut(98304) + .metadata(FUSION_THRESHOLD, 500000000) + .addTo(fusionRecipes); // FT3 + + GT_Values.RA.stdBuilder() .fluidInputs(Materials.Lutetium.getMolten(288), Materials.Vanadium.getMolten(288)) .fluidOutputs(Materials.Plutonium241.getPlasma(288)) .duration(4 * TICKS) diff --git a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java index 9e0d3e4780..1b8cbb4dcd 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java @@ -20,6 +20,7 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; +import goodgenerator.items.MyMaterial; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -1718,5 +1719,20 @@ public class MixerRecipes implements Runnable { .duration(5 * SECONDS) .eut(100) .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Tritanium.getDust(11), + MyMaterial.orundum.get(OrePrefixes.dust, 8), + Materials.Rubidium.getDust(11), + Materials.FierySteel.getDust(7), + Materials.Firestone.getDust(13), + MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 13), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(MaterialsUEVplus.Mellion.getDust(63)) + .fluidInputs(MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(5000)) + .duration(15 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .addTo(mixerRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java index 2763bb8d77..e648205b7a 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java @@ -1,6 +1,7 @@ package gregtech.loaders.postload.recipes; import static goodgenerator.loader.Loaders.huiCircuit; +import static gregtech.api.enums.Mods.Avaritia; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.recipe.RecipeMaps.plasmaForgeRecipes; import static gregtech.api.util.GT_ModHandler.getModItem; @@ -15,6 +16,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.TierEU; import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; public class PlasmaForgeRecipes implements Runnable { @@ -49,5 +51,23 @@ public class PlasmaForgeRecipes implements Runnable { .eut((int) TierEU.RECIPE_UEV) .metadata(COIL_HEAT, 10800) .addTo(plasmaForgeRecipes); + + if (Avaritia.isModLoaded()) { + // Six-Phased Copper + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Avaritia.ID, "Singularity", 8, 5)) + .fluidInputs( + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getFluidStack(72 * 144), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFluidStack(4 * 72 * 144), + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(36 * 144), + ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getFluidStack(8 * 72 * 144), + ELEMENT.STANDALONE.RHUGNOR.getFluidStack(18 * 144), + MaterialsUEVplus.Mellion.getMolten(72 * 144)) + .fluidOutputs(MaterialsUEVplus.SixPhasedCopper.getMolten(72 * 144L)) + .duration(60 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .metadata(COIL_HEAT, 12600) + .addTo(plasmaForgeRecipes); + } } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java index 123f9903ea..b1cd1b76f3 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java @@ -2,10 +2,14 @@ package gregtech.loaders.postload.recipes; import static gregtech.api.recipe.RecipeMaps.transcendentPlasmaMixerRecipes; +import net.minecraftforge.fluids.FluidStack; + import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.material.ELEMENT; public class TranscendentPlasmaMixerRecipes implements Runnable { @@ -138,5 +142,19 @@ public class TranscendentPlasmaMixerRecipes implements Runnable { .noOptimize() .addTo(transcendentPlasmaMixerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 1000), + Materials.Thorium.getPlasma(1000L), + new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 1000), + Materials.Calcium.getPlasma(1000L), + MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(1000L)) + .fluidOutputs(MaterialsUEVplus.Creon.getPlasma(5000L)) + .duration(100) + .eut(TierEU.RECIPE_UMV) + .noOptimize() + .addTo(transcendentPlasmaMixerRecipes); + } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java index b3fd9a392b..a5150948ce 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java @@ -409,5 +409,14 @@ public class VacuumFreezerRecipes implements Runnable { .duration(1 * SECONDS) .eut(TierEU.RECIPE_UIV) .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, MaterialsUEVplus.Mellion, 9L)) + .fluidInputs(MaterialsUEVplus.Creon.getPlasma(1296L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, MaterialsUEVplus.Mellion, 9L)) + .fluidOutputs(MaterialsUEVplus.Creon.getMolten(1296L)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(vacuumFreezerRecipes); } } diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index fda6c4c9e8..f4c682d848 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -666,7 +666,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { new Materials[] { Materials.Cryolite, Materials.SiliconSG, MaterialsKevlar.NickelAluminide, MaterialsUEVplus.SpaceTime, MaterialsUEVplus.TranscendentMetal, Materials.Oriharukon, MaterialsUEVplus.WhiteDwarfMatter, MaterialsUEVplus.BlackDwarfMatter, MaterialsUEVplus.Universium, - MaterialsUEVplus.Eternity, MaterialsUEVplus.MagMatter }, + MaterialsUEVplus.Eternity, MaterialsUEVplus.MagMatter, MaterialsUEVplus.SixPhasedCopper }, OrePrefixes.block, gregtech.api.enums.Textures.BlockIcons.STORAGE_BLOCKS12); @@ -1276,6 +1276,24 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsUEVplus.QuarkGluonPlasma, 1L), ItemList.Cell_Empty.get(1L)); + GT_FluidFactory.builder("PhononMedium") + .withLocalizedName(MaterialsUEVplus.PhononMedium.mLocalizedName) + .withStateAndTemperature(LIQUID, 500) + .buildAndRegister() + .configureMaterials(MaterialsUEVplus.PhononMedium) + .registerBContainers( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsUEVplus.PhononMedium, 1L), + ItemList.Cell_Empty.get(1L)); + + GT_FluidFactory.builder("PhononCrystalSolution") + .withLocalizedName(MaterialsUEVplus.PhononCrystalSolution.mLocalizedName) + .withStateAndTemperature(LIQUID, 500) + .buildAndRegister() + .configureMaterials(MaterialsUEVplus.PhononCrystalSolution) + .registerBContainers( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsUEVplus.PhononCrystalSolution, 1L), + ItemList.Cell_Empty.get(1L)); + GT_FluidFactory.builder("fieryblood") .withLocalizedName("Fiery Blood") .withStateAndTemperature(LIQUID, 6400) |