Skip to content

Commit 36a378a

Browse files
committed
Revert one of the crafting mixins until a less broken option is figured out
Fixed #28 for now
1 parent 09bebe0 commit 36a378a

File tree

2 files changed

+24
-16
lines changed

2 files changed

+24
-16
lines changed

src/main/java/gripe/_90/appliede/me/service/TransmutationPattern.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public final class TransmutationPattern implements IPatternDetails {
3434
public TransmutationPattern(AEItemKey item, long amount) {
3535
tier = 1;
3636

37-
var definition = new ItemStack(AppliedE.DUMMY_EMC_ITEM.asItem());
37+
var definition = AppliedE.DUMMY_EMC_ITEM.toStack();
3838
definition.set(
3939
AppliedE.ENCODED_TRANSMUTATION_PATTERN.get(),
4040
new Encoded((this.item = item).toStack(), this.amount = amount, tier));
@@ -45,7 +45,7 @@ public TransmutationPattern(int tier) {
4545
item = null;
4646
amount = 1;
4747

48-
var definition = new ItemStack(AppliedE.DUMMY_EMC_ITEM.asItem());
48+
var definition = AppliedE.DUMMY_EMC_ITEM.toStack();
4949
definition.set(
5050
AppliedE.ENCODED_TRANSMUTATION_PATTERN.get(), new Encoded(ItemStack.EMPTY, amount, this.tier = tier));
5151
this.definition = AEItemKey.of(definition);

src/main/java/gripe/_90/appliede/mixin/crafting/CraftingTreeNodeMixin.java

+22-14
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package gripe._90.appliede.mixin.crafting;
22

3-
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
4-
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
3+
import java.util.ArrayList;
4+
55
import com.llamalad7.mixinextras.sugar.Local;
66

7+
import org.spongepowered.asm.mixin.Final;
78
import org.spongepowered.asm.mixin.Mixin;
9+
import org.spongepowered.asm.mixin.Shadow;
810
import org.spongepowered.asm.mixin.Unique;
911
import org.spongepowered.asm.mixin.injection.At;
1012
import org.spongepowered.asm.mixin.injection.Inject;
@@ -25,6 +27,13 @@
2527

2628
@Mixin(CraftingTreeNode.class)
2729
public abstract class CraftingTreeNodeMixin {
30+
@Shadow
31+
private ArrayList<CraftingTreeProcess> nodes;
32+
33+
@Shadow
34+
@Final
35+
private CraftingCalculation job;
36+
2837
@Unique
2938
private long appliede$requestedAmount;
3039

@@ -35,27 +44,26 @@ private void trackRequested(
3544
}
3645

3746
// spotless:off
38-
@WrapOperation(
47+
@Inject(
3948
method = "buildChildPatterns",
4049
at = @At(
41-
value = "NEW",
42-
target = "(Lappeng/api/networking/crafting/ICraftingService;Lappeng/crafting/CraftingCalculation;Lappeng/api/crafting/IPatternDetails;Lappeng/crafting/CraftingTreeNode;)Lappeng/crafting/CraftingTreeProcess;"))
50+
value = "INVOKE",
51+
target = "Ljava/util/ArrayList;add(Ljava/lang/Object;)Z"),
52+
cancellable = true)
4353
// spotless:on
44-
private CraftingTreeProcess recalculatePattern(
45-
ICraftingService craftingService,
46-
CraftingCalculation job,
47-
IPatternDetails details,
48-
CraftingTreeNode node,
49-
Operation<CraftingTreeProcess> original,
50-
@Local IGridNode gridNode) {
54+
private void recalculatePattern(
55+
CallbackInfo ci,
56+
@Local IPatternDetails details,
57+
@Local IGridNode gridNode,
58+
@Local ICraftingService craftingService) {
5159
if (details instanceof TransmutationPattern) {
5260
if (details.getOutputs().getFirst().what() instanceof AEItemKey item) {
61+
ci.cancel();
5362
details = new TransmutationPattern(item, appliede$requestedAmount);
63+
nodes.add(new CraftingTreeProcess(craftingService, job, details, (CraftingTreeNode) (Object) this));
5464
}
5565

5666
gridNode.getGrid().getService(KnowledgeService.class).addTemporaryPattern(details);
5767
}
58-
59-
return original.call(craftingService, job, details, node);
6068
}
6169
}

0 commit comments

Comments
 (0)