diff options
author | miozune <miozune@gmail.com> | 2023-12-04 08:11:34 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-04 00:11:34 +0100 |
commit | 981df39ed10c780e38d91503de42dcd46c2e47e4 (patch) | |
tree | 13591ba87d0eb3bff575a405a3cd25360d3dd961 /src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java | |
parent | c8fc878cd693b454d500f1cae611a363b59914ea (diff) | |
download | GT5-Unofficial-981df39ed10c780e38d91503de42dcd46c2e47e4.tar.gz GT5-Unofficial-981df39ed10c780e38d91503de42dcd46c2e47e4.tar.bz2 GT5-Unofficial-981df39ed10c780e38d91503de42dcd46c2e47e4.zip |
Migrate to new RecipeMap (#219)
* Migrate GG recipemaps
* Migrate the rest
* Split classes, renames, more adapt to GT changes
* Update GT to adapt to MaceratorBackend removal
* update gradle+deps+bs
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: BlueWeabo <ilia.iliev2005@gmail.com>
Diffstat (limited to 'src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java')
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index 3242ff8778..5793b62271 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -8,11 +8,13 @@ import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY; import static gregtech.api.util.GT_StructureUtility.ofFrame; import static gregtech.api.util.GT_Utility.filterValidMTEs; +import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.stream.Collectors; import java.util.stream.IntStream; -import javax.annotation.Nullable; +import javax.annotation.Nonnull; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -20,8 +22,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; -import org.jetbrains.annotations.NotNull; - import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; @@ -33,10 +33,10 @@ import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.api.screen.UIBuildContext; import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; +import goodgenerator.api.recipe.GoodGeneratorRecipeMaps; import goodgenerator.client.GUI.GG_UITextures; import goodgenerator.loader.Loaders; import goodgenerator.util.DescTextLocalization; -import goodgenerator.util.MyRecipeAdder; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; @@ -58,15 +58,15 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maint import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.recipe.check.FindRecipeResult; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_HatchElementBuilder; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gregtech.common.tileentities.machines.IDualInputHatch; @@ -221,34 +221,23 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB protected ProcessingLogic createProcessingLogic() { return new ProcessingLogic() { - @NotNull + @Nonnull @Override - protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { + protected CheckRecipeResult validateRecipe(@Nonnull GT_Recipe recipe) { if (mode == 0) { if (recipe.mSpecialValue > (casingTier + 1)) { return CheckRecipeResultRegistry.insufficientMachineTier(recipe.mSpecialValue); } } + if (availableVoltage < recipe.mEUt) { + return CheckRecipeResultRegistry.insufficientPower(recipe.mEUt); + } return CheckRecipeResultRegistry.SUCCESSFUL; } - @NotNull - @Override - protected FindRecipeResult findRecipe(@Nullable GT_Recipe_Map map) { - if (map == null) return FindRecipeResult.NOT_FOUND; - return map.findRecipeWithResult( - lastRecipe, - false, - false, - availableVoltage, - inputFluids, - specialSlotItem, - inputItems); - } - - @NotNull + @Nonnull @Override - protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { + protected GT_OverclockCalculator createOverclockCalculator(@Nonnull GT_Recipe recipe) { return super.createOverclockCalculator(recipe).setSpeedBoost(mode == 0 ? 1 : 0.5F); } }.setMaxParallelSupplier(() -> mode == 0 ? 1 : (int) Math.pow(2, 4 + (casingTier + 1))); @@ -256,7 +245,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB @Override protected void setProcessingLogicPower(ProcessingLogic logic) { - boolean useSingleAmp = mEnergyHatches.size() == 1 && mExoticEnergyHatches.size() == 0; + boolean useSingleAmp = mEnergyHatches.size() == 1 && mExoticEnergyHatches.isEmpty(); logic.setAvailableVoltage(getMachineVoltageLimit()); logic.setAvailableAmperage(useSingleAmp ? 1 : getMaxInputAmps()); logic.setAmperageOC(true); @@ -274,9 +263,15 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - if (this.mode == 0) return MyRecipeAdder.instance.PA; - else return GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; + public RecipeMap<?> getRecipeMap() { + if (this.mode == 0) return GoodGeneratorRecipeMaps.preciseAssemblerRecipes; + else return RecipeMaps.assemblerRecipes; + } + + @Nonnull + @Override + public Collection<RecipeMap<?>> getAvailableRecipeMaps() { + return Arrays.asList(GoodGeneratorRecipeMaps.preciseAssemblerRecipes, RecipeMaps.assemblerRecipes); } @Override |