SPIGOT-7554, #1323: Add DecoratedPotInventory

This commit is contained in:
BlackHole 2023-12-28 08:07:06 +11:00 committed by md_5
parent 33a2d87739
commit 53ebb05e39
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11
2 changed files with 44 additions and 0 deletions

View File

@ -12,7 +12,9 @@ import org.bukkit.Material;
import org.bukkit.Tag; import org.bukkit.Tag;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.DecoratedPot; import org.bukkit.block.DecoratedPot;
import org.bukkit.craftbukkit.inventory.CraftInventoryDecoratedPot;
import org.bukkit.craftbukkit.util.CraftMagicNumbers; import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.inventory.DecoratedPotInventory;
public class CraftDecoratedPot extends CraftBlockEntityState<DecoratedPotBlockEntity> implements DecoratedPot { public class CraftDecoratedPot extends CraftBlockEntityState<DecoratedPotBlockEntity> implements DecoratedPot {
@ -24,6 +26,20 @@ public class CraftDecoratedPot extends CraftBlockEntityState<DecoratedPotBlockEn
super(state); super(state);
} }
@Override
public DecoratedPotInventory getSnapshotInventory() {
return new CraftInventoryDecoratedPot(this.getSnapshot());
}
@Override
public DecoratedPotInventory getInventory() {
if (!this.isPlaced()) {
return this.getSnapshotInventory();
}
return new CraftInventoryDecoratedPot(this.getTileEntity());
}
@Override @Override
public void setSherd(Side face, Material sherd) { public void setSherd(Side face, Material sherd) {
Preconditions.checkArgument(face != null, "face must not be null"); Preconditions.checkArgument(face != null, "face must not be null");

View File

@ -0,0 +1,28 @@
package org.bukkit.craftbukkit.inventory;
import net.minecraft.world.IInventory;
import org.bukkit.block.DecoratedPot;
import org.bukkit.inventory.DecoratedPotInventory;
import org.bukkit.inventory.ItemStack;
public class CraftInventoryDecoratedPot extends CraftInventory implements DecoratedPotInventory {
public CraftInventoryDecoratedPot(IInventory inventory) {
super(inventory);
}
@Override
public void setItem(ItemStack item) {
setItem(0, item);
}
@Override
public ItemStack getItem() {
return getItem(0);
}
@Override
public DecoratedPot getHolder() {
return (DecoratedPot) inventory.getOwner();
}
}