mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-26 19:07:40 +01:00
create TileStateInventoryHolder
a missing interface to centralize getSnapshotInventory methods
This commit is contained in:
parent
cd6fb23fab
commit
4fb38d1c36
@ -0,0 +1,39 @@
|
||||
package io.papermc.paper.block;
|
||||
|
||||
import org.bukkit.block.TileState;
|
||||
import org.bukkit.inventory.BlockInventoryHolder;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
|
||||
/**
|
||||
* Represents a {@link TileState} block that has an inventory.
|
||||
*/
|
||||
@NullMarked
|
||||
public interface TileStateInventoryHolder extends TileState, BlockInventoryHolder {
|
||||
|
||||
/**
|
||||
* Gets the inventory of the block represented by this block state.
|
||||
* <p>
|
||||
* If the block was changed to a different type in the meantime, the
|
||||
* returned inventory might no longer be valid.
|
||||
* <p>
|
||||
* If this block state is not placed this will return the captured inventory
|
||||
* snapshot instead.
|
||||
*
|
||||
* @return the inventory
|
||||
*/
|
||||
@Override
|
||||
Inventory getInventory();
|
||||
|
||||
/**
|
||||
* Gets the captured inventory snapshot of this container.
|
||||
* <p>
|
||||
* The returned inventory is not linked to any block. Any modifications to
|
||||
* the returned inventory will not be applied to the block represented by
|
||||
* this block state up until {@link #update(boolean, boolean)} has been
|
||||
* called.
|
||||
*
|
||||
* @return the captured inventory snapshot
|
||||
*/
|
||||
Inventory getSnapshotInventory();
|
||||
}
|
@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
/**
|
||||
* Represents a captured state of a chiseled bookshelf.
|
||||
*/
|
||||
public interface ChiseledBookshelf extends TileState, BlockInventoryHolder {
|
||||
public interface ChiseledBookshelf extends io.papermc.paper.block.TileStateInventoryHolder { // Paper - TileStateInventoryHolder
|
||||
|
||||
/**
|
||||
* Gets the last interacted inventory slot.
|
||||
@ -24,18 +24,12 @@ public interface ChiseledBookshelf extends TileState, BlockInventoryHolder {
|
||||
*/
|
||||
void setLastInteractedSlot(int lastInteractedSlot);
|
||||
|
||||
/**
|
||||
* @return inventory
|
||||
* @see Container#getInventory()
|
||||
*/
|
||||
// Paper - move docs to TileStateInventoryHolder
|
||||
@NotNull
|
||||
@Override
|
||||
ChiseledBookshelfInventory getInventory();
|
||||
|
||||
/**
|
||||
* @return snapshot inventory
|
||||
* @see Container#getSnapshotInventory()
|
||||
*/
|
||||
@Override // Paper - move docs to TileStateInventoryHolder
|
||||
@NotNull
|
||||
ChiseledBookshelfInventory getSnapshotInventory();
|
||||
|
||||
|
@ -8,33 +8,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
/**
|
||||
* Represents a captured state of a container block.
|
||||
*/
|
||||
public interface Container extends io.papermc.paper.block.LockableTileState, BlockInventoryHolder { // Paper
|
||||
public interface Container extends io.papermc.paper.block.LockableTileState, io.papermc.paper.block.TileStateInventoryHolder { // Paper
|
||||
|
||||
/**
|
||||
* Gets the inventory of the block represented by this block state.
|
||||
* <p>
|
||||
* If the block was changed to a different type in the meantime, the
|
||||
* returned inventory might no longer be valid.
|
||||
* <p>
|
||||
* If this block state is not placed this will return the captured inventory
|
||||
* snapshot instead.
|
||||
*
|
||||
* @return the inventory
|
||||
*/
|
||||
@NotNull
|
||||
@Override
|
||||
Inventory getInventory();
|
||||
|
||||
/**
|
||||
* Gets the captured inventory snapshot of this container.
|
||||
* <p>
|
||||
* The returned inventory is not linked to any block. Any modifications to
|
||||
* the returned inventory will not be applied to the block represented by
|
||||
* this block state up until {@link #update(boolean, boolean)} has been
|
||||
* called.
|
||||
*
|
||||
* @return the captured inventory snapshot
|
||||
*/
|
||||
@NotNull
|
||||
Inventory getSnapshotInventory();
|
||||
// Paper - moved to TileStateInventoryHolder
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* Represents a captured state of a decorated pot.
|
||||
*/
|
||||
public interface DecoratedPot extends TileState, BlockInventoryHolder , org.bukkit.loot.Lootable { // Paper - expose loot table
|
||||
public interface DecoratedPot extends io.papermc.paper.block.TileStateInventoryHolder, org.bukkit.loot.Lootable { // Paper - expose loot table & TileStateInventoryHolder
|
||||
|
||||
/**
|
||||
* Set the sherd on the provided side.
|
||||
@ -55,18 +55,12 @@ public interface DecoratedPot extends TileState, BlockInventoryHolder , org.bukk
|
||||
@NotNull
|
||||
public List<Material> getShards();
|
||||
|
||||
/**
|
||||
* @return inventory
|
||||
* @see Container#getInventory()
|
||||
*/
|
||||
// Paper - move docs to TileStateInventoryHolder
|
||||
@NotNull
|
||||
@Override
|
||||
public DecoratedPotInventory getInventory();
|
||||
|
||||
/**
|
||||
* @return snapshot inventory
|
||||
* @see Container#getSnapshotInventory()
|
||||
*/
|
||||
@Override // Paper - move docs to TileStateInventoryHolder
|
||||
@NotNull
|
||||
public DecoratedPotInventory getSnapshotInventory();
|
||||
|
||||
|
@ -10,7 +10,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* Represents a captured state of a jukebox.
|
||||
*/
|
||||
public interface Jukebox extends TileState, BlockInventoryHolder {
|
||||
public interface Jukebox extends io.papermc.paper.block.TileStateInventoryHolder { // Paper - TileStateInventoryHolder
|
||||
|
||||
/**
|
||||
* Gets the record inserted into the jukebox.
|
||||
@ -85,18 +85,12 @@ public interface Jukebox extends TileState, BlockInventoryHolder {
|
||||
*/
|
||||
public boolean eject();
|
||||
|
||||
/**
|
||||
* @return inventory
|
||||
* @see Container#getInventory()
|
||||
*/
|
||||
// Paper - move docs to TileStateInventoryHolder
|
||||
@NotNull
|
||||
@Override
|
||||
JukeboxInventory getInventory();
|
||||
|
||||
/**
|
||||
* @return snapshot inventory
|
||||
* @see Container#getSnapshotInventory()
|
||||
*/
|
||||
@Override // Paper - move docs to TileStateInventoryHolder
|
||||
@NotNull
|
||||
JukeboxInventory getSnapshotInventory();
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
/**
|
||||
* Represents a captured state of a lectern.
|
||||
*/
|
||||
public interface Lectern extends TileState, BlockInventoryHolder {
|
||||
public interface Lectern extends io.papermc.paper.block.TileStateInventoryHolder { // Paper - TileStateInventoryHolder
|
||||
|
||||
/**
|
||||
* Get the current lectern page.
|
||||
@ -26,18 +26,5 @@ public interface Lectern extends TileState, BlockInventoryHolder {
|
||||
*/
|
||||
void setPage(int page);
|
||||
|
||||
/**
|
||||
* @return inventory
|
||||
* @see Container#getInventory()
|
||||
*/
|
||||
@NotNull
|
||||
@Override
|
||||
Inventory getInventory();
|
||||
|
||||
/**
|
||||
* @return snapshot inventory
|
||||
* @see Container#getSnapshotInventory()
|
||||
*/
|
||||
@NotNull
|
||||
Inventory getSnapshotInventory();
|
||||
// Paper - moved to TileStateInventoryHolder
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user