ConnectedBlockFaceTags class

Пакет: com.hypixel.hytale.server.core.universe.world.connectedblocks.config

Файл: com/hypixel/hytale/server/core/universe/world/connectedblocks/config/ConnectedBlockFaceTags.java

Поля (8)

МодификаторыТипИмя
final BuilderCodec<ConnectedBlockFaceTags> CODEC
com.hypixel.hytale.protocol.ConnectedBlockFaceTags var1
HashSet var2
HashSet var2
HashSet var2
HashSet var2
HashSet var2
HashSet var2

Методы (2)

МодификаторыВозвратСигнатура
public boolean containsboolean contains(Vector3i var1, String var2)
public Set<String> getBlockFaceTagsSet<String> getBlockFaceTags(Vector3i var1)

Исходный код

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

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.math.vector.Vector3iUtil;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Arrays;
class="kw">import java.util.Collections;
class="kw">import java.util.HashSet;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;
class="kw">import org.joml.Vector3ic;

class="kw">public class ConnectedBlockFaceTags {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ConnectedBlockFaceTags> CODEC = BuilderCodec.builder(ConnectedBlockFaceTags.class, ConnectedBlockFaceTags::new)
      .append(new KeyedCodec<>("North", new ArrayCodec<>(Codec.STRING, String[]::new), false), (var0, var1) -> {
         HashSet var2 = new HashSet<>(var1.length);
         var2.addAll(Arrays.asList(var1));
         var0.blockFaceTags.put(Vector3iUtil.NORTH, var2);
      }, var0 -> var0.blockFaceTags.containsKey(Vector3iUtil.NORTH) ? var0.blockFaceTags.get(Vector3iUtil.NORTH).toArray(String[]::new) : new String[0])
      .add()
      .append(new KeyedCodec<>("East", new ArrayCodec<>(Codec.STRING, String[]::new), false), (var0, var1) -> {
         HashSet var2 = new HashSet<>(var1.length);
         var2.addAll(Arrays.asList(var1));
         var0.blockFaceTags.put(Vector3iUtil.EAST, var2);
      }, var0 -> var0.blockFaceTags.containsKey(Vector3iUtil.EAST) ? var0.blockFaceTags.get(Vector3iUtil.EAST).toArray(String[]::new) : new String[0])
      .add()
      .append(new KeyedCodec<>("South", new ArrayCodec<>(Codec.STRING, String[]::new), false), (var0, var1) -> {
         HashSet var2 = new HashSet<>(var1.length);
         var2.addAll(Arrays.asList(var1));
         var0.blockFaceTags.put(Vector3iUtil.SOUTH, var2);
      }, var0 -> var0.blockFaceTags.containsKey(Vector3iUtil.SOUTH) ? var0.blockFaceTags.get(Vector3iUtil.SOUTH).toArray(String[]::new) : new String[0])
      .add()
      .append(new KeyedCodec<>("West", new ArrayCodec<>(Codec.STRING, String[]::new), false), (var0, var1) -> {
         HashSet var2 = new HashSet<>(var1.length);
         var2.addAll(Arrays.asList(var1));
         var0.blockFaceTags.put(Vector3iUtil.WEST, var2);
      }, var0 -> var0.blockFaceTags.containsKey(Vector3iUtil.WEST) ? var0.blockFaceTags.get(Vector3iUtil.WEST).toArray(String[]::new) : new String[0])
      .add()
      .append(new KeyedCodec<>("Up", new ArrayCodec<>(Codec.STRING, String[]::new), false), (var0, var1) -> {
         HashSet var2 = new HashSet<>(var1.length);
         var2.addAll(Arrays.asList(var1));
         var0.blockFaceTags.put(Vector3iUtil.UP, var2);
      }, var0 -> var0.blockFaceTags.containsKey(Vector3iUtil.UP) ? var0.blockFaceTags.get(Vector3iUtil.UP).toArray(String[]::new) : new String[0])
      .add()
      .append(new KeyedCodec<>("Down", new ArrayCodec<>(Codec.STRING, String[]::new), false), (var0, var1) -> {
         HashSet var2 = new HashSet<>(var1.length);
         var2.addAll(Arrays.asList(var1));
         var0.blockFaceTags.put(Vector3iUtil.DOWN, var2);
      }, var0 -> var0.blockFaceTags.containsKey(Vector3iUtil.DOWN) ? var0.blockFaceTags.get(Vector3iUtil.DOWN).toArray(String[]::new) : new String[0])
      .add()
      .build();
   class="kw">public class="kw">static class="kw">final ConnectedBlockFaceTags EMPTY = new ConnectedBlockFaceTags();
   @Nonnull
   class="kw">private class="kw">final Map<Vector3ic, HashSet<String>> blockFaceTags = new Object2ObjectOpenHashMap();

   class="kw">public ConnectedBlockFaceTags() {
   }

   class="kw">public boolean contains(Vector3i var1, String var2) {
      class="kw">return this.blockFaceTags.containsKey(var1) && this.blockFaceTags.get(var1).contains(var2);
   }

   @Nonnull
   class="kw">public Map<Vector3ic, HashSet<String>> getBlockFaceTags() {
      class="kw">return this.blockFaceTags;
   }

   class="kw">public Set<String> getBlockFaceTags(Vector3i var1) {
      class="kw">return this.blockFaceTags.containsKey(var1) ? this.blockFaceTags.get(var1) : Collections.emptySet();
   }

   @Nonnull
   class="kw">public Set<Vector3ic> getDirections() {
      class="kw">return this.blockFaceTags.keySet();
   }

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.ConnectedBlockFaceTags toPacket() {
      com.hypixel.hytale.protocol.ConnectedBlockFaceTags var1 = new com.hypixel.hytale.protocol.ConnectedBlockFaceTags();
      var1.north = this.toArray(Vector3iUtil.NORTH);
      var1.east = this.toArray(Vector3iUtil.EAST);
      var1.south = this.toArray(Vector3iUtil.SOUTH);
      var1.west = this.toArray(Vector3iUtil.WEST);
      var1.up = this.toArray(Vector3iUtil.UP);
      var1.down = this.toArray(Vector3iUtil.DOWN);
      class="kw">return var1;
   }

   @Nullable
   class="kw">private String[] toArray(@Nonnull Vector3ic var1) {
      HashSet var2 = this.blockFaceTags.get(var1);
      class="kw">return var2 != null && !var2.isEmpty() ? var2.toArray(String[]::new) : null;
   }
}