PointEntry class
Пакет: com.hypixel.hytale.builtin.points.manager
Файл: com/hypixel/hytale/builtin/points/manager/PointEntry.java
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Rotation3f |
var1 |
|
IntOpenHashSet |
var1 |
|
LinkedHashMap |
var1 |
|
String |
var4 |
|
String |
var4 |
|
String |
var5 |
Методы (13)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
Transformreturn new Transform(this.position, var1) |
|
void |
expandTagsvoid expandTags() |
public |
boolean |
hasTagboolean hasTag(int var1) |
public |
boolean |
hasTagsboolean hasTags(Collection<Integer> var1) |
public |
boolean |
isEnabledboolean isEnabled() |
public |
void |
setEnabledvoid setEnabled(boolean var1) |
public |
void |
setIdvoid setId(@Nonnull String var1) |
public |
void |
setNamevoid setName(@Nullable String var1) |
public |
void |
setPositionvoid setPosition(@Nonnull Vector3d var1) |
public |
void |
setRotationvoid setRotation(@Nonnull Vector3f var1) |
public |
void |
setShapevoid setShape(@Nonnull PointShapeType var1) |
public |
void |
setTagsvoid setTags(@Nonnull Map<String, String> var1) |
public |
void |
setWorldNamevoid setWorldName(@Nonnull String var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.points.manager;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
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.EnumCodec;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.math.vector.Transform;
class="kw">import com.hypixel.hytale.math.vector.Vector3dUtil;
class="kw">import com.hypixel.hytale.math.vector.Vector3fUtil;
class="kw">import com.hypixel.hytale.protocol.packets.player.PointShapeType;
class="kw">import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSets;
class="kw">import java.util.Collection;
class="kw">import java.util.Collections;
class="kw">import java.util.LinkedHashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3f;
class="kw">public class PointEntry {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<PointEntry> CODEC = BuilderCodec.builder(PointEntry.class, PointEntry::new)
.append(new KeyedCodec<>("Position", Vector3dUtil.CODEC), (var0, var1) -> var0.position = var1, var0 -> var0.position)
.add()
.append(
new KeyedCodec<>("Rotation", Vector3fUtil.CODEC, false),
(var0, var1) -> var0.rotation = var1,
var0 -> var0.rotation.lengthSquared() > 0.0F ? var0.rotation : null
)
.add()
.append(new KeyedCodec<>("Name", Codec.STRING, false), (var0, var1) -> var0.name = var1, var0 -> var0.name)
.add()
.append(new KeyedCodec<>("Enabled", Codec.BOOLEAN, false), (var0, var1) -> var0.enabled = var1, var0 -> var0.enabled)
.add()
.append(new KeyedCodec<>("Tags", PointCodecs.TAGS, false), PointEntry::setTags, var0 -> var0.rawTags.isEmpty() ? null : var0.rawTags)
.add()
.append(
new KeyedCodec<>("Shape", new EnumCodec<>(PointShapeType.class), false),
(var0, var1) -> var0.shape = var1,
var0 -> var0.shape != PointShapeType.Block ? var0.shape : null
)
.add()
.build();
@Nonnull
class="kw">private String id = "";
@Nonnull
class="kw">private String worldName = "";
@Nonnull
class="kw">private Vector3d position = new Vector3d();
@Nonnull
class="kw">private Vector3f rotation = new Vector3f();
@Nullable
class="kw">private String name;
class="kw">private boolean enabled = true;
@Nonnull
class="kw">private PointShapeType shape = PointShapeType.Block;
@Nonnull
class="kw">private Map<String, String> rawTags = Collections.emptyMap();
@Nonnull
class="kw">private IntSet expandedTagIndexes = IntSets.EMPTY_SET;
PointEntry() {
}
class="kw">public PointEntry(@Nonnull String var1, @Nonnull String var2, @Nonnull Vector3d var3, @Nonnull Vector3f var4, @Nullable String var5, boolean var6) {
this.id = var1;
this.worldName = var2;
this.position = var3;
this.rotation = var4;
this.name = var5;
this.enabled = var6;
}
class="kw">public void setId(@Nonnull String var1) {
this.id = var1;
}
@Nonnull
class="kw">public String getId() {
class="kw">return this.id;
}
class="kw">public void setWorldName(@Nonnull String var1) {
this.worldName = var1;
}
@Nonnull
class="kw">public String getWorldName() {
class="kw">return this.worldName;
}
@Nonnull
class="kw">public Vector3d getPosition() {
class="kw">return this.position;
}
class="kw">public void setPosition(@Nonnull Vector3d var1) {
this.position = var1;
}
@Nonnull
class="kw">public Vector3f getRotation() {
class="kw">return this.rotation;
}
class="kw">public void setRotation(@Nonnull Vector3f var1) {
this.rotation = var1;
}
@Nonnull
class="kw">public Transform getTransform() {
Rotation3f var1 = new Rotation3f(
(float)Math.toRadians(this.rotation.x()), (float)Math.toRadians(this.rotation.y()), (float)Math.toRadians(this.rotation.z())
);
class="kw">return new Transform(this.position, var1);
}
@Nullable
class="kw">public String getName() {
class="kw">return this.name;
}
class="kw">public void setName(@Nullable String var1) {
this.name = var1;
}
class="kw">public boolean isEnabled() {
class="kw">return this.enabled;
}
class="kw">public void setEnabled(boolean var1) {
this.enabled = var1;
}
@Nonnull
class="kw">public PointShapeType getShape() {
class="kw">return this.shape;
}
class="kw">public void setShape(@Nonnull PointShapeType var1) {
this.shape = var1;
}
@Nonnull
class="kw">public Map<String, String> getRawTags() {
class="kw">return this.rawTags;
}
class="kw">public void setTags(@Nonnull Map<String, String> var1) {
this.rawTags = normalizeTags(var1);
this.expandTags();
}
@Nonnull
class="kw">public IntSet getExpandedTagIndexes() {
class="kw">return this.expandedTagIndexes;
}
class="kw">public boolean hasTag(int var1) {
class="kw">return this.expandedTagIndexes.contains(var1);
}
class="kw">public boolean hasTags(Collection<Integer> var1) {
class="kw">return this.expandedTagIndexes.containsAll(var1);
}
void expandTags() {
if (this.rawTags.isEmpty()) {
this.expandedTagIndexes = IntSets.EMPTY_SET;
} else {
IntOpenHashSet var1 = new IntOpenHashSet();
for (Entry var3 : this.rawTags.entrySet()) {
String var4 = var3.getKey();
var1.add(AssetRegistry.getOrCreateTagIndex(var4));
String var5 = var3.getValue();
var1.add(AssetRegistry.getOrCreateTagIndex(var5));
var1.add(AssetRegistry.getOrCreateTagIndex(var4 + "=" + var5));
}
this.expandedTagIndexes = IntSets.unmodifiable(var1);
}
}
@Nonnull
class="kw">private class="kw">static Map<String, String> normalizeTags(@Nonnull Map<String, String> var0) {
if (var0.isEmpty()) {
class="kw">return Collections.emptyMap();
}
LinkedHashMap var1 = new LinkedHashMap<>();
for (Entry var3 : var0.entrySet()) {
String var4 = var3.getKey().trim();
if (!var4.isEmpty()) {
var1.put(var4, PointCodecs.normalizeValue(var3.getValue()));
}
}
class="kw">return var1.isEmpty() ? Collections.emptyMap() : var1;
}
}