Package org.bukkit.event.world
Class LootGenerateEvent
java.lang.Object
org.bukkit.event.Event
org.bukkit.event.world.WorldEvent
org.bukkit.event.world.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)
.-
Nested Class Summary
-
Constructor Summary
Constructors Constructor Description LootGenerateEvent(World world, Entity entity, InventoryHolder inventoryHolder, LootTable lootTable, LootContext lootContext, List<ItemStack> items, boolean plugin)
-
Method Summary
Modifier and Type Method Description Entity
getEntity()
Get the entity used as context for loot generation (if applicable).static HandlerList
getHandlerList()
HandlerList
getHandlers()
InventoryHolder
getInventoryHolder()
Get the inventory holder in which the loot was generated.List<ItemStack>
getLoot()
Get a mutable list of all loot to be generated.LootContext
getLootContext()
Get the loot context used to provide context to the loot table's loot generation.LootTable
getLootTable()
Get the loot table used to generate loot.boolean
isCancelled()
Gets the cancellation state of this event.boolean
isPlugin()
Check whether or not this event was called as a result of a plugin invokingLootTable.fillInventory(org.bukkit.inventory.Inventory, java.util.Random, LootContext)
.void
setCancelled(boolean cancel)
Sets the cancellation state of this event.void
setLoot(Collection<ItemStack> loot)
Set the loot to be generated.
-
Constructor Details
-
Method Details
-
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 forgetLootContext().getLootedEntity()
.- Returns:
- the entity
-
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
Get the loot table used to generate loot.- Returns:
- the loot table
-
getLootContext
Get the loot context used to provide context to the loot table's loot generation.- Returns:
- the loot context
-
setLoot
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 bygetLoot()
.- Parameters:
loot
- the loot to generate, null to clear all loot
-
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 invokingLootTable.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 interfaceCancellable
- 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 interfaceCancellable
- Returns:
- true if this event is cancelled
-
getHandlers
- Specified by:
getHandlers
in classEvent
-
getHandlerList
-