CraftingWindow class
Пакет: com.hypixel.hytale.builtin.crafting.window
Файл: com/hypixel/hytale/builtin/crafting/window/CraftingWindow.java
extends: BenchWindow
Поля (15)
| Модификаторы | Тип | Имя |
|---|---|---|
|
JsonObject |
var14 |
|
Set |
var15 |
|
JsonArray |
var16 |
|
JsonObject |
var21 |
|
JsonArray |
var23 |
|
GameplayConfig |
var3 |
|
MemoriesGameplayConfig |
var4 |
|
String |
var4 |
|
int[] |
var5 |
|
int |
var5 |
|
JsonArray |
var6 |
|
CraftingRecipe |
var6 |
|
CombinedItemContainer |
var7 |
|
JsonArray |
var8 |
|
PlayerRef |
var8 |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
boolean |
craftSimpleItemboolean craftSimpleItem(@Nonnull Store<EntityStore> var0, @Nonnull Ref<EntityStore> var1, @Nonnull CraftingManager var2, @Nonnull CraftRecipeAction var3) |
|
|
for for(String var18 : var15) |
|
|
for for(int var7 = 0; var7 < var5.length; var7++) |
|
|
if if(this.bench instanceof CraftingBench var9) |
|
|
if if(var15 != null) |
|
|
if if(var4 != null) |
|
|
if if(var5 != null && var5.length > 1) |
|
|
if if(var4 == null) |
|
|
if if(var6 == null) |
abstract |
|
super super(var1, var2, var3, var4, var5, var6, var7) |
Исходный код
Показать/скрыть
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.MemoriesGameplayConfig;
class="kw">import com.hypixel.hytale.builtin.crafting.CraftingPlugin;
class="kw">import com.hypixel.hytale.builtin.crafting.component.BenchBlock;
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.SoundCategory;
class="kw">import com.hypixel.hytale.protocol.packets.window.CraftRecipeAction;
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.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.bench.CraftingBench;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.GameplayConfig;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.CraftingRecipe;
class="kw">import com.hypixel.hytale.server.core.inventory.InventoryComponent;
class="kw">import com.hypixel.hytale.server.core.inventory.container.CombinedItemContainer;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.SoundUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">abstract class CraftingWindow class="kw">extends BenchWindow {
@Nonnull
class="kw">protected class="kw">static class="kw">final String CRAFT_COMPLETED = "CraftCompleted";
@Nonnull
class="kw">protected class="kw">static class="kw">final String CRAFT_COMPLETED_INSTANT = "CraftCompletedInstant";
class="kw">public CraftingWindow(@Nonnull WindowType var1, int var2, int var3, int var4, int var5, @Nonnull BlockType var6, @Nonnull BenchBlock var7) {
super(var1, var2, var3, var4, var5, var6, var7);
JsonArray var8 = new JsonArray();
if (this.bench class="kw">instanceof CraftingBench var9) {
for (CraftingBench.BenchCategory var13 : var9.getCategories()) {
JsonObject var14 = new JsonObject();
var8.add(var14);
var14.addProperty("id", var13.getId());
var14.addProperty("name", var13.getName());
var14.addProperty("icon", var13.getIcon());
Set var15 = CraftingPlugin.getAvailableRecipesForCategory(this.bench.getId(), var13.getId());
if (var15 != null) {
JsonArray var16 = new JsonArray();
for (String var18 : var15) {
var16.add(var18);
}
var14.add("craftableRecipes", var16);
}
if (var13.getItemCategories() != null) {
JsonArray var23 = new JsonArray();
for (CraftingBench.BenchItemCategory var20 : var13.getItemCategories()) {
JsonObject var21 = new JsonObject();
var21.addProperty("id", var20.getId());
var21.addProperty("icon", var20.getIcon());
var21.addProperty("diagram", var20.getDiagram());
var21.addProperty("slots", var20.getSlots());
var21.addProperty("specialSlot", var20.isSpecialSlot());
var23.add(var21);
}
var14.add("itemCategories", var23);
}
}
this.windowData.add("categories", var8);
}
}
@Override
class="kw">protected boolean onOpen0(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
super.onOpen0(var1, var2);
GameplayConfig var3 = var2.getExternalData().getWorld().getGameplayConfig();
MemoriesGameplayConfig var4 = MemoriesGameplayConfig.get(var3);
if (var4 != null) {
int[] var5 = var4.getMemoriesAmountPerLevel();
if (var5 != null && var5.length > 1) {
JsonArray var6 = new JsonArray();
for (int var7 = 0; var7 < var5.length; var7++) {
var6.add(var5[var7]);
}
this.windowData.add("memoriesPerLevel", var6);
}
}
if (this.bench.getLocalOpenSoundEventIndex() != 0) {
SoundUtil.playSoundEvent2d(var1, this.bench.getLocalOpenSoundEventIndex(), SoundCategory.UI, var2);
}
class="kw">return true;
}
@Override
class="kw">public void onClose0(@Nonnull Ref<EntityStore> var1, @Nonnull ComponentAccessor<EntityStore> var2) {
super.onClose0(var1, var2);
if (this.bench.getLocalCloseSoundEventIndex() != 0) {
SoundUtil.playSoundEvent2d(var1, this.bench.getLocalCloseSoundEventIndex(), SoundCategory.UI, var2);
}
}
class="kw">public class="kw">static boolean craftSimpleItem(
@Nonnull Store<EntityStore> var0, @Nonnull Ref<EntityStore> var1, @Nonnull CraftingManager var2, @Nonnull CraftRecipeAction var3
) {
String var4 = var3.recipeId;
int var5 = var3.quantity;
if (var4 == null) {
class="kw">return false;
} else {
CraftingRecipe var6 = CraftingRecipe.getAssetMap().getAsset(var4);
if (var6 == null) {
PlayerRef var8 = var0.getComponent(var1, PlayerRef.getComponentType());
assert var8 != null;
var8.getPacketHandler().disconnect(Message.translation("server.general.disconnect.unknownRecipe"));
class="kw">return false;
} else {
CombinedItemContainer var7 = InventoryComponent.getCombined(var0, var1, InventoryComponent.BACKPACK_STORAGE_HOTBAR);
var2.craftItem(var1, var0, var6, var5, var7);
class="kw">return true;
}
}
}
}