diff options
author | Maxim <maxim235@gmx.de> | 2023-02-16 10:14:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-16 10:14:49 +0100 |
commit | 3b834d6cebae287cd9bbeddd4f157338da6e1ea5 (patch) | |
tree | 84b429a27e1adf0674569160e40e4c916a1d93c3 /src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java | |
parent | e1ba22d7de9388dffb0ea7d99add79b95f94aa6a (diff) | |
download | GT5-Unofficial-3b834d6cebae287cd9bbeddd4f157338da6e1ea5.tar.gz GT5-Unofficial-3b834d6cebae287cd9bbeddd4f157338da6e1ea5.tar.bz2 GT5-Unofficial-3b834d6cebae287cd9bbeddd4f157338da6e1ea5.zip |
Fusion NEI support (#1742)
* Added optional special value to Power and getter for power into IMTE
* Added FusionPower to properly display available fusion recipes and OC
* spotlessApply (#1743)
Co-authored-by: GitHub GTNH Actions <>
* Moved compare flag to recipe map
* Missed a new constructor
* Added user request
* Addressed reviews
* Typo
* Update src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java
Co-authored-by: miozune <miozune@gmail.com>
* Removed wrong bracket from git online commit
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: miozune <miozune@gmail.com>
Diffstat (limited to 'src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java')
-rw-r--r-- | src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java b/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java index 4bcaeddc0d..ba64ba2e54 100644 --- a/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java +++ b/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java @@ -58,7 +58,6 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SteamVariant; import gregtech.api.gui.GT_GUIContainer; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.ItemData; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Log; @@ -165,7 +164,11 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler { if (outputId.equals(getOverlayIdentifier())) { if (results.length > 0 && results[0] instanceof Power) { mPower = (Power) results[0]; - loadTieredCraftingRecipesUpTo(mPower.getTier()); + if (mRecipeMap.useComparatorForNEI) { + loadTieredCraftingRecipesWithPower(mPower); + } else { + loadTieredCraftingRecipesUpTo(mPower.getTier()); + } } else { arecipes.addAll(getCache()); } @@ -205,6 +208,21 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler { } } + private void loadTieredCraftingRecipesWithPower(Power power) { + arecipes.addAll(getTieredRecipes(power)); + } + + private List<CachedDefaultRecipe> getTieredRecipes(Power power) { + List<CachedDefaultRecipe> recipes = getCache(); + if (recipes.size() > 0) { + recipes = recipes.stream().filter( + recipe -> power.compareTo(GT_Utility.getTier(recipe.mRecipe.mEUt), recipe.mRecipe.mSpecialValue) + >= 0) + .collect(Collectors.toList()); + } + return recipes; + } + private void loadTieredCraftingRecipesUpTo(byte upperTier) { arecipes.addAll(getTieredRecipes(upperTier)); } @@ -242,12 +260,13 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler { GT_NEI_DefaultHandler handler = (GT_NEI_DefaultHandler) newInstance(); if (RecipeCatalysts.containsCatalyst(handler, candidate)) { IMetaTileEntity gtTileEntity = GT_Item_Machines.getMetaTileEntity(candidate); - if (gtTileEntity instanceof GT_MetaTileEntity_BasicMachine) { - Power power = ((GT_MetaTileEntity_BasicMachine) gtTileEntity).getPower(); - handler.loadCraftingRecipes(getOverlayIdentifier(), power); + Power power; + if (gtTileEntity != null) { + power = gtTileEntity.getPower(); } else { - handler.loadCraftingRecipes(getOverlayIdentifier(), (Object) null); + power = null; } + handler.loadCraftingRecipes(getOverlayIdentifier(), power); return handler; } } @@ -386,7 +405,7 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler { if (mPower == null) { mPower = mRecipeMap.getPowerFromRecipeMap(); } - mPower.computePowerUsageAndDuration(recipe.mEUt, recipe.mDuration); + mPower.computePowerUsageAndDuration(recipe.mEUt, recipe.mDuration, recipe.mSpecialValue); mRecipeMap.drawNEIDescription( new NEIRecipeInfo(recipe, mRecipeMap, cachedRecipe, mPower, getDescriptionYOffset())); |