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;
}
}