ConnectedBlockShapeConfig class

Пакет: com.hypixel.hytale.server.core.universe.world.connectedblocks.config.shape

Файл: com/hypixel/hytale/server/core/universe/world/connectedblocks/config/shape/ConnectedBlockShapeConfig.java

Поля (1)

МодификаторыТипИмя
final BuilderCodec<ConnectedBlockShapeConfig> BASE_CODEC

Методы (5)

МодификаторыВозвратСигнатура
protected void applyBaseToPacketvoid applyBaseToPacket(ConnectedBlockShape var1)
public ConnectedBlockFaceTags getFaceTagsConnectedBlockFaceTags getFaceTags()
public RotationTuple getRelativeRotationRotationTuple getRelativeRotation()
abstract abstract boolean matchesboolean matches(PatternedConnectedBlockRuleSet var1, BlockType var2)
abstract abstract ConnectedBlockShape toPacketConnectedBlockShape toPacket()

Исходный код

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

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.protocol.ConnectedBlockShape;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import com.hypixel.hytale.server.core.universe.world.connectedblocks.config.BlockRotationConfig;
class="kw">import com.hypixel.hytale.server.core.universe.world.connectedblocks.config.ConnectedBlockFaceTags;
class="kw">import com.hypixel.hytale.server.core.universe.world.connectedblocks.config.PatternedConnectedBlockRuleSet;

class="kw">public class="kw">abstract class ConnectedBlockShapeConfig {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ConnectedBlockShapeConfig> BASE_CODEC = BuilderCodec.abstractBuilder(ConnectedBlockShapeConfig.class)
      .append(new KeyedCodec<>("FaceTags", ConnectedBlockFaceTags.CODEC, false), (var0, var1) -> var0.faceTags = var1, var0 -> var0.faceTags)
      .add()
      .append(
         new KeyedCodec<>("RelativeRotation", BlockRotationConfig.CODEC, false),
         (var0, var1) -> var0.relativeRotation = var1.toRotationTuple(),
         var0 -> new BlockRotationConfig(var0.relativeRotation)
      )
      .add()
      .build();
   class="kw">public class="kw">static class="kw">final CodecMapCodec<ConnectedBlockShapeConfig> CODEC = new CodecMapCodec<>("Type");
   class="kw">private RotationTuple relativeRotation = RotationTuple.NONE;
   class="kw">private ConnectedBlockFaceTags faceTags;

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

   class="kw">public RotationTuple getRelativeRotation() {
      class="kw">return this.relativeRotation;
   }

   class="kw">public ConnectedBlockFaceTags getFaceTags() {
      class="kw">return this.faceTags;
   }

   class="kw">public class="kw">abstract boolean matches(PatternedConnectedBlockRuleSet var1, BlockType var2);

   class="kw">public class="kw">abstract ConnectedBlockShape toPacket();

   class="kw">protected void applyBaseToPacket(ConnectedBlockShape var1) {
      var1.faceTags = this.faceTags == null ? null : this.faceTags.toPacket();
      var1.relativeRotationIndex = this.relativeRotation.index();
   }
}