aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dependencies.gradle6
-rw-r--r--gradle.properties10
-rw-r--r--settings.gradle2
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java60
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java60
-rw-r--r--src/main/resources/assets/gtnhlanth/lang/en_US.lang2
6 files changed, 82 insertions, 58 deletions
diff --git a/dependencies.gradle b/dependencies.gradle
index 7351ed9a14..7e0a2b4614 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,7 +1,7 @@
// Add your dependencies here
dependencies {
- api('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.43:dev')
- implementation('com.github.GTNewHorizons:GTplusplus:1.11.19:dev')
- implementation('com.github.GTNewHorizons:GoodGenerator:0.8.4:dev')
+ api('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.71:dev')
+ implementation('com.github.GTNewHorizons:GTplusplus:1.11.25:dev')
+ implementation('com.github.GTNewHorizons:GoodGenerator:0.8.10:dev')
}
diff --git a/gradle.properties b/gradle.properties
index 6c222275c2..60451a92b0 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,7 +3,7 @@
gtnh.settings.blowdryerTag = 0.2.0
# Human-readable mod name, available for mcmod.info population.
-modName = GTNH: Lanthanides
+modName = GTNH\: Lanthanides
# Case-sensitive identifier string, available for mcmod.info population and used for automatic mixin JSON generation.
# Conventionally lowercase.
@@ -33,7 +33,7 @@ channel = stable
mappingsVersion = 12
# Defines other MCP mappings for dependency deobfuscation.
-remoteMappings = https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/
+remoteMappings = https\://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/
# Select a default username for testing your mod. You can always override this per-run by running
# `./gradlew runClient --username=AnotherPlayer`, or configuring this command in your IDE.
@@ -61,6 +61,9 @@ gradleTokenModId = GRADLETOKEN_MODID
# [DEPRECATED] Mod name replacement token.
gradleTokenModName = GRADLETOKEN_MODNAME
+# [DEPRECATED] Mod Group replacement token.
+gradleTokenGroupName = GRADLETOKEN_GROUPNAME
+
# [DEPRECATED]
# Multiple source files can be defined here by providing a comma-separated list: Class1.java,Class2.java,Class3.java
# public static final String VERSION = "GRADLETOKEN_VERSION";
@@ -123,7 +126,7 @@ includeWellKnownRepositories = true
usesMavenPublishing = true
# Maven repository to publish the mod to.
-# mavenPublishUrl = https://nexus.gtnewhorizons.com/repository/releases/
+# mavenPublishUrl = https\://nexus.gtnewhorizons.com/repository/releases/
# Publishing to Modrinth requires you to set the MODRINTH_TOKEN environment variable to your current Modrinth API token.
#
@@ -188,6 +191,5 @@ curseForgeRelations =
# ideaCheckSpotlessOnBuild = true
# Non-GTNH properties
-gradleTokenGroupName = GRADLETOKEN_GROUPNAME
systemProp.org.gradle.internal.http.connectionTimeout = 180000
systemProp.org.gradle.internal.http.socketTimeout = 180000
diff --git a/settings.gradle b/settings.gradle
index e8946ada27..16a5b4ca7d 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -17,7 +17,7 @@ pluginManagement {
}
plugins {
- id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.8'
+ id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.14'
}
diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java
index 3af649987b..7cd4605e84 100644
--- a/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java
+++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java
@@ -18,11 +18,10 @@ import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
import static gregtech.api.util.GT_StructureUtility.buildHatchAdder;
import static gregtech.api.util.GT_StructureUtility.ofCoil;
-import java.util.ArrayList;
+import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.FluidStack;
import com.elisis.gtnhlanth.api.recipe.LanthanidesRecipeMaps;
import com.elisis.gtnhlanth.util.DescTextLocalization;
@@ -36,10 +35,14 @@ import gregtech.api.enums.HeatingCoilLevel;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.check.CheckRecipeResult;
+import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
+import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_Recipe;
public class Digester extends GT_MetaTileEntity_EnhancedMultiBlockBase<Digester> implements ISurvivalConstructable {
@@ -101,37 +104,42 @@ public class Digester extends GT_MetaTileEntity_EnhancedMultiBlockBase<Digester>
}
@Override
- public boolean checkRecipe(ItemStack itemStack) {
- // GT_Log.out.print("Digester: in checkRecipe\n");
+ protected ProcessingLogic createProcessingLogic() {
+ return new ProcessingLogic() {
- ArrayList<FluidStack> tFluidInputs = this.getStoredFluids();
- FluidStack[] tFluidInputArray = tFluidInputs.toArray(new FluidStack[0]);
- ItemStack[] tItems = this.getStoredInputs().toArray(new ItemStack[0]);
- long tVoltage = this.getMaxInputVoltage();
+ @Nonnull
+ @Override
+ protected GT_OverclockCalculator createOverclockCalculator(@Nonnull GT_Recipe recipe) {
+ return super.createOverclockCalculator(recipe).enablePerfectOC();
+ }
- // GT_Log.out.print("Digester: " + Arrays.toString(mInventory));
+ @Override
+ protected @Nonnull CheckRecipeResult validateRecipe(@Nonnull GT_Recipe recipe) {
+ return recipe.mSpecialValue <= Digester.this.getCoilLevel().getHeat()
+ ? CheckRecipeResultRegistry.SUCCESSFUL
+ : CheckRecipeResultRegistry.insufficientHeat(recipe.mSpecialValue);
+ }
- GT_Recipe tRecipe = LanthanidesRecipeMaps.digesterRecipes
- .findRecipe(getBaseMetaTileEntity(), false, tVoltage, tFluidInputArray, tItems);
-
- if (tRecipe == null || !tRecipe.isRecipeInputEqual(true, tFluidInputArray, tItems)) return false;
- // GT_Log.out.print("Recipe not null\n");
+ };
+ }
- this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000);
- this.mEfficiencyIncrease = 10000;
- this.calculateOverclockedNessMultiInternal(tRecipe.mEUt, tRecipe.mDuration, 1, tVoltage, true);
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
- if (mMaxProgresstime == Integer.MAX_VALUE - 1 && this.mEUt == Integer.MAX_VALUE - 1) return false;
+ @Override
+ public boolean supportsInputSeparation() {
+ return true;
+ }
- if (this.mEUt > 0) this.mEUt = (-this.mEUt);
- // GT_Log.out.print("valid values");
+ @Override
+ public boolean supportsBatchMode() {
+ return true;
+ }
- if (tRecipe.mSpecialValue > this.getCoilLevel().getHeat()) return false;
- // GT_Log.out.print("Coils good\n");
- // GT_Log.out.print(tRecipe.getFluidOutput(0).getLocalizedName());
- this.mOutputFluids = tRecipe.mFluidOutputs;
- this.mOutputItems = tRecipe.mOutputs;
- this.updateSlots();
+ @Override
+ public boolean supportsSingleRecipeLocking() {
return true;
}
diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java
index 2432ead38c..080fdc8c54 100644
--- a/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java
+++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java
@@ -17,13 +17,18 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_OIL_CRACKER_G
import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages;
import static gregtech.api.util.GT_StructureUtility.buildHatchAdder;
+import java.util.Arrays;
import java.util.List;
+import javax.annotation.Nonnull;
+
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import org.jetbrains.annotations.NotNull;
+
import com.elisis.gtnhlanth.api.recipe.LanthanidesRecipeMaps;
import com.elisis.gtnhlanth.util.DescTextLocalization;
import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry;
@@ -37,8 +42,12 @@ import gregtech.api.interfaces.ISecondaryDescribable;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.check.CheckRecipeResult;
+import gregtech.api.recipe.check.CheckRecipeResultRegistry;
+import gregtech.api.recipe.check.SimpleCheckRecipeResult;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
@@ -96,36 +105,39 @@ public class DissolutionTank extends GT_MetaTileEntity_EnhancedMultiBlockBase<Di
}
@Override
- public boolean checkRecipe(ItemStack itemStack) {
- // GT_Log.out.print("in checkRecipe");
-
- List<FluidStack> tFluidInputs = this.getStoredFluids();
- FluidStack[] tFluidInputArray = tFluidInputs.toArray(new FluidStack[0]);
- ItemStack[] tItems = this.getStoredInputs().toArray(new ItemStack[0]);
- long tVoltage = this.getMaxInputVoltage();
-
- GT_Recipe tRecipe = LanthanidesRecipeMaps.dissolutionTankRecipes
- .findRecipe(getBaseMetaTileEntity(), false, tVoltage, tFluidInputArray, tItems);
+ protected ProcessingLogic createProcessingLogic() {
+ return new ProcessingLogic() {
- if (tRecipe == null || !tRecipe.isRecipeInputEqual(true, tFluidInputArray, tItems)) return false;
- // GT_Log.out.print("Recipe not null\n");
+ @NotNull
+ @Override
+ protected CheckRecipeResult onRecipeStart(@Nonnull GT_Recipe recipe) {
+ if (!checkRatio(recipe, Arrays.asList(inputFluids))) {
+ criticalStopMachine();
+ return SimpleCheckRecipeResult.ofFailurePersistOnShutdown("dissolution_ratio");
+ }
+ return CheckRecipeResultRegistry.SUCCESSFUL;
+ }
- this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000);
- this.mEfficiencyIncrease = 10000;
- this.calculateOverclockedNessMulti(tRecipe.mEUt, tRecipe.mDuration, 1, tVoltage);
+ };
+ }
- if (mMaxProgresstime == Integer.MAX_VALUE - 1 && this.mEUt == Integer.MAX_VALUE - 1) return false;
- if (this.mEUt > 0) this.mEUt = (-this.mEUt);
+ @Override
+ public boolean supportsVoidProtection() {
+ return true;
+ }
- this.updateSlots();
+ @Override
+ public boolean supportsInputSeparation() {
+ return true;
+ }
- if (!checkRatio(tRecipe, tFluidInputs)) {
- stopMachine();
- return false;
- }
+ @Override
+ public boolean supportsBatchMode() {
+ return true;
+ }
- this.mOutputFluids = new FluidStack[] { tRecipe.getFluidOutput(0) };
- this.mOutputItems = tRecipe.mOutputs;
+ @Override
+ public boolean supportsSingleRecipeLocking() {
return true;
}
diff --git a/src/main/resources/assets/gtnhlanth/lang/en_US.lang b/src/main/resources/assets/gtnhlanth/lang/en_US.lang
index 5b944ee029..5aeb987b00 100644
--- a/src/main/resources/assets/gtnhlanth/lang/en_US.lang
+++ b/src/main/resources/assets/gtnhlanth/lang/en_US.lang
@@ -51,3 +51,5 @@ fluid.Dinitrotoluene=Dinitrotoluene
fluid.Diaminotoluene=Diaminotoluene
fluid.Toluene Tetramethyl Diisocyanate=Toluene Tetramethyl Diisocyanate
fluid.Diluted Acetone=Diluted Acetone
+
+GT5U.gui.text.dissolution_ratio=ยง7Wrong fluid input ratio