MemoriesWindow class

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

Файл: com/hypixel/hytale/builtin/adventure/memories/window/MemoriesWindow.java

extends: Window

Поля (7)

МодификаторыТипИмя
Map var1
JsonArray var3
PlayerMemories var4
String var4
JsonObject var7
String var8
String var9

Методы (3)

МодификаторыВозвратСигнатура
if if(var4 != null)
if if(var9 != null)
abstract super super(WindowType.Memories)

Исходный код

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

class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonObject;
class="kw">import com.hypixel.hytale.builtin.adventure.memories.MemoriesPlugin;
class="kw">import com.hypixel.hytale.builtin.adventure.memories.component.PlayerMemories;
class="kw">import com.hypixel.hytale.builtin.adventure.memories.memories.Memory;
class="kw">import com.hypixel.hytale.codec.EmptyExtraInfo;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.packets.window.WindowType;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.windows.Window;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.core.util.BsonUtil;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class MemoriesWindow class="kw">extends Window {
   @Nonnull
   class="kw">private class="kw">final JsonObject windowData = new JsonObject();

   class="kw">public MemoriesWindow() {
      super(WindowType.Memories);
   }

   @Nonnull
   @Override
   class="kw">public JsonObject getData() {
      class="kw">return this.windowData;
   }

   @Override
   class="kw">public boolean onOpen0(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
      JsonArray var3 = new JsonArray();
      PlayerMemories var4 = var2.getComponent(var1, PlayerMemories.getComponentType());
      if (var4 != null) {
         this.windowData.addProperty("capacity", var4.getMemoriesCapacity());

         for (Memory var6 : var4.getRecordedMemories()) {
            JsonObject var7 = new JsonObject();
            var7.addProperty("title", var6.getTitle());
            var7.add("tooltipText", BsonUtil.translateBsonToJson(Message.CODEC.encode(var6.getTooltipText(), EmptyExtraInfo.EMPTY).asDocument()));
            String var8 = var6.getIconPath();
            if (var8 != null && !var8.isEmpty()) {
               var7.addProperty("icon", var8);
            }

            String var9 = GetCategoryIconPathForMemory(var6);
            if (var9 != null) {
               var7.addProperty("categoryIcon", var9);
            }

            var3.add(var7);
         }
      } else {
         this.windowData.addProperty("capacity", 0);
      }

      this.windowData.add("memories", var3);
      this.invalidate();
      class="kw">return true;
   }

   @Nullable
   class="kw">private class="kw">static String GetCategoryIconPathForMemory(@Nonnull Memory var0) {
      Map var1 = MemoriesPlugin.get().getAllMemories();

      for (Entry var3 : var1.entrySet()) {
         if (var3.getValue().contains(var0)) {
            String var4 = "UI/Custom/Pages/Memories/categories/%s.png";
            class="kw">return String.format("UI/Custom/Pages/Memories/categories/%s.png", var3.getKey());
         }
      }

      class="kw">return null;
   }

   @Override
   class="kw">public void onClose0(@Nonnull Ref<EntityStore> var1, @Nonnull ComponentAccessor<EntityStore> var2) {
   }
}