SimpleCraftingWindow class

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

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

extends: CraftingWindow

implements: MaterialContainerWindow

Поля (15)

МодификаторыТипИмя
return
CombinedItemContainer var10
CombinedItemContainer var11
boolean var12
var12
var12
String var13
Vector3d var14
Vector3d var15
PlayerRef var16
CraftingManager var4
World var5
String var7
int var8
CraftingRecipe var9

Методы (7)

МодификаторыВозвратСигнатура
if if(var4 != null)
if if(var3 instanceof CraftRecipeAction var6)
if if(var9 == null)
if if(var16 != null)
if if(var12)
if if(var12)
abstract super super(WindowType.BasicCrafting, var1, var2, var3, var4, var5, var6)

Исходный код

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

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.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.TierUpgradeAction;
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.Message;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.CraftingRecipe;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.windows.MaterialContainerWindow;
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.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class SimpleCraftingWindow class="kw">extends CraftingWindow class="kw">implements MaterialContainerWindow {
   class="kw">public SimpleCraftingWindow(int var1, int var2, int var3, int var4, @Nonnull BlockType var5, @Nonnull BenchBlock var6) {
      super(WindowType.BasicCrafting, var1, var2, var3, var4, var5, var6);
   }

   @Override
   class="kw">public void handleAction(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull WindowAction var3) {
      CraftingManager var4 = var2.getComponent(var1, CraftingManager.getComponentType());
      if (var4 != null) {
         World var5 = var2.getExternalData().getWorld();
         if (var3 class="kw">instanceof CraftRecipeAction var6) {
            String var7 = var6.recipeId;
            int var8 = var6.quantity;
            CraftingRecipe var9 = CraftingRecipe.getAssetMap().getAsset(var7);
            if (var9 == null) {
               PlayerRef var16 = var2.getComponent(var1, PlayerRef.getComponentType());
               if (var16 != null) {
                  var16.getPacketHandler().disconnect(Message.translation("server.general.disconnect.unknownRecipe"));
               }

               class="kw">return;
            }

            CombinedItemContainer var10 = InventoryComponent.getCombined(var2, var1, InventoryComponent.BACKPACK_STORAGE_HOTBAR);
            CombinedItemContainer var11 = new CombinedItemContainer(var10, this.getExtraResourcesSection().getItemContainer());
            boolean var12;
            if (var9.getTimeSeconds() > 0.0F) {
               var12 = var4.queueCraft(var1, var2, this, 0, var9, var8, var11, CraftingManager.InputRemovalType.NORMAL);
               if (var12) {
                  this.updateQueueSize(var4.getRemainingQueueSize());
               }
            } else {
               var12 = var4.craftItem(var1, var2, var9, var8, var11);
            }

            this.invalidateExtraResources();
            if (var12) {
               String var13 = var9.getTimeSeconds() > 0.0F ? "CraftCompleted" : "CraftCompletedInstant";
               this.setBlockInteractionState(var13, var5);
               if (this.bench.getCompletedSoundEventIndex() != 0) {
                  Vector3d var14 = new Vector3d();
                  this.blockType.getBlockCenter(this.rotationIndex, var14);
                  var14.add(this.x, this.y, this.z);
                  SoundUtil.playSoundEvent3d(this.bench.getCompletedSoundEventIndex(), SoundCategory.SFX, var14, var2);
               }
            }
         } else if (var3 class="kw">instanceof TierUpgradeAction && var4.startTierUpgrade(var1, var2, this)) {
            this.setBlockInteractionState("BenchUpgrading", var5);
            if (this.bench.getBenchUpgradeSoundEventIndex() != 0) {
               Vector3d var15 = new Vector3d();
               this.blockType.getBlockCenter(this.rotationIndex, var15);
               var15.add(this.x, this.y, this.z);
               SoundUtil.playSoundEvent3d(this.bench.getBenchUpgradeSoundEventIndex(), SoundCategory.SFX, var15, var2);
            }
         }
      }
   }
}