LoadByNameCommand class

Пакет: com.hypixel.hytale.builtin.buildertools.scriptedbrushes.commands

Файл: com/hypixel/hytale/builtin/buildertools/scriptedbrushes/commands/BrushConfigLoadCommand.java

extends: AbstractPlayerCommand

Поля (13)

МодификаторыТипИмя
private static final Message MESSAGE_COMMANDS_BRUSH_CONFIG_CANNOT_USE_COMMAND_DURING_EXEC
private static final Message MESSAGE_COMMANDS_BRUSH_CONFIG_NO_HOTBAR_COMPONENT
private final RequiredArg<ScriptedBrushAsset> brushNameArg
InventoryComponent.Hotbar var10
ScriptedBrushAsset var11
String var12
ItemContainer var13
String var14
var14
UUID var6
PrototypePlayerBuilderToolSettings var7
BrushConfig var8
BrushConfigCommandExecutor var9

Методы (4)

МодификаторыВозвратСигнатура
protected void executeprotected void execute(@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5)
if if(var10 == null)
if if(var14 == null)
abstract super super("server.commands.scriptedbrushes.load.byName.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.buildertools.PrototypePlayerBuilderToolSettings;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.BrushConfig;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.BrushConfigCommandExecutor;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.ScriptedBrushAsset;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.ui.ScriptedBrushPage;
class="kw">import com.hypixel.hytale.builtin.buildertools.tooloperations.ToolOperation;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.AssetArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.inventory.InventoryComponent;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
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 java.util.UUID;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BrushConfigLoadCommand class="kw">extends AbstractPlayerCommand {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_BRUSH_CONFIG_CANNOT_USE_COMMAND_DURING_EXEC = Message.translation(
      "server.commands.brushConfig.cannotUseCommandDuringExec"
   );

   class="kw">public BrushConfigLoadCommand() {
      super("load", "server.commands.scriptedbrushes.load.desc");
      this.addUsageVariant(new BrushConfigLoadCommand.LoadByNameCommand());
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
   ) {
      UUID var6 = var4.getUuid();
      PrototypePlayerBuilderToolSettings var7 = ToolOperation.getOrCreatePrototypeSettings(var6);
      BrushConfig var8 = var7.getBrushConfig();
      if (var8.isCurrentlyExecuting()) {
         var4.sendMessage(MESSAGE_COMMANDS_BRUSH_CONFIG_CANNOT_USE_COMMAND_DURING_EXEC);
      } else {
         Player var9 = var2.getComponent(var3, Player.getComponentType());
         assert var9 != null;
         var9.getPageManager().openCustomPage(var3, var2, new ScriptedBrushPage(var4));
      }
   }

   class="kw">private class="kw">static class LoadByNameCommand class="kw">extends AbstractPlayerCommand {
      @Nonnull
      class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_BRUSH_CONFIG_CANNOT_USE_COMMAND_DURING_EXEC = Message.translation(
         "server.commands.brushConfig.cannotUseCommandDuringExec"
      );
      @Nonnull
      class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_BRUSH_CONFIG_NO_HOTBAR_COMPONENT = Message.translation("server.commands.brushConfig.noHotbarComponent");
      @Nonnull
      class="kw">private class="kw">final RequiredArg<ScriptedBrushAsset> brushNameArg = this.withRequiredArg(
         "brushName",
         "server.commands.scriptedbrushes.load.brushName.desc",
         new AssetArgumentType(
            "server.commands.parsing.argtype.asset.scriptedbrush.name", ScriptedBrushAsset.class, "server.commands.parsing.argtype.asset.scriptedbrush.usage"
         )
      );

      class="kw">public LoadByNameCommand() {
         super("server.commands.scriptedbrushes.load.byName.desc");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
      ) {
         UUID var6 = var4.getUuid();
         PrototypePlayerBuilderToolSettings var7 = ToolOperation.getOrCreatePrototypeSettings(var6);
         BrushConfig var8 = var7.getBrushConfig();
         BrushConfigCommandExecutor var9 = var7.getBrushConfigCommandExecutor();
         InventoryComponent.Hotbar var10 = var2.getComponent(var3, InventoryComponent.Hotbar.getComponentType());
         if (var10 == null) {
            var4.sendMessage(MESSAGE_COMMANDS_BRUSH_CONFIG_NO_HOTBAR_COMPONENT);
         } else if (var8.isCurrentlyExecuting()) {
            var4.sendMessage(MESSAGE_COMMANDS_BRUSH_CONFIG_CANNOT_USE_COMMAND_DURING_EXEC);
         } else {
            ScriptedBrushAsset var11 = this.brushNameArg.get(var1);
            String var12 = var11.getId();
            var11.loadIntoExecutor(var9);
            var7.setCurrentlyLoadedBrushConfigName(var12);
            var7.setUsePrototypeBrushConfigurations(true);
            ItemContainer var13 = var10.getInventory();
            String var14 = ScriptedBrushAsset.getEditorToolItemId(var12);
            if (var14 == null) {
               var14 = "EditorTool_ScriptedBrushTemplate";
            }

            var13.setItemStackForSlot(var10.getActiveSlot(), new ItemStack(var14));
            var7.setPrototypeItemId(var14);
            var4.sendMessage(Message.translation("server.commands.brushConfig.loaded").param("name", var12));
         }
      }
   }
}