Package fr.andross.banitem
Class BanItemAPI
java.lang.Object
fr.andross.banitem.BanItemAPI
BanItemAPI
 
IMPORTANT:
This api is loaded on next tick after server load, to allow other custom worlds plugins to load worlds. So this API is not available on server load, but will be on next available tick!
If you add/remove any action from a map (blacklist/whitelist), you have to reload the plugin listeners
 so it can handle correctly the actions, using BanListener.load(CommandSender) ()}
- Version:
 - 3.3
 - Author:
 - Andross
 
- 
Method Summary
Modifier and TypeMethodDescriptionvoidaddMetaItem(@NotNull String name, @NotNull org.bukkit.inventory.ItemStack item) Add an ItemStack as a meta item and save it in metaitems.yml.booleanaddToBlacklist(@NotNull BannedItem item, @NotNull Map<BanAction, BanActionData> actions, @Nullable org.bukkit.World... worlds) Add a new banned item to blacklist and save the config file used.booleanaddToBlacklist(@NotNull Collection<? extends BannedItem> items, @NotNull Map<BanAction, BanActionData> actions, @Nullable org.bukkit.World... worlds) Add the banned items to the blacklist and save the config file used.booleanaddToWhitelist(@NotNull WhitelistedWorld whitelistedWorld, @NotNull BannedItem item, @NotNull Map<BanAction, BanActionData> actions) Add an item on the whitelist of a world and save in the used config.@NotNull BlacklistBlacklist handler which contains all blacklisted items.@Nullable BannedItemgetCustomItem(@NotNull String customItemName) Get the configured custom item by its name.@NotNull CustomItemsCustomItems handler which contains all custom items.@NotNull BanDatabaseGet the BanItem database, containing blacklist, whitelist, custom items and meta items.static @NotNull BanItemAPIGet a static instance of the api.@Nullable BannedItemgetMetaItem(@NotNull String metaItemName) Get the configured meta item by its name.@Nullable StringgetMetaItemName(@NotNull BannedItem item) Try to get the meta item name of the given item.@Nullable StringgetMetaItemName(@NotNull org.bukkit.inventory.ItemStack item) Try to get the meta item name of the given item.@NotNull WhitelistWhitelist handler which contains all whitelisted items.booleanisBanned(@NotNull org.bukkit.World world, @NotNull BannedItem item, @NotNull BanAction action, @Nullable BanData... data) This method is used to check if the item is banned, in both blacklist and whitelist, not involving a player.booleanisBanned(@NotNull org.bukkit.World world, @NotNull org.bukkit.Material material, @NotNull BanAction action, @Nullable BanData... data) This method is used to check if the item is banned, in both blacklist and whitelist, not involving a player.booleanisBanned(@NotNull org.bukkit.World world, @NotNull org.bukkit.inventory.ItemStack item, @NotNull BanAction action, @Nullable BanData... data) This method is used to check if the item is banned, in both blacklist and whitelist, not involving a player.booleanisBanned(@NotNull org.bukkit.entity.Player player, @NotNull BannedItem item, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @NotNull BannedItem item, @NotNull BanAction action, @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @NotNull org.bukkit.Material m, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @NotNull org.bukkit.Material m, @NotNull BanAction action, @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @Nullable org.bukkit.Location loc, @NotNull BannedItem item, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @Nullable org.bukkit.Location loc, @NotNull BannedItem item, @NotNull BanAction action, @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @Nullable org.bukkit.Location loc, @NotNull org.bukkit.Material m, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @Nullable org.bukkit.Location loc, @NotNull org.bukkit.Material m, @NotNull BanAction action, @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @Nullable org.bukkit.Location loc, @NotNull org.bukkit.inventory.ItemStack item, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @Nullable org.bukkit.Location loc, @NotNull org.bukkit.inventory.ItemStack item, @NotNull BanAction action, @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @NotNull org.bukkit.inventory.ItemStack item, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist.booleanisBanned(@NotNull org.bukkit.entity.Player player, @NotNull org.bukkit.inventory.ItemStack item, @NotNull BanAction action, @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist.booleanisBlacklisted(@NotNull org.bukkit.World world, @NotNull BannedItem item, @NotNull BanAction action, @Nullable BanData... data) Check if the item is blacklisted, not involving a player.booleanisBlacklisted(@NotNull org.bukkit.entity.Player player, @NotNull org.bukkit.Location location, @NotNull BannedItem item, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the item is blacklisted.booleanisWhitelisted(@NotNull org.bukkit.World world, @NotNull BannedItem item, @NotNull BanAction action, @Nullable BanData... data) Check if the item is whitelisted, not involving a player.booleanisWhitelisted(@NotNull org.bukkit.entity.Player player, @NotNull org.bukkit.Location location, @NotNull BannedItem item, boolean sendMessage, @NotNull BanAction action, @Nullable BanData... data) Check if the item is whitelisted (allowed), sending a message or not to the player.void(re)Loading the plugin with this configuration filebooleanremoveFromBlacklist(@NotNull BannedItem item, @Nullable org.bukkit.World... worlds) Remove the banned item from blacklisted worlds and save the config file used.booleanremoveFromBlacklist(@NotNull Collection<? extends BannedItem> items, @Nullable org.bukkit.World... worlds) Remove the banned items from blacklisted worlds and save the config file used.booleanremoveFromWhitelist(@NotNull WhitelistedWorld whitelistedWorld, @NotNull BannedItem item) Remove the item from the whitelist and save in config.yml (comments in file may be removed).voidremoveMetaItem(@NotNull String name) Remove the meta ItemStack named name. 
- 
Method Details
- 
getInstance
Get a static instance of the api. You should useBanItem.getApi()instead.- Returns:
 - a static instance of the api
 
 - 
getDatabase
Get the BanItem database, containing blacklist, whitelist, custom items and meta items.- Returns:
 - the BanDatabase object
 
 - 
load
public void load(@NotNull @NotNull org.bukkit.command.CommandSender sender, @Nullable @Nullable File configFile) (re)Loading the plugin with this configuration file- Parameters:
 sender- command sender (send the message debug to)configFile- the file configuration to load. If null, using (and reloading) the default config
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull org.bukkit.Material m, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionm- theMaterialusedaction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @Nullable @Nullable org.bukkit.Location loc, @NotNull @NotNull org.bukkit.Material m, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionloc- the effectiveLocationof the actionm- theMaterialusedaction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull org.bukkit.Material m, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionm- theMaterialusedsendMessage- if the banned message should be sent to the playeraction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @Nullable @Nullable org.bukkit.Location loc, @NotNull @NotNull org.bukkit.Material m, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the material is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionloc- the effectiveLocationof the actionm- theMaterialusedsendMessage- if the banned message should be sent to the playeraction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull org.bukkit.inventory.ItemStack item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionitem- theItemStackusedaction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @Nullable @Nullable org.bukkit.Location loc, @NotNull @NotNull org.bukkit.inventory.ItemStack item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionloc- the effectiveLocationof the actionitem- theItemStackusedaction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull org.bukkit.inventory.ItemStack item, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionitem- theItemStackusedsendMessage- if the banned message should be sent to the playeraction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @Nullable @Nullable org.bukkit.Location loc, @NotNull @NotNull org.bukkit.inventory.ItemStack item, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the ItemStack is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionloc- the effectiveLocationof the actionitem- theItemStackusedsendMessage- if the banned message should be sent to the playeraction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull BannedItem item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionitem- theBannedItemobjectaction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @Nullable @Nullable org.bukkit.Location loc, @NotNull @NotNull BannedItem item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionloc- the effectiveLocationof the actionitem- theBannedItemobjectaction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull BannedItem item, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionitem- theBannedItemobjectsendMessage- if the banned message should be sent to the playeraction- theBanActionto checkdata- optional action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.entity.Player player, @Nullable @Nullable org.bukkit.Location loc, @NotNull @NotNull BannedItem item, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the BannedItem object is banned, in both blacklist and whitelist. This also consider the player bypass permissions.- Parameters:
 player- thePlayerinvolved into this actionloc- the effectiveLocationof the actionitem- theBannedItemobjectsendMessage- if the banned message should be sent to the playeraction- theBanActionto checkdata- the optional ban action data, leave it blank if not needed for the action- Returns:
 - true if this item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.World world, @NotNull @NotNull org.bukkit.Material material, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) This method is used to check if the item is banned, in both blacklist and whitelist, not involving a player. This method is mainly used to check dispensers dispense and hoppers transfer.- Parameters:
 world- bukkit world (World)material- the involved materialaction- the ban action to checkdata- the optional ban action data- Returns:
 - true if the item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.World world, @NotNull @NotNull org.bukkit.inventory.ItemStack item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) This method is used to check if the item is banned, in both blacklist and whitelist, not involving a player. This method is mainly used to check dispensers dispense and hoppers transfer.- Parameters:
 world- bukkit world (World)item- the involved ItemStackaction- the ban action to checkdata- the optional ban action data- Returns:
 - true if the item is banned, otherwise false
 
 - 
isBanned
public boolean isBanned(@NotNull @NotNull org.bukkit.World world, @NotNull @NotNull BannedItem item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) This method is used to check if the item is banned, in both blacklist and whitelist, not involving a player. This method is mainly used to check dispensers dispense and hoppers transfer.- Parameters:
 world- bukkit world (World)item- the involved itemaction- the ban action to checkdata- the optional ban action data- Returns:
 - true if the item is banned, otherwise false
 
 - 
isBlacklisted
public boolean isBlacklisted(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull org.bukkit.Location location, @NotNull @NotNull BannedItem item, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the item is blacklisted. If sendMessage is on true, the ban message will be sent to the player.- Parameters:
 player- thePlayerinvolved into this actionlocation- the effective location where the action occursitem- theBannedIteminvolved into this actionsendMessage- if the item is banned, send the ban message configuredaction- theBanActionaction to checkdata- additional ban data- Returns:
 - true if this item is banned for those characteristics, otherwise false
 
 - 
isBlacklisted
public boolean isBlacklisted(@NotNull @NotNull org.bukkit.World world, @NotNull @NotNull BannedItem item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the item is blacklisted, not involving a player.- Parameters:
 world- bukkit world (World)item- the involved itemaction- the ban action to checkdata- the optional ban action data- Returns:
 - true if the item is banned, otherwise false
 
 - 
isWhitelisted
public boolean isWhitelisted(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull org.bukkit.Location location, @NotNull @NotNull BannedItem item, boolean sendMessage, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the item is whitelisted (allowed), sending a message or not to the player.- Parameters:
 player- thePlayerinvolved into this actionlocation- the effective location where the action occursitem- theBannedIteminvolved into this actionsendMessage- if the item is banned, send the ban message configuredaction- theBanActionaction to checkdata- the optional ban action data- Returns:
 - true if this item is allowed, otherwise false
 
 - 
isWhitelisted
public boolean isWhitelisted(@NotNull @NotNull org.bukkit.World world, @NotNull @NotNull BannedItem item, @NotNull @NotNull BanAction action, @Nullable @Nullable BanData... data) Check if the item is whitelisted, not involving a player.- Parameters:
 world- bukkit world (World)item- the involved itemaction- the ban action to checkdata- the optional ban action data- Returns:
 - true if the item is allowed, otherwise false
 
 - 
getBlacklist
Blacklist handler which contains all blacklisted items.- Returns:
 - blacklist handler which contains all blacklisted items.
 
 - 
addToBlacklist
public boolean addToBlacklist(@NotNull @NotNull BannedItem item, @NotNull @NotNull Map<BanAction, BanActionData> actions, @Nullable @Nullable org.bukkit.World... worlds) Add a new banned item to blacklist and save the config file used.- Parameters:
 item- the item to banactions- a map containing actions and their respective dataworlds- worlds where the ban apply. If null, including all worlds- Returns:
 - true if the item is successfully added, otherwise false
 
 - 
addToBlacklist
public boolean addToBlacklist(@NotNull @NotNull Collection<? extends BannedItem> items, @NotNull @NotNull Map<BanAction, BanActionData> actions, @Nullable @Nullable org.bukkit.World... worlds) Add the banned items to the blacklist and save the config file used.- Parameters:
 items- the items to banactions- a map containing actions and their respective dataworlds- worlds where the ban apply. If null, including all worlds- Returns:
 - true if the item is successfully added, otherwise false
 
 - 
removeFromBlacklist
public boolean removeFromBlacklist(@NotNull @NotNull BannedItem item, @Nullable @Nullable org.bukkit.World... worlds) Remove the banned item from blacklisted worlds and save the config file used.- Parameters:
 item- the banned item to removeworlds- worlds where the banned item can be present, all worlds if null- Returns:
 - true if the item is successfully removed, otherwise false
 
 - 
removeFromBlacklist
public boolean removeFromBlacklist(@NotNull @NotNull Collection<? extends BannedItem> items, @Nullable @Nullable org.bukkit.World... worlds) Remove the banned items from blacklisted worlds and save the config file used.- Parameters:
 items- The banned items to removeworlds- Worlds where the banned item can be present, all worlds if null- Returns:
 - True if the item is successfully removed, otherwise false
 
 - 
getWhitelist
Whitelist handler which contains all whitelisted items.- Returns:
 - whitelist handler which contains all whitelisted items.
 
 - 
addToWhitelist
public boolean addToWhitelist(@NotNull @NotNull WhitelistedWorld whitelistedWorld, @NotNull @NotNull BannedItem item, @NotNull @NotNull Map<BanAction, BanActionData> actions) Add an item on the whitelist of a world and save in the used config.- Parameters:
 whitelistedWorld- the whitelisted world object, recoverable fromWhitelistitem- the item to addactions- map of ban actions and their respective data- Returns:
 - true if successfully added, otherwise false
 
 - 
removeFromWhitelist
public boolean removeFromWhitelist(@NotNull @NotNull WhitelistedWorld whitelistedWorld, @NotNull @NotNull BannedItem item) Remove the item from the whitelist and save in config.yml (comments in file may be removed).- Parameters:
 whitelistedWorld- the whitelisted worlditem- the item- Returns:
 - true if successfully removed, otherwise false
 
 - 
getCustomItems
CustomItems handler which contains all custom items.- Returns:
 - customItems handler which contains all custom items.
 
 - 
getCustomItem
Get the configured custom item by its name.- Parameters:
 customItemName- the name of the custom item- Returns:
 - a BannedItem object of the custom item if exists, otherwise null
 
 - 
getMetaItem
Get the configured meta item by its name.- Parameters:
 metaItemName- the name of the meta item- Returns:
 - a BannedItem object of the meta item if exists, otherwise null
 
 - 
getMetaItemName
@Nullable public @Nullable String getMetaItemName(@NotNull @NotNull org.bukkit.inventory.ItemStack item) Try to get the meta item name of the given item.- Parameters:
 item- the ItemStack- Returns:
 - the name of saved the meta item if exists, otherwise null
 
 - 
getMetaItemName
Try to get the meta item name of the given item.- Parameters:
 item- the item- Returns:
 - the name of saved the meta item if exists, otherwise null
 
 - 
addMetaItem
public void addMetaItem(@NotNull @NotNull String name, @NotNull @NotNull org.bukkit.inventory.ItemStack item) Add an ItemStack as a meta item and save it in metaitems.yml.Will replace existing value
- Parameters:
 name- the name of the custom ItemStackitem- the custom ItemStack
 - 
removeMetaItem
Remove the meta ItemStack named name.- Parameters:
 name- the name of the custom ItemStack
 
 -