13
0
geforkt von Mirrors/Paper

SPIGOT-2706: Implement support for Lock NBT Tag

Containers may now implement the Lockable interface.

By: Senmori <thesenmori@gmail.com>
Dieser Commit ist enthalten in:
Bukkit/Spigot 2016-10-21 16:32:56 +11:00
Ursprung 5945e37165
Commit a05a1330d3
8 geänderte Dateien mit 38 neuen und 7 gelöschten Zeilen

Datei anzeigen

@ -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.

Datei anzeigen

@ -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

Datei anzeigen

@ -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

Datei anzeigen

@ -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.

Datei anzeigen

@ -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.

Datei anzeigen

@ -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.

Datei anzeigen

@ -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 {
}

Datei anzeigen

@ -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);
}