RotatedMountPointsArray class

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

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

Поля (6)

МодификаторыТипИмя
final ArrayCodec<BlockMountPoint> CHILD
BlockMountPoint[] var2
var2
RotationTuple var3
List var4
BlockMountPoint var9

Методы (6)

МодификаторыВозвратСигнатура
for for(BlockMountPoint var8 : this.raw)
public BlockMountPoint[] getRawBlockMountPoint[] getRaw()
if if(this.raw != null && var1 != 0)
if if(this.rotated == null)
if if(var2 == null)
public int sizeint size()

Исходный код

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

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.function.FunctionCodec;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nullable;

class="kw">public class RotatedMountPointsArray {
   class="kw">private class="kw">static class="kw">final ArrayCodec<BlockMountPoint> CHILD = new ArrayCodec<>(BlockMountPoint.CODEC, BlockMountPoint[]::new);
   class="kw">public class="kw">static class="kw">final Codec<RotatedMountPointsArray> CODEC = new FunctionCodec<>(CHILD, RotatedMountPointsArray::new, RotatedMountPointsArray::getRaw);
   class="kw">private BlockMountPoint[] raw;
   class="kw">private class="kw">transient BlockMountPoint[][] rotated;

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

   class="kw">public RotatedMountPointsArray(BlockMountPoint[] var1) {
      this.raw = var1;
   }

   class="kw">public int size() {
      class="kw">return this.raw == null ? 0 : this.raw.length;
   }

   class="kw">public BlockMountPoint[] getRaw() {
      class="kw">return this.raw;
   }

   @Nullable
   class="kw">public BlockMountPoint[] getRotated(int var1) {
      if (this.raw != null && var1 != 0) {
         if (this.rotated == null) {
            this.rotated = new BlockMountPoint[RotationTuple.VALUES.length][];
         }

         BlockMountPoint[] var2 = this.rotated[var1];
         if (var2 == null) {
            RotationTuple var3 = RotationTuple.get(var1);
            List var4 = new ObjectArrayList();

            for (BlockMountPoint var8 : this.raw) {
               BlockMountPoint var9 = var8.rotate(var3.yaw(), var3.pitch(), var3.roll());
               var4.add(var9);
            }

            var2 = var4.toArray(BlockMountPoint[]::new);
            this.rotated[var1] = var2;
         }

         class="kw">return var2;
      } else {
         class="kw">return this.raw;
      }
   }
}