aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/enums/Element.java2
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java3
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java30
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java107
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java39
-rw-r--r--src/main/java/gregtech/api/enums/SubTag.java4
-rw-r--r--src/main/java/gregtech/api/enums/TextureSet.java4
-rw-r--r--src/main/java/gregtech/api/enums/Textures.java8
-rw-r--r--src/main/java/gregtech/api/enums/Tier.java37
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java9
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java32
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java13
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeRegistrator.java20
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java6
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);
}