diff options
Diffstat (limited to 'src/main/java/gregtech/api')
14 files changed, 241 insertions, 73 deletions
diff --git a/src/main/java/gregtech/api/enums/Element.java b/src/main/java/gregtech/api/enums/Element.java index d60a25024f..450a85d3d6 100644 --- a/src/main/java/gregtech/api/enums/Element.java +++ b/src/main/java/gregtech/api/enums/Element.java @@ -141,7 +141,7 @@ public enum Element { Ma(0, 0, 100, -1, null, "Magic", false), Nq(130, 200, 0, -1, null, "Naquadah", false), - Nt(0, 1000, 0, -1, null, "Neutronium", false), + Nt(0, 100, 0, -1, null, "Neutronium", false), $H(-1, -0, 0, -1, null, "Anti-Hydrogen", false), $D(-1, -1, 0, -1, "H", "Anti-Deuterium", true), diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java index 2ee24b8b5a..8cadd17246 100644 --- a/src/main/java/gregtech/api/enums/GT_Values.java +++ b/src/main/java/gregtech/api/enums/GT_Values.java @@ -235,7 +235,8 @@ public class GT_Values { MOD_ID_GC_CORE = "GalacticraftCore", MOD_ID_GC_MARS = "GalacticraftMars", MOD_ID_GC_PLANETS = "GalacticraftPlanets", - MOD_ID_DC = "dreamcraft"; + MOD_ID_DC = "dreamcraft", + MOD_ID_GTPP = "miscutils"; /** * File Paths and Resource Paths */ diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index c737d4b15f..4453d16653 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -194,6 +194,36 @@ public enum ItemList implements IItemContainer { Shape_Extruder_Turbine_Blade, Shape_Extruder_Small_Gear, Shape_Extruder_ToolHeadDrill, + + White_Dwarf_Shape_Extruder_Bottle, + White_Dwarf_Shape_Extruder_Plate, + White_Dwarf_Shape_Extruder_Cell, + White_Dwarf_Shape_Extruder_Ring, + White_Dwarf_Shape_Extruder_Rod, + White_Dwarf_Shape_Extruder_Bolt, + White_Dwarf_Shape_Extruder_Ingot, + White_Dwarf_Shape_Extruder_Wire, + White_Dwarf_Shape_Extruder_Casing, + White_Dwarf_Shape_Extruder_Pipe_Tiny, + White_Dwarf_Shape_Extruder_Pipe_Small, + White_Dwarf_Shape_Extruder_Pipe_Medium, + White_Dwarf_Shape_Extruder_Pipe_Large, + White_Dwarf_Shape_Extruder_Pipe_Huge, + White_Dwarf_Shape_Extruder_Block, + White_Dwarf_Shape_Extruder_Sword, + White_Dwarf_Shape_Extruder_Pickaxe, + White_Dwarf_Shape_Extruder_Shovel, + White_Dwarf_Shape_Extruder_Axe, + White_Dwarf_Shape_Extruder_Hoe, + White_Dwarf_Shape_Extruder_Hammer, + White_Dwarf_Shape_Extruder_File, + White_Dwarf_Shape_Extruder_Saw, + White_Dwarf_Shape_Extruder_Gear, + White_Dwarf_Shape_Extruder_Rotor, + White_Dwarf_Shape_Extruder_Turbine_Blade, + White_Dwarf_Shape_Extruder_Small_Gear, + White_Dwarf_Shape_Extruder_ToolHeadDrill, + Crate_Empty, Credit_Copper, Credit_Iron, diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 8d14f62c52..b9b76bad54 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -97,7 +97,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials Mercury = new Materials( 87, TextureSet.SET_SHINY , 1.0F, 0, 0, 16|32 , 255, 220, 220, 0, "Mercury" , "Mercury" , 5, 32, 234, 0, false, false, 3, 1, 1, Dyes.dyeLightGray , Element.Hg , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 1), new TC_AspectStack(TC_Aspects.AQUA, 1), new TC_AspectStack(TC_Aspects.VENENUM, 1))); public static Materials Molybdenum = new Materials( 48, TextureSet.SET_SHINY , 7.0F, 512, 2, 1|2 |8 |32|64 , 180, 180, 220, 0, "Molybdenum" , "Molybdenum" , 0, 0, 2896, 0, false, false, 1, 1, 1, Dyes.dyeBlue , Element.Mo , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.INSTRUMENTUM, 1))); public static Materials Neodymium = new Materials( 67, TextureSet.SET_METALLIC , 7.0F, 512, 2, 1|2 |8 |32|64|128 , 100, 100, 100, 0, "Neodymium" , "Neodymium" , 0, 0, 1297, 1297, true, false, 4, 1, 1, Dyes._NULL , Element.Nd , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.MAGNETO, 2))); - public static Materials Neutronium = new Materials( 129, TextureSet.SET_DULL , 24.0F, 655360, 6, 1|2 |8 |32|64|128 , 250, 250, 250, 0, "Neutronium" , "Neutronium" , 0, 0, 10000, 10000, true, false, 20, 1, 1, Dyes.dyeWhite , Element.Nt , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 4), new TC_AspectStack(TC_Aspects.VITREUS, 3), new TC_AspectStack(TC_Aspects.ALIENIS, 2))).disableAutoGeneratedBlastFurnaceRecipes(); + public static Materials Neutronium = new Materials( 129, TextureSet.SET_DULL , 24.0F, 655360, 6, 1|2 |8 |32|64|128 , 250, 250, 250, 0, "Neutronium" , "Neutronium" , 0, 0, 10000, 10000, true, false, 20, 1, 1, Dyes.dyeWhite , Element.Nt , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 4), new TC_AspectStack(TC_Aspects.VITREUS, 3), new TC_AspectStack(TC_Aspects.ALIENIS, 2))).disableAutoGeneratedBlastFurnaceRecipes().setProcessingMaterialTierEU(Tier.RECIPE_ZPM); public static Materials Nickel = new Materials( 34, TextureSet.SET_METALLIC , 6.0F, 64, 2, 1|2 |8 |32|64|128 , 200, 200, 250, 0, "Nickel" , "Nickel" , 0, 0, 1728, 0, false, false, 4, 1, 1, Dyes.dyeLightBlue , Element.Ni , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.IGNIS, 1))); public static Materials Niobium = new Materials( 47, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 190, 180, 200, 0, "Niobium" , "Niobium" , 0, 0, 2750, 2750, true, false, 5, 1, 1, Dyes._NULL , Element.Nb , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.ELECTRUM, 1))); public static Materials Nitrogen = new Materials( 12, TextureSet.SET_FLUID , 1.0F, 0, 2, 16|32 , 0, 150, 200, 240, "Nitrogen" , "Nitrogen" , 0, 0, 63, 0, false, true, 2, 1, 1, Dyes.dyeCyan , Element.N , Collections.singletonList(new TC_AspectStack(TC_Aspects.AER, 2))); @@ -848,16 +848,15 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials ShadowSteel = new Materials( 337, TextureSet.SET_METALLIC , 6.0F, 768, 4, 1|2 |64 , 90, 90, 90, 0, "ShadowSteel" , "Shadow Steel" , 0, 0, -1, 1700, true, false, 4, 4, 3, Dyes.dyeBlack , 2, Arrays.asList(new MaterialStack(Steel, 1), new MaterialStack(Thaumium, 3))); public static Materials AstralSilver = new Materials( 333, TextureSet.SET_SHINY , 10.0F, 64, 2, 1|2 |64 , 230, 230, 255, 0, "AstralSilver" , "Astral Silver" , 0, 0, -1, 0, false, false, 4, 3, 2, Dyes.dyeWhite , 2, Arrays.asList(new MaterialStack(Silver, 2), new MaterialStack(Thaumium, 1))); - /** + /** * Op materials (draconic evolution above) */ - //TODO: add other op materials? maybe some new ores or new only fusion made op materials from op materials??? like neutronium bedrockium alloy etc. - public static 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 ); - public static 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 ); - public static 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(); + public static 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(Tier.RECIPE_UHV); + public static 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(Tier.RECIPE_UHV); + public static 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(Tier.RECIPE_EV); public static 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(); public static 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(30, 30, 3); - public static 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 ); + public static 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(Tier.RECIPE_UV); // Superconductor base. public static Materials Pentacadmiummagnesiumhexaoxid = new Materials( 987, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 85, 85, 85, 0, "Pentacadmiummagnesiumhexaoxid" , "Superconductor Base MV" , 0, 0, 2500, 2500, true, false, 1, 1, 1, Dyes.dyeGray , 1, Arrays.asList(new MaterialStack(Cadmium, 5), new MaterialStack(Magnesium, 1), new MaterialStack(Oxygen, 6)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 3))); @@ -866,11 +865,11 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials Vanadiumtriindinid = new Materials( 990, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 51, 0, 51, 0, "Vanadiumtriindinid" , "Superconductor Base IV" , 0, 0, 5200, 5200, true, false, 1, 1, 1, Dyes.dyeMagenta , 1, Arrays.asList(new MaterialStack(Vanadium , 1), new MaterialStack(Indium, 3)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 12))); public static Materials Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid = new Materials( 991, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 153, 76, 0, 0, "Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid" , "Superconductor Base LuV" , 0, 0, 6000, 6000, true, false, 1, 1, 1, Dyes.dyeBrown , 1, Arrays.asList(new MaterialStack(Indium, 4), new MaterialStack(Tin, 2), new MaterialStack(Barium, 2), new MaterialStack(Titanium, 1), new MaterialStack(Copper, 7), new MaterialStack(Oxygen, 14)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 15))); public static Materials Tetranaquadahdiindiumhexaplatiumosminid = new Materials( 992, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 10, 10, 10, 0, "Tetranaquadahdiindiumhexaplatiumosminid" , "Superconductor Base ZPM" , 0, 0, 9000, 9000, true, false, 1, 1, 1, Dyes.dyeBlack , 1, Arrays.asList(new MaterialStack(Naquadah, 4), new MaterialStack(Indium, 2), new MaterialStack(Palladium, 6), new MaterialStack(Osmium, 1)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 18))); - public static Materials Longasssuperconductornameforuvwire = new Materials( 986, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 224,210, 7, 0, "Longasssuperconductornameforuvwire" , "Superconductor Base UV" , 0, 0, 9900, 9900, true, false, 1, 1, 1, Dyes.dyeYellow , 1, Arrays.asList(new MaterialStack(Naquadria, 4), new MaterialStack(Osmiridium, 3), new MaterialStack(Europium, 1), new MaterialStack(Samarium, 1)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 21))); - public static Materials Longasssuperconductornameforuhvwire = new Materials( 985, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 38,129, 189, 0, "Longasssuperconductornameforuhvwire" , "Superconductor Base UHV" , 0, 0, 10800, 10800, true, false, 1, 1, 1, Dyes.dyeWhite , 1, Arrays.asList(new MaterialStack(Draconium, 6), new MaterialStack(CosmicNeutronium, 7), new MaterialStack(Tritanium, 5), new MaterialStack(Americium, 6)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 24))); - public static Materials SuperconductorUEVBase = new Materials( 974, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 174, 8, 8, 0, "SuperconductorUEVBase" , "Superconductor Base UEV" , 0, 0, 11700, 11800, true, false, 1, 1, 1, Dyes.dyeWhite, Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 27))); - public static Materials SuperconductorUIVBase = new Materials( 131, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 229, 88, 177, 0, "SuperconductorUIVBase" , "Superconductor Base UIV" , 0, 0, 12700, 12700, true, false, 1, 1, 1, Dyes.dyeWhite, Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 34))); - public static Materials SuperconductorUMVBase = new Materials( 134, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 181, 38, 205, 0, "SuperconductorUMVBase" , "Superconductor Base UMV" , 0, 0, 13600, 13600, true, false, 1, 1, 1, Dyes.dyeWhite, Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 40))); + public static Materials Longasssuperconductornameforuvwire = new Materials( 986, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 224,210, 7, 0, "Longasssuperconductornameforuvwire" , "Superconductor Base UV" , 0, 0, 9900, 9900, true, false, 1, 1, 1, Dyes.dyeYellow , 1, Arrays.asList(new MaterialStack(Naquadria, 4), new MaterialStack(Osmiridium, 3), new MaterialStack(Europium, 1), new MaterialStack(Samarium, 1)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 21))).setProcessingMaterialTierEU(Tier.RECIPE_ZPM); + public static Materials Longasssuperconductornameforuhvwire = new Materials( 985, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 38,129, 189, 0, "Longasssuperconductornameforuhvwire" , "Superconductor Base UHV" , 0, 0, 10800, 10800, true, false, 1, 1, 1, Dyes.dyeWhite , 1, Arrays.asList(new MaterialStack(Draconium, 6), new MaterialStack(CosmicNeutronium, 7), new MaterialStack(Tritanium, 5), new MaterialStack(Americium, 6)), Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 24))).setProcessingMaterialTierEU(Tier.RECIPE_UV); + public static Materials SuperconductorUEVBase = new Materials( 974, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 174, 8, 8, 0, "SuperconductorUEVBase" , "Superconductor Base UEV" , 0, 0, 11700, 11800, true, false, 1, 1, 1, Dyes.dyeWhite, Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 27))).setProcessingMaterialTierEU(Tier.RECIPE_UHV); + public static Materials SuperconductorUIVBase = new Materials( 131, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 229, 88, 177, 0, "SuperconductorUIVBase" , "Superconductor Base UIV" , 0, 0, 12700, 12700, true, false, 1, 1, 1, Dyes.dyeWhite, Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 34))).setProcessingMaterialTierEU(Tier.RECIPE_UEV); + public static Materials SuperconductorUMVBase = new Materials( 134, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 181, 38, 205, 0, "SuperconductorUMVBase" , "Superconductor Base UMV" , 0, 0, 13600, 13600, true, false, 1, 1, 1, Dyes.dyeWhite, Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 40))).setProcessingMaterialTierEU(Tier.RECIPE_UIV); // Superconductors. public static Materials SuperconductorMV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 85, 85, 85, 0, "SuperconductorMV" , "Superconductor MV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeGray , Collections.singletonList(new TC_AspectStack(TC_Aspects.ELECTRUM, 6))); @@ -887,10 +886,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials SuperCoolant = new MaterialBuilder( -1, TextureSet.SET_DULL,"Super Coolant").setRGB(2, 91, 111).addFluid().constructMaterial().setLiquidTemperature(1); - public static Materials DimensionallyTranscendentCrudeCatalyst = new Materials( 748, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentCrudeCatalyst" , "Dimensionally Transcendent Crude Catalyst" , 0, 0, 100000000, 1, false, true, 1, 1, 1, Dyes.dyeCyan).setHasCorrespondingFluid(true); - public static Materials DimensionallyTranscendentProsaicCatalyst = new Materials( 747, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentProsaicCatalyst" , "Dimensionally Transcendent Prosaic Catalyst" , 0, 0, 100000000, 1, false, true, 1, 1, 1, Dyes.dyeGreen).setHasCorrespondingFluid(true); - public static Materials DimensionallyTranscendentResplendentCatalyst = new Materials( 746, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentResplendentCatalyst" , "Dimensionally Transcendent Resplendent Catalyst" , 0, 0, 100000000, 1, false, true, 1, 1, 1, Dyes.dyeLime).setHasCorrespondingFluid(true); - public static Materials DimensionallyTranscendentExoticCatalyst = new Materials( 745, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentExoticCatalyst" , "Dimensionally Transcendent Exotic Catalyst" , 0, 0, 100000000, 1, false, true, 1, 1, 1, Dyes.dyeMagenta).setHasCorrespondingFluid(true); + public static Materials DimensionallyTranscendentCrudeCatalyst = new Materials( 748, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentCrudeCatalyst" , "Dimensionally Transcendent Crude Catalyst" , 0, 0, 25_000_000, 1, false, true, 1, 1, 1, Dyes.dyeCyan).setHasCorrespondingFluid(true); + public static Materials DimensionallyTranscendentProsaicCatalyst = new Materials( 747, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentProsaicCatalyst" , "Dimensionally Transcendent Prosaic Catalyst" , 0, 0, 50_000_000, 1, false, true, 1, 1, 1, Dyes.dyeGreen).setHasCorrespondingFluid(true); + public static Materials DimensionallyTranscendentResplendentCatalyst = new Materials( 746, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentResplendentCatalyst" , "Dimensionally Transcendent Resplendent Catalyst" , 0, 0, 75_000_000, 1, false, true, 1, 1, 1, Dyes.dyeLime).setHasCorrespondingFluid(true); + public static Materials DimensionallyTranscendentExoticCatalyst = new Materials( 745, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "DimensionallyTranscendentExoticCatalyst" , "Dimensionally Transcendent Exotic Catalyst" , 0, 0, 100_000_000, 1, false, true, 1, 1, 1, Dyes.dyeMagenta).setHasCorrespondingFluid(true); public static Materials ExcitedDTCC = new Materials( 109, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 10, 20, 20, 1, "ExcitedDTCC" , "Excited Dimensionally Transcendent Crude Catalyst" , -1, -1, 500000000, 1, false, true, 1, 1, 1, Dyes.dyeCyan); public static Materials ExcitedDTPC = new Materials( 113, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 35, 59, 41, 1, "ExcitedDTPC" , "Excited Dimensionally Transcendent Prosaic Catalyst" , -1, -1, 500000000, 1, false, true, 1, 1, 1, Dyes.dyeGreen); @@ -899,9 +898,19 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials DimensionallyTranscendentResidue = new Materials( 589, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 0, 0, 0, 1, "DimensionallyTranscendentResidue" , "Dimensionally Transcendent Residue" , -1, -1, 25, 1, false, true, 1, 1, 1, Dyes.dyeBlack); - public static Materials SpaceTime = new Materials( 588, new TextureSet("spacetime", true) , 320.0F, 4*2621440, 25, 1|2|64|128, 255, 255, 255, 0, "SpaceTime" , "SpaceTime" , -1, -1, 0, 0, false, true, 2, 1, 1, Dyes._NULL , Collections.singletonList(new TC_AspectStack(TC_Aspects.AQUA, 1))); - public static Materials TranscendentMetal = new Materials( 581, TextureSet.SET_METALLIC , 290.0F, 3*2621440, 22, 1|2|64|128, 50, 50, 50,0, "TranscendentMetal" , "Transcendent Metal" , -1, -1, 0, 3000, true, true, 200, 1000, 1000, Dyes.dyeBlack , Collections.singletonList(new TC_AspectStack(TC_Aspects.AQUA, 1))).disableAutoGeneratedBlastFurnaceRecipes().disableAutoGeneratedVacuumFreezerRecipe(); - public static Materials EnrichedHolmium = new Materials(582, TextureSet.SET_METALLIC, 1.0F, 0, 2, 18, 100, 1|2|4|16, 255, 255, "EnrichedHolmium", "Enriched Holmium", -1, -1, 0, 3000, true, false, 200, 1, 1, Dyes.dyePurple); + public static Materials SpaceTime = new Materials(588, new TextureSet("spacetime", true) , 320.0F, 4*2621440, 25, 1|2|64|128, 255, 255, 255, 0, "SpaceTime" , "SpaceTime" , -1, -1, 0, 0, false, true, 2, 1, 1, Dyes._NULL , Collections.singletonList(new TC_AspectStack(TC_Aspects.AQUA, 1))).setProcessingMaterialTierEU(Tier.RECIPE_UIV); + public static Materials TranscendentMetal = new Materials(581, TextureSet.SET_METALLIC , 290.0F, 3*2621440, 22, 1|2|64|128, 50, 50, 50,0, "TranscendentMetal" , "Transcendent Metal" , -1, -1, 0, 3000, true, true, 200, 1000, 1000, Dyes.dyeBlack , Collections.singletonList(new TC_AspectStack(TC_Aspects.AQUA, 1))).disableAutoGeneratedBlastFurnaceRecipes().disableAutoGeneratedVacuumFreezerRecipe().setProcessingMaterialTierEU(Tier.RECIPE_UEV); + public static Materials EnrichedHolmium = new Materials(582, TextureSet.SET_METALLIC, 1.0F, 0, 2, 18, 100, 1|2|4|16, 255, 255, "EnrichedHolmium", "Enriched Holmium", -1, -1, 0, 3000, true, false, 200, 1, 1, Dyes.dyePurple); + + public static Materials MagnetohydrodynamicallyConstrainedStarMatter = new Materials(583, new TextureSet("MagnetohydrodynamicallyConstrainedStarMatter", true) , 320.0F, 4*2621440, 25, 1|2|64|128, 255, 255, 255, 0, "MagnetohydrodynamicallyConstrainedStarMatter" , "Magnetohydrodynamically Constrained Star Matter" , -1, -1, 0, 0, false, true, 2, 1, 1, Dyes._NULL , Collections.singletonList(new TC_AspectStack(TC_Aspects.AQUA, 1))).setProcessingMaterialTierEU(Tier.RECIPE_UMV); + public static Materials RawStarMatter = new Materials(584, TextureSet.SET_FLUID, 1.0F, 0, 2, 16|32, 100, 1, 255, 255, "RawStarMatter", "Condensed Raw Stellar Plasma Mixture", -1, -1, 0, 0, false, false, 200, 1, 1, Dyes.dyePurple); + public static Materials WhiteDwarfMatter = new Materials(585, new TextureSet("WhiteDwarfMatter", true), 1.0F, 0, 2, 1|2|64|128, 255, 255, 255, 255, "WhiteDwarfMatter", "White Dwarf Matter", -1, -1, 0, 0, false, false, 200, 1, 1, Dyes.dyePurple).setHasCorrespondingFluid(true).setProcessingMaterialTierEU(Tier.RECIPE_UMV); + public static Materials BlackDwarfMatter = new Materials(586, TextureSet.SET_METALLIC, 1.0F, 0, 2, 1|2|64|128, 0, 0, 0, 255, "BlackDwarfMatter", "Black Dwarf Matter", -1, -1, 0, 0, false, false, 200, 1, 1, Dyes.dyePurple).setHasCorrespondingFluid(true).setProcessingMaterialTierEU(Tier.RECIPE_UMV); + + public static Materials Time = new Materials(587, TextureSet.SET_FLUID, 1.0F, 0, 2, 16|32, 100, 1, 255, 255, "Time", "Molten Time", -1, -1, 0, 0, false, false, 200, 1, 1, Dyes.dyePurple); + public static Materials Space = new Materials(106, TextureSet.SET_FLUID, 1.0F, 0, 2, 16|32, 100, 1, 255, 255, "Space", "Molten Space", -1, -1, 0, 0, false, false, 200, 1, 1, Dyes.dyePurple); + + // spotless:on static { @@ -974,20 +983,31 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { mCustomOre = false; public byte mEnchantmentToolsLevel = 0, mEnchantmentArmorsLevel = 0, mToolQuality = 0; public short mBlastFurnaceTemp = 0; - public int mMeltingPoint = 0, - mGasTemp = 0, - mMetaItemSubID, - mTypes = 0, - mDurability = 16, - mFuelPower = 0, - mFuelType = 0, - mExtraData = 0, - mOreValue = 0, - mOreMultiplier = 1, - mByProductMultiplier = 1, - mSmeltingMultiplier = 1, - mDensityMultiplier = 1, - mDensityDivider = 1; + public int mMeltingPoint = 0; + public int mGasTemp = 0; + public int mMetaItemSubID; + public int mTypes = 0; + public int mDurability = 16; + public int mFuelPower = 0; + public int mFuelType = 0; + public int mExtraData = 0; + public int mOreValue = 0; + public int mOreMultiplier = 1; + public int mByProductMultiplier = 1; + public int mSmeltingMultiplier = 1; + public int mDensityMultiplier = 1; + public int mDensityDivider = 1; + + public int getProcessingMaterialTierEU() { + return processingMaterialTierEU; + } + + public Materials setProcessingMaterialTierEU(final long processingMaterialTierEU) { + this.processingMaterialTierEU = (int) processingMaterialTierEU; + return this; + } + + public int processingMaterialTierEU = 0; public long mDensity = M; public float mToolSpeed = 1.0F, mHeatDamage = 0.0F, @@ -1976,7 +1996,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { NetherQuartz.mChemicalFormula = "SiO\u2082"; Quartzite.mChemicalFormula = "SiO\u2082"; CertusQuartz.mChemicalFormula = "SiO\u2082"; - SpaceTime.mChemicalFormula = "Reality itself distilled into liquid form"; + SpaceTime.mChemicalFormula = "Reality itself distilled into physical form"; Longasssuperconductornameforuvwire.mChemicalFormula = "Nq*\u2084(Ir\u2083Os)\u2083EuSm"; Longasssuperconductornameforuhvwire.mChemicalFormula = "D\u2086(SpNt)\u2087Tn\u2085Am\u2086"; SuperconductorUEVBase.mChemicalFormula = "D*\u2085If*\u2085(✦◆✦)(⚷⚙⚷ Ni4Ti6)"; @@ -2002,6 +2022,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { SubTag.ELECTROMAGNETIC_SEPERATION_GOLD.addTo( Magnetite, VanadiumMagnetite, BasalticMineralSand, GraniticMineralSand); + SubTag.NO_RECIPES.addTo(MagnetohydrodynamicallyConstrainedStarMatter); + SubTag.ELECTROMAGNETIC_SEPERATION_IRON.addTo( YellowLimonite, BrownLimonite, @@ -2272,7 +2294,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { Sugar, FreshWater); - // TranscendentMetal.add(SubTag.NO_SMELTING); + BlackDwarfMatter.add(SubTag.NO_SMELTING); + WhiteDwarfMatter.add(SubTag.NO_SMELTING); + SpaceTime.add(SubTag.NO_SMELTING); + Wood.add(SubTag.WOOD, SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING); WoodSealed.add(SubTag.WOOD, SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.NO_WORKING); Peanutwood.add(SubTag.WOOD, SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING); @@ -2600,6 +2625,14 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { : aMaterial.getMass() > Element.Tc.getMass() * 2 ? TungstenSteel : aMaterial.getMass() > Element.Tc.getMass() ? Steel : Wood); + + if (aMaterial == Materials.SpaceTime) { + aMaterial.mHandleMaterial = Materials.Infinity; + } + + if (aMaterial == Materials.TranscendentMetal) { + aMaterial.mHandleMaterial = Materials.DraconiumAwakened; + } } private static void addEnchantmentValues(Materials aMaterial, String aConfigPath) { @@ -2721,13 +2754,13 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { SubTagCalculation(aMaterial, aConfigPath); OreByProductsCalculation(aMaterial, aConfigPath); OreReRegistrationsCalculation(aMaterial, aConfigPath); - AspectCalculation(aMaterial, aConfigPath); + aspectCalculation(aMaterial, aConfigPath); addHarvestLevelNerfs(aMaterial, aConfigPath); } } } - private static void AspectCalculation(Materials aMaterial, String aConfigPath) { + private static void aspectCalculation(Materials aMaterial, String aConfigPath) { String aDefaultAspectString = aMaterial.mAspects.stream() .map(aAspectStack -> aAspectStack.mAspect.toString()) diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java index 7de2425df0..ffe60675d6 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -3261,6 +3261,21 @@ public enum OrePrefixes { ingot.mNotGeneratedItems.add(Materials.BrickNether); ingot.mNotGeneratedItems.add(Materials.WoodSealed); ingot.mNotGeneratedItems.add(Materials.Wood); + + plateDouble.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + plateTriple.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + plateQuadruple.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + plateQuintuple.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + cell.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + ingotDouble.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + ingotTriple.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + ingotQuadruple.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + ingotQuintuple.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + turbine.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + dust.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + dustSmall.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + dustTiny.mNotGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + // ingot.mNotGeneratedItems.add(Materials.Ichorium); nugget.mNotGeneratedItems.add(Materials.Gold); plate.mNotGeneratedItems.add(Materials.Paper); @@ -3289,6 +3304,10 @@ public enum OrePrefixes { block.mNotGeneratedItems.add(Materials.Diamond); block.mNotGeneratedItems.add(Materials.Coal); toolHeadArrow.mNotGeneratedItems.add(Materials.Glass); + toolHeadArrow.mNotGeneratedItems.add(Materials.TranscendentMetal); + arrowGtPlastic.mNotGeneratedItems.add(Materials.TranscendentMetal); + arrow.mNotGeneratedItems.add(Materials.TranscendentMetal); + arrowGtWood.mNotGeneratedItems.add(Materials.TranscendentMetal); // ----- @@ -3334,9 +3353,17 @@ public enum OrePrefixes { nanite.mGeneratedItems.add(Materials.Silver); nanite.mGeneratedItems.add(Materials.TranscendentMetal); nanite.mGeneratedItems.add(Materials.Neutronium); + nanite.mGeneratedItems.add(Materials.WhiteDwarfMatter); + nanite.mGeneratedItems.add(Materials.BlackDwarfMatter); nanite.mGeneratedItems.add(Materials.Glowstone); // ----- + gear.mGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + ingot.mGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + toolHeadHammer.mGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + frame.mGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + frameGt.mGeneratedItems.add(Materials.MagnetohydrodynamicallyConstrainedStarMatter); + dust.mGeneratedItems.addAll(dustPure.mGeneratedItems); dust.mGeneratedItems.addAll(dustImpure.mGeneratedItems); dust.mGeneratedItems.addAll(dustRefined.mGeneratedItems); @@ -4162,8 +4189,16 @@ public enum OrePrefixes { } public void processOre(Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - if (aMaterial != null - && (aMaterial != Materials._NULL || mIsSelfReferencing || !mIsMaterialBased) + + if (aMaterial == null) { + return; + } + + if (aMaterial.contains(SubTag.NO_RECIPES)) { + return; + } + + if ((aMaterial != Materials._NULL || mIsSelfReferencing || !mIsMaterialBased) && GT_Utility.isStackValid(aStack)) { // if (Materials.mPreventableComponents.contains(this) && !this.mDynamicItems.contains(aMaterial)) return; for (IOreRecipeRegistrator tRegistrator : mOreProcessing) { diff --git a/src/main/java/gregtech/api/enums/SubTag.java b/src/main/java/gregtech/api/enums/SubTag.java index b1999de89b..610e4a637b 100644 --- a/src/main/java/gregtech/api/enums/SubTag.java +++ b/src/main/java/gregtech/api/enums/SubTag.java @@ -85,6 +85,10 @@ public final class SubTag implements ICondition<ISubTagContainer> { */ public static final SubTag NO_SMASHING = getNewSubTag("NO_SMASHING"); /** + * This Material will have no associated recipes in any format. + */ + public static final SubTag NO_RECIPES = getNewSubTag("NO_RECIPES"); + /** * This Material cannot be unificated */ public static final SubTag NO_UNIFICATION = getNewSubTag("NO_UNIFICATION"); diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java index 7b8940a70a..b033e010d3 100644 --- a/src/main/java/gregtech/api/enums/TextureSet.java +++ b/src/main/java/gregtech/api/enums/TextureSet.java @@ -330,9 +330,9 @@ public class TextureSet { } } - public TextureSet(String aSetName, boolean is_custom) { + public TextureSet(String aSetName, boolean isCustom) { this("CUSTOM/" + aSetName); - this.is_custom = is_custom; + this.is_custom = isCustom; } /** diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index f881ae693b..dd389cfdf7 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -1121,6 +1121,10 @@ public class Textures { BLOCK_TRANSCENDENTMETAL, BLOCK_ORIHARUKON, + BLOCK_WHITEDWARFMATTER, + + BLOCK_BLACKDWARFMATTER, + MARBLE_COBBLE_MOSSY, MARBLE_BRICKS, MARBLE_BRICKS_CRACKED, @@ -1865,7 +1869,9 @@ public class Textures { BLOCK_NICKELALUMINIUM, BLOCK_SPACETIME, BLOCK_TRANSCENDENTMETAL, - BLOCK_ORIHARUKON + BLOCK_ORIHARUKON, + BLOCK_WHITEDWARFMATTER, + BLOCK_BLACKDWARFMATTER, }; public static final ITexture[] HIDDEN_TEXTURE = { diff --git a/src/main/java/gregtech/api/enums/Tier.java b/src/main/java/gregtech/api/enums/Tier.java index bef43f92ae..55cabcfe2c 100644 --- a/src/main/java/gregtech/api/enums/Tier.java +++ b/src/main/java/gregtech/api/enums/Tier.java @@ -6,6 +6,43 @@ import static gregtech.api.enums.GT_Values.V; * Experimental Class for later */ public class Tier { + + private static final double RECIPE_DISCOUNT = 0.95; + + // Do NOT use these for crafting recipes as they are exactly 1A! Use RECIPE_ULV etc. + public static final long ULV = V[0]; + public static final long LV = V[1]; + public static final long MV = V[2]; + public static final long HV = V[3]; + public static final long EV = V[4]; + public static final long IV = V[5]; + public static final long LuV = V[6]; + public static final long ZPM = V[7]; + public static final long UV = V[8]; + public static final long UHV = V[9]; + public static final long UEV = V[10]; + public static final long UIV = V[11]; + public static final long UMV = V[12]; + public static final long UXV = V[13]; + public static final long MAX = V[14]; + + // Use me for recipes. + public static final long RECIPE_ULV = GT_Values.VP[0]; + public static final long RECIPE_LV = GT_Values.VP[1]; + public static final long RECIPE_MV = GT_Values.VP[2]; + public static final long RECIPE_HV = GT_Values.VP[3]; + public static final long RECIPE_EV = GT_Values.VP[4]; + public static final long RECIPE_IV = GT_Values.VP[5]; + public static final long RECIPE_LuV = GT_Values.VP[6]; + public static final long RECIPE_ZPM = GT_Values.VP[7]; + public static final long RECIPE_UV = GT_Values.VP[8]; + public static final long RECIPE_UHV = GT_Values.VP[9]; + public static final long RECIPE_UEV = GT_Values.VP[10]; + public static final long RECIPE_UIV = GT_Values.VP[11]; + public static final long RECIPE_UMV = GT_Values.VP[12]; + public static final long RECIPE_UXV = GT_Values.VP[13]; + public static final long RECIPE_MAX = GT_Values.VP[14]; + public static final Tier[] ELECTRIC = new Tier[] { diff --git a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java index bcb5cc5402..83e5cd9407 100644 --- a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java +++ b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java @@ -586,6 +586,15 @@ public interface IGT_RecipeAdder { */ boolean addForgeHammerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); + // Allows fluids as well as multiple items. + boolean addForgeHammerRecipe( + ItemStack[] ItemInputArray, + FluidStack[] FluidInputArray, + ItemStack[] ItemOutputArray, + FluidStack[] FluidOutputArray, + int aDuration, + int aEUt); + /** * Adds a Wiremill Recipe * diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java index dce130325c..636012fac3 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java @@ -1,11 +1,9 @@ package gregtech.api.metatileentity.implementations; import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.util.GT_Utility.calculateRecipeEU; -import gregtech.api.enums.Dyes; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.*; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -28,16 +26,22 @@ public class GT_MetaPipeEntity_Frame extends MetaPipeEntity { mMaterial = aMaterial; GT_OreDictUnificator.registerOre(OrePrefixes.frameGt, aMaterial, getStackForm(1)); - GT_ModHandler.addCraftingRecipe( - getStackForm(2), - RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] {"SSS", "SwS", "SSS", 'S', OrePrefixes.stick.get(mMaterial)}); - RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 4), - ItemList.Circuit_Integrated.getWithDamage(0, 4), - getStackForm(1), - 64, - 8); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_ModHandler.addCraftingRecipe( + getStackForm(2), + RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, + new Object[] {"SSS", "SwS", "SSS", 'S', OrePrefixes.stick.get(mMaterial)}); + } + + if (!aMaterial.contains(SubTag.NO_RECIPES)) { + // Auto generate frame box recipe in an assembler. + RA.addAssemblerRecipe( + GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 4), + ItemList.Circuit_Integrated.getWithDamage(0, 4), + getStackForm(1), + 64, + calculateRecipeEU(aMaterial, 7)); + } } public GT_MetaPipeEntity_Frame(String aName, Materials aMaterial) { diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 21d7d6ea3e..8ed8b5a9ff 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -1392,8 +1392,8 @@ public class GT_Recipe implements Comparable<GT_Recipe> { "Precision Laser Engraver", null, RES_PATH_GUI + "basicmachines/LaserEngraverNEI", - 2, - 1, + 4, + 4, 0, 0, 1, @@ -2122,14 +2122,15 @@ public class GT_Recipe implements Comparable<GT_Recipe> { true) .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_EXTRUDER_SHAPE) .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRUDE, ProgressBar.Direction.RIGHT); + public static final GT_Recipe_Map sHammerRecipes = new GT_Recipe_Map( new HashSet<>(3800), "gt.recipe.hammer", "Forge Hammer", null, RES_PATH_GUI + "basicmachines/Hammer", - 1, - 1, + 2, + 2, 1, 0, 1, @@ -2138,6 +2139,8 @@ public class GT_Recipe implements Comparable<GT_Recipe> { E, true, true) + .setUsualFluidInputCount(2) + .setUsualFluidOutputCount(2) .setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_HAMMER) .setProgressBar(GT_UITextures.PROGRESSBAR_HAMMER, ProgressBar.Direction.DOWN) .addSpecialTexture(20, 6, 78, 42, GT_UITextures.PROGRESSBAR_HAMMER_BASE) @@ -2473,7 +2476,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { false, true) .useModularUI(true) - .setUsualFluidInputCount(1) + .setUsualFluidInputCount(3) .setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_LENS) .setProgressBar(GT_UITextures.PROGRESSBAR_ASSEMBLE, ProgressBar.Direction.RIGHT); diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java index d6751ebd84..8a28b686c5 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java +++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java @@ -3,6 +3,7 @@ package gregtech.api.util; import static gregtech.api.enums.GT_Values.*; import static gregtech.api.enums.Materials.*; import static gregtech.api.enums.Materials.Void; +import static gregtech.api.util.GT_Utility.calculateRecipeEU; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableList; @@ -159,7 +160,8 @@ public class GT_RecipeRegistrator { || !aData.hasValidMaterialData() || !aData.mMaterial.mMaterial.mAutoGenerateRecycleRecipes || aData.mMaterial.mAmount <= 0 - || GT_Utility.getFluidForFilledItem(aStack, false) != null) return; + || GT_Utility.getFluidForFilledItem(aStack, false) != null + || aData.mMaterial.mMaterial.mSubTags.contains(SubTag.NO_RECIPES)) return; registerReverseMacerating(GT_Utility.copyAmount(1, aStack), aData, aData.mPrefix == null); registerReverseSmelting( GT_Utility.copyAmount(1, aStack), aData.mMaterial.mMaterial, aData.mMaterial.mAmount, true); @@ -232,10 +234,12 @@ public class GT_RecipeRegistrator { || aMaterial == null || aMaterialAmount <= 0 || aMaterial.contains(SubTag.NO_SMELTING) - || (aMaterialAmount > M && aMaterial.contains(SubTag.METAL))) return; - aMaterialAmount /= aStack.stackSize; + || (aMaterialAmount > M && aMaterial.contains(SubTag.METAL)) + || (aMaterial.getProcessingMaterialTierEU() > Tier.IV)) return; if (aMaterial == Materials.Naquadah || aMaterial == Materials.NaquadahEnriched) return; + aMaterialAmount /= aStack.stackSize; + boolean tHide = (aMaterial != Materials.Iron) && (GT_Mod.gregtechproxy.mHideRecyclingRecipes); if (aAllowAlloySmelter) GT_ModHandler.addSmeltingAndAlloySmeltingRecipe( @@ -597,12 +601,6 @@ public class GT_RecipeRegistrator { aItemData.mMaterial.mMaterial + "." + sShapesA[i][0], true)) { if (null != (tStack = GT_ModHandler.removeRecipe(tRecipe.shape))) { - // - // GT_Log.out.println("###################################################################################"); - // GT_Log.out.println("registerStickStuff used - // aPlate: "+aPlate); - // - // GT_Log.out.println("###################################################################################"); switch (sShapesA[i].length) { case 2: GT_ModHandler.addCraftingRecipe( @@ -658,9 +656,11 @@ public class GT_RecipeRegistrator { * @param aMaterial material to register * @param baseDuration base duration ticks for ingot -> 1x wire recipe * @param aEUt EU/t for recipe + * If you provide a proper EU tier for recipe processing then aEUt will be overriden with it. */ public static void registerWiremillRecipes(Materials aMaterial, int baseDuration, int aEUt) { - registerWiremillRecipes(aMaterial, baseDuration, aEUt, OrePrefixes.ingot, OrePrefixes.stick, 2); + registerWiremillRecipes( + aMaterial, baseDuration, calculateRecipeEU(aMaterial, aEUt), OrePrefixes.ingot, OrePrefixes.stick, 2); } /** diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index ee4a92b1a4..51efb8a9a7 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -1926,6 +1926,12 @@ public class GT_Utility { return copyAmount(1, tData.filledContainer); } + public static int calculateRecipeEU(Materials aMaterial, int defaultRecipeEUPerTick) { + return aMaterial.getProcessingMaterialTierEU() == 0 + ? defaultRecipeEUPerTick + : aMaterial.getProcessingMaterialTierEU(); + } + public static ItemStack getFluidDisplayStack(Fluid aFluid) { return aFluid == null ? null : getFluidDisplayStack(new FluidStack(aFluid, 0), false); } |