AbstractMapMarkerDiscoveryCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.utility.worldmap.marker

Файл: com/hypixel/hytale/server/core/command/commands/utility/worldmap/marker/AbstractMapMarkerDiscoveryCommand.java

extends: AbstractTargetPlayerCommand

Поля (5)

МодификаторыТипИмя
BlockMarkerLookup.Match var10
boolean var11
Player var7
String var8
List var9

Методы (2)

МодификаторыВозвратСигнатура
abstract abstract boolean applyboolean apply(@Nonnull Player var1, @Nonnull String var2)
abstract super super(var1, var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.utility.worldmap.marker;

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.basecommands.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
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.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">abstract class AbstractMapMarkerDiscoveryCommand class="kw">extends AbstractTargetPlayerCommand {
   @Nonnull
   class="kw">private class="kw">final RequiredArg<String> markerArg = this.withRequiredArg(
      "marker", "server.commands.worldmap.markers.marker.desc", BlockMarkerIdArgumentType.INSTANCE
   );
   @Nonnull
   class="kw">private class="kw">final String messageKeyPrefix;

   class="kw">protected AbstractMapMarkerDiscoveryCommand(@Nonnull String var1, @Nonnull String var2, @Nonnull String var3) {
      super(var1, var2);
      this.messageKeyPrefix = var3;
   }

   class="kw">protected class="kw">abstract boolean apply(@Nonnull Player var1, @Nonnull String var2);

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1,
      @Nullable Ref<EntityStore> var2,
      @Nonnull Ref<EntityStore> var3,
      @Nonnull PlayerRef var4,
      @Nonnull World var5,
      @Nonnull Store<EntityStore> var6
   ) {
      Player var7 = var6.getComponent(var3, Player.getComponentType());
      assert var7 != null;
      String var8 = this.markerArg.get(var1);
      List var9 = BlockMarkerLookup.findByIdPrefix(var5, var8);
      if (var9.isEmpty()) {
         var1.sendMessage(Message.translation("server.commands.worldmap.markers.notFound").param("marker", var8));
      } else if (var9.size() > 1) {
         var1.sendMessage(Message.translation("server.commands.worldmap.markers.ambiguous").param("marker", var8).param("count", var9.size()));
      } else {
         BlockMarkerLookup.Match var10 = var9.getFirst();
         if (!var10.data().isDiscoverable()) {
            var1.sendMessage(Message.translation("server.commands.worldmap.markers.notDiscoverable").param("marker", var10.data().getMarkerId()));
         } else {
            boolean var11 = this.apply(var7, var10.data().getMarkerId());
            var1.sendMessage(
               Message.translation(this.messageKeyPrefix + (var11 ? ".success" : ".noChange"))
                  .param("marker", var10.data().getMarkerId())
                  .param("player", var4.getUsername())
            );
         }
      }
   }
}