UniqueItemUsagesComponent class

Пакет: com.hypixel.hytale.server.core.entity.entities.player.data

Файл: com/hypixel/hytale/server/core/entity/entities/player/data/UniqueItemUsagesComponent.java

implements: Component<EntityStore>

Поля (1)

МодификаторыТипИмя
UniqueItemUsagesComponent var1

Методы (4)

МодификаторыВозвратСигнатура
static ComponentType<EntityStore, UniqueItemUsagesComponent> getComponentTypeComponentType<EntityStore, UniqueItemUsagesComponent> getComponentType()
public boolean hasUsedUniqueItemboolean hasUsedUniqueItem(String var1)
if if(var1 != null)
public void recordUniqueItemUsagevoid recordUniqueItemUsage(String var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.entity.entities.player.data;

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Collections;
class="kw">import java.util.HashSet;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class UniqueItemUsagesComponent class="kw">implements Component<EntityStore> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<UniqueItemUsagesComponent> CODEC = BuilderCodec.builder(UniqueItemUsagesComponent.class, UniqueItemUsagesComponent::new)
      .append(new KeyedCodec<>("UniqueItemUsed", new ArrayCodec<>(Codec.STRING, String[]::new)), (var0, var1) -> {
         if (var1 != null) {
            Collections.addAll(var0.usedUniqueItems, var1);
         }
      }, var0 -> var0.usedUniqueItems.toArray(String[]::new))
      .add()
      .build();
   class="kw">private class="kw">final Set<String> usedUniqueItems = new HashSet<>();

   class="kw">public UniqueItemUsagesComponent() {
   }

   class="kw">public class="kw">static ComponentType<EntityStore, UniqueItemUsagesComponent> getComponentType() {
      class="kw">return EntityModule.get().getUniqueItemUsagesComponentType();
   }

   @Nullable
   @Override
   class="kw">public Component<EntityStore> clone() {
      UniqueItemUsagesComponent var1 = new UniqueItemUsagesComponent();
      var1.usedUniqueItems.addAll(this.usedUniqueItems);
      class="kw">return var1;
   }

   class="kw">public boolean hasUsedUniqueItem(String var1) {
      class="kw">return this.usedUniqueItems.contains(var1);
   }

   class="kw">public void recordUniqueItemUsage(String var1) {
      this.usedUniqueItems.add(var1);
   }
}