mirror of
https://hub.spigotmc.org/stash/scm/spigot/bukkit.git
synced 2025-08-21 05:44:17 +00:00
SPIGOT-2706: Implement support for Lock NBT Tag
Containers may now implement the Lockable interface.
This commit is contained in:
parent
450225fe17
commit
cdf11d5677
8 changed files with 38 additions and 7 deletions
|
@ -9,7 +9,7 @@ import org.bukkit.potion.PotionEffectType;
|
|||
/**
|
||||
* Represents a beacon.
|
||||
*/
|
||||
public interface Beacon extends BlockState, InventoryHolder {
|
||||
public interface Beacon extends BlockState, InventoryHolder, Lockable {
|
||||
|
||||
/**
|
||||
* Returns the list of players within the beacon's range of effect.
|
||||
|
|
|
@ -6,7 +6,7 @@ import org.bukkit.inventory.InventoryHolder;
|
|||
/**
|
||||
* Represents a brewing stand.
|
||||
*/
|
||||
public interface BrewingStand extends BlockState, InventoryHolder {
|
||||
public interface BrewingStand extends BlockState, InventoryHolder, Lockable {
|
||||
|
||||
/**
|
||||
* How much time is left in the brewing cycle
|
||||
|
|
|
@ -6,7 +6,7 @@ import org.bukkit.inventory.InventoryHolder;
|
|||
/**
|
||||
* Represents a chest.
|
||||
*/
|
||||
public interface Chest extends BlockState, InventoryHolder {
|
||||
public interface Chest extends BlockState, InventoryHolder, Lockable {
|
||||
|
||||
/**
|
||||
* Returns the chest's inventory. If this is a double chest, it returns
|
||||
|
|
|
@ -6,7 +6,7 @@ import org.bukkit.projectiles.BlockProjectileSource;
|
|||
/**
|
||||
* Represents a dispenser.
|
||||
*/
|
||||
public interface Dispenser extends BlockState, InventoryHolder {
|
||||
public interface Dispenser extends BlockState, InventoryHolder, Lockable {
|
||||
|
||||
/**
|
||||
* Gets the BlockProjectileSource object for this dispenser.
|
||||
|
|
|
@ -5,7 +5,7 @@ import org.bukkit.inventory.InventoryHolder;
|
|||
/**
|
||||
* Represents a dropper.
|
||||
*/
|
||||
public interface Dropper extends BlockState, InventoryHolder {
|
||||
public interface Dropper extends BlockState, InventoryHolder, Lockable {
|
||||
/**
|
||||
* Tries to drop a randomly selected item from the Dropper's inventory,
|
||||
* following the normal behavior of a Dropper.
|
||||
|
|
|
@ -6,7 +6,7 @@ import org.bukkit.inventory.InventoryHolder;
|
|||
/**
|
||||
* Represents a furnace.
|
||||
*/
|
||||
public interface Furnace extends BlockState, InventoryHolder {
|
||||
public interface Furnace extends BlockState, InventoryHolder, Lockable {
|
||||
|
||||
/**
|
||||
* Get burn time.
|
||||
|
|
|
@ -5,6 +5,6 @@ import org.bukkit.inventory.InventoryHolder;
|
|||
/**
|
||||
* Represents a hopper.
|
||||
*/
|
||||
public interface Hopper extends BlockState, InventoryHolder {
|
||||
public interface Hopper extends BlockState, InventoryHolder, Lockable {
|
||||
|
||||
}
|
||||
|
|
31
src/main/java/org/bukkit/block/Lockable.java
Normal file
31
src/main/java/org/bukkit/block/Lockable.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package org.bukkit.block;
|
||||
|
||||
/**
|
||||
* Represents a block (usually a container) that may be locked. When a lock is
|
||||
* active an item with a name corresponding to the key will be required to open
|
||||
* this block.
|
||||
*/
|
||||
public interface Lockable {
|
||||
|
||||
/**
|
||||
* Checks if the container has a valid (non empty) key.
|
||||
*
|
||||
* @return true if the key is valid.
|
||||
*/
|
||||
boolean isLocked();
|
||||
|
||||
/**
|
||||
* Gets the key needed to access the container.
|
||||
*
|
||||
* @return the key needed.
|
||||
*/
|
||||
String getLock();
|
||||
|
||||
/**
|
||||
* Sets the key required to access this container. Set to null (or empty
|
||||
* string) to remove key.
|
||||
*
|
||||
* @param key the key required to access the container.
|
||||
*/
|
||||
void setLock(String key);
|
||||
}
|
Loading…
Add table
Reference in a new issue