BlockMarkerIdArgumentType class

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

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

extends: SingleArgumentType<String>

Поля (3)

МодификаторыТипИмя
Ref var2
World var5
List var6

Методы (4)

МодификаторыВозвратСигнатура
if if(var5 != null)
if if(var6 != null)
if if(var0 instanceof PlayerRef var1)
abstract super super("server.commands.worldmap.markers.argtype.markerId.name", "server.commands.worldmap.markers.argtype.markerId.usage", "550e8400-e29b-41d4-a716-446655440000")

Исходный код

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

class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandSender;
class="kw">import com.hypixel.hytale.server.core.command.system.ParseResult;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.SingleArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.suggestion.SuggestionResult;
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 java.util.concurrent.CompletableFuture;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BlockMarkerIdArgumentType class="kw">extends SingleArgumentType<String> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BlockMarkerIdArgumentType INSTANCE = new BlockMarkerIdArgumentType();
   class="kw">private class="kw">static class="kw">final int MAX_SUGGESTIONS = 20;

   class="kw">private BlockMarkerIdArgumentType() {
      super(
         "server.commands.worldmap.markers.argtype.markerId.name",
         "server.commands.worldmap.markers.argtype.markerId.usage",
         "550e8400-e29b-41d4-a716-446655440000"
      );
   }

   @Nonnull
   class="kw">public String parse(String var1, ParseResult var2) {
      class="kw">return var1;
   }

   @Override
   class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
      World var5 = getWorld(var1);
      if (var5 != null) {
         List var6 = findAllDiscoverableAsync(var5).join();
         if (var6 != null) {
            for (String var9 : StringUtil.sortByFuzzyDistance(var2, var6, 20)) {
               var4.suggest(var9);
            }
         }
      }
   }

   @Nullable
   class="kw">private class="kw">static World getWorld(@Nonnull CommandSender var0) {
      if (var0 class="kw">instanceof PlayerRef var1) {
         Ref var2 = var1.getReference();
         class="kw">return var2 != null && var2.isValid() ? var2.getStore().getExternalData().getWorld() : null;
      } else {
         class="kw">return null;
      }
   }

   @Nonnull
   class="kw">private class="kw">static CompletableFuture<List<String>> findAllDiscoverableAsync(@Nonnull World var0) {
      class="kw">return var0.isInThread()
         ? CompletableFuture.completedFuture(BlockMarkerLookup.findAllDiscoverable(var0))
         : CompletableFuture.supplyAsync(() -> BlockMarkerLookup.findAllDiscoverable(var0), var0);
   }
}