修改autoPattern文件结构,先完成再摆放至正确位置
This commit is contained in:
parent
ac522c7751
commit
9c20608926
|
|
@ -1,45 +0,0 @@
|
|||
package com.extendedae_plus.mixin.ae2;
|
||||
|
||||
import appeng.api.crafting.IPatternDetails;
|
||||
import appeng.api.networking.crafting.ICraftingService;
|
||||
import appeng.api.stacks.AEKey;
|
||||
import appeng.crafting.CraftingCalculation;
|
||||
import appeng.crafting.CraftingTreeNode;
|
||||
import appeng.crafting.CraftingTreeProcess;
|
||||
import appeng.crafting.pattern.AEProcessingPattern;
|
||||
import com.extendedae_plus.mixin.ae2.accessor.CraftingCalculationAccessor;
|
||||
import com.extendedae_plus.mixin.ae2.accessor.CraftingTreeNodeAccessor;
|
||||
import com.extendedae_plus.util.PatternScaler;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyVariable;
|
||||
|
||||
/**
|
||||
* 注入 CraftingTreeProcess 构造器尾部:将 AEProcessingPattern 替换为 ScaledProcessingPattern
|
||||
* 以确保后续执行使用放大后的输入/输出视图。
|
||||
*/
|
||||
@Mixin(CraftingTreeProcess.class)
|
||||
public class CraftingTreeProcessMixin {
|
||||
|
||||
@ModifyVariable(method = "<init>(Lappeng/api/networking/crafting/ICraftingService;Lappeng/crafting/CraftingCalculation;Lappeng/api/crafting/IPatternDetails;Lappeng/crafting/CraftingTreeNode;)V",
|
||||
at = @At("HEAD"), argsOnly = true)
|
||||
private static IPatternDetails extendedae_plus$replaceDetailsAtHead(IPatternDetails original, ICraftingService cc, CraftingCalculation job, IPatternDetails details, CraftingTreeNode craftingTreeNode) {
|
||||
try {
|
||||
if (!(details instanceof AEProcessingPattern proc)) return original;
|
||||
|
||||
CraftingCalculationAccessor jobAcc = (CraftingCalculationAccessor) job;
|
||||
long requested = jobAcc.extendedae_plus$getRequestedAmount();
|
||||
|
||||
CraftingTreeNodeAccessor parentAcc = (CraftingTreeNodeAccessor) craftingTreeNode;
|
||||
AEKey parentTarget = parentAcc.extendedae_plus$getWhat();
|
||||
|
||||
System.out.println("[extendedae_plus] Replacing constructor details at HEAD for: " + parentTarget + " x " + requested);
|
||||
|
||||
return PatternScaler.scale(proc, parentTarget, requested);
|
||||
} catch (Exception e) {
|
||||
System.err.println("[extendedae_plus] Error replacing pattern at HEAD: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
return original;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.extendedae_plus.mixin.ae2.accessor;
|
||||
package com.extendedae_plus.mixin.autopattern;
|
||||
|
||||
import appeng.api.stacks.AEKey;
|
||||
import appeng.crafting.CraftingCalculation;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.extendedae_plus.mixin.ae2;
|
||||
package com.extendedae_plus.mixin.autopattern;
|
||||
|
||||
import appeng.api.crafting.IPatternDetails;
|
||||
import appeng.me.service.CraftingService;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.extendedae_plus.mixin.ae2.accessor;
|
||||
package com.extendedae_plus.mixin.autopattern;
|
||||
|
||||
import appeng.api.stacks.AEKey;
|
||||
import appeng.crafting.CraftingTreeNode;
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.extendedae_plus.mixin.autopattern;
|
||||
|
||||
import appeng.crafting.CraftingTreeProcess;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
||||
/**
|
||||
* 注入 CraftingTreeProcess 构造器尾部:将 AEProcessingPattern 替换为 ScaledProcessingPattern
|
||||
* 以确保后续执行使用放大后的输入/输出视图。
|
||||
*/
|
||||
@Mixin(CraftingTreeProcess.class)
|
||||
public class CraftingTreeProcessMixin {
|
||||
|
||||
// @ModifyVariable(method = "<init>(Lappeng/api/networking/crafting/ICraftingService;Lappeng/crafting/CraftingCalculation;Lappeng/api/crafting/IPatternDetails;Lappeng/crafting/CraftingTreeNode;)V",
|
||||
// at = @At("HEAD"), argsOnly = true)
|
||||
// private static IPatternDetails extendedae_plus$replaceDetailsAtHead(IPatternDetails original, ICraftingService cc, CraftingCalculation job, IPatternDetails details, CraftingTreeNode craftingTreeNode) {
|
||||
// try {
|
||||
// if (!(details instanceof AEProcessingPattern proc)) return original;
|
||||
//
|
||||
// CraftingCalculationAccessor jobAcc = (CraftingCalculationAccessor) job;
|
||||
// long requested = jobAcc.extendedae_plus$getRequestedAmount();
|
||||
//
|
||||
// CraftingTreeNodeAccessor parentAcc = (CraftingTreeNodeAccessor) craftingTreeNode;
|
||||
// AEKey parentTarget = parentAcc.extendedae_plus$getWhat();
|
||||
//
|
||||
// System.out.println("[extendedae_plus] Replacing constructor details at HEAD for: " + parentTarget + " x " + requested);
|
||||
//
|
||||
// return PatternScaler.scale(proc, parentTarget, requested);
|
||||
// } catch (Exception e) {
|
||||
// System.err.println("[extendedae_plus] Error replacing pattern at HEAD: " + e.getMessage());
|
||||
// e.printStackTrace();
|
||||
// return original;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
|
@ -29,25 +29,21 @@
|
|||
"mixins": [
|
||||
"ae2.ContainerPatternEncodingTermMenuMixin",
|
||||
"ae2.CraftingCPUClusterMixin",
|
||||
"ae2.CraftingServiceGetProvidersMixin",
|
||||
"ae2.CraftingTreeProcessMixin",
|
||||
"ae2.MEStorageMenuMixin",
|
||||
"ae2.NetworkCraftingProvidersGetMediumsMixin",
|
||||
"ae2.NetworkCraftingProvidersProviderStateMixin",
|
||||
"ae2.PatternEncodingTermMenuMixin",
|
||||
"ae2.PatternProviderLogicAdvancedMixin",
|
||||
"ae2.PatternProviderLogicContainsRedirectMixin",
|
||||
"ae2.PatternProviderLogicMixin",
|
||||
"ae2.PatternProviderLogicPushPatternMixin",
|
||||
"ae2.PatternProviderMenuAdvancedMixin",
|
||||
"ae2.accessor.CraftingCalculationAccessor",
|
||||
"ae2.accessor.CraftingTreeNodeAccessor",
|
||||
"ae2.accessor.MEStorageMenuAccessor",
|
||||
"ae2.accessor.PatternEncodingTermMenuAccessor",
|
||||
"ae2.accessor.PatternProviderLogicAccessor",
|
||||
"ae2.accessor.PatternProviderLogicPatternInputsAccessor",
|
||||
"ae2.accessor.PatternProviderMenuAdvancedAccessor",
|
||||
"ae2WTlib.ContainerUWirelessExPatternTerminalMixin",
|
||||
"autopattern.CraftingCalculationAccessor",
|
||||
"autopattern.CraftingServiceGetProvidersMixin",
|
||||
"autopattern.CraftingTreeNodeAccessor",
|
||||
"autopattern.CraftingTreeProcessMixin",
|
||||
"extendedae.ContainerExPatternProviderMixin",
|
||||
"extendedae.ContainerExPatternTerminalMixin",
|
||||
"extendedae.ContainerWirelessExPatternTerminalMixin",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user