This commit is contained in:
GaLicn 2025-09-06 17:50:37 +08:00
parent 27f7ed0122
commit 0d5ce9261e
4 changed files with 16 additions and 18 deletions

View File

@ -163,7 +163,7 @@ dependencies {
compileOnly "curse.maven:mega-cells-622112:6005043"
compileOnly "curse.maven:jade-324717:5427817"
compileOnly "me.shedaniel:RoughlyEnoughItems-neoforge:16.0.729"
compileOnly "mekanism:Mekanism:1.21.1-10.7.0.55"
// compileOnly "mekanism:Mekanism:1.21.1-10.7.0.55"
compileOnly "curse.maven:applied-mekanistics-574300:5978711"
compileOnly "dev.latvian.mods:kubejs-neoforge:2101.7.1-build.188"
compileOnly "dev.latvian.mods:rhino:2101.2.5-build.54"
@ -178,7 +178,7 @@ dependencies {
runtimeOnly "de.mari_023:ae2wtlib:19.2.1"
runtimeOnly "curse.maven:jade-324717:5427817"
runtimeOnly "curse.maven:mega-cells-622112:6005043"
runtimeOnly "mekanism:Mekanism:1.21.1-10.7.0.55"
// runtimeOnly "mekanism:Mekanism:1.21.1-10.7.0.55"
runtimeOnly "curse.maven:ex-pattern-provider-892005:6863556"
// setup Xei (EMI/REI/JEI) using project property 'use_Xei'

View File

@ -14,12 +14,9 @@ public interface MEStorageMenuAccessor {
@Nullable
MEStorage getStorage();
@Accessor("powerSource")
@Accessor("energySource")
@Nullable
IEnergySource getPowerSource();
@Accessor("hasPower")
boolean getHasPower();
IEnergySource getEnergySource();
// Access client-side config manager mirror used for syncing settings
@Accessor("clientCM")

View File

@ -35,7 +35,6 @@ public abstract class PatternEncodingTermMenuMixin {
private void eap$tryFill(IPatternTerminalMenuHost host, Inventory ip) {
try {
var self = (PatternEncodingTermMenu) (Object) this;
var player = ip.player;
// 仅在服务器端执行
if (ip.player.level().isClientSide()) {
return;
@ -43,9 +42,8 @@ public abstract class PatternEncodingTermMenuMixin {
// 必须可与网络交互
var acc = (MEStorageMenuAccessor) (Object) ((MEStorageMenu) self);
MEStorage storage = acc.getStorage();
IEnergySource power = acc.getPowerSource();
boolean hasPower = acc.getHasPower();
boolean canInteract = storage != null && power != null && hasPower; // 等价于 canInteractWithGrid()
IEnergySource power = acc.getEnergySource();
boolean canInteract = storage != null && power != null && ((MEStorageMenu) self).getLinkStatus().connected();
if (!canInteract) {
return;
}
@ -108,15 +106,14 @@ public abstract class PatternEncodingTermMenuMixin {
}
// 仅在服务器端执行
var self = (PatternEncodingTermMenu) (Object) this;
var player = self.getPlayerInventory().player;
var acc = (MEStorageMenuAccessor) (Object) ((MEStorageMenu) self);
MEStorage storage = acc.getStorage();
IEnergySource power = acc.getPowerSource();
boolean hasPower = acc.getHasPower();
IEnergySource power = acc.getEnergySource();
var player = self.getPlayerInventory().player;
if (player.level().isClientSide()) {
return;
}
boolean canInteract = storage != null && power != null && hasPower;
boolean canInteract = storage != null && power != null && ((MEStorageMenu) self).getLinkStatus().connected();
if (!canInteract) {
return;
}

View File

@ -12,17 +12,21 @@
"ae2.helpers.PatternProviderLogicAdvancedMixin",
"ae2.helpers.PatternProviderLogicDoublingMixin",
"ae2.AEProcessingPatternMixin",
"ae2.autopattern.CraftingTreeNodeAccessor",
"ae2.autopattern.CraftingTreeProcessMixin",
"extendedae.common.PartExPatternProviderMixin",
"extendedae.common.TileExPatternProviderMixin",
"extendedae.container.ContainerExPatternProviderMixin",
"extendedae.container.ContainerExPatternTerminalMixin",
"extendedae.container.ContainerWirelessExPatternTerminalMixin"
"extendedae.container.ContainerWirelessExPatternTerminalMixin",
"ae2.menu.PatternEncodingTermMenuMixin",
"ae2.accessor.MEStorageMenuAccessor"
],
"client": [
"ae2.client.gui.PatternEncodingTermScreenMixin",
"ae2.accessor.AEBaseScreenAccessor",
"accessor.AbstractContainerScreenAccessor",
"accessor.ScreenAccessor",
"extendedae.accessor.GuiExPatternTerminalAccessor"
],
"injectors": {