fix: 取消mixin部分非混淆字段的混淆映射
This commit is contained in:
parent
121828d8f1
commit
49b0ef0726
|
|
@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G
|
||||||
loom.platform = forge
|
loom.platform = forge
|
||||||
|
|
||||||
# Mod properties
|
# Mod properties
|
||||||
mod_version = 1.4.2
|
mod_version = 1.4.2-fix
|
||||||
maven_group = com.extendedae_plus
|
maven_group = com.extendedae_plus
|
||||||
archives_name = extendedae_plus
|
archives_name = extendedae_plus
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
@Mixin(AdvPatternProviderMenu.class)
|
@Mixin(AdvPatternProviderMenu.class)
|
||||||
public interface AdvPatternProviderMenuAdvancedAccessor {
|
public interface AdvPatternProviderMenuAdvancedAccessor {
|
||||||
@Accessor("logic")
|
@Accessor(value = "logic", remap = false)
|
||||||
AdvPatternProviderLogic eap$logic();
|
AdvPatternProviderLogic eap$logic();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import net.minecraft.world.inventory.MenuType;
|
||||||
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogic;
|
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogic;
|
||||||
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogicHost;
|
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogicHost;
|
||||||
import net.pedroksl.advanced_ae.gui.advpatternprovider.AdvPatternProviderMenu;
|
import net.pedroksl.advanced_ae.gui.advpatternprovider.AdvPatternProviderMenu;
|
||||||
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
|
@ -18,7 +19,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
@Mixin(AdvPatternProviderMenu.class)
|
@Mixin(AdvPatternProviderMenu.class)
|
||||||
public abstract class AdvPatternProviderMenuAdvancedMixin implements PatternProviderMenuAdvancedSync {
|
public abstract class AdvPatternProviderMenuAdvancedMixin implements PatternProviderMenuAdvancedSync {
|
||||||
@Shadow
|
@Final
|
||||||
|
@Shadow(remap = false)
|
||||||
protected AdvPatternProviderLogic logic;
|
protected AdvPatternProviderLogic logic;
|
||||||
|
|
||||||
// 选择一个未占用的 GUI 同步 id(AE2 已用到 7),这里使用 21 以避冲突
|
// 选择一个未占用的 GUI 同步 id(AE2 已用到 7),这里使用 21 以避冲突
|
||||||
|
|
@ -38,7 +40,7 @@ public abstract class AdvPatternProviderMenuAdvancedMixin implements PatternProv
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构造器尾注入(public ctor)
|
// 构造器尾注入(public ctor)
|
||||||
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initAdvancedSync_Public(int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initAdvancedSync_Public(int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
@ -49,7 +51,7 @@ public abstract class AdvPatternProviderMenuAdvancedMixin implements PatternProv
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构造器尾注入(protected ctor with MenuType)
|
// 构造器尾注入(protected ctor with MenuType)
|
||||||
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initAdvancedSync_Protected(MenuType menuType, int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initAdvancedSync_Protected(MenuType menuType, int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import net.minecraft.world.inventory.MenuType;
|
||||||
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogic;
|
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogic;
|
||||||
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogicHost;
|
import net.pedroksl.advanced_ae.common.logic.AdvPatternProviderLogicHost;
|
||||||
import net.pedroksl.advanced_ae.gui.advpatternprovider.AdvPatternProviderMenu;
|
import net.pedroksl.advanced_ae.gui.advpatternprovider.AdvPatternProviderMenu;
|
||||||
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
|
@ -18,7 +19,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
@Mixin(AdvPatternProviderMenu.class)
|
@Mixin(AdvPatternProviderMenu.class)
|
||||||
public abstract class AdvPatternProviderMenuDoublingMixin implements PatternProviderMenuDoublingSync {
|
public abstract class AdvPatternProviderMenuDoublingMixin implements PatternProviderMenuDoublingSync {
|
||||||
@Shadow
|
@Final
|
||||||
|
@Shadow(remap = false)
|
||||||
protected AdvPatternProviderLogic logic;
|
protected AdvPatternProviderLogic logic;
|
||||||
|
|
||||||
@Unique
|
@Unique
|
||||||
|
|
@ -35,7 +37,7 @@ public abstract class AdvPatternProviderMenuDoublingMixin implements PatternProv
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initSmartSync_Public(int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initSmartSync_Public(int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
@ -45,7 +47,7 @@ public abstract class AdvPatternProviderMenuDoublingMixin implements PatternProv
|
||||||
} catch (Throwable ignored) {}
|
} catch (Throwable ignored) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lnet/pedroksl/advanced_ae/common/logic/AdvPatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initSmartSync_Protected(MenuType menuType, int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initSmartSync_Protected(MenuType menuType, int id, Inventory playerInventory, AdvPatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
|
||||||
|
|
@ -10,23 +10,23 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
@Mixin(MEStorageMenu.class)
|
@Mixin(MEStorageMenu.class)
|
||||||
public interface MEStorageMenuAccessor {
|
public interface MEStorageMenuAccessor {
|
||||||
@Accessor("storage")
|
@Accessor(value = "storage", remap = false)
|
||||||
@Nullable
|
@Nullable
|
||||||
MEStorage getStorage();
|
MEStorage getStorage();
|
||||||
|
|
||||||
@Accessor("powerSource")
|
@Accessor(value = "powerSource", remap = false)
|
||||||
@Nullable
|
@Nullable
|
||||||
IEnergySource getPowerSource();
|
IEnergySource getPowerSource();
|
||||||
|
|
||||||
@Accessor("hasPower")
|
@Accessor(value = "hasPower", remap = false)
|
||||||
boolean getHasPower();
|
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(value = "clientCM", remap = false)
|
||||||
IConfigManager getClientCM();
|
IConfigManager getClientCM();
|
||||||
|
|
||||||
// Access server-side config manager
|
// Access server-side config manager
|
||||||
@Accessor("serverCM")
|
@Accessor(value = "serverCM", remap = false)
|
||||||
@Nullable
|
@Nullable
|
||||||
IConfigManager getServerCM();
|
IConfigManager getServerCM();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
@Mixin(PatternEncodingTermMenu.class)
|
@Mixin(PatternEncodingTermMenu.class)
|
||||||
public interface PatternEncodingTermMenuAccessor {
|
public interface PatternEncodingTermMenuAccessor {
|
||||||
@Accessor("encodedPatternSlot")
|
@Accessor(value = "encodedPatternSlot",remap = false)
|
||||||
RestrictedInputSlot eap$getEncodedPatternSlot();
|
RestrictedInputSlot eap$getEncodedPatternSlot();
|
||||||
|
|
||||||
@Accessor("blankPatternSlot")
|
@Accessor(value = "blankPatternSlot",remap = false)
|
||||||
RestrictedInputSlot eap$getBlankPatternSlot();
|
RestrictedInputSlot eap$getBlankPatternSlot();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
@Mixin(PatternProviderLogic.class)
|
@Mixin(PatternProviderLogic.class)
|
||||||
public interface PatternProviderLogicAccessor {
|
public interface PatternProviderLogicAccessor {
|
||||||
@Accessor("host")
|
@Accessor(value = "host", remap = false)
|
||||||
PatternProviderLogicHost eap$host();
|
PatternProviderLogicHost eap$host();
|
||||||
|
|
||||||
@Accessor("mainNode")
|
@Accessor(value = "mainNode", remap = false)
|
||||||
IManagedGridNode eap$mainNode();
|
IManagedGridNode eap$mainNode();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,6 @@ import java.util.Set;
|
||||||
|
|
||||||
@Mixin(PatternProviderLogic.class)
|
@Mixin(PatternProviderLogic.class)
|
||||||
public interface PatternProviderLogicPatternInputsAccessor {
|
public interface PatternProviderLogicPatternInputsAccessor {
|
||||||
@Accessor("patternInputs")
|
@Accessor(value = "patternInputs",remap = false)
|
||||||
Set<AEKey> eap$patternInputs();
|
Set<AEKey> eap$patternInputs();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
@Mixin(PatternProviderMenu.class)
|
@Mixin(PatternProviderMenu.class)
|
||||||
public interface PatternProviderMenuAdvancedAccessor {
|
public interface PatternProviderMenuAdvancedAccessor {
|
||||||
@Accessor("logic")
|
@Accessor(value = "logic", remap = false)
|
||||||
PatternProviderLogic eap$logic();
|
PatternProviderLogic eap$logic();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
@Mixin(CraftingTreeNode.class)
|
@Mixin(CraftingTreeNode.class)
|
||||||
public interface CraftingTreeNodeAccessor {
|
public interface CraftingTreeNodeAccessor {
|
||||||
@Accessor("what")
|
@Accessor(value = "what", remap = false)
|
||||||
AEKey eap$getWhat();
|
AEKey eap$getWhat();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,8 @@ public abstract class CraftingTreeProcessMixin {
|
||||||
@ModifyVariable(
|
@ModifyVariable(
|
||||||
method = "<init>(Lappeng/api/networking/crafting/ICraftingService;Lappeng/crafting/CraftingCalculation;Lappeng/api/crafting/IPatternDetails;Lappeng/crafting/CraftingTreeNode;)V",
|
method = "<init>(Lappeng/api/networking/crafting/ICraftingService;Lappeng/crafting/CraftingCalculation;Lappeng/api/crafting/IPatternDetails;Lappeng/crafting/CraftingTreeNode;)V",
|
||||||
at = @At("HEAD"),
|
at = @At("HEAD"),
|
||||||
argsOnly = true
|
argsOnly = true,
|
||||||
|
remap = false
|
||||||
)
|
)
|
||||||
private static IPatternDetails eap$replaceDetailsAtHead(IPatternDetails original, ICraftingService cc, CraftingCalculation job, IPatternDetails details, CraftingTreeNode craftingTreeNode) {
|
private static IPatternDetails eap$replaceDetailsAtHead(IPatternDetails original, ICraftingService cc, CraftingCalculation job, IPatternDetails details, CraftingTreeNode craftingTreeNode) {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -312,7 +312,7 @@ public abstract class AEBaseScreenMixin {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Shadow
|
@Shadow(remap = false)
|
||||||
protected void setTextContent(String id, Component content) {};
|
protected void setTextContent(String id, Component content) {};
|
||||||
|
|
||||||
@Inject(method = "updateBeforeRender", at = @At("RETURN"), remap = false)
|
@Inject(method = "updateBeforeRender", at = @At("RETURN"), remap = false)
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import appeng.menu.slot.RestrictedInputSlot;
|
||||||
import com.extendedae_plus.mixin.ae2.accessor.MEStorageMenuAccessor;
|
import com.extendedae_plus.mixin.ae2.accessor.MEStorageMenuAccessor;
|
||||||
import net.minecraft.world.entity.player.Inventory;
|
import net.minecraft.world.entity.player.Inventory;
|
||||||
import net.minecraft.world.inventory.MenuType;
|
import net.minecraft.world.inventory.MenuType;
|
||||||
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
|
@ -28,7 +29,8 @@ public abstract class PatternEncodingTermMenuMixin {
|
||||||
@Unique
|
@Unique
|
||||||
private boolean eap$blankAutoFilled = false;
|
private boolean eap$blankAutoFilled = false;
|
||||||
|
|
||||||
@Shadow
|
@Final
|
||||||
|
@Shadow(remap = false)
|
||||||
private RestrictedInputSlot blankPatternSlot;
|
private RestrictedInputSlot blankPatternSlot;
|
||||||
|
|
||||||
@Unique
|
@Unique
|
||||||
|
|
@ -87,7 +89,7 @@ public abstract class PatternEncodingTermMenuMixin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/IPatternTerminalMenuHost;Z)V",
|
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/IPatternTerminalMenuHost;Z)V",
|
||||||
at = @At("TAIL"))
|
at = @At("TAIL"), remap = false)
|
||||||
private void eap$autoFillBlankPattern(MenuType<?> menuType, int id, Inventory ip,
|
private void eap$autoFillBlankPattern(MenuType<?> menuType, int id, Inventory ip,
|
||||||
IPatternTerminalMenuHost host, boolean bindInventory,
|
IPatternTerminalMenuHost host, boolean bindInventory,
|
||||||
CallbackInfo ci) {
|
CallbackInfo ci) {
|
||||||
|
|
@ -95,7 +97,7 @@ public abstract class PatternEncodingTermMenuMixin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/IPatternTerminalMenuHost;)V",
|
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/IPatternTerminalMenuHost;)V",
|
||||||
at = @At("TAIL"))
|
at = @At("TAIL"), remap = false)
|
||||||
private void eap$autoFillCtor3(int id, Inventory ip, IPatternTerminalMenuHost host, CallbackInfo ci) {
|
private void eap$autoFillCtor3(int id, Inventory ip, IPatternTerminalMenuHost host, CallbackInfo ci) {
|
||||||
eap$tryFill(host, ip);
|
eap$tryFill(host, ip);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import com.extendedae_plus.api.AdvancedBlockingHolder;
|
||||||
import com.extendedae_plus.api.PatternProviderMenuAdvancedSync;
|
import com.extendedae_plus.api.PatternProviderMenuAdvancedSync;
|
||||||
import net.minecraft.world.entity.player.Inventory;
|
import net.minecraft.world.entity.player.Inventory;
|
||||||
import net.minecraft.world.inventory.MenuType;
|
import net.minecraft.world.inventory.MenuType;
|
||||||
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
|
@ -20,7 +21,8 @@ import static com.extendedae_plus.util.ExtendedAELogger.LOGGER;
|
||||||
|
|
||||||
@Mixin(PatternProviderMenu.class)
|
@Mixin(PatternProviderMenu.class)
|
||||||
public abstract class PatternProviderMenuAdvancedMixin implements PatternProviderMenuAdvancedSync {
|
public abstract class PatternProviderMenuAdvancedMixin implements PatternProviderMenuAdvancedSync {
|
||||||
@Shadow
|
@Final
|
||||||
|
@Shadow(remap = false)
|
||||||
protected PatternProviderLogic logic;
|
protected PatternProviderLogic logic;
|
||||||
|
|
||||||
// 选择一个未占用的 GUI 同步 id(AE2 已用到 7),这里使用 20 以避冲突
|
// 选择一个未占用的 GUI 同步 id(AE2 已用到 7),这里使用 20 以避冲突
|
||||||
|
|
@ -40,7 +42,7 @@ public abstract class PatternProviderMenuAdvancedMixin implements PatternProvide
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构造器尾注入(public ctor)
|
// 构造器尾注入(public ctor)
|
||||||
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initAdvancedSync_Public(int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initAdvancedSync_Public(int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
@ -51,7 +53,7 @@ public abstract class PatternProviderMenuAdvancedMixin implements PatternProvide
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构造器尾注入(protected ctor with MenuType)
|
// 构造器尾注入(protected ctor with MenuType)
|
||||||
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initAdvancedSync_Protected(MenuType<? extends PatternProviderMenu> menuType, int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initAdvancedSync_Protected(MenuType<? extends PatternProviderMenu> menuType, int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import com.extendedae_plus.api.PatternProviderMenuDoublingSync;
|
||||||
import com.extendedae_plus.api.SmartDoublingHolder;
|
import com.extendedae_plus.api.SmartDoublingHolder;
|
||||||
import net.minecraft.world.entity.player.Inventory;
|
import net.minecraft.world.entity.player.Inventory;
|
||||||
import net.minecraft.world.inventory.MenuType;
|
import net.minecraft.world.inventory.MenuType;
|
||||||
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
|
@ -20,7 +21,8 @@ import static com.extendedae_plus.util.ExtendedAELogger.LOGGER;
|
||||||
|
|
||||||
@Mixin(PatternProviderMenu.class)
|
@Mixin(PatternProviderMenu.class)
|
||||||
public abstract class PatternProviderMenuDoublingMixin implements PatternProviderMenuDoublingSync {
|
public abstract class PatternProviderMenuDoublingMixin implements PatternProviderMenuDoublingSync {
|
||||||
@Shadow
|
@Final
|
||||||
|
@Shadow(remap = false)
|
||||||
protected PatternProviderLogic logic;
|
protected PatternProviderLogic logic;
|
||||||
|
|
||||||
@Unique
|
@Unique
|
||||||
|
|
@ -37,7 +39,7 @@ public abstract class PatternProviderMenuDoublingMixin implements PatternProvide
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initSmartSync_Public(int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initSmartSync_Public(int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
@ -49,7 +51,7 @@ public abstract class PatternProviderMenuDoublingMixin implements PatternProvide
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"))
|
@Inject(method = "<init>(Lnet/minecraft/world/inventory/MenuType;ILnet/minecraft/world/entity/player/Inventory;Lappeng/helpers/patternprovider/PatternProviderLogicHost;)V", at = @At("TAIL"), remap = false)
|
||||||
private void eap$initSmartSync_Protected(MenuType<? extends PatternProviderMenu> menuType, int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
private void eap$initSmartSync_Protected(MenuType<? extends PatternProviderMenu> menuType, int id, Inventory playerInventory, PatternProviderLogicHost host, CallbackInfo ci) {
|
||||||
try {
|
try {
|
||||||
var l = this.logic;
|
var l = this.logic;
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public abstract class ContainerWirelessExPatternTerminalMixin implements IAction
|
||||||
private Player epp$player;
|
private Player epp$player;
|
||||||
|
|
||||||
// 明确目标构造签名:<init>(int, Inventory, HostWirelessExPAT)
|
// 明确目标构造签名:<init>(int, Inventory, HostWirelessExPAT)
|
||||||
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lcom/glodblock/github/extendedae/common/me/itemhost/HostWirelessExPAT;)V", at = @At("TAIL"), require = 0)
|
@Inject(method = "<init>(ILnet/minecraft/world/entity/player/Inventory;Lcom/glodblock/github/extendedae/common/me/itemhost/HostWirelessExPAT;)V", at = @At("TAIL"), require = 0, remap = false)
|
||||||
private void init(int id, net.minecraft.world.entity.player.Inventory playerInventory, HostWirelessExPAT host, CallbackInfo ci) {
|
private void init(int id, net.minecraft.world.entity.player.Inventory playerInventory, HostWirelessExPAT host, CallbackInfo ci) {
|
||||||
this.epp$player = playerInventory.player;
|
this.epp$player = playerInventory.player;
|
||||||
// 注册上传动作:参数顺序必须与客户端 CGenericPacket 保持一致
|
// 注册上传动作:参数顺序必须与客户端 CGenericPacket 保持一致
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,6 @@ import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
@Mixin(BookmarkOverlay.class)
|
@Mixin(BookmarkOverlay.class)
|
||||||
public interface BookmarkOverlayAccessor {
|
public interface BookmarkOverlayAccessor {
|
||||||
@Accessor("bookmarkList")
|
@Accessor(value = "bookmarkList", remap = false)
|
||||||
BookmarkList eap$getBookmarkList();
|
BookmarkList eap$getBookmarkList();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user