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