类 LazyMetadataValue

java.lang.Object
org.bukkit.metadata.MetadataValueAdapter
org.bukkit.metadata.LazyMetadataValue
所有已实现的接口:
MetadataValue
直接已知子类:
FixedMetadataValue

public class LazyMetadataValue extends MetadataValueAdapter
LazyMetadataValue类实现了一种在另一个插件请求之前不会计算的元数据类型.

通过使元数据值变为惰性, 提供插件在绝对必要之前不会进行计算. 此外, LazyMetadataValue对象在内部缓存其值, 除非被LazyMetadataValue.CacheStrategy覆盖或在个体或插件级别被无效化. 一旦被无效化, LazyMetadataValue将在被请求时重新计算其值.

  • 构造器详细资料

    • LazyMetadataValue

      public LazyMetadataValue(@NotNull @NotNull Plugin owningPlugin, @NotNull @NotNull Callable<Object> lazyValue)
      使用默认的CACHE_AFTER_FIRST_EVAL缓存策略初始化LazyMetadataValue对象.

      原文: Initialized a LazyMetadataValue object with the default CACHE_AFTER_FIRST_EVAL cache strategy.

      参数:
      owningPlugin - 创建此元数据值的Plugin.
      lazyValue - 分配给此元数据值的惰性值.
    • LazyMetadataValue

      public LazyMetadataValue(@NotNull @NotNull Plugin owningPlugin, @NotNull @NotNull LazyMetadataValue.CacheStrategy cacheStrategy, @NotNull @NotNull Callable<Object> lazyValue)
      使用特定缓存策略初始化LazyMetadataValue对象.

      原文: Initializes a LazyMetadataValue object with a specific cache strategy.

      参数:
      owningPlugin - 创建此元数据值的Plugin.
      cacheStrategy - 确定此元数据值的缓存规则.
      lazyValue - 分配给此元数据值的惰性值.
    • LazyMetadataValue

      protected LazyMetadataValue(@NotNull @NotNull Plugin owningPlugin)
      受保护的特殊构造函数, 由FixedMetadataValue用于绕过标准设置.

      原文: Protected special constructor used by FixedMetadataValue to bypass standard setup.

      参数:
      owningPlugin - 拥有插件
  • 方法详细资料

    • value

      @Nullable public @Nullable Object value()
      从接口复制的说明: MetadataValue
      获取此元数据项的值.

      原文: Fetches the value of this metadata item.

      返回:
      元数据值.
    • invalidate

      public void invalidate()
      从接口复制的说明: MetadataValue
      使此元数据项无效, 强制其在下次访问时重新计算.

      原文: Invalidates this metadata item, forcing it to recompute when next accessed.