Skip to content
This repository has been archived by the owner on May 25, 2024. It is now read-only.

Commit

Permalink
Split classes, renames, more adapt to GT changes
Browse files Browse the repository at this point in the history
  • Loading branch information
miozune committed Dec 1, 2023
1 parent f684a47 commit 06052e8
Show file tree
Hide file tree
Showing 14 changed files with 164 additions and 234 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@

import java.util.Collections;
import java.util.List;
import java.util.function.Supplier;

import javax.annotation.ParametersAreNonnullByDefault;

import com.gtnewhorizons.modularui.api.math.Pos2d;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.DrawableWidget;

import goodgenerator.client.GUI.GG_UITextures;
import gregtech.api.recipe.BasicUIPropertiesBuilder;
import gregtech.api.recipe.NEIRecipePropertiesBuilder;
import gregtech.api.recipe.RecipeMapFrontend;
Expand Down Expand Up @@ -44,11 +41,4 @@ public List<Pos2d> getFluidInputPositions(int fluidInputCount) {

@Override
public void addGregTechLogo(ModularWindow.Builder builder, Pos2d windowOffset) {}

@Override
public void addProgressBar(ModularWindow.Builder builder, Supplier<Float> progressSupplier, Pos2d windowOffset) {
builder.widget(
new DrawableWidget().setDrawable(GG_UITextures.PICTURE_COMPONENT_ASSLINE)
.setPos(new Pos2d(70, 11).add(windowOffset)).setSize(72, 40));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,24 @@

import javax.annotation.ParametersAreNonnullByDefault;

import goodgenerator.util.MyRecipeAdder;
import gregtech.api.recipe.RecipeMapBackend;
import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
import gregtech.api.recipe.maps.FuelBackend;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.MethodsReturnNonnullByDefault;

@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
public class ExtremeHeatExchangerBackend extends RecipeMapBackend {
public class ExtremeHeatExchangerBackend extends FuelBackend {

public ExtremeHeatExchangerBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
super(propertiesBuilder);
}

@Override
public GT_Recipe compileRecipe(GT_Recipe recipe) {
if (!(recipe instanceof MyRecipeAdder.ExtremeHeatExchangerRecipe eheRecipe)) {
if (!(recipe instanceof ExtremeHeatExchangerRecipe)) {
throw new RuntimeException("Recipe must be instance of ExtremeHeatExchangerRecipe");
}
MyRecipeAdder.mXHeatExchangerFuelMap.put(recipe.mFluidInputs[0].getFluid(), eheRecipe);
return super.compileRecipe(recipe);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,14 @@

import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;

import javax.annotation.ParametersAreNonnullByDefault;

import net.minecraft.util.StatCollector;
import net.minecraftforge.fluids.FluidStack;

import com.gtnewhorizons.modularui.api.math.Pos2d;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.DrawableWidget;

import goodgenerator.client.GUI.GG_UITextures;
import gregtech.api.recipe.BasicUIPropertiesBuilder;
import gregtech.api.recipe.NEIRecipePropertiesBuilder;
import gregtech.api.recipe.RecipeMapFrontend;
Expand Down Expand Up @@ -41,13 +37,6 @@ public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
return Arrays.asList(new Pos2d(128, 13), new Pos2d(128, 31), new Pos2d(128, 54));
}

@Override
public void addProgressBar(ModularWindow.Builder builder, Supplier<Float> progressSupplier, Pos2d windowOffset) {
builder.widget(
new DrawableWidget().setDrawable(GG_UITextures.PICTURE_EXTREME_HEAT_EXCHANGER)
.setPos(new Pos2d(47, 13).add(windowOffset)).setSize(78, 59));
}

private static class EHESpecialValueFormatter implements INEISpecialInfoFormatter {

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package goodgenerator.api.recipe;

import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;

import gregtech.api.util.GT_Recipe;

public class ExtremeHeatExchangerRecipe extends GT_Recipe {

public ExtremeHeatExchangerRecipe(FluidStack[] input, FluidStack[] output, int special) {
super(false, null, null, null, null, input, output, 0, 0, special);
}

public int getMaxHotFluidConsume() {
if (this.mFluidInputs != null) {
return this.mFluidInputs[0].amount;
}
return 0;
}

public Fluid getNormalSteam() {
if (this.mFluidOutputs != null) {
return this.mFluidOutputs[0].getFluid();
}
return null;
}

public Fluid getHeatedSteam() {
if (this.mFluidOutputs != null) {
return this.mFluidOutputs[1].getFluid();
}
return null;
}

public Fluid getCooledFluid() {
if (this.mFluidOutputs != null) {
return this.mFluidOutputs[2].getFluid();
}
return null;
}

public int getEUt() {
if (getNormalSteam() != null) {
switch (getNormalSteam().getName()) {
case "steam": {
int tVal = this.mFluidInputs[1].amount * 4;
if (tVal < 0) tVal = -tVal;
return tVal;
}
case "ic2superheatedsteam": {
int tVal = this.mFluidInputs[1].amount * 8;
if (tVal < 0) tVal = -tVal;
return tVal;
}
case "supercriticalsteam": {
int tVal = this.mFluidInputs[1].amount * 800;
if (tVal < 0) tVal = -tVal;
return tVal;
}
default:
return 0;
}
}
return 0;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package goodgenerator.api.recipe;

import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;

import net.minecraft.util.StatCollector;

import goodgenerator.client.GUI.GG_UITextures;
import gregtech.api.enums.GT_Values;
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.RecipeMapBackend;
import gregtech.api.recipe.RecipeMapBuilder;
import gregtech.api.util.GT_Utility;
import gregtech.nei.formatter.SimpleSpecialValueFormatter;

public class GoodGeneratorRecipeMaps {

public static final RecipeMap<RecipeMapBackend> naquadahReactorFuels = RecipeMapBuilder
.of("gg.recipe.naquadah_reactor").maxIO(0, 0, 1, 1).minInputs(0, 1)
.neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("value.naquadah_reactor"))
.neiRecipeComparator(Comparator.comparing(recipe -> recipe.mSpecialValue)).dontUseProgressBar()
.addSpecialTexture(59, 20, 58, 42, GG_UITextures.PICTURE_NAQUADAH_REACTOR).build();
public static final RecipeMap<RecipeMapBackend> naquadahFuelRefineFactoryRecipes = RecipeMapBuilder
.of("gg.recipe.naquadah_fuel_refine_factory").maxIO(6, 0, 2, 1).minInputs(0, 1)
.neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("value.naquadah_fuel_refine_factory")).build();
public static final RecipeMap<?> neutronActivatorRecipes = RecipeMapBuilder.of("gg.recipe.neutron_activator")
.maxIO(9, 9, 1, 1).dontUseProgressBar()
.addSpecialTexture(73, 22, 31, 21, GG_UITextures.PICTURE_NEUTRON_ACTIVATOR)
.neiSpecialInfoFormatter(recipeInfo -> {
int minNKE = recipeInfo.recipe.mSpecialValue % 10000;
int maxNKE = recipeInfo.recipe.mSpecialValue / 10000;
return Arrays.asList(
StatCollector.translateToLocal("value.neutron_activator.0"),
GT_Utility.formatNumbers(minNKE) + StatCollector.translateToLocal("value.neutron_activator.2"),
StatCollector.translateToLocal("value.neutron_activator.1"),
GT_Utility.formatNumbers(maxNKE) + StatCollector.translateToLocal("value.neutron_activator.2"));
}).build();
public static final RecipeMap<ExtremeHeatExchangerBackend> extremeHeatExchangerFuels = RecipeMapBuilder
.of("gg.recipe.extreme_heat_exchanger", ExtremeHeatExchangerBackend::new).maxIO(0, 0, 2, 3)
.dontUseProgressBar().addSpecialTexture(47, 13, 78, 59, GG_UITextures.PICTURE_EXTREME_HEAT_EXCHANGER)
.frontend(ExtremeHeatExchangerFrontend::new).build();
public static final RecipeMap<RecipeMapBackend> preciseAssemblerRecipes = RecipeMapBuilder
.of("gg.recipe.precise_assembler").maxIO(4, 1, 4, 0).progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
.progressBarPos(85, 30).neiTransferRect(80, 30, 35, 18)
.neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("value.precise_assembler"))
.frontend(PreciseAssemblerFrontend::new).build();
public static final RecipeMap<RecipeMapBackend> componentAssemblyLineRecipes = RecipeMapBuilder
.of("gg.recipe.componentassemblyline").maxIO(12, 1, 12, 0).neiTransferRect(70, 15, 18, 54)
.neiSpecialInfoFormatter(
recipeInfo -> Collections.singletonList(
StatCollector.translateToLocalFormatted(
"value.component_assembly_line",
GT_Values.VN[recipeInfo.recipe.mSpecialValue])))
.dontUseProgressBar().addSpecialTexture(70, 11, 72, 40, GG_UITextures.PICTURE_COMPONENT_ASSLINE)
.frontend(ComponentAssemblyLineFrontend::new).build();
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;

import goodgenerator.api.recipe.GoodGeneratorRecipeMaps;
import goodgenerator.loader.Loaders;
import goodgenerator.util.MyRecipeAdder;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
Expand Down Expand Up @@ -325,7 +325,7 @@ public boolean explodesOnComponentBreak(ItemStack aStack) {

@Override
public RecipeMap<?> getRecipeMap() {
return MyRecipeAdder.instance.COMPASSLINE_RECIPES;
return GoodGeneratorRecipeMaps.componentAssemblyLineRecipes;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;

import org.jetbrains.annotations.NotNull;
Expand All @@ -29,10 +30,11 @@
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;

import goodgenerator.api.recipe.ExtremeHeatExchangerRecipe;
import goodgenerator.api.recipe.GoodGeneratorRecipeMaps;
import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM;
import goodgenerator.loader.Loaders;
import goodgenerator.util.DescTextLocalization;
import goodgenerator.util.MyRecipeAdder;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_HatchElement;
import gregtech.api.interfaces.IHatchElement;
Expand Down Expand Up @@ -64,7 +66,7 @@ public class ExtremeHeatExchanger extends GT_MetaTileEntity_TooltipMultiBlockBas
protected GT_MetaTileEntity_Hatch_Output mCooledFluidHatch;
private boolean transformed = false;
private String hotName;
private MyRecipeAdder.ExtremeHeatExchangerRecipe tRunningRecipe;
private ExtremeHeatExchangerRecipe tRunningRecipe;

public ExtremeHeatExchanger(String name) {
super(name);
Expand Down Expand Up @@ -157,8 +159,13 @@ public boolean addColdFluidOutputToMachineList(IGregTechTileEntity aTileEntity,
public void loadNBTData(NBTTagCompound aNBT) {
transformed = aNBT.getBoolean("transformed");
if (aNBT.hasKey("hotName", Constants.NBT.TAG_STRING)) {
hotName = aNBT.getString("hotName");
tRunningRecipe = MyRecipeAdder.mXHeatExchangerFuelMap.get(new Fluid(hotName));
String loadedHotName = aNBT.getString("hotName");
Fluid hotFluid = FluidRegistry.getFluid(loadedHotName);
if (hotFluid != null) {
hotName = loadedHotName;
tRunningRecipe = (ExtremeHeatExchangerRecipe) GoodGeneratorRecipeMaps.extremeHeatExchangerFuels
.getBackend().findFuel(hotFluid);
}
} else {
hotName = null;
tRunningRecipe = null;
Expand All @@ -175,7 +182,7 @@ public void saveNBTData(NBTTagCompound aNBT) {

@Override
public RecipeMap<?> getRecipeMap() {
return MyRecipeAdder.instance.XHE;
return GoodGeneratorRecipeMaps.extremeHeatExchangerFuels;
}

@Override
Expand Down Expand Up @@ -207,8 +214,8 @@ protected GT_Multiblock_Tooltip_Builder createTooltip() {
public @NotNull CheckRecipeResult checkProcessing_EM() {
tRunningRecipe = null;
if (mHotFluidHatch.getFluid() == null) return CheckRecipeResultRegistry.SUCCESSFUL;
MyRecipeAdder.ExtremeHeatExchangerRecipe tRecipe = MyRecipeAdder.mXHeatExchangerFuelMap
.get(mHotFluidHatch.getFluid().getFluid());
ExtremeHeatExchangerRecipe tRecipe = (ExtremeHeatExchangerRecipe) GoodGeneratorRecipeMaps.extremeHeatExchangerFuels
.getBackend().findFuel(mHotFluidHatch.getFluid());
if (tRecipe == null) return CheckRecipeResultRegistry.NO_RECIPE;
tRunningRecipe = tRecipe;
this.hotName = mHotFluidHatch.getFluid().getFluid().getName();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
import com.gtnewhorizon.structurelib.structure.IStructureElement;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;

import goodgenerator.api.recipe.GoodGeneratorRecipeMaps;
import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM;
import goodgenerator.loader.Loaders;
import goodgenerator.util.DescTextLocalization;
import goodgenerator.util.MyRecipeAdder;
import gregtech.api.enums.GT_HatchElement;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
Expand Down Expand Up @@ -209,7 +209,7 @@ public int getTier() {

@Override
public RecipeMap<?> getRecipeMap() {
return MyRecipeAdder.instance.FRF;
return GoodGeneratorRecipeMaps.naquadahFuelRefineFactoryRecipes;
}

@Override
Expand Down
Loading

0 comments on commit 06052e8

Please sign in to comment.