Class BanItemAPI

java.lang.Object
fr.andross.banitem.BanItemAPI

public final class BanItemAPI extends Object
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 Type
    Method
    Description
    void
    addMetaItem(String name, org.bukkit.inventory.ItemStack item)
    Add an ItemStack as a meta item and save it in metaitems.yml
    boolean
    addToBlacklist(BannedItem item, Map<BanAction,BanActionData> actions, org.bukkit.World... worlds)
    Add a new banned item to blacklist and save the config file used.
    boolean
    addToBlacklist(Collection<? extends BannedItem> items, Map<BanAction,BanActionData> actions, org.bukkit.World... worlds)
    Add the banned items to the blacklist and save the config file used
    boolean
    Add an item on the whitelist of a world and save in the used config
     
    Get a BannedItem object for the meta item named metaName.
     
    Get the BanItem database, containing blacklist, whitelist, custom items and meta items.
    static BanItemAPI
    Get a static instance of the api.
    Try to get the meta item name of the given item.
    getMetaItemName(org.bukkit.inventory.ItemStack item)
    Try to get the meta item name of the given item.
     
    boolean
    isBanned(org.bukkit.entity.Player player, BannedItem item, boolean sendMessage, BanAction action, BanData... data)
    Check if the BannedItem object is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, BannedItem item, BanAction action, BanData... data)
    Check if the BannedItem object is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.inventory.ItemStack item, boolean sendMessage, BanAction action, BanData... data)
    Check if the ItemStack is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.inventory.ItemStack item, BanAction action, BanData... data)
    Check if the ItemStack is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Location loc, BannedItem item, boolean sendMessage, BanAction action, BanData... data)
    Check if the BannedItem object is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Location loc, BannedItem item, BanAction action, BanData... data)
    Check if the BannedItem object is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Location loc, org.bukkit.inventory.ItemStack item, boolean sendMessage, BanAction action, BanData... data)
    Check if the ItemStack is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Location loc, org.bukkit.inventory.ItemStack item, BanAction action, BanData... data)
    Check if the ItemStack is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Location loc, org.bukkit.Material m, boolean sendMessage, BanAction action, BanData... data)
    Check if the material is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Location loc, org.bukkit.Material m, BanAction action, BanData... data)
    Check if the material is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Material m, boolean sendMessage, BanAction action, BanData... data)
    Check if the material is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.entity.Player player, org.bukkit.Material m, BanAction action, BanData... data)
    Check if the material is banned, in both blacklist and whitelist.
    boolean
    isBanned(org.bukkit.World world, BannedItem item, BanAction action, 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
    boolean
    isBanned(org.bukkit.World world, org.bukkit.inventory.ItemStack item, BanAction action, 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
    boolean
    isBanned(org.bukkit.World world, org.bukkit.Material material, BanAction action, 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
    boolean
    isBlacklisted(org.bukkit.entity.Player player, org.bukkit.Location location, BannedItem item, boolean sendMessage, BanAction action, BanData... data)
    Check if the item is blacklisted, sending a message or not to the player.
    boolean
    isBlacklisted(org.bukkit.World world, BannedItem item, BanAction action, BanData... data)
    Check if the item is blacklisted, not involving a player
    boolean
    isWhitelisted(org.bukkit.entity.Player player, org.bukkit.Location location, BannedItem item, boolean sendMessage, BanAction action, BanData... data)
    Check if the item is whitelisted (allowed), sending a message or not to the player.
    boolean
    isWhitelisted(org.bukkit.World world, BannedItem item, BanAction action, BanData... data)
    Check if the item is whitelisted, not involving a player
    void
    load(org.bukkit.command.CommandSender sender, File configFile)
    (re)Loading the plugin with this configuration file
    boolean
    removeFromBlacklist(BannedItem item, org.bukkit.World... worlds)
    Remove the banned item from blacklisted worlds and save the config file used.
    boolean
    removeFromBlacklist(Collection<? extends BannedItem> items, org.bukkit.World... worlds)
     
    boolean
    Remove the item from the whitelist and save in config.yml (comments in file may be removed)
    void
    Remove the meta ItemStack named name

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getInstance

      @NotNull public static BanItemAPI getInstance()
      Get a static instance of the api. You should use BanItem.getApi() instead.
      Returns:
      a static instance of the api
    • getDatabase

      @NotNull public BanDatabase getDatabase()
      Get the BanItem database, containing blacklist, whitelist, custom items and meta items.
      Returns:
      the BanDatabase object
    • load

      public void load(@NotNull org.bukkit.command.CommandSender sender, @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 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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      m - the Material used
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      loc - the effective Location of the action
      m - the Material used
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      m - the Material used
      sendMessage - if the banned message should be send to the player
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      loc - the effective Location of the action
      m - the Material used
      sendMessage - if the banned message should be send to the player
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      item - the ItemStack used
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      loc - the effective Location of the action
      item - the ItemStack used
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      item - the ItemStack used
      sendMessage - if the banned message should be send to the player
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      loc - the effective Location of the action
      item - the ItemStack used
      sendMessage - if the banned message should be send to the player
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      item - the BannedItem object
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      loc - the effective Location of the action
      item - the BannedItem object
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      item - the BannedItem object
      sendMessage - if the banned message should be send to the player
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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. This also consider the player bypass permissions.
      Parameters:
      player - the Player involved into this action
      loc - the effective Location of the action
      item - the BannedItem object
      sendMessage - if the banned message should be send to the player
      action - the BanAction to check
      data - optional action datas, leave it blank if not needed for the action
      Returns:
      true if this item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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 This method is mainly used to check dispensers dispense and hoppers transfer
      Parameters:
      world - bukkit world (World)
      material - the involved material
      action - the ban action to check
      data - the ban action datas to check
      Returns:
      true if the item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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 This method is mainly used to check dispensers dispense and hoppers transfer
      Parameters:
      world - bukkit world (World)
      item - the involved ItemStack
      action - the ban action to check
      data - the ban action datas to check
      Returns:
      true if the item is banned, otherwise false
    • isBanned

      public boolean isBanned(@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 This method is mainly used to check dispensers dispense and hoppers transfer
      Parameters:
      world - bukkit world (World)
      item - the involved item
      action - the ban action to check
      data - the ban action datas to check
      Returns:
      true if the item is banned, otherwise false
    • isBlacklisted

      public boolean isBlacklisted(@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, sending a message or not to the player.
      Parameters:
      player - the Player involved into this action
      location - the effective location where the action occurs
      item - the BannedItem involved into this action
      sendMessage - if the item is banned, send the ban message configured
      action - the BanAction action to check
      data - additional ban datas
      Returns:
      true if this item is banned for those characteristics, otherwise false
    • isBlacklisted

      public boolean isBlacklisted(@NotNull org.bukkit.World world, @NotNull BannedItem item, @NotNull BanAction action, @Nullable BanData... data)
      Check if the item is blacklisted, not involving a player
      Parameters:
      world - bukkit world (World)
      item - the involved item
      action - the ban action to check
      data - the ban action datas to check
      Returns:
      true if the item is banned, otherwise false
    • isWhitelisted

      public boolean isWhitelisted(@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.
      Parameters:
      player - the Player involved into this action
      location - the effective location where the action occurs
      item - the BannedItem involved into this action
      sendMessage - if the item is banned, send the ban message configured
      action - the BanAction action to check
      data - optional ban datas
      Returns:
      true if this item is allowed, otherwise false
    • isWhitelisted

      public boolean isWhitelisted(@NotNull org.bukkit.World world, @NotNull BannedItem item, @NotNull BanAction action, @Nullable BanData... data)
      Check if the item is whitelisted, not involving a player
      Parameters:
      world - bukkit world (World)
      item - the involved item
      action - the ban action to check
      data - the ban action datas to check
      Returns:
      true if the item is allowed, otherwise false
    • getBlacklist

      @NotNull public Blacklist getBlacklist()
      Returns:
      the blacklisted map
    • addToBlacklist

      public boolean addToBlacklist(@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.
      Parameters:
      item - the item to ban
      actions - a map containing actions and their respective data
      worlds - 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 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
      Parameters:
      items - the items to ban
      actions - a map containing actions and their respective data
      worlds - 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 BannedItem item, @Nullable org.bukkit.World... worlds)
      Remove the banned item from blacklisted worlds and save the config file used.
      Parameters:
      item - the banned item to remove
      worlds - 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 Collection<? extends BannedItem> items, @Nullable org.bukkit.World... worlds)
    • getWhitelist

      @NotNull public Whitelist getWhitelist()
      Returns:
      the whitelist map
    • addToWhitelist

      public boolean addToWhitelist(@NotNull WhitelistedWorld ww, @NotNull BannedItem item, @NotNull Map<BanAction,BanActionData> actions)
      Add an item on the whitelist of a world and save in the used config
      Parameters:
      ww - the whitelistedworld object, recoverable from Whitelist
      item - the item to add
      actions - map of ban actions and their respective data
      Returns:
      true if successfully added, otherwise false
    • removeFromWhitelist

      public boolean removeFromWhitelist(@NotNull WhitelistedWorld ww, @NotNull BannedItem item)
      Remove the item from the whitelist and save in config.yml (comments in file may be removed)
      Parameters:
      ww - the whitelisted world
      item - the item
      Returns:
      true if successfully removed, otherwise false
    • getCustomItems

      @NotNull public CustomItems getCustomItems()
      Returns:
      the custom items map
    • getCustomItem

      @Nullable public BannedItem getCustomItem(@NotNull String metaName)
      Get a BannedItem object for the meta item named metaName.
      Parameters:
      metaName - the name of the meta item
      Returns:
      a BannedItem object of the meta item if exists, otherwise null
    • getMetaItemName

      @Nullable public String getMetaItemName(@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

      @Nullable public String getMetaItemName(@NotNull BannedItem item)
      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 String name, @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 ItemStack
      item - the custom ItemStack
    • removeMetaItem

      public void removeMetaItem(@NotNull String name)
      Remove the meta ItemStack named name
      Parameters:
      name - the name of the custom ItemStack