From a27f664199bfe5af7b654a1925f9cfa69ebe4ec8 Mon Sep 17 00:00:00 2001 From: miozune Date: Sun, 18 Jun 2023 18:01:10 +0900 Subject: Add class for handling external materials (#2089) --- src/main/java/gregtech/api/enums/Materials.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/api/enums') 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) { -- cgit