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