Mirror class

Пакет: com.hypixel.hytale.builtin.buildertools.tooloperations.transform

Файл: com/hypixel/hytale/builtin/buildertools/tooloperations/transform/Mirror.java

implements: Transform

Поля (1)

МодификаторыТипИмя
final Transform X

Методы (5)

МодификаторыВозвратСигнатура
static Transform forAxisTransform forAxis(BrushAxis var0)
static Transform forDirectionTransform forDirection(@Nonnull Vector3i var0)
static Transform forDirectionTransform forDirection(@Nonnull Vector3i var0, boolean var1)
abstract return forDirectionreturn forDirection(var0, true)
return switchreturn switch(var0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.tooloperations.transform;

class="kw">import com.hypixel.hytale.math.Axis;
class="kw">import com.hypixel.hytale.protocol.packets.buildertools.BrushAxis;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;

class="kw">public class Mirror class="kw">implements Transform {
   class="kw">public class="kw">static class="kw">final Transform X = new Mirror(Axis.X);
   class="kw">public class="kw">static class="kw">final Transform Y = new Mirror(Axis.Y);
   class="kw">public class="kw">static class="kw">final Transform Z = new Mirror(Axis.Z);
   class="kw">private class="kw">final Axis axis;

   class="kw">private Mirror(Axis var1) {
      this.axis = var1;
   }

   @Override
   class="kw">public void apply(@Nonnull Vector3i var1) {
      this.axis.flip(var1);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "Mirror{axis=" + this.axis + "}";
   }

   class="kw">public class="kw">static Transform forAxis(BrushAxis var0) {
      class="kw">return class="kw">switch (var0) {
         case X -> X;
         case Y -> Y;
         case Z -> Z;
         case None, Auto -> NONE;
      };
   }

   class="kw">public class="kw">static Transform forDirection(@Nonnull Vector3i var0) {
      class="kw">return forDirection(var0, true);
   }

   class="kw">public class="kw">static Transform forDirection(@Nonnull Vector3i var0, boolean var1) {
      if (var0.x() != 0) {
         class="kw">return X;
      } else if (var0.z() != 0) {
         class="kw">return Z;
      } else if (var0.y() > 0) {
         class="kw">return Y;
      } else {
         class="kw">return var0.y() < 0 && var1 ? Y : NONE;
      }
   }
}