Potentially causes issues with Cauldron and similar mods that use different mapping names.
45 lines
1.4 KiB
Java
45 lines
1.4 KiB
Java
package com.lishid.openinv.internal;
|
|
|
|
import org.bukkit.block.Block;
|
|
import org.bukkit.entity.Player;
|
|
|
|
public interface IAnySilentContainer {
|
|
|
|
/**
|
|
* Opens the container at the given coordinates for the Player. If you do not want blocked
|
|
* containers to open, be sure to check {@link #isAnyContainerNeeded(Player, Block)}
|
|
* first.
|
|
*
|
|
* @param player the Player opening the container
|
|
* @param silentchest whether the container's noise is to be silenced
|
|
* @param block the Block
|
|
* @return true if the container can be opened
|
|
*/
|
|
public boolean activateContainer(Player player, boolean silentchest, Block block);
|
|
|
|
/**
|
|
* Closes the Player's currently open container silently, if necessary.
|
|
*
|
|
* @param player the Player closing a container
|
|
*/
|
|
public void deactivateContainer(Player player);
|
|
|
|
/**
|
|
* Checks if the container at the given coordinates is blocked.
|
|
*
|
|
* @param player the Player opening the container
|
|
* @param block the Block
|
|
* @return true if the container is blocked
|
|
*/
|
|
public boolean isAnyContainerNeeded(Player player, Block block);
|
|
|
|
/**
|
|
* Checks if the given block is a container which can be unblocked or silenced.
|
|
*
|
|
* @param block the BlockState
|
|
* @return true if the Block is a supported container
|
|
*/
|
|
public boolean isAnySilentContainer(Block block);
|
|
|
|
}
|