BrushConfigLoadCommand class

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

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

extends: AbstractPlayerCommand

Поля (17)

МодификаторыТипИмя
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
UUID var6
PrototypePlayerBuilderToolSettings var7
PrototypePlayerBuilderToolSettings var7
BrushConfig var8
BrushConfig var8
Player var9
BrushConfigCommandExecutor var9

Методы (6)

МодификаторыВозвратСигнатура
public LoadByNameCommandpublic LoadByNameCommand()
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("load", "server.commands.scriptedbrushes.load.desc")
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));
         }
      }
   }
}