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;
}
}