类 LootGenerateEvent

所有已实现的接口:
Cancellable

public class LootGenerateEvent extends WorldEvent implements 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).

  • 构造器详细资料

  • 方法详细资料

    • getEntity

      @Nullable public @Nullable Entity 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

      @Nullable public @Nullable InventoryHolder 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

      @NotNull public @NotNull LootTable getLootTable()
      获取所使用的战利品表.

      原文: Get the loot table used to generate loot.

      返回:
      战利品表
    • getLootContext

      @NotNull public @NotNull LootContext getLootContext()
      获取战利品表上下文, 用于为战利品生成提供上下文信息.

      原文: Get the loot context used to provide context to the loot table's loot generation.

      返回:
      战利品表上下文
    • setLoot

      public void setLoot(@Nullable @Nullable Collection<ItemStack> loot)
      设置将要生成的战利品. 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

      @NotNull public @NotNull List<ItemStack> 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

      @NotNull public @NotNull HandlerList getHandlers()
      指定者:
      getHandlers 在类中 Event
    • getHandlerList

      @NotNull public static @NotNull HandlerList getHandlerList()