aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-02-16 21:04:16 +0900
committerGitHub <noreply@github.com>2023-02-16 21:04:16 +0900
commita02cad10b2b069dab74d7f26a6bdfccd82b06e3e (patch)
treeb252d55468780c6829459e0f3410a3777d67eded /src/main/java
parentd09e972f7e037b8776681c520918cd887202ab07 (diff)
downloadGT5-Unofficial-a02cad10b2b069dab74d7f26a6bdfccd82b06e3e.tar.gz
GT5-Unofficial-a02cad10b2b069dab74d7f26a6bdfccd82b06e3e.tar.bz2
GT5-Unofficial-a02cad10b2b069dab74d7f26a6bdfccd82b06e3e.zip
Proper fix for null ItemData (#31)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java31
-rw-r--r--src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreSmallHelper.java12
2 files changed, 22 insertions, 21 deletions
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java b/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java
index feed3d0794..996bef161a 100644
--- a/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java
+++ b/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java
@@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
+import gregtech.api.objects.ItemData;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.common.GT_Worldgen_GT_Ore_Layer;
@@ -86,10 +87,10 @@ public class GT5OreLayerHelper {
public short randomWeight, size, density;
public List<Integer> Weight = new ArrayList<>();
- public Materials mPrimaryVeinMaterial;
- public Materials mSecondaryMaterial;
- public Materials mBetweenMaterial;
- public Materials mSporadicMaterial;
+ public final Materials mPrimaryVeinMaterial;
+ public final Materials mSecondaryMaterial;
+ public final Materials mBetweenMaterial;
+ public final Materials mSporadicMaterial;
public OreLayerWrapper(GT_Worldgen_GT_Ore_Layer worldGen) {
this.veinName = worldGen.mWorldGenName;
@@ -99,16 +100,18 @@ public class GT5OreLayerHelper {
this.Meta[3] = worldGen.mSporadicMeta;
// Black magic, don't ask me how it works, I have no idea.
- try {
- this.mPrimaryVeinMaterial = GT_OreDictUnificator.getAssociation(
- new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mPrimaryMeta)).mMaterial.mMaterial;
- this.mSecondaryMaterial = GT_OreDictUnificator.getAssociation(
- new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mSecondaryMeta)).mMaterial.mMaterial;
- this.mBetweenMaterial = GT_OreDictUnificator.getAssociation(
- new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mBetweenMeta)).mMaterial.mMaterial;
- this.mSporadicMaterial = GT_OreDictUnificator.getAssociation(
- new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mSporadicMeta)).mMaterial.mMaterial;
- } catch (Exception ignored) {}
+ ItemData primaryVeinData = GT_OreDictUnificator
+ .getAssociation(new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mPrimaryMeta));
+ this.mPrimaryVeinMaterial = primaryVeinData != null ? primaryVeinData.mMaterial.mMaterial : null;
+ ItemData secondaryVeinData = GT_OreDictUnificator
+ .getAssociation(new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mSecondaryMeta));
+ this.mSecondaryMaterial = secondaryVeinData != null ? secondaryVeinData.mMaterial.mMaterial : null;
+ ItemData betweenVeinData = GT_OreDictUnificator
+ .getAssociation(new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mBetweenMeta));
+ this.mBetweenMaterial = betweenVeinData != null ? betweenVeinData.mMaterial.mMaterial : null;
+ ItemData sporadicVeinData = GT_OreDictUnificator
+ .getAssociation(new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mSporadicMeta));
+ this.mSporadicMaterial = sporadicVeinData != null ? sporadicVeinData.mMaterial.mMaterial : null;
this.size = worldGen.mSize;
this.density = worldGen.mDensity;
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreSmallHelper.java b/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreSmallHelper.java
index 56143c8068..99308c42ce 100644
--- a/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreSmallHelper.java
+++ b/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreSmallHelper.java
@@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.objects.ItemData;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.world.GT_Worldgen;
import gregtech.common.GT_Worldgen_GT_Ore_SmallPieces;
@@ -179,19 +180,16 @@ public class GT5OreSmallHelper {
return oreMaterial;
}
- private Materials oreMaterial = null;
+ private final Materials oreMaterial;
public OreSmallWrapper(GT_Worldgen_GT_Ore_SmallPieces worldGen) {
this.oreGenName = worldGen.mWorldGenName;
this.oreMeta = worldGen.mMeta;
this.worldGenHeightRange = worldGen.mMinY + "-" + worldGen.mMaxY;
this.amountPerChunk = worldGen.mAmount;
- try {
- this.oreMaterial = GT_OreDictUnificator
- .getAssociation(new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mMeta)).mMaterial.mMaterial;
- } catch (Exception e) {
- e.printStackTrace();
- }
+ ItemData oreData = GT_OreDictUnificator
+ .getAssociation(new ItemStack(GregTech_API.sBlockOres1, 1, worldGen.mMeta));
+ this.oreMaterial = oreData != null ? oreData.mMaterial.mMaterial : null;
}
public List<ItemStack> getMaterialDrops(int maximumIndex) {