mixin
This commit is contained in:
parent
27f7ed0122
commit
0d5ce9261e
|
|
@ -163,7 +163,7 @@ dependencies {
|
||||||
compileOnly "curse.maven:mega-cells-622112:6005043"
|
compileOnly "curse.maven:mega-cells-622112:6005043"
|
||||||
compileOnly "curse.maven:jade-324717:5427817"
|
compileOnly "curse.maven:jade-324717:5427817"
|
||||||
compileOnly "me.shedaniel:RoughlyEnoughItems-neoforge:16.0.729"
|
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 "curse.maven:applied-mekanistics-574300:5978711"
|
||||||
compileOnly "dev.latvian.mods:kubejs-neoforge:2101.7.1-build.188"
|
compileOnly "dev.latvian.mods:kubejs-neoforge:2101.7.1-build.188"
|
||||||
compileOnly "dev.latvian.mods:rhino:2101.2.5-build.54"
|
compileOnly "dev.latvian.mods:rhino:2101.2.5-build.54"
|
||||||
|
|
@ -178,7 +178,7 @@ dependencies {
|
||||||
runtimeOnly "de.mari_023:ae2wtlib:19.2.1"
|
runtimeOnly "de.mari_023:ae2wtlib:19.2.1"
|
||||||
runtimeOnly "curse.maven:jade-324717:5427817"
|
runtimeOnly "curse.maven:jade-324717:5427817"
|
||||||
runtimeOnly "curse.maven:mega-cells-622112:6005043"
|
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"
|
runtimeOnly "curse.maven:ex-pattern-provider-892005:6863556"
|
||||||
|
|
||||||
// setup Xei (EMI/REI/JEI) using project property 'use_Xei'
|
// setup Xei (EMI/REI/JEI) using project property 'use_Xei'
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,9 @@ public interface MEStorageMenuAccessor {
|
||||||
@Nullable
|
@Nullable
|
||||||
MEStorage getStorage();
|
MEStorage getStorage();
|
||||||
|
|
||||||
@Accessor("powerSource")
|
@Accessor("energySource")
|
||||||
@Nullable
|
@Nullable
|
||||||
IEnergySource getPowerSource();
|
IEnergySource getEnergySource();
|
||||||
|
|
||||||
@Accessor("hasPower")
|
|
||||||
boolean getHasPower();
|
|
||||||
|
|
||||||
// Access client-side config manager mirror used for syncing settings
|
// Access client-side config manager mirror used for syncing settings
|
||||||
@Accessor("clientCM")
|
@Accessor("clientCM")
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@ public abstract class PatternEncodingTermMenuMixin {
|
||||||
private void eap$tryFill(IPatternTerminalMenuHost host, Inventory ip) {
|
private void eap$tryFill(IPatternTerminalMenuHost host, Inventory ip) {
|
||||||
try {
|
try {
|
||||||
var self = (PatternEncodingTermMenu) (Object) this;
|
var self = (PatternEncodingTermMenu) (Object) this;
|
||||||
var player = ip.player;
|
|
||||||
// 仅在服务器端执行
|
// 仅在服务器端执行
|
||||||
if (ip.player.level().isClientSide()) {
|
if (ip.player.level().isClientSide()) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -43,9 +42,8 @@ public abstract class PatternEncodingTermMenuMixin {
|
||||||
// 必须可与网络交互
|
// 必须可与网络交互
|
||||||
var acc = (MEStorageMenuAccessor) (Object) ((MEStorageMenu) self);
|
var acc = (MEStorageMenuAccessor) (Object) ((MEStorageMenu) self);
|
||||||
MEStorage storage = acc.getStorage();
|
MEStorage storage = acc.getStorage();
|
||||||
IEnergySource power = acc.getPowerSource();
|
IEnergySource power = acc.getEnergySource();
|
||||||
boolean hasPower = acc.getHasPower();
|
boolean canInteract = storage != null && power != null && ((MEStorageMenu) self).getLinkStatus().connected();
|
||||||
boolean canInteract = storage != null && power != null && hasPower; // 等价于 canInteractWithGrid()
|
|
||||||
if (!canInteract) {
|
if (!canInteract) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -108,15 +106,14 @@ public abstract class PatternEncodingTermMenuMixin {
|
||||||
}
|
}
|
||||||
// 仅在服务器端执行
|
// 仅在服务器端执行
|
||||||
var self = (PatternEncodingTermMenu) (Object) this;
|
var self = (PatternEncodingTermMenu) (Object) this;
|
||||||
var player = self.getPlayerInventory().player;
|
|
||||||
var acc = (MEStorageMenuAccessor) (Object) ((MEStorageMenu) self);
|
var acc = (MEStorageMenuAccessor) (Object) ((MEStorageMenu) self);
|
||||||
MEStorage storage = acc.getStorage();
|
MEStorage storage = acc.getStorage();
|
||||||
IEnergySource power = acc.getPowerSource();
|
IEnergySource power = acc.getEnergySource();
|
||||||
boolean hasPower = acc.getHasPower();
|
var player = self.getPlayerInventory().player;
|
||||||
if (player.level().isClientSide()) {
|
if (player.level().isClientSide()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
boolean canInteract = storage != null && power != null && hasPower;
|
boolean canInteract = storage != null && power != null && ((MEStorageMenu) self).getLinkStatus().connected();
|
||||||
if (!canInteract) {
|
if (!canInteract) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,17 +12,21 @@
|
||||||
"ae2.helpers.PatternProviderLogicAdvancedMixin",
|
"ae2.helpers.PatternProviderLogicAdvancedMixin",
|
||||||
"ae2.helpers.PatternProviderLogicDoublingMixin",
|
"ae2.helpers.PatternProviderLogicDoublingMixin",
|
||||||
"ae2.AEProcessingPatternMixin",
|
"ae2.AEProcessingPatternMixin",
|
||||||
|
|
||||||
"ae2.autopattern.CraftingTreeNodeAccessor",
|
"ae2.autopattern.CraftingTreeNodeAccessor",
|
||||||
"ae2.autopattern.CraftingTreeProcessMixin",
|
"ae2.autopattern.CraftingTreeProcessMixin",
|
||||||
"extendedae.common.PartExPatternProviderMixin",
|
"extendedae.common.PartExPatternProviderMixin",
|
||||||
"extendedae.common.TileExPatternProviderMixin",
|
"extendedae.common.TileExPatternProviderMixin",
|
||||||
"extendedae.container.ContainerExPatternProviderMixin",
|
"extendedae.container.ContainerExPatternProviderMixin",
|
||||||
"extendedae.container.ContainerExPatternTerminalMixin",
|
"extendedae.container.ContainerExPatternTerminalMixin",
|
||||||
"extendedae.container.ContainerWirelessExPatternTerminalMixin"
|
"extendedae.container.ContainerWirelessExPatternTerminalMixin",
|
||||||
|
"ae2.menu.PatternEncodingTermMenuMixin",
|
||||||
|
"ae2.accessor.MEStorageMenuAccessor"
|
||||||
],
|
],
|
||||||
"client": [
|
"client": [
|
||||||
|
"ae2.client.gui.PatternEncodingTermScreenMixin",
|
||||||
|
"ae2.accessor.AEBaseScreenAccessor",
|
||||||
|
"accessor.AbstractContainerScreenAccessor",
|
||||||
|
"accessor.ScreenAccessor",
|
||||||
"extendedae.accessor.GuiExPatternTerminalAccessor"
|
"extendedae.accessor.GuiExPatternTerminalAccessor"
|
||||||
],
|
],
|
||||||
"injectors": {
|
"injectors": {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user