diff options
Diffstat (limited to 'src/main')
2 files changed, 47 insertions, 3 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java index 256e2885bb..9958f925a7 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java @@ -16,6 +16,8 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_MULTI_CANNER_ import static gregtech.api.util.GTStructureUtility.buildHatchAdder; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; import java.util.List; import net.minecraft.entity.player.EntityPlayerMP; @@ -36,6 +38,7 @@ import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import bartworks.API.BorosilicateGlass; +import ggfab.api.GGFabRecipeMaps; import gregtech.api.GregTechAPI; import gregtech.api.enums.Textures; import gregtech.api.enums.VoltageIndex; @@ -182,7 +185,12 @@ public class MTEMultiSolidifier extends MTEExtendedPowerMultiBlockBase<MTEMultiS @Override protected MultiblockTooltipBuilder createTooltip() { MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder(); - tt.addMachineType("Fluid Solidifier") + tt.addMachineType("Fluid Solidifier, Tool Casting Machine") + .addInfo( + "Can use " + EnumChatFormatting.YELLOW + + "Solidifier Hatches" + + EnumChatFormatting.GRAY + + " to hold different molds") .addInfo("Speeds up to a maximum of 200% faster than singleblock machines while running") .addInfo("Decays at double the Rate that it Speeds up at") .addInfo("Only uses 80% of the EU/t normally required") @@ -275,6 +283,30 @@ public class MTEMultiSolidifier extends MTEExtendedPowerMultiBlockBase<MTEMultiS protected ProcessingLogic createProcessingLogic() { return new ProcessingLogic() { + RecipeMap<?> currentRecipeMap = RecipeMaps.fluidSolidifierRecipes; + + // Override is needed so that switching recipe maps does not stop recipe locking. + @Override + protected RecipeMap<?> preProcess() { + lastRecipeMap = currentRecipeMap; + + if (maxParallelSupplier != null) { + maxParallel = maxParallelSupplier.get(); + } + return currentRecipeMap; + } + + @NotNull + @Override + public CheckRecipeResult process() { + currentRecipeMap = RecipeMaps.fluidSolidifierRecipes; + CheckRecipeResult result = super.process(); + if (result.wasSuccessful()) return result; + + currentRecipeMap = GGFabRecipeMaps.toolCastRecipes; + return super.process(); + } + @NotNull @Override protected CheckRecipeResult validateRecipe(@NotNull GTRecipe recipe) { @@ -311,6 +343,11 @@ public class MTEMultiSolidifier extends MTEExtendedPowerMultiBlockBase<MTEMultiS } @Override + public @NotNull Collection<RecipeMap<?>> getAvailableRecipeMaps() { + return Arrays.asList(RecipeMaps.fluidSolidifierRecipes, GGFabRecipeMaps.toolCastRecipes); + } + + @Override public RecipeMap<?> getRecipeMap() { return RecipeMaps.fluidSolidifierRecipes; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSolidifier.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSolidifier.java index c714f8a5ac..941bec9698 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSolidifier.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchSolidifier.java @@ -9,6 +9,7 @@ import com.gtnewhorizons.modularui.api.screen.UIBuildContext; import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot; import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import ggfab.GGItemList; import gregtech.api.enums.ItemList; import gregtech.api.gui.modularui.GTUITextures; import gregtech.api.interfaces.ITexture; @@ -30,7 +31,12 @@ public class MTEHatchSolidifier extends MTEHatchInput { ItemList.Shape_Mold_Turbine_Blade.get(1), ItemList.Shape_Mold_Pipe_Tiny.get(1), ItemList.Shape_Mold_Pipe_Small.get(1), ItemList.Shape_Mold_Pipe_Medium.get(1), ItemList.Shape_Mold_Pipe_Large.get(1), ItemList.Shape_Mold_Pipe_Huge.get(1), - ItemList.Shape_Mold_ToolHeadDrill.get(1) }; + ItemList.Shape_Mold_ToolHeadDrill.get(1), + + GGItemList.Shape_One_Use_craftingToolFile.get(1), GGItemList.Shape_One_Use_craftingToolWrench.get(1), + GGItemList.Shape_One_Use_craftingToolCrowbar.get(1), GGItemList.Shape_One_Use_craftingToolWireCutter.get(1), + GGItemList.Shape_One_Use_craftingToolHardHammer.get(1), GGItemList.Shape_One_Use_craftingToolSoftHammer.get(1), + GGItemList.Shape_One_Use_craftingToolScrewdriver.get(1), GGItemList.Shape_One_Use_craftingToolSaw.get(1) }; public MTEHatchSolidifier(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); @@ -94,7 +100,8 @@ public class MTEHatchSolidifier extends MTEHatchInput { public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { super.addUIWidgets(builder, buildContext); builder.widget( - new SlotWidget(new MoldSlot(inventoryHandler, moldSlot)).setPos(125, 35) + new SlotWidget(new MoldSlot(inventoryHandler, moldSlot)).setShiftClickPriority(-1) + .setPos(125, 35) .setBackground(getGUITextureSet().getItemSlot(), GTUITextures.OVERLAY_SLOT_MOLD) .setSize(18, 18)); } |