ShapeCodecs class

Пакет: com.hypixel.hytale.server.core.codec

Файл: com/hypixel/hytale/server/core/codec/ShapeCodecs.java

Поля (1)

МодификаторыТипИмя
final CodecMapCodec<Shape> SHAPE

Исходный код

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

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.lookup.CodecMapCodec;
class="kw">import com.hypixel.hytale.math.shape.Box;
class="kw">import com.hypixel.hytale.math.shape.Cylinder;
class="kw">import com.hypixel.hytale.math.shape.Ellipsoid;
class="kw">import com.hypixel.hytale.math.shape.OriginShape;
class="kw">import com.hypixel.hytale.math.shape.Shape;
class="kw">import com.hypixel.hytale.math.vector.Vector3dUtil;

class="kw">public class ShapeCodecs {
   class="kw">public class="kw">static class="kw">final CodecMapCodec<Shape> SHAPE = new CodecMapCodec<>();
   class="kw">public class="kw">static class="kw">final BuilderCodec<Box> BOX = BuilderCodec.<Box>builder(Box.class, Box::new)
      .addField(new KeyedCodec<>("Min", Vector3dUtil.CODEC), (var0, var1) -> var0.min.set(var1), var0 -> var0.min)
      .addField(new KeyedCodec<>("Max", Vector3dUtil.CODEC), (var0, var1) -> var0.max.set(var1), var0 -> var0.max)
      .build();
   class="kw">public class="kw">static class="kw">final BuilderCodec<Ellipsoid> ELLIPSOID = BuilderCodec.<Ellipsoid>builder(Ellipsoid.class, Ellipsoid::new)
      .addField(new KeyedCodec<>("RadiusX", Codec.DOUBLE), (var0, var1) -> var0.radiusX = var1, var0 -> var0.radiusX)
      .addField(new KeyedCodec<>("RadiusY", Codec.DOUBLE), (var0, var1) -> var0.radiusY = var1, var0 -> var0.radiusY)
      .addField(new KeyedCodec<>("RadiusZ", Codec.DOUBLE), (var0, var1) -> var0.radiusZ = var1, var0 -> var0.radiusZ)
      .addField(new KeyedCodec<>("Radius", Codec.DOUBLE), Ellipsoid::assign, var0 -> null)
      .build();
   class="kw">public class="kw">static class="kw">final BuilderCodec<Cylinder> CYLINDER = BuilderCodec.<Cylinder>builder(Cylinder.class, Cylinder::new)
      .addField(new KeyedCodec<>("Height", Codec.DOUBLE), (var0, var1) -> var0.height = var1, var0 -> var0.height)
      .addField(new KeyedCodec<>("RadiusX", Codec.DOUBLE), (var0, var1) -> var0.radiusX = var1, var0 -> var0.radiusX)
      .addField(new KeyedCodec<>("RadiusZ", Codec.DOUBLE), (var0, var1) -> var0.radiusZ = var1, var0 -> var0.radiusZ)
      .addField(new KeyedCodec<>("Radius", Codec.DOUBLE), Cylinder::assign, var0 -> null)
      .build();
   class="kw">public class="kw">static class="kw">final BuilderCodec<OriginShape<Shape>> ORIGIN_SHAPE = BuilderCodec.<OriginShape>builder(OriginShape.class, OriginShape::new)
      .addField(new KeyedCodec<>("Origin", Vector3dUtil.CODEC), (var0, var1) -> var0.origin.set(var1), var0 -> var0.origin)
      .addField(new KeyedCodec<>("Shape", SHAPE), (var0, var1) -> var0.shape = (S)var1, var0 -> var0.shape)
      .build();

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

   class="kw">static {
      SHAPE.register("Box", Box.class, BOX);
      SHAPE.register("Ellipsoid", Ellipsoid.class, ELLIPSOID);
      SHAPE.register("Cylinder", Cylinder.class, CYLINDER);
      SHAPE.register("OriginShape", OriginShape.class, ORIGIN_SHAPE);
   }
}