BlockFaceSupport class

Пакет: com.hypixel.hytale.server.core.asset.type.blocktype.config

Файл: com/hypixel/hytale/server/core/asset/type/blocktype/config/BlockFaceSupport.java

implements: NetworkSerializable<com.hypixel.hytale.protocol.BlockFaceSupport>

Поля (5)

МодификаторыТипИмя
final BuilderCodec<BlockFaceSupport> CODEC
com.hypixel.hytale.protocol.BlockFaceSupport var1
com.hypixel.hytale.protocol.Vector3i[] var2
Vector3i[] var4
Vector3i var4

Методы (6)

МодификаторыВозвратСигнатура
for for(int var3 = 0; var3 < this.filler.length; var3++)
public String getFaceTypeString getFaceType()
public Vector3i[] getFillerVector3i[] getFiller()
if if(var0 == ALL)
if if(this.filler != null)
public boolean providesSupportFromFillerboolean providesSupportFromFiller(Vector3i var1)

Исходный код

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

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.array.ArrayCodec;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.math.vector.Vector3iUtil;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;

class="kw">public class BlockFaceSupport class="kw">implements NetworkSerializable<com.hypixel.hytale.protocol.BlockFaceSupport> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<BlockFaceSupport> CODEC = BuilderCodec.builder(BlockFaceSupport.class, BlockFaceSupport::new)
      .append(new KeyedCodec<>("FaceType", Codec.STRING), (var0, var1) -> var0.faceType = var1, var0 -> var0.faceType)
      .add()
      .documentation("Can be any string. Compared with FaceType in \"Support\". A LOT of blocks use 'Full'.")
      .append(new KeyedCodec<>("Filler", new ArrayCodec<>(Vector3iUtil.CODEC, Vector3i[]::new)), (var0, var1) -> var0.filler = var1, var0 -> var0.filler)
      .add()
      .build();
   class="kw">public class="kw">static class="kw">final BlockFaceSupport ALL = new BlockFaceSupport();
   class="kw">public class="kw">static class="kw">final String FULL_SUPPORTING_FACE = "Full";
   class="kw">protected String faceType = "Full";
   class="kw">protected Vector3i[] filler;

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

   class="kw">public BlockFaceSupport(String var1, Vector3i[] var2) {
      this.faceType = var1;
      this.filler = var2;
   }

   class="kw">public String getFaceType() {
      class="kw">return this.faceType;
   }

   class="kw">public Vector3i[] getFiller() {
      class="kw">return this.filler;
   }

   class="kw">public boolean providesSupportFromFiller(Vector3i var1) {
      class="kw">return this.filler == null || ArrayUtil.contains(this.filler, var1);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "BlockFaceSupport{faceType='" + this.faceType + "', filler=" + Arrays.toString(this.filler) + "}";
   }

   @Nonnull
   class="kw">public class="kw">static BlockFaceSupport rotate(@Nonnull BlockFaceSupport var0, @Nonnull Rotation var1, @Nonnull Rotation var2, @Nonnull Rotation var3) {
      if (var0 == ALL) {
         class="kw">return ALL;
      }

      Vector3i[] var4 = ArrayUtil.copyAndMutate(var0.filler, var3x -> Rotation.rotate(var3x, var1, var2, var3), Vector3i[]::new);
      class="kw">return new BlockFaceSupport(var0.faceType, var4);
   }

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.BlockFaceSupport toPacket() {
      com.hypixel.hytale.protocol.BlockFaceSupport var1 = new com.hypixel.hytale.protocol.BlockFaceSupport();
      var1.faceType = this.faceType;
      if (this.filler != null) {
         com.hypixel.hytale.protocol.Vector3i[] var2 = new com.hypixel.hytale.protocol.Vector3i[this.filler.length];

         for (int var3 = 0; var3 < this.filler.length; var3++) {
            Vector3i var4 = this.filler[var3];
            var2[var3] = new com.hypixel.hytale.protocol.Vector3i(var4.x, var4.y, var4.z);
         }

         var1.filler = var2;
      }

      class="kw">return var1;
   }
}