Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 20:40:08 +01:00
[Bleeding] Make crafting and enchanting inventories keep track of their owner rather than returning null. Addresses BUKKIT-1209
Dieser Commit ist enthalten in:
Ursprung
4bcbe2d235
Commit
b9a71db046
@ -50,7 +50,10 @@ public class ContainerEnchantTable extends Container {
|
|||||||
for (l = 0; l < 9; ++l) {
|
for (l = 0; l < 9; ++l) {
|
||||||
this.a(new Slot(playerinventory, l, 8 + l * 18, 142));
|
this.a(new Slot(playerinventory, l, 8 + l * 18, 142));
|
||||||
}
|
}
|
||||||
player = (Player) playerinventory.player.bukkitEntity; // CraftBukkit
|
// CraftBukkit start
|
||||||
|
player = (Player) playerinventory.player.bukkitEntity;
|
||||||
|
enchantSlots.player = player;
|
||||||
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addSlotListener(ICrafting icrafting) {
|
public void addSlotListener(ICrafting icrafting) {
|
||||||
|
@ -38,7 +38,7 @@ public class ContainerEnchantTableSubcontainer implements IInventory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public InventoryHolder getOwner() {
|
public InventoryHolder getOwner() {
|
||||||
return null; // TODO: Enchanting tables don't really have an owner? Maybe they should?
|
return this.player;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxStackSize(int size) {
|
public void setMaxStackSize(int size) {
|
||||||
|
@ -21,7 +21,7 @@ public class ContainerPlayer extends Container {
|
|||||||
|
|
||||||
public ContainerPlayer(PlayerInventory playerinventory, boolean flag) {
|
public ContainerPlayer(PlayerInventory playerinventory, boolean flag) {
|
||||||
this.resultInventory = new InventoryCraftResult(); // CraftBukkit - moved to before InventoryCrafting construction
|
this.resultInventory = new InventoryCraftResult(); // CraftBukkit - moved to before InventoryCrafting construction
|
||||||
this.craftInventory = new InventoryCrafting(this, 2, 2);
|
this.craftInventory = new InventoryCrafting(this, 2, 2, playerinventory.player); // CraftBukkit - pass player
|
||||||
this.craftInventory.resultInventory = this.resultInventory; // CraftBukkit - let InventoryCrafting know about its result slot
|
this.craftInventory.resultInventory = this.resultInventory; // CraftBukkit - let InventoryCrafting know about its result slot
|
||||||
this.player = playerinventory; // CraftBukkit - save player
|
this.player = playerinventory; // CraftBukkit - save player
|
||||||
this.c = false;
|
this.c = false;
|
||||||
|
@ -21,7 +21,7 @@ public class ContainerWorkbench extends Container {
|
|||||||
public ContainerWorkbench(PlayerInventory playerinventory, World world, int i, int j, int k) {
|
public ContainerWorkbench(PlayerInventory playerinventory, World world, int i, int j, int k) {
|
||||||
// CraftBukkit start - switched order of IInventory construction and stored player
|
// CraftBukkit start - switched order of IInventory construction and stored player
|
||||||
this.resultInventory = new InventoryCraftResult();
|
this.resultInventory = new InventoryCraftResult();
|
||||||
this.craftInventory = new InventoryCrafting(this, 3, 3);
|
this.craftInventory = new InventoryCrafting(this, 3, 3, playerinventory.player); // CraftBukkit - pass player
|
||||||
this.craftInventory.resultInventory = this.resultInventory;
|
this.craftInventory.resultInventory = this.resultInventory;
|
||||||
this.player = playerinventory;
|
this.player = playerinventory;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren