PondFillerPropAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.props
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/props/PondFillerPropAsset.java
extends: PropAsset
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
MaterialProvider |
var2 |
|
MaterialSet |
var3 |
|
Pattern |
var4 |
|
Scanner |
var5 |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.props;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.MaterialSet;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.blockset.MaterialSetAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.bounds.IntegerBounds3dAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.materialproviders.ConstantMaterialProviderAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.materialproviders.MaterialProviderAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.patterns.ConstantPatternAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.patterns.PatternAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.scanners.DirectScannerAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.scanners.ScannerAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.materialproviders.MaterialProvider;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.patterns.Pattern;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.EmptyProp;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.PondFillerProp;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.Prop;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.scanners.Scanner;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.math.vector.Vector3iUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;
class="kw">public class PondFillerPropAsset class="kw">extends PropAsset {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<PondFillerPropAsset> CODEC = BuilderCodec.builder(
PondFillerPropAsset.class, PondFillerPropAsset::new, PropAsset.ABSTRACT_CODEC
)
.append(
new KeyedCodec<>("FillMaterial", MaterialProviderAsset.CODEC, true),
(var0, var1) -> var0.fluidMaterialProviderAsset = var1,
var0 -> var0.fluidMaterialProviderAsset
)
.add()
.append(new KeyedCodec<>("BarrierBlockSet", MaterialSetAsset.CODEC, true), (var0, var1) -> var0.solidSetAsset = var1, var0 -> var0.solidSetAsset)
.add()
.append(new KeyedCodec<>("Bounds", IntegerBounds3dAsset.CODEC, true), (var0, var1) -> var0.boundsAsset = var1, var0 -> var0.boundsAsset)
.add()
.append(new KeyedCodec<>("BoundingMin", Vector3iUtil.CODEC, true), (var0, var1) -> var0.boundingMin = var1, var0 -> var0.boundingMin)
.add()
.append(new KeyedCodec<>("BoundingMax", Vector3iUtil.CODEC, true), (var0, var1) -> var0.boundingMax = var1, var0 -> var0.boundingMax)
.add()
.append(new KeyedCodec<>("Pattern", PatternAsset.CODEC, true), (var0, var1) -> var0.patternAsset = var1, var0 -> var0.patternAsset)
.add()
.append(new KeyedCodec<>("Scanner", ScannerAsset.CODEC, true), (var0, var1) -> var0.scannerAsset = var1, var0 -> var0.scannerAsset)
.add()
.build();
class="kw">private class="kw">static class="kw">final PatternAsset DEFAULT_PATTERN_ASSET = new ConstantPatternAsset();
class="kw">private class="kw">static class="kw">final ScannerAsset DEFAULT_SCANNER_ASSET = new DirectScannerAsset();
class="kw">private class="kw">static class="kw">final Vector3i DEFAULT_MIN_ASSET = new Vector3i(-10, -10, -10);
class="kw">private class="kw">static class="kw">final Vector3i DEFAULT_MAX_ASSET = new Vector3i(10, 10, 10);
@Nonnull
class="kw">private IntegerBounds3dAsset boundsAsset = new IntegerBounds3dAsset();
@Nonnull
class="kw">private MaterialProviderAsset fluidMaterialProviderAsset = new ConstantMaterialProviderAsset();
@Nonnull
class="kw">private MaterialSetAsset solidSetAsset = new MaterialSetAsset();
@Nonnull
class="kw">private Vector3i boundingMin = DEFAULT_MIN_ASSET;
@Nonnull
class="kw">private Vector3i boundingMax = DEFAULT_MAX_ASSET;
@Nonnull
class="kw">private PatternAsset patternAsset = DEFAULT_PATTERN_ASSET;
@Nonnull
class="kw">private ScannerAsset scannerAsset = DEFAULT_SCANNER_ASSET;
class="kw">public PondFillerPropAsset() {
}
@Nonnull
@Override
class="kw">public Prop build(@Nonnull PropAsset.Argument var1) {
if (super.skip()) {
class="kw">return EmptyProp.INSTANCE;
} else if (this.patternAsset == DEFAULT_PATTERN_ASSET
&& this.scannerAsset == DEFAULT_SCANNER_ASSET
&& this.boundingMin == DEFAULT_MIN_ASSET
&& this.boundingMax == DEFAULT_MAX_ASSET) {
class="kw">return new PondFillerProp(
this.boundsAsset.build(),
this.fluidMaterialProviderAsset.build(MaterialProviderAsset.argumentFrom(var1)),
this.solidSetAsset.build(var1.materialCache)
);
} else if (this.scannerAsset != null && this.patternAsset != null && this.fluidMaterialProviderAsset != null && this.solidSetAsset != null) {
MaterialProvider var2 = this.fluidMaterialProviderAsset.build(MaterialProviderAsset.argumentFrom(var1));
MaterialSet var3 = this.solidSetAsset.build(var1.materialCache);
Pattern var4 = this.patternAsset.build(PatternAsset.argumentFrom(var1));
Scanner var5 = this.scannerAsset.build(ScannerAsset.argumentFrom(var1));
class="kw">return new com.hypixel.hytale.builtin.hytalegenerator.props.deprecated.filler.PondFillerProp(
this.boundingMin, this.boundingMax, var3, var2, var5, var4
);
} else {
class="kw">return EmptyProp.INSTANCE;
}
}
@Override
class="kw">public void cleanUp() {
this.fluidMaterialProviderAsset.cleanUp();
this.solidSetAsset.cleanUp();
this.patternAsset.cleanUp();
this.scannerAsset.cleanUp();
}
}