StaticDirectionalityAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.props.prefabprop.directionality
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/props/prefabprop/directionality/StaticDirectionalityAsset.java
extends: DirectionalityAsset
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
PrefabRotation |
var2 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public void |
acceptpublic void accept(Integer var1, ValidationResults var2) |
|
|
if if(var1 != 0 && var1 != 90 && var1 != 180 && var1 != 270) |
|
public void |
updateSchemapublic void updateSchema(SchemaContext var1, Schema var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.props.prefabprop.directionality;
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.props.deprecated.directionality.Directionality;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.deprecated.directionality.StaticDirectionality;
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.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import com.hypixel.hytale.codec.validation.ValidationResults;
class="kw">import com.hypixel.hytale.codec.validation.Validator;
class="kw">import com.hypixel.hytale.server.core.prefab.PrefabRotation;
class="kw">import javax.annotation.Nonnull;
class="kw">public class StaticDirectionalityAsset class="kw">extends DirectionalityAsset {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<StaticDirectionalityAsset> CODEC = BuilderCodec.builder(
StaticDirectionalityAsset.class, StaticDirectionalityAsset::new, DirectionalityAsset.ABSTRACT_CODEC
)
.append(new KeyedCodec<>("Rotation", Codec.INTEGER, false), (var0, var1) -> var0.rotation = var1, var0 -> var0.rotation)
.addValidator(new Validator<Integer>() {
class="kw">public void accept(Integer var1, ValidationResults var2) {
if (var1 != 0 && var1 != 90 && var1 != 180 && var1 != 270) {
var2.fail("Rotation can only have the values: 0, 90, 180, 270");
}
}
@Override
class="kw">public void updateSchema(SchemaContext var1, Schema var2) {
}
})
.add()
.append(new KeyedCodec<>("Pattern", PatternAsset.CODEC, true), (var0, var1) -> var0.patternAsset = var1, var0 -> var0.patternAsset)
.add()
.build();
class="kw">private int rotation = 0;
class="kw">private PatternAsset patternAsset = new ConstantPatternAsset();
class="kw">public StaticDirectionalityAsset() {
}
@Nonnull
@Override
class="kw">public Directionality build(@Nonnull DirectionalityAsset.Argument var1) {
PrefabRotation var2 = class="kw">switch (this.rotation) {
case 90 -> PrefabRotation.ROTATION_90;
case 180 -> PrefabRotation.ROTATION_180;
case 270 -> PrefabRotation.ROTATION_270;
class="kw">default -> PrefabRotation.ROTATION_0;
};
class="kw">return new StaticDirectionality(var2, this.patternAsset.build(PatternAsset.argumentFrom(var1)));
}
@Override
class="kw">public void cleanUp() {
this.patternAsset.cleanUp();
}
}