Class LootGenerateEvent

All Implemented Interfaces:
Cancellable

public class LootGenerateEvent extends WorldEvent implements Cancellable
Called when a LootTable is generated in the world for an InventoryHolder. This event is NOT currently called when an entity's loot table has been generated (use EntityDeathEvent.getDrops(), but WILL be called by plugins invoking LootTable.fillInventory(org.bukkit.inventory.Inventory, java.util.Random, LootContext).
  • Constructor Details

  • Method Details

    • getEntity

      @Nullable public Entity getEntity()
      Get the entity used as context for loot generation (if applicable). For inventories where entities are not required to generate loot, such as hoppers, null will be returned. This is a convenience method for getLootContext().getLootedEntity().
      Returns:
      the entity
    • getInventoryHolder

      @Nullable public InventoryHolder getInventoryHolder()
      Get the inventory holder in which the loot was generated. If the loot was generated as a result of the block being broken, the inventory holder will be null as this event is called post block break.
      Returns:
      the inventory holder
    • getLootTable

      @NotNull public LootTable getLootTable()
      Get the loot table used to generate loot.
      Returns:
      the loot table
    • getLootContext

      @NotNull public LootContext getLootContext()
      Get the loot context used to provide context to the loot table's loot generation.
      Returns:
      the loot context
    • setLoot

      public void setLoot(@Nullable Collection<ItemStack> loot)
      Set the loot to be generated. Null items will be treated as air. Note: the set collection is not the one which will be returned by getLoot().
      Parameters:
      loot - the loot to generate, null to clear all loot
    • getLoot

      @NotNull public List<ItemStack> getLoot()
      Get a mutable list of all loot to be generated. Any items added or removed from the returned list will be reflected in the loot generation. Null items will be treated as air.
      Returns:
      the loot to generate
    • isPlugin

      public boolean isPlugin()
      Check whether or not this event was called as a result of a plugin invoking LootTable.fillInventory(org.bukkit.inventory.Inventory, java.util.Random, LootContext).
      Returns:
      true if plugin caused, false otherwise
    • setCancelled

      public void setCancelled(boolean cancel)
      Description copied from interface: Cancellable
      Sets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins.
      Specified by:
      setCancelled in interface Cancellable
      Parameters:
      cancel - true if you wish to cancel this event
    • isCancelled

      public boolean isCancelled()
      Description copied from interface: Cancellable
      Gets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins
      Specified by:
      isCancelled in interface Cancellable
      Returns:
      true if this event is cancelled
    • getHandlers

      @NotNull public HandlerList getHandlers()
      Specified by:
      getHandlers in class Event
    • getHandlerList

      @NotNull public static HandlerList getHandlerList()