SimpleBlockCommand class

Пакет: com.hypixel.hytale.server.core.universe.world.commands.block

Файл: com/hypixel/hytale/server/core/universe/world/commands/block/SimpleBlockCommand.java

extends: AbstractWorldCommand

Поля (7)

МодификаторыТипИмя
long var10
CommandSender var4
RelativeIntPosition var5
Vector3i var6
int var7
int var8
int var9

Методы (2)

МодификаторыВозвратСигнатура
abstract abstract void executeWithBlockvoid executeWithBlock(@Nonnull CommandContext var1, @Nonnull WorldChunk var2, int var3, int var4, int var5)
abstract super super(var1, var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.commands.block;

class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
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.CommandSender;
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.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.RelativeIntPosition;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;

class="kw">public class="kw">abstract class SimpleBlockCommand class="kw">extends AbstractWorldCommand {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_ERROR_EXCEPTION = Message.translation("server.commands.error.exception");
   @Nonnull
   class="kw">private class="kw">final RequiredArg<RelativeIntPosition> coordsArg = this.withRequiredArg(
      "x y z", "server.commands.block.set.arg.coords", ArgTypes.RELATIVE_BLOCK_POSITION
   );

   class="kw">public SimpleBlockCommand(@Nonnull String var1, @Nonnull String var2) {
      super(var1, var2);
   }

   @Override
   class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
      CommandSender var4 = var1.sender();
      RelativeIntPosition var5 = var1.get(this.coordsArg);
      Vector3i var6 = var5.getBlockPosition(var1, var3);
      int var7 = var6.x;
      int var8 = var6.y;
      int var9 = var6.z;
      long var10 = ChunkUtil.indexChunkFromBlock(var7, var9);
      var2.getChunkAsync(var10).thenAcceptAsync(var5x -> this.executeWithBlock(var1, var5x, var7, var8, var9), var2).exceptionally(var1x -> {
         ((HytaleLogger.Api)HytaleLogger.getLogger().at(Level.SEVERE).withCause(var1x)).log("Error getting chunk for command");
         var4.sendMessage(MESSAGE_COMMANDS_ERROR_EXCEPTION);
         class="kw">return null;
      });
   }

   class="kw">protected class="kw">abstract void executeWithBlock(@Nonnull CommandContext var1, @Nonnull WorldChunk var2, int var3, int var4, int var5);
}