SurfacePatternAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.patterns
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/patterns/SurfacePatternAsset.java
extends: PatternAsset
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Pattern |
var2 |
|
Pattern |
var3 |
|
ArrayList |
var4 |
|
SurfacePattern |
var9 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(SurfacePattern.Facing var8 : this.facings) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.patterns;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.patterns.AndPattern;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.patterns.ConstantPattern;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.patterns.OrPattern;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.patterns.Pattern;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.patterns.SurfacePattern;
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.codec.validation.Validators;
class="kw">import java.util.ArrayList;
class="kw">import javax.annotation.Nonnull;
class="kw">public class SurfacePatternAsset class="kw">extends PatternAsset {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<SurfacePatternAsset> CODEC = BuilderCodec.builder(
SurfacePatternAsset.class, SurfacePatternAsset::new, PatternAsset.ABSTRACT_CODEC
)
.append(new KeyedCodec<>("Surface", PatternAsset.CODEC, true), (var0, var1) -> var0.surface = var1, var0 -> var0.surface)
.add()
.append(new KeyedCodec<>("Medium", PatternAsset.CODEC, true), (var0, var1) -> var0.origin = var1, var0 -> var0.origin)
.add()
.<Double>append(new KeyedCodec<>("SurfaceRadius", Codec.DOUBLE, false), (var0, var1) -> var0.surfaceRadius = var1, var0 -> var0.surfaceRadius)
.addValidator(Validators.greaterThanOrEqual(0.0))
.add()
.<Double>append(new KeyedCodec<>("MediumRadius", Codec.DOUBLE, false), (var0, var1) -> var0.originRadius = var1, var0 -> var0.originRadius)
.addValidator(Validators.greaterThanOrEqual(0.0))
.add()
.<Integer>append(new KeyedCodec<>("SurfaceGap", Codec.INTEGER, false), (var0, var1) -> var0.surfaceGap = var1, var0 -> var0.surfaceGap)
.addValidator(Validators.greaterThanOrEqual(0))
.add()
.<Integer>append(new KeyedCodec<>("MediumGap", Codec.INTEGER, false), (var0, var1) -> var0.originGap = var1, var0 -> var0.originGap)
.addValidator(Validators.greaterThanOrEqual(0))
.add()
.append(new KeyedCodec<>("RequireAllFacings", Codec.BOOLEAN, false), (var0, var1) -> var0.requireAllFacings = var1, var0 -> var0.requireAllFacings)
.add()
.append(
new KeyedCodec<>("Facings", new ArrayCodec<>(SurfacePattern.Facing.CODEC, SurfacePattern.Facing[]::new), true),
(var0, var1) -> var0.facings = var1,
var0 -> var0.facings
)
.add()
.build();
class="kw">private PatternAsset surface = new ConstantPatternAsset();
class="kw">private PatternAsset origin = new ConstantPatternAsset();
class="kw">private double surfaceRadius;
class="kw">private double originRadius;
class="kw">private int surfaceGap;
class="kw">private int originGap;
class="kw">private SurfacePattern.Facing[] facings = new SurfacePattern.Facing[0];
class="kw">private boolean requireAllFacings;
class="kw">public SurfacePatternAsset() {
}
@Nonnull
@Override
class="kw">public Pattern build(@Nonnull PatternAsset.Argument var1) {
if (super.skip()) {
class="kw">return ConstantPattern.INSTANCE_FALSE;
}
Pattern var2 = this.surface.build(var1);
Pattern var3 = this.origin.build(var1);
ArrayList var4 = new ArrayList<>(this.facings.length);
for (SurfacePattern.Facing var8 : this.facings) {
SurfacePattern var9 = new SurfacePattern(var2, var3, this.surfaceRadius, this.originRadius, var8, this.surfaceGap, this.originGap);
var4.add(var9);
}
class="kw">return this.requireAllFacings ? new AndPattern(var4) : new OrPattern(var4);
}
@Override
class="kw">public void cleanUp() {
this.surface.cleanUp();
this.origin.cleanUp();
}
}