aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-06-18 18:01:10 +0900
committerGitHub <noreply@github.com>2023-06-18 11:01:10 +0200
commita27f664199bfe5af7b654a1925f9cfa69ebe4ec8 (patch)
tree535da00b0c5be1007a806edd1f2cc53e702d53bc /src/main/java/gregtech/api
parent60f32c754885845d29b2e4556a85dc6fddcf6403 (diff)
downloadGT5-Unofficial-a27f664199bfe5af7b654a1925f9cfa69ebe4ec8.tar.gz
GT5-Unofficial-a27f664199bfe5af7b654a1925f9cfa69ebe4ec8.tar.bz2
GT5-Unofficial-a27f664199bfe5af7b654a1925f9cfa69ebe4ec8.zip
Add class for handling external materials (#2089)
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java16
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java3
-rw-r--r--src/main/java/gregtech/api/util/ExternalMaterials.java14
3 files changed, 29 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 8fa67c52bd..21d19ff31b 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -17,6 +17,8 @@ import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+import javax.annotation.Nonnull;
+
import net.minecraft.enchantment.Enchantment;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
@@ -2780,10 +2782,18 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
return MATERIALS_MAP;
}
+ @Nonnull
public static Materials get(String aMaterialName) {
- Materials aMaterial = getMaterialsMap().get(aMaterialName);
- if (aMaterial != null) return aMaterial;
- return Materials._NULL;
+ return getWithFallback(aMaterialName, Materials._NULL);
+ }
+
+ @Nonnull
+ public static Materials getWithFallback(String name, @Nonnull Materials fallback) {
+ Materials material = getMaterialsMap().get(name);
+ if (material != null) {
+ return material;
+ }
+ return fallback;
}
public static Materials getRealMaterial(String aMaterialName) {
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 4b45708370..42f45e0e5d 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -43,6 +43,7 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseMetaTileEntity;
import gregtech.api.render.TextureFactory;
+import gregtech.api.util.ExternalMaterials;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
@@ -401,7 +402,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
case 3 -> OrePrefixes.rotor.get(Materials.Steel);
case 4 -> OrePrefixes.rotor.get(Materials.StainlessSteel);
case 5 -> OrePrefixes.rotor.get(Materials.TungstenSteel);
- case 6 -> OrePrefixes.rotor.get(BartWorks.isModLoaded() ? Materials.get("Rhodium-PlatedPalladium") : Materials.Chrome);
+ case 6 -> OrePrefixes.rotor.get(ExternalMaterials.getRhodiumPlatedPalladium());
case 7 -> OrePrefixes.rotor.get(Materials.Iridium);
default -> OrePrefixes.rotor.get(Materials.Osmium);
};
diff --git a/src/main/java/gregtech/api/util/ExternalMaterials.java b/src/main/java/gregtech/api/util/ExternalMaterials.java
new file mode 100644
index 0000000000..29564db2fd
--- /dev/null
+++ b/src/main/java/gregtech/api/util/ExternalMaterials.java
@@ -0,0 +1,14 @@
+package gregtech.api.util;
+
+import gregtech.api.enums.Materials;
+
+public class ExternalMaterials {
+
+ public static Materials getRhodiumPlatedPalladium() {
+ return Materials.getWithFallback("Rhodium-PlatedPalladium", Materials.Chrome);
+ }
+
+ public static Materials getRuridit() {
+ return Materials.getWithFallback("Ruridit", Materials.Osmiridium);
+ }
+}