类 LootGenerateEvent
- 所有已实现的接口:
Cancellable
InventoryHolder
的战利品
时调用.
目前本事件不会在实体的战利品表已经创建时调用 (使用 EntityDeathEvent.getDrops()
方法),
但将会因插件使用 LootTable.fillInventory(org.bukkit.inventory.Inventory, java.util.Random, LootContext)
方法而调用.
原文: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)
.
-
嵌套类概要
从类继承的嵌套类/接口 org.bukkit.event.Event
Event.Result
-
构造器概要
构造器说明LootGenerateEvent
(@NotNull World world, @Nullable Entity entity, @Nullable InventoryHolder inventoryHolder, @NotNull LootTable lootTable, @NotNull LootContext lootContext, @NotNull List<ItemStack> items, boolean plugin) -
方法概要
修饰符和类型方法说明获取生成战利品所用的实体 (若适用).static @NotNull HandlerList
获取产生的战利品所在的物品栏持有者.getLoot()
获取生成的战利品的可变列表.获取战利品表上下文, 用于为战利品生成提供上下文信息.获取所使用的战利品表.boolean
获取这个事件是否被取消.一个被取消的事件不会在服务器里执行,但是仍然会传递事件到其他插件.boolean
isPlugin()
void
setCancelled
(boolean cancel) 取消这个事件.void
setLoot
(@Nullable Collection<ItemStack> loot) 设置将要生成的战利品.从类继承的方法 org.bukkit.event.world.WorldEvent
getWorld
从类继承的方法 org.bukkit.event.Event
getEventName, isAsynchronous
-
构造器详细资料
-
LootGenerateEvent
-
-
方法详细资料
-
getEntity
获取生成战利品所用的实体 (若适用). 对于不需要使用实体生成战利品的物品栏, 比如漏斗, 将返回 null. 本方法是getLootContext().getLootedEntity()
的便利用法.原文: 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()
.- 返回:
- 实体
-
getInventoryHolder
获取产生的战利品所在的物品栏持有者. 如果战利品因破坏方块而生成, 此物品栏持有者将为 null, 因为此事件在方块破坏后发生.原文: 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.
- 返回:
- 物品栏持有者
-
getLootTable
获取所使用的战利品表.原文: Get the loot table used to generate loot.
- 返回:
- 战利品表
-
getLootContext
获取战利品表上下文, 用于为战利品生成提供上下文信息.原文: Get the loot context used to provide context to the loot table's loot generation.
- 返回:
- 战利品表上下文
-
setLoot
设置将要生成的战利品. Null 物品堆将被当作空气. 注意: 您设置的集合与getLoot()
方法返回的集合不是同一个对象. (译注:此方法会将自身的战利品集合清空后, 调用addAll方法添加设置的集合. 所以您不能使用getLoot()
返回的集合作为本方法的参数).原文: 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()
.- 参数:
loot
- 生成的战利品, 设为 null 以清空所有战利品
-
getLoot
获取生成的战利品的可变列表. 在此列表添加或移除的任何物品将影响到战利品的生成结果. Null 物品堆将被当作空气.原文: 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.
- 返回:
- 生成的战利品
-
isPlugin
public boolean isPlugin()检测此事件是否因插件调用LootTable.fillInventory(org.bukkit.inventory.Inventory, java.util.Random, LootContext)
方法触发.原文: 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)
.- 返回:
- 若为插件触发则为 true
-
setCancelled
public void setCancelled(boolean cancel) 从接口复制的说明: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.
- 指定者:
setCancelled
在接口中Cancellable
- 参数:
cancel
- 如果你想取消这个事件,则为true
-
isCancelled
public boolean isCancelled()从接口复制的说明: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
- 指定者:
isCancelled
在接口中Cancellable
- 返回:
- 如果事件已经被取消,则为true
-
getHandlers
- 指定者:
getHandlers
在类中Event
-
getHandlerList
-