RotatorPattern class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.patterns

Файл: com/hypixel/hytale/builtin/hytalegenerator/patterns/RotatorPattern.java

extends: Pattern

Поля (1)

МодификаторыТипИмя
boolean var2

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.MaterialCache;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.voxelspace.NullSpace;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.voxelspace.RotationVoxelSpace;
class="kw">import com.hypixel.hytale.math.vector.Vector3iUtil;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import javax.annotation.Nonnull;

class="kw">public class RotatorPattern class="kw">extends Pattern {
   @Nonnull
   class="kw">private class="kw">final Pattern pattern;
   @Nonnull
   class="kw">private class="kw">final Bounds3i bounds;
   @Nonnull
   class="kw">private class="kw">final RotationVoxelSpace rReadRotationVoxelSpace;
   @Nonnull
   class="kw">private class="kw">final Pattern.Context rChildContext;

   class="kw">public RotatorPattern(@Nonnull Pattern var1, @Nonnull RotationTuple var2, @Nonnull MaterialCache var3) {
      this.pattern = var1;
      this.bounds = var1.getBounds_voxelGrid().clone().applyRotationAroundVoxel(var2, Vector3iUtil.ZERO);
      this.rReadRotationVoxelSpace = new RotationVoxelSpace(var2, var3);
      this.rChildContext = new Pattern.Context();
   }

   @Override
   class="kw">public boolean matches(@Nonnull Pattern.Context var1) {
      this.rReadRotationVoxelSpace.setSource(var1.materialSpace, var1.position);
      this.rChildContext.assign(var1);
      this.rChildContext.materialSpace = this.rReadRotationVoxelSpace;
      boolean var2 = this.pattern.matches(this.rChildContext);
      this.rChildContext.clearReferences();
      this.rReadRotationVoxelSpace.setSource(NullSpace.instance(), Vector3iUtil.ZERO);
      class="kw">return var2;
   }

   @Nonnull
   @Override
   class="kw">public Bounds3i getBounds_voxelGrid() {
      class="kw">return this.bounds;
   }
}