FieldCraftingWindow class

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

Файл: com/hypixel/hytale/builtin/crafting/window/FieldCraftingWindow.java

extends: Window

Поля (6)

МодификаторыТипИмя
JsonArray var1
World var3
JsonObject var4
Set var5
CraftingManager var5
JsonArray var6

Методы (4)

МодификаторыВозвратСигнатура
for for(String var8 : var5)
if if(var5 != null)
if if(var3 instanceof CraftRecipeAction var4)
abstract super super(WindowType.PocketCrafting)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.crafting.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.crafting.CraftingPlugin;
class="kw">import com.hypixel.hytale.builtin.crafting.component.CraftingManager;
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.BenchType;
class="kw">import com.hypixel.hytale.protocol.SoundCategory;
class="kw">import com.hypixel.hytale.protocol.packets.window.CraftRecipeAction;
class="kw">import com.hypixel.hytale.protocol.packets.window.WindowAction;
class="kw">import com.hypixel.hytale.protocol.packets.window.WindowType;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.FieldcraftCategory;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.windows.Window;
class="kw">import com.hypixel.hytale.server.core.universe.world.SoundUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.core.util.TempAssetIdUtil;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;

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

   class="kw">public FieldCraftingWindow() {
      super(WindowType.PocketCrafting);
      this.windowData.addProperty("type", BenchType.Crafting.ordinal());
      this.windowData.addProperty("id", "Fieldcraft");
      this.windowData.addProperty("name", "client.inventory.fieldcraft.title");
      JsonArray var1 = new JsonArray();

      for (FieldcraftCategory var3 : FieldcraftCategory.getAssetMap().getAssetMap().values()) {
         JsonObject var4 = new JsonObject();
         var4.addProperty("id", var3.getId());
         var4.addProperty("icon", var3.getIcon());
         var4.addProperty("name", var3.getName());
         Set var5 = CraftingPlugin.getAvailableRecipesForCategory("Fieldcraft", var3.getId());
         if (var5 != null) {
            JsonArray var6 = new JsonArray();

            for (String var8 : var5) {
               var6.add(var8);
            }

            var4.add("craftableRecipes", var6);
         }
      }

      this.windowData.add("categories", var1);
   }

   @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) {
      World var3 = var2.getExternalData().getWorld();
      this.windowData.addProperty("worldMemoriesLevel", MemoriesPlugin.get().getMemoriesLevel(var3.getGameplayConfig()));
      this.invalidate();
      class="kw">return true;
   }

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

   @Override
   class="kw">public void handleAction(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull WindowAction var3) {
      if (var3 class="kw">instanceof CraftRecipeAction var4) {
         CraftingManager var5 = var2.getComponent(var1, CraftingManager.getComponentType());
         if (CraftingWindow.craftSimpleItem(var2, var1, var5, var4)) {
            SoundUtil.playSoundEvent2d(var1, TempAssetIdUtil.getSoundEventIndex("SFX_Player_Craft_Item_Inventory"), SoundCategory.UI, var2);
         }
      }
   }
}