Improvements to BlockStates
* Update Javadoc of block state classes to better match implementation behaviour. * Add Container interface which provides access to the snapshot inventory. By: Lukas Hennig <lukas@wirsindwir.de>
This commit is contained in:
36
paper-api/src/main/java/org/bukkit/block/Container.java
Normal file
36
paper-api/src/main/java/org/bukkit/block/Container.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package org.bukkit.block;
|
||||
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
|
||||
/**
|
||||
* Represents a captured state of a container block.
|
||||
*/
|
||||
public interface Container extends BlockState, InventoryHolder, Lockable {
|
||||
|
||||
/**
|
||||
* 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();
|
||||
}
|
||||
Reference in New Issue
Block a user