diff options
author | miozune <miozune@gmail.com> | 2023-02-16 21:11:38 +0900 |
---|---|---|
committer | miozune <miozune@gmail.com> | 2023-02-16 21:11:38 +0900 |
commit | d4971ee872e4186da6361c9afd86133304b7ae8d (patch) | |
tree | 0f7b01ba39e9796ff584a6ec837a13eaecd4bc39 /src/main/java/com | |
parent | f45b9dfb65c7c7b353797eca4be9c2885eb69e85 (diff) | |
download | GT5-Unofficial-d4971ee872e4186da6361c9afd86133304b7ae8d.tar.gz GT5-Unofficial-d4971ee872e4186da6361c9afd86133304b7ae8d.tar.bz2 GT5-Unofficial-d4971ee872e4186da6361c9afd86133304b7ae8d.zip |
Fix EOH recipes not being generated in some dimensions
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java | 31 | ||||
-rw-r--r-- | src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java | 35 |
2 files changed, 32 insertions, 34 deletions
diff --git a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java index 99f25832eb..98f24260eb 100644 --- a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java +++ b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java @@ -270,6 +270,7 @@ public class EyeOfHarmonyRecipe { public static void processHelper(HashMapHelper outputMap, Materials material, double mainMultiplier, double probability) { + if (material == null) return; outputMap.add(material.mDirectSmelting, (material.mOreMultiplier * 2) * mainMultiplier * probability); int index = 0; @@ -287,21 +288,25 @@ public class EyeOfHarmonyRecipe { double mainMultiplier = timeInSeconds * 384.0; - normalOreDimWrapper.oreVeinToProbabilityInDimension.forEach((veinInfo, probability) -> { - processHelper(outputMap, veinInfo.mPrimaryVeinMaterial, mainMultiplier, probability); - processHelper(outputMap, veinInfo.mSecondaryMaterial, mainMultiplier, probability); - // 8.0 to replicate void miner getDropsVanillaVeins method yields. - processHelper(outputMap, veinInfo.mBetweenMaterial, mainMultiplier / 8.0, probability); - processHelper(outputMap, veinInfo.mSporadicMaterial, mainMultiplier / 8.0, probability); - }); + if (normalOreDimWrapper != null) { + normalOreDimWrapper.oreVeinToProbabilityInDimension.forEach((veinInfo, probability) -> { + processHelper(outputMap, veinInfo.mPrimaryVeinMaterial, mainMultiplier, probability); + processHelper(outputMap, veinInfo.mSecondaryMaterial, mainMultiplier, probability); + // 8.0 to replicate void miner getDropsVanillaVeins method yields. + processHelper(outputMap, veinInfo.mBetweenMaterial, mainMultiplier / 8.0, probability); + processHelper(outputMap, veinInfo.mSporadicMaterial, mainMultiplier / 8.0, probability); + }); + } // Iterate over small ores in dimension and add them, kinda hacky but works and is close enough. - smallOreDimWrapper.oreVeinToProbabilityInDimension.forEach( - (veinInfo, probability) -> processHelper( - outputMap, - veinInfo.getOreMaterial(), - mainMultiplier, - probability)); + if (smallOreDimWrapper != null) { + smallOreDimWrapper.oreVeinToProbabilityInDimension.forEach( + (veinInfo, probability) -> processHelper( + outputMap, + veinInfo.getOreMaterial(), + mainMultiplier, + probability)); + } ArrayList<Pair<Materials, Long>> outputList = new ArrayList<>(); diff --git a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java index cd5d20aed6..78e97f4c46 100644 --- a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java +++ b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java @@ -51,30 +51,23 @@ public class EyeOfHarmonyRecipeStorage { .getOrDefault(dimAbbreviation, null); GT5OreSmallHelper.SmallOreDimensionWrapper smallOre = GT5OreSmallHelper.dimToSmallOreWrapper .getOrDefault(dimAbbreviation, null); - - if ((normalOre == null) || (smallOre == null)) { - System.out.println( - dimAbbreviation - + " dimension not found in dimToOreWrapper. Report error to GTNH team."); + if (normalOre == null && smallOre == null) { + // no ores are generated in this dimension. fail silently continue; } - try { - put( - dimAbbreviation, - new EyeOfHarmonyRecipe( - normalOre, - smallOre, - blockDimensionDisplay, - 0.6 + blockDimensionDisplay.getDimensionRocketTier() / 10.0, - BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1), - BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1), - timeCalculator(blockDimensionDisplay.getDimensionRocketTier()), - blockDimensionDisplay.getDimensionRocketTier(), - 1.0 - 0.05 * blockDimensionDisplay.getDimensionRocketTier())); - } catch (Exception e) { - e.printStackTrace(); - } + put( + dimAbbreviation, + new EyeOfHarmonyRecipe( + normalOre, + smallOre, + blockDimensionDisplay, + 0.6 + blockDimensionDisplay.getDimensionRocketTier() / 10.0, + BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1), + BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1), + timeCalculator(blockDimensionDisplay.getDimensionRocketTier()), + blockDimensionDisplay.getDimensionRocketTier(), + 1.0 - 0.05 * blockDimensionDisplay.getDimensionRocketTier())); } } } |