PlayerMemories class

Пакет: com.hypixel.hytale.builtin.adventure.memories.component

Файл: com/hypixel/hytale/builtin/adventure/memories/component/PlayerMemories.java

implements: Component<EntityStore>

Поля (2)

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

Методы (7)

МодификаторыВозвратСигнатура
static ComponentType<EntityStore, PlayerMemories> getComponentTypeComponentType<EntityStore, PlayerMemories> getComponentType()
public int getMemoriesCapacityint getMemoriesCapacity()
public boolean hasMemoriesboolean hasMemories()
if if(var1 != null)
public boolean recordMemoryboolean recordMemory(Memory var1)
public void setMemoriesCapacityvoid setMemoriesCapacity(int var1)
public boolean takeMemoriesboolean takeMemories(@Nonnull Set<Memory> var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.memories.component;

class="kw">import com.hypixel.hytale.builtin.adventure.memories.MemoriesPlugin;
class="kw">import com.hypixel.hytale.builtin.adventure.memories.memories.Memory;
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.universe.world.storage.EntityStore;
class="kw">import java.util.Collections;
class="kw">import java.util.LinkedHashSet;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;

class="kw">public class PlayerMemories class="kw">implements Component<EntityStore> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<PlayerMemories> CODEC = BuilderCodec.builder(PlayerMemories.class, PlayerMemories::new)
      .append(new KeyedCodec<>("Capacity", Codec.INTEGER), (var0, var1) -> var0.memoriesCapacity = var1, var0 -> var0.memoriesCapacity)
      .add()
      .append(new KeyedCodec<>("Memories", new ArrayCodec<>(Memory.CODEC, Memory[]::new)), (var0, var1) -> {
         if (var1 != null) {
            Collections.addAll(var0.memories, var1);
         }
      }, var0 -> var0.memories.toArray(Memory[]::new))
      .add()
      .build();
   @Nonnull
   class="kw">private class="kw">final Set<Memory> memories = new LinkedHashSet<>();
   class="kw">private int memoriesCapacity;

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

   class="kw">public class="kw">static ComponentType<EntityStore, PlayerMemories> getComponentType() {
      class="kw">return MemoriesPlugin.get().getPlayerMemoriesComponentType();
   }

   @Nonnull
   @Override
   class="kw">public Component<EntityStore> clone() {
      PlayerMemories var1 = new PlayerMemories();
      var1.memories.addAll(this.memories);
      var1.memoriesCapacity = this.memoriesCapacity;
      class="kw">return var1;
   }

   class="kw">public int getMemoriesCapacity() {
      class="kw">return this.memoriesCapacity;
   }

   class="kw">public void setMemoriesCapacity(int var1) {
      this.memoriesCapacity = var1;
   }

   class="kw">public boolean recordMemory(Memory var1) {
      class="kw">return this.memories.size() >= this.memoriesCapacity ? false : this.memories.add(var1);
   }

   class="kw">public boolean hasMemories() {
      class="kw">return !this.memories.isEmpty();
   }

   class="kw">public boolean takeMemories(@Nonnull Set<Memory> var1) {
      boolean var2 = var1.addAll(this.memories);
      this.memories.clear();
      class="kw">return var2;
   }

   @Nonnull
   class="kw">public Set<Memory> getRecordedMemories() {
      class="kw">return Collections.unmodifiableSet(this.memories);
   }
}