Skip to content

Commit 46393ac

Browse files
committed
修复与ae2ctl的兼容性问题
1 parent 740eba2 commit 46393ac

File tree

6 files changed

+47
-2
lines changed

6 files changed

+47
-2
lines changed

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ dependencies {
214214
runtimeOnly(rfg.deobf("curse.maven:Cucumber-1.12.2-1.1.3-272335:2645867"))
215215
implementation(rfg.deobf("curse.maven:CodeChickenLib-1.12.2-3.2.4.1-universal-242818:2779848"))
216216
implementation(rfg.deobf("curse.maven:ae2-extended-life-570458:6302098"))
217-
implementation(rfg.deobf("curse.maven:ae2fluidcraft-rework-unofficial-1404390:7332070"))
217+
implementation(rfg.deobf("curse.maven:ae2fluidcraft-rework-unofficial-1404390:7336029"))
218218
compileOnly(rfg.deobf("curse.maven:ae2-fluid-crafting-rework-623955:5504001"))
219219
implementation(rfg.deobf("curse.maven:baubles-227083:2518667"))
220220
implementation(rfg.deobf("curse.maven:not-enough-energistics-515565:5234732"))
@@ -247,6 +247,7 @@ dependencies {
247247
implementation(rfg.deobf("curse.maven:draconic-evolution-223565:3431261"))
248248
implementation(rfg.deobf("curse.maven:packagedauto-308380:6932932"))
249249
implementation(rfg.deobf("curse.maven:ender-utilities-224320:2977010"))
250+
implementation(rfg.deobf("curse.maven:ae2-crafting-tree-legacy-1121489:5814089"))
250251

251252
compileOnly(rfg.deobf("curse.maven:botaniverse-944656:4945200"))
252253
}

src/main/java/com/circulation/random_complement/RCConfig.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ public static class ae2 {
8585
@Config.Name("debugEnergy")
8686
public boolean debugEnergy = false;
8787

88-
@Config.Comment({"Use the new Patten Terminal Gui"})
88+
@Config.Comment({
89+
"Use the new Patten Terminal Gui",
90+
"Closing will cause all patterns created while enabled to become invalid."
91+
})
8992
@Config.Name("newPattenGui")
9093
public boolean newPattenGui = true;
9194

src/main/java/com/circulation/random_complement/mixin/ae2/AccessorCraftingTreeNode.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import appeng.api.storage.data.IAEItemStack;
44
import appeng.api.storage.data.IItemList;
5+
import appeng.crafting.CraftingJob;
56
import appeng.crafting.CraftingTreeNode;
67
import org.spongepowered.asm.mixin.Mixin;
78
import org.spongepowered.asm.mixin.gen.Accessor;
@@ -19,4 +20,7 @@ public interface AccessorCraftingTreeNode {
1920

2021
@Accessor
2122
boolean isCanEmit();
23+
24+
@Accessor
25+
CraftingJob getJob();
2226
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.circulation.random_complement.mixin.ae2.miss_craft.ae2ctl;
2+
3+
import com.circulation.random_complement.common.interfaces.RCCraftingJob;
4+
import github.kasuminova.ae2ctl.common.integration.ae2.data.LiteCraftTreeNode;
5+
import github.kasuminova.ae2ctl.mixin.ae2.AccessorCraftingTreeNode;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.Unique;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
import org.spongepowered.asm.mixin.injection.Redirect;
10+
11+
@Mixin(value = LiteCraftTreeNode.class,remap = false)
12+
public class MixinLiteCraftTreeNode {
13+
14+
@Redirect(method = "of",at = @At(value = "INVOKE", target = "Lgithub/kasuminova/ae2ctl/mixin/ae2/AccessorCraftingTreeNode;getMissing()J"))
15+
private static long getMissing(AccessorCraftingTreeNode instance) {
16+
if (!((RCCraftingJob) r$pack(instance).getJob()).canIgnoredInput()) return instance.getMissing();
17+
if (r$pack(instance).isCanEmit()) return instance.getMissing();
18+
return r$pack(instance).getHowManyEmitted();
19+
}
20+
21+
@Unique
22+
private static com.circulation.random_complement.mixin.ae2.AccessorCraftingTreeNode r$pack(AccessorCraftingTreeNode node) {
23+
return (com.circulation.random_complement.mixin.ae2.AccessorCraftingTreeNode) node;
24+
}
25+
}

src/main/java/com/circulation/random_complement/mixin/rcLateMixinLoader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public class rcLateMixinLoader implements ILateMixinLoader {
3131
addMixinCFG("mixins.random_complement.ae2.json");
3232
addMixinCFG("mixins.random_complement.ae2.miss_craft.json",
3333
() -> RCConfig.AE2.enableMissCraft);
34+
addMixinCFG("mixins.random_complement.ae2.miss_craft.ae2ctl.json",
35+
() -> RCConfig.AE2.enableMissCraft && modLoaded("ae2ctl"));
3436
addMixinCFG("mixins.random_complement.ae2.new_patten_gui.json",
3537
() -> RCConfig.AE2.newPattenGui);
3638
addMixinCFG("mixins.random_complement.ae2fc.new_patten_gui.json",
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"package": "com.circulation.random_complement.mixin.ae2.miss_craft.ae2ctl",
3+
"refmap": "mixins.random_complement.refmap.json",
4+
"target": "@env(DEFAULT)",
5+
"minVersion": "0.8.5",
6+
"compatibilityLevel": "JAVA_8",
7+
"mixins": [
8+
"MixinLiteCraftTreeNode"
9+
]
10+
}

0 commit comments

Comments
 (0)