BlockMarkerLookup class

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

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

Поля (8)

МодификаторыТипИмя
ArrayList var1
ArrayList var1
Store var1
ArrayList var2
BlockMapMarkersResource var2
ArrayList var3
ArrayList var4
String var7

Методы (2)

МодификаторыВозвратСигнатура
record Matchrecord Match(int x, int y, int z, @Nonnull BlockMapMarkersResource.BlockMapMarkerData data)
if if(var7 != null)

Исходный код

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

class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.data.Int3ObjectOpenHashMap;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.meta.state.BlockMapMarkersResource;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Comparator;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">final class BlockMarkerLookup {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Comparator<BlockMarkerLookup.Match> POSITION_ORDER = Comparator.comparingInt(BlockMarkerLookup.Match::x)
      .thenComparingInt(BlockMarkerLookup.Match::z)
      .thenComparingInt(BlockMarkerLookup.Match::y);

   class="kw">private BlockMarkerLookup() {
   }

   @Nonnull
   class="kw">static List<BlockMarkerLookup.Match> findAll(@Nonnull World var0) {
      ArrayList var1 = new ArrayList<>();
      getMarkers(var0).forEach((var1x, var2, var3, var4) -> {
         if (var4.getMarkerId() != null) {
            var1.add(new BlockMarkerLookup.Match(var1x, var2, var3, var4));
         }
      });
      class="kw">return var1;
   }

   @Nonnull
   class="kw">static List<String> findAllDiscoverable(@Nonnull World var0) {
      ArrayList var1 = new ArrayList<>();
      getMarkers(var0).forEach((var1x, var2, var3, var4) -> {
         if (var4.getMarkerId() != null) {
            if (var4.isDiscoverable()) {
               var1.add(var4.getMarkerId());
            }
         }
      });
      class="kw">return var1;
   }

   @Nonnull
   class="kw">static List<BlockMarkerLookup.Match> findByIdPrefix(@Nonnull World var0, @Nonnull String var1) {
      ArrayList var2 = new ArrayList<>();
      ArrayList var3 = new ArrayList<>();
      getMarkers(var0).forEach((var3x, var4x, var5, var6) -> {
         String var7 = var6.getMarkerId();
         if (var7 != null) {
            if (var7.equalsIgnoreCase(var1)) {
               var2.add(new BlockMarkerLookup.Match(var3x, var4x, var5, var6));
            } else if (var7.regionMatches(true, 0, var1, 0, var1.length())) {
               var3.add(new BlockMarkerLookup.Match(var3x, var4x, var5, var6));
            }
         }
      });
      ArrayList var4 = var2.isEmpty() ? var3 : var2;
      var4.sort(POSITION_ORDER);
      class="kw">return var4;
   }

   @Nonnull
   class="kw">private class="kw">static Int3ObjectOpenHashMap<BlockMapMarkersResource.BlockMapMarkerData> getMarkers(@Nonnull World var0) {
      Store var1 = var0.getChunkStore().getStore();
      BlockMapMarkersResource var2 = var1.getResource(BlockMapMarkersResource.getResourceType());
      class="kw">return var2.getMarkers();
   }

   record Match(int x, int y, int z, @Nonnull BlockMapMarkersResource.BlockMapMarkerData data) {
      Match {
      }
   }
}