虚拟合成卡适配ADV的量子计算机
This commit is contained in:
parent
db719bf220
commit
b5498588ba
|
|
@ -88,7 +88,7 @@ dependencies {
|
||||||
modImplementation "appeng:appliedenergistics2-forge:${ae2_version}"
|
modImplementation "appeng:appliedenergistics2-forge:${ae2_version}"
|
||||||
modImplementation "org.appliedenergistics:guideme:${guideme_version}"
|
modImplementation "org.appliedenergistics:guideme:${guideme_version}"
|
||||||
modImplementation "curse.maven:applied-energistics-2-wireless-terminals-459929:${wireless_terminals_version}"
|
modImplementation "curse.maven:applied-energistics-2-wireless-terminals-459929:${wireless_terminals_version}"
|
||||||
modCompileOnly "curse.maven:applied-flux-965012:6755986"
|
modImplementation "curse.maven:applied-flux-965012:6755986"
|
||||||
modImplementation "curse.maven:mega-cells-622112:${mega_cells_version}"
|
modImplementation "curse.maven:mega-cells-622112:${mega_cells_version}"
|
||||||
|
|
||||||
//mae2
|
//mae2
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.extendedae_plus.mixin.advancedae.accessor;
|
||||||
|
|
||||||
|
import net.pedroksl.advanced_ae.common.logic.AdvCraftingCPULogic;
|
||||||
|
import net.pedroksl.advanced_ae.common.logic.ExecutingCraftingJob;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
|
@Mixin(value = AdvCraftingCPULogic.class, remap = false)
|
||||||
|
public interface AdvCraftingCPULogicAccessor {
|
||||||
|
|
||||||
|
@Accessor("job")
|
||||||
|
ExecutingCraftingJob eap$getAdvJob();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.extendedae_plus.mixin.advancedae.accessor;
|
||||||
|
|
||||||
|
import appeng.api.crafting.IPatternDetails;
|
||||||
|
import net.pedroksl.advanced_ae.common.logic.ExecutingCraftingJob;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Mixin(value = ExecutingCraftingJob.class, remap = false)
|
||||||
|
public interface AdvExecutingCraftingJobAccessor {
|
||||||
|
|
||||||
|
@Accessor("tasks")
|
||||||
|
Map<IPatternDetails, Object> eap$getAdvTasks();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.extendedae_plus.mixin.advancedae.accessor;
|
||||||
|
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
|
@Mixin(targets = "net.pedroksl.advanced_ae.common.logic.ExecutingCraftingJob$TaskProgress", remap = false)
|
||||||
|
public interface AdvExecutingCraftingJobTaskProgressAccessor {
|
||||||
|
|
||||||
|
@Accessor("value")
|
||||||
|
long eap$getAdvValue();
|
||||||
|
}
|
||||||
|
|
@ -12,6 +12,9 @@ import appeng.api.upgrades.UpgradeInventories;
|
||||||
import appeng.helpers.patternprovider.PatternProviderLogic;
|
import appeng.helpers.patternprovider.PatternProviderLogic;
|
||||||
import appeng.helpers.patternprovider.PatternProviderLogicHost;
|
import appeng.helpers.patternprovider.PatternProviderLogicHost;
|
||||||
import appeng.me.cluster.implementations.CraftingCPUCluster;
|
import appeng.me.cluster.implementations.CraftingCPUCluster;
|
||||||
|
import com.extendedae_plus.mixin.advancedae.accessor.AdvCraftingCPULogicAccessor;
|
||||||
|
import com.extendedae_plus.mixin.advancedae.accessor.AdvExecutingCraftingJobAccessor;
|
||||||
|
import com.extendedae_plus.mixin.advancedae.accessor.AdvExecutingCraftingJobTaskProgressAccessor;
|
||||||
import com.extendedae_plus.ae.wireless.WirelessSlaveLink;
|
import com.extendedae_plus.ae.wireless.WirelessSlaveLink;
|
||||||
import com.extendedae_plus.ae.wireless.endpoint.GenericNodeEndpointImpl;
|
import com.extendedae_plus.ae.wireless.endpoint.GenericNodeEndpointImpl;
|
||||||
import com.extendedae_plus.api.bridge.IInterfaceWirelessLinkBridge;
|
import com.extendedae_plus.api.bridge.IInterfaceWirelessLinkBridge;
|
||||||
|
|
@ -21,6 +24,7 @@ import com.extendedae_plus.items.materials.ChannelCardItem;
|
||||||
import com.extendedae_plus.mixin.ae2.accessor.CraftingCpuLogicAccessor;
|
import com.extendedae_plus.mixin.ae2.accessor.CraftingCpuLogicAccessor;
|
||||||
import com.extendedae_plus.mixin.ae2.accessor.ExecutingCraftingJobAccessor;
|
import com.extendedae_plus.mixin.ae2.accessor.ExecutingCraftingJobAccessor;
|
||||||
import com.extendedae_plus.util.Logger;
|
import com.extendedae_plus.util.Logger;
|
||||||
|
import net.pedroksl.advanced_ae.common.cluster.AdvCraftingCPU;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
|
|
@ -144,6 +148,23 @@ public abstract class PatternProviderLogicCompatMixin implements IUpgradeableObj
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (cpu instanceof AdvCraftingCPU advCpu) {
|
||||||
|
var logic = advCpu.craftingLogic;
|
||||||
|
if (logic instanceof AdvCraftingCPULogicAccessor advLogicAccessor) {
|
||||||
|
var job = advLogicAccessor.eap$getAdvJob();
|
||||||
|
if (job != null && job instanceof AdvExecutingCraftingJobAccessor advJobAccessor) {
|
||||||
|
var tasks = advJobAccessor.eap$getAdvTasks();
|
||||||
|
var progress = tasks.get(patternDetails);
|
||||||
|
if (progress instanceof AdvExecutingCraftingJobTaskProgressAccessor advProgressAccessor) {
|
||||||
|
if (advProgressAccessor.eap$getAdvValue() <= 1) {
|
||||||
|
advCpu.cancelJob();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,9 @@
|
||||||
"advancedae.AdvPatternProviderLogicContainsRedirectMixin",
|
"advancedae.AdvPatternProviderLogicContainsRedirectMixin",
|
||||||
"advancedae.accessor.AdvPatternProviderLogicPatternsAccessor",
|
"advancedae.accessor.AdvPatternProviderLogicPatternsAccessor",
|
||||||
"advancedae.accessor.AdvPatternProviderMenuAdvancedAccessor",
|
"advancedae.accessor.AdvPatternProviderMenuAdvancedAccessor",
|
||||||
|
"advancedae.accessor.AdvCraftingCPULogicAccessor",
|
||||||
|
"advancedae.accessor.AdvExecutingCraftingJobAccessor",
|
||||||
|
"advancedae.accessor.AdvExecutingCraftingJobTaskProgressAccessor",
|
||||||
"advancedae.helpers.AdvPatternProviderLogicAdvancedMixin",
|
"advancedae.helpers.AdvPatternProviderLogicAdvancedMixin",
|
||||||
"advancedae.helpers.AdvPatternProviderLogicDoublingMixin",
|
"advancedae.helpers.AdvPatternProviderLogicDoublingMixin",
|
||||||
"advancedae.menu.AdvPatternProviderMenuAdvancedMixin",
|
"advancedae.menu.AdvPatternProviderMenuAdvancedMixin",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user