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