Skip to content

Commit

Permalink
impl #19
Browse files Browse the repository at this point in the history
  • Loading branch information
Taskeren committed Feb 14, 2025
1 parent 690e7b3 commit 7fc5fe7
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 11 deletions.
21 changes: 11 additions & 10 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,17 @@
* For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
*/
dependencies {
implementation("com.github.GTNewHorizons:CodeChickenCore:1.3.10:dev")
implementation("com.github.GTNewHorizons:GT5-Unofficial:5.09.50.103:dev")
implementation("com.github.GTNewHorizons:GTNHLib:0.5.21:dev")
implementation("com.github.GTNewHorizons:NewHorizonsCoreMod:2.6.88:dev")
implementation("com.github.GTNewHorizons:ForestryMC:4.9.19:dev") { transitive = false }
implementation("com.github.GTNewHorizons:Railcraft:9.15.15:dev") { transitive = false }
implementation("com.github.GTNewHorizons:BuildCraft:7.1.39:dev") { transitive = false }
implementation("com.github.GTNewHorizons:EnderIO:2.8.22:dev") { transitive = false }
implementation("com.github.GTNewHorizons:ProjectRed:4.10.5-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.16-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:CodeChickenCore:1.4.1:dev")
implementation("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.121:dev")
implementation("com.github.GTNewHorizons:GTNHLib:0.6.10:dev")
implementation("com.github.GTNewHorizons:NewHorizonsCoreMod:2.7.92:dev")
implementation("com.github.GTNewHorizons:ForestryMC:4.10.1:dev") { transitive = false }
implementation("com.github.GTNewHorizons:Railcraft:9.16.3:dev") { transitive = false }
implementation("com.github.GTNewHorizons:BuildCraft:7.1.42:dev") { transitive = false }
implementation("com.github.GTNewHorizons:EnderIO:2.9.3:dev") { transitive = false }
implementation("com.github.GTNewHorizons:ProjectRed:4.11.1-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:TinkersConstruct:1.13.8-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:AppleCore:3.3.4:api")
runtimeOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false }
runtimeOnly("com.github.GTNewHorizons:BlockRenderer6343:1.3.2:dev") { transitive = false }
}
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ usesMixins = true
separateMixinSourceSet = mixin

# Adds some debug arguments like verbose output and class export.
usesMixinDebug = false
usesMixinDebug = true

# Specify the location of your implementation of IMixinConfigPlugin. Leave it empty otherwise.
mixinPlugin = mixinplugin.MixinPlugin
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
1 change: 1 addition & 0 deletions src/main/kotlin/cn/elytra/mod/gtnn/inject/MixinLoader.kt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ object MixinLoader {
ModLargeEssentiaGeneratorAllowLaser,
ModAddCatalyst,
ModInfinityMEBus,
ModAdvancedAssemblyLineSubtick,
)

private val _loadedMixinModules = mutableListOf<IMixinModule>()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package cn.elytra.mod.gtnn.inject.module

import cn.elytra.mod.gtnn.inject.IMixinModule
import cn.elytra.mod.gtnn.inject.TargetMod
import net.minecraftforge.common.config.Configuration

object ModAdvancedAssemblyLineSubtick : IMixinModule {

override var enabled: Boolean = true
override val mixins: Set<String> = setOf("ggfab.AALSubTick_MTEAdvAssLine_Mixin")

override fun readConfig(config: Configuration) {
enabled = config.getBoolean("enabled", "aal-subtick", enabled, "")
}

override fun isTargetModsLoaded(loadedMods: List<TargetMod>): Boolean {
return TargetMod.GregTech in loadedMods
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package cn.taskeren.gtnn.mixin.ggfab;

import com.llamalad7.mixinextras.sugar.Local;
import com.llamalad7.mixinextras.sugar.ref.LocalIntRef;
import ggfab.mte.MTEAdvAssLine;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.util.GTUtility;
import gregtech.api.util.OverclockCalculator;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(value = MTEAdvAssLine.class, remap = false)
public class AALSubTick_MTEAdvAssLine_Mixin {

@Inject(method = "checkProcessing", at = @At(value = "INVOKE", target = "Lggfab/mte/MTEAdvAssLine;isBatchModeEnabled()Z", ordinal = 0))
private void nn$setMaxParallel(CallbackInfoReturnable<CheckRecipeResult> cir, @Local(ordinal = 2) LocalIntRef maxParallelBeforeBatchMode, @Local(ordinal = 1) LocalIntRef maxParallel, @Local(ordinal = 1) OverclockCalculator calculator) {
double tickTimeAfterOC = calculator.calculateDurationUnderOneTick();
if(tickTimeAfterOC < 1) {
// get the value of updated time
int value = GTUtility.safeInt((long) (maxParallel.get() / tickTimeAfterOC), 0);

// set both variable to the value, since we are injecting at the isBatchModeEnabled(),
// the maxParallelBeforeBatchMode is already assigned to the maxParallel, so we need to manually update it as well.
maxParallel.set(value);
maxParallelBeforeBatchMode.set(value);
}
}

}

0 comments on commit 7fc5fe7

Please sign in to comment.