Rename fields.

This commit is contained in:
IzzelAliz 2020-08-11 21:53:03 +08:00
parent cec4cfe457
commit b2c47f7473
16 changed files with 58 additions and 61 deletions

View File

@ -29,11 +29,11 @@ public abstract class AbstractFurnaceContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity = null;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(Lnet/minecraft/inventory/container/ContainerType;Lnet/minecraft/item/crafting/IRecipeType;ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/inventory/IInventory;Lnet/minecraft/util/IIntArray;)V", at = @At("RETURN"))
public void arclight$init(ContainerType<?> containerTypeIn, IRecipeType<? extends AbstractCookingRecipe> recipeTypeIn, int id, PlayerInventory playerInventoryIn, IInventory furnaceInventoryIn, IIntArray p_i50104_6_, CallbackInfo ci) {
this.player = playerInventoryIn;
this.playerInventory = playerInventoryIn;
}
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
@ -48,7 +48,7 @@ public abstract class AbstractFurnaceContainerMixin extends ContainerMixin {
}
CraftInventoryFurnace inventory = new CraftInventoryFurnace((AbstractFurnaceTileEntity) this.furnaceInventory);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -27,11 +27,11 @@ public abstract class BeaconContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/inventory/IInventory;Lnet/minecraft/util/IIntArray;Lnet/minecraft/util/IWorldPosCallable;)V", at = @At("RETURN"))
public void arclight$init(int p_i50100_1_, IInventory inventory, IIntArray p_i50100_3_, IWorldPosCallable p_i50100_4_, CallbackInfo ci) {
this.player = (PlayerInventory) inventory;
this.playerInventory = (PlayerInventory) inventory;
}
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
@ -46,7 +46,7 @@ public abstract class BeaconContainerMixin extends ContainerMixin {
}
CraftInventory inventory = new CraftInventoryBeacon(this.tileBeacon);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -25,11 +25,11 @@ public abstract class BrewingStandContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity = null;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/inventory/IInventory;Lnet/minecraft/util/IIntArray;)V", at = @At("RETURN"))
public void arclight$init(int p_i50096_1_, PlayerInventory playerInventory, IInventory p_i50096_3_, IIntArray p_i50096_4_, CallbackInfo ci) {
this.player = playerInventory;
this.playerInventory = playerInventory;
}
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
@ -44,7 +44,7 @@ public abstract class BrewingStandContainerMixin extends ContainerMixin {
}
CraftInventoryBrewer inventory = new CraftInventoryBrewer(this.tileBrewingStand);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -28,11 +28,11 @@ public abstract class ChestContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(Lnet/minecraft/inventory/container/ContainerType;ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/inventory/IInventory;I)V", at = @At("RETURN"))
public void arclight$init(ContainerType<?> type, int id, PlayerInventory playerInventoryIn, IInventory p_i50092_4_, int rows, CallbackInfo ci) {
this.player = playerInventoryIn;
this.playerInventory = playerInventoryIn;
}
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
@ -55,7 +55,7 @@ public abstract class ChestContainerMixin extends ContainerMixin {
inventory = new CraftInventory(this.lowerChestInventory);
}
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -24,11 +24,11 @@ public abstract class DispenserContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/inventory/IInventory;)V", at = @At("RETURN"))
public void arclight$init(int p_i50088_1_, PlayerInventory playerInventory, IInventory p_i50088_3_, CallbackInfo ci) {
this.player = playerInventory;
this.playerInventory = playerInventory;
}
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
@ -43,7 +43,7 @@ public abstract class DispenserContainerMixin extends ContainerMixin {
}
CraftInventory inventory = new CraftInventory(this.dispenserInventory);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -1,6 +1,7 @@
package io.izzel.arclight.common.mixin.core.inventory.container;
import io.izzel.arclight.common.bridge.entity.player.PlayerEntityBridge;
import io.izzel.arclight.common.bridge.entity.player.ServerPlayerEntityBridge;
import io.izzel.arclight.common.bridge.inventory.container.EnchantmentContainerBridge;
import io.izzel.arclight.common.bridge.util.IWorldPosCallableBridge;
import net.minecraft.advancements.CriteriaTriggers;
@ -65,11 +66,11 @@ public abstract class EnchantmentContainerMixin extends ContainerMixin implement
// @formatter:on
private CraftInventoryView bukkitEntity = null;
private Player player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/util/IWorldPosCallable;)V", at = @At("RETURN"))
public void arclight$init(int p_i50086_1_, PlayerInventory playerInventory, IWorldPosCallable p_i50086_3_, CallbackInfo ci) {
this.player = (Player) ((PlayerEntityBridge) playerInventory.player).bridge$getBukkitEntity();
this.playerInventory = playerInventory;
}
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
@ -136,7 +137,7 @@ public abstract class EnchantmentContainerMixin extends ContainerMixin implement
offers[j] = (enchantment != null) ? new EnchantmentOffer(enchantment, this.worldClue[j], this.enchantLevels[j]) : null;
}
PrepareItemEnchantEvent event = new PrepareItemEnchantEvent(player, this.getBukkitView(), ((IWorldPosCallableBridge) this.worldPosCallable).bridge$getLocation().getBlock(), item, offers, (int) power);
PrepareItemEnchantEvent event = new PrepareItemEnchantEvent(((ServerPlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), this.getBukkitView(), ((IWorldPosCallableBridge) this.worldPosCallable).bridge$getLocation().getBlock(), item, offers, (int) power);
event.setCancelled(!itemstack.isEnchantable());
Bukkit.getPluginManager().callEvent(event);
@ -265,7 +266,7 @@ public abstract class EnchantmentContainerMixin extends ContainerMixin implement
}
CraftInventoryEnchanting inventory = new CraftInventoryEnchanting(this.tableInventory);
bukkitEntity = new CraftInventoryView(this.player, inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}

View File

@ -1,6 +1,7 @@
package io.izzel.arclight.common.mixin.core.inventory.container;
import io.izzel.arclight.common.bridge.entity.player.PlayerEntityBridge;
import io.izzel.arclight.common.bridge.inventory.container.GrindstoneContainerBridge;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.container.Container;
@ -8,14 +9,12 @@ import net.minecraft.inventory.container.GrindstoneContainer;
import net.minecraft.util.IWorldPosCallable;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryGrindstone;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryView;
import org.bukkit.entity.Player;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import io.izzel.arclight.common.bridge.inventory.container.GrindstoneContainerBridge;
@Mixin(GrindstoneContainer.class)
public abstract class GrindstoneContainerMixin extends ContainerMixin implements GrindstoneContainerBridge {
@ -24,11 +23,11 @@ public abstract class GrindstoneContainerMixin extends ContainerMixin implements
@Shadow @Final private IInventory outputInventory;
@Shadow @Final private IWorldPosCallable worldPosCallable;
private CraftInventoryView bukkitEntity = null;
private Player player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/util/IWorldPosCallable;)V", at = @At("RETURN"))
public void arclight$init(int windowIdIn, PlayerInventory playerInventory, IWorldPosCallable worldPosCallableIn, CallbackInfo ci) {
this.player = (Player) ((PlayerEntityBridge) playerInventory.player).bridge$getBukkitEntity();
this.playerInventory = playerInventory;
}
@Override
@ -38,7 +37,7 @@ public abstract class GrindstoneContainerMixin extends ContainerMixin implements
}
CraftInventoryGrindstone inventory = new CraftInventoryGrindstone(this.inputInventory, this.outputInventory);
bukkitEntity = new CraftInventoryView(this.player, inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}

View File

@ -24,11 +24,11 @@ public abstract class HopperContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity = null;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/inventory/IInventory;)V", at = @At("RETURN"))
public void arclight$init(int p_i50079_1_, PlayerInventory playerInventory, IInventory p_i50079_3_, CallbackInfo ci) {
this.player = playerInventory;
this.playerInventory = playerInventory;
}
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
@ -42,7 +42,7 @@ public abstract class HopperContainerMixin extends ContainerMixin {
return bukkitEntity;
}
CraftInventory inventory = new CraftInventory(this.hopperInventory);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -24,11 +24,11 @@ public abstract class HorseInventoryContainerMixin extends ContainerMixin {
// @formatter:on
CraftInventoryView bukkitEntity;
PlayerInventory player;
PlayerInventory playerInventory;
@Inject(method = "<init>", at = @At("RETURN"))
public void arclight$init(int p_i50077_1_, PlayerInventory playerInventory, IInventory p_i50077_3_, AbstractHorseEntity p_i50077_4_, CallbackInfo ci) {
this.player = playerInventory;
this.playerInventory = playerInventory;
}
@Override
@ -36,7 +36,7 @@ public abstract class HorseInventoryContainerMixin extends ContainerMixin {
if (bukkitEntity != null) {
return bukkitEntity;
}
return bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) player.player).bridge$getBukkitEntity(),
return bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) playerInventory.player).bridge$getBukkitEntity(),
((IInventoryBridge) this.horseInventory).getOwner().getInventory(), (Container) (Object) this);
}
}

View File

@ -11,7 +11,6 @@ import net.minecraft.util.IIntArray;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryLectern;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryView;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTakeLecternBookEvent;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@ -28,7 +27,7 @@ public abstract class LecternContainerMixin extends ContainerMixin implements Le
// @formatter:on
private CraftInventoryView bukkitEntity;
private Player player;
private PlayerInventory playerInventory;
public void arclight$constructor(int i) {
throw new RuntimeException();
@ -40,17 +39,17 @@ public abstract class LecternContainerMixin extends ContainerMixin implements Le
public void arclight$constructor(int i, PlayerInventory playerInventory) {
arclight$constructor(i);
this.player = ((ServerPlayerEntityBridge) playerInventory.player).bridge$getBukkitEntity();
this.playerInventory = playerInventory;
}
public void arclight$constructor(int i, IInventory inventory, IIntArray intArray, PlayerInventory playerInventory) {
arclight$constructor(i, inventory, intArray);
this.player = ((ServerPlayerEntityBridge) playerInventory.player).bridge$getBukkitEntity();
this.playerInventory = playerInventory;
}
@Inject(method = "enchantItem", cancellable = true, at = @At(value = "INVOKE", target = "Lnet/minecraft/inventory/IInventory;removeStackFromSlot(I)Lnet/minecraft/item/ItemStack;"))
public void arclight$takeBook(PlayerEntity playerIn, int id, CallbackInfoReturnable<Boolean> cir) {
PlayerTakeLecternBookEvent event = new PlayerTakeLecternBookEvent(player, ((CraftInventoryLectern) getBukkitView().getTopInventory()).getHolder());
PlayerTakeLecternBookEvent event = new PlayerTakeLecternBookEvent(((ServerPlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), ((CraftInventoryLectern) getBukkitView().getTopInventory()).getHolder());
Bukkit.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
cir.setReturnValue(false);
@ -68,12 +67,12 @@ public abstract class LecternContainerMixin extends ContainerMixin implements Le
return bukkitEntity;
}
CraftInventoryLectern inventory = new CraftInventoryLectern(this.lecternInventory);
bukkitEntity = new CraftInventoryView(this.player, inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((ServerPlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
@Override
public void bridge$setPlayerInventory(PlayerInventory playerInventory) {
this.player = ((ServerPlayerEntityBridge) playerInventory.player).bridge$getBukkitEntity();
this.playerInventory = playerInventory;
}
}

View File

@ -1,6 +1,7 @@
package io.izzel.arclight.common.mixin.core.inventory.container;
import io.izzel.arclight.common.bridge.entity.player.PlayerEntityBridge;
import io.izzel.arclight.common.bridge.inventory.container.LoomContainerBridge;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.IInventory;
@ -9,7 +10,6 @@ import net.minecraft.inventory.container.LoomContainer;
import net.minecraft.util.IWorldPosCallable;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryLoom;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryView;
import org.bukkit.entity.Player;
import org.bukkit.inventory.InventoryView;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@ -18,7 +18,6 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import io.izzel.arclight.common.bridge.inventory.container.LoomContainerBridge;
@Mixin(LoomContainer.class)
public abstract class LoomContainerMixin extends ContainerMixin implements LoomContainerBridge {
@ -30,11 +29,11 @@ public abstract class LoomContainerMixin extends ContainerMixin implements LoomC
// @formatter:on
private CraftInventoryView bukkitEntity;
private Player player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/util/IWorldPosCallable;)V", at = @At("RETURN"))
public void arclight$init(int p_i50074_1_, PlayerInventory playerInventory, IWorldPosCallable p_i50074_3_, CallbackInfo ci) {
this.player = (Player) ((PlayerEntityBridge) playerInventory.player).bridge$getBukkitEntity();
this.playerInventory = playerInventory;
}
@Inject(method = "canInteractWith", at = @At("HEAD"))
@ -51,7 +50,7 @@ public abstract class LoomContainerMixin extends ContainerMixin implements LoomC
}
CraftInventoryLoom inventory = new CraftInventoryLoom(this.inputInventory, this.outputInventory);
bukkitEntity = new CraftInventoryView(this.player, inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}

View File

@ -26,11 +26,11 @@ public abstract class MerchantContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity = null;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/entity/merchant/IMerchant;)V", at = @At("RETURN"))
public void arclight$init(int id, PlayerInventory playerInventoryIn, IMerchant merchantIn, CallbackInfo ci) {
this.player = playerInventoryIn;
this.playerInventory = playerInventoryIn;
}
@Inject(method = "playMerchantYesSound", cancellable = true, at = @At("HEAD"))
@ -43,7 +43,7 @@ public abstract class MerchantContainerMixin extends ContainerMixin {
@Override
public InventoryView getBukkitView() {
if (bukkitEntity == null) {
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), new CraftInventoryMerchant(this.merchant, this.merchantInventory), (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), new CraftInventoryMerchant(this.merchant, this.merchantInventory), (Container) (Object) this);
}
return bukkitEntity;
}

View File

@ -30,11 +30,11 @@ public abstract class PlayerContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>", at = @At("RETURN"))
public void arclight$init(PlayerInventory playerInventory, boolean localWorld, PlayerEntity playerIn, CallbackInfo ci) {
this.player = playerInventory;
this.playerInventory = playerInventory;
((CraftingInventoryBridge) this.craftMatrix).bridge$setOwner(playerInventory.player);
((CraftingInventoryBridge) this.craftMatrix).bridge$setResultInventory(this.craftResult);
this.setTitle(new TranslationTextComponent("container.crafting"));
@ -52,7 +52,7 @@ public abstract class PlayerContainerMixin extends ContainerMixin {
}
CraftInventoryCrafting inventory = new CraftInventoryCrafting(this.craftMatrix, this.craftResult);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -23,11 +23,11 @@ public abstract class ShulkerBoxContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/inventory/IInventory;)V", at = @At("RETURN"))
public void arclight$init(int p_i50066_1_, PlayerInventory playerInventory, IInventory p_i50066_3_, CallbackInfo ci) {
this.player = playerInventory;
this.playerInventory = playerInventory;
}
@Override
@ -36,7 +36,7 @@ public abstract class ShulkerBoxContainerMixin extends ContainerMixin {
return bukkitEntity;
}
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), new CraftInventory(this.inventory), (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), new CraftInventory(this.inventory), (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -1,6 +1,6 @@
package io.izzel.arclight.common.mixin.core.inventory.container;
import io.izzel.arclight.common.bridge.entity.player.ServerPlayerEntityBridge;
import io.izzel.arclight.common.bridge.entity.player.PlayerEntityBridge;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.CraftResultInventory;
import net.minecraft.inventory.IInventory;
@ -9,7 +9,6 @@ import net.minecraft.inventory.container.StonecutterContainer;
import net.minecraft.util.IWorldPosCallable;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryStonecutter;
import org.bukkit.craftbukkit.v.inventory.CraftInventoryView;
import org.bukkit.entity.Player;
import org.bukkit.inventory.InventoryView;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@ -27,11 +26,11 @@ public abstract class StonecutterContainerMixin extends ContainerMixin {
// @formatter:on
private CraftInventoryView bukkitEntity = null;
private Player player;
private PlayerInventory playerInventory;
@Inject(method = "<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/util/IWorldPosCallable;)V", at = @At("RETURN"))
public void arclight$init(int windowIdIn, PlayerInventory playerInventoryIn, IWorldPosCallable worldPosCallableIn, CallbackInfo ci) {
this.player = ((ServerPlayerEntityBridge) playerInventoryIn.player).bridge$getBukkitEntity();
this.playerInventory = playerInventoryIn;
}
@Override
@ -41,7 +40,7 @@ public abstract class StonecutterContainerMixin extends ContainerMixin {
}
CraftInventoryStonecutter inventory = new CraftInventoryStonecutter(this.inputInventory, this.inventory);
bukkitEntity = new CraftInventoryView(this.player, inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}

View File

@ -1,8 +1,10 @@
package io.izzel.arclight.common.mixin.core.inventory.container;
import io.izzel.arclight.common.bridge.entity.player.PlayerEntityBridge;
import io.izzel.arclight.common.bridge.inventory.CraftingInventoryBridge;
import io.izzel.arclight.common.bridge.inventory.container.ContainerBridge;
import io.izzel.arclight.common.bridge.inventory.container.WorkbenchContainerBridge;
import io.izzel.arclight.common.mod.util.ArclightCaptures;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.entity.player.ServerPlayerEntity;
@ -30,8 +32,6 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import io.izzel.arclight.common.bridge.inventory.CraftingInventoryBridge;
import io.izzel.arclight.common.mod.util.ArclightCaptures;
import java.util.Optional;
@ -46,7 +46,7 @@ public abstract class WorkbenchContainerMixin extends ContainerMixin implements
// @formatter:on
private CraftInventoryView bukkitEntity;
private PlayerInventory player;
private PlayerInventory playerInventory;
@Inject(method = "canInteractWith", cancellable = true, at = @At("HEAD"))
public void arclight$unreachable(PlayerEntity playerIn, CallbackInfoReturnable<Boolean> cir) {
@ -92,7 +92,7 @@ public abstract class WorkbenchContainerMixin extends ContainerMixin implements
public void arclight$init(int i, PlayerInventory playerInventory, IWorldPosCallable callable, CallbackInfo ci) {
((CraftingInventoryBridge) this.craftMatrix).bridge$setOwner(playerInventory.player);
((CraftingInventoryBridge) this.craftMatrix).bridge$setResultInventory(this.craftResult);
this.player = playerInventory;
this.playerInventory = playerInventory;
}
@Override
@ -102,7 +102,7 @@ public abstract class WorkbenchContainerMixin extends ContainerMixin implements
}
CraftInventoryCrafting inventory = new CraftInventoryCrafting(this.craftMatrix, this.craftResult);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.player.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
bukkitEntity = new CraftInventoryView(((PlayerEntityBridge) this.playerInventory.player).bridge$getBukkitEntity(), inventory, (Container) (Object) this);
return bukkitEntity;
}
}