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);
}
}
}
}