MaterialAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.material
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/material/MaterialAsset.java
implements: JsonAssetWithMap<String, DefaultAssetMap<String, MaterialAsset>>, Cleanable
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
|
RotationTuple |
var2 |
|
|
var2 |
|
|
var2 |
|
SolidMaterial |
var3 |
|
|
var3 |
|
FluidMaterial |
var4 |
|
|
var4 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
Materialreturn new Material(var3, var4) |
public |
String |
getIdString getId() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.material;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.Cleanable;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.FluidMaterial;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.MaterialCache;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.SolidMaterial;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.Rotation;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import javax.annotation.Nonnull;
class="kw">public class MaterialAsset class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, MaterialAsset>>, Cleanable {
@Nonnull
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, MaterialAsset> CODEC = AssetBuilderCodec.builder(
MaterialAsset.class,
MaterialAsset::new,
Codec.STRING,
(var0, var1) -> var0.id = var1,
var0 -> var0.id,
(var0, var1) -> var0.data = var1,
var0 -> var0.data
)
.append(new KeyedCodec<>("Solid", Codec.STRING, true), (var0, var1) -> var0.solidName = var1, var0 -> var0.solidName)
.add()
.append(new KeyedCodec<>("Fluid", Codec.STRING, true), (var0, var1) -> var0.fluidName = var1, var0 -> var0.fluidName)
.add()
.append(new KeyedCodec<>("SolidBottomUp", Codec.BOOLEAN, false), (var0, var1) -> var0.isSolidBottomUp = var1, var0 -> var0.isSolidBottomUp)
.add()
.append(
new KeyedCodec<>("SolidRotation", OrthogonalRotationAsset.CODEC, false),
(var0, var1) -> var0.solidRotationAsset = var1,
var0 -> var0.solidRotationAsset
)
.add()
.build();
class="kw">private String id;
class="kw">private AssetExtraInfo.Data data;
@Nonnull
class="kw">private String solidName = "";
@Nonnull
class="kw">private String fluidName = "";
class="kw">private boolean isSolidBottomUp = false;
class="kw">private OrthogonalRotationAsset solidRotationAsset = new OrthogonalRotationAsset();
class="kw">public MaterialAsset() {
}
class="kw">public MaterialAsset(@Nonnull String var1, @Nonnull String var2, boolean var3) {
this.solidName = var1;
this.fluidName = var2;
this.isSolidBottomUp = var3;
}
class="kw">public MaterialAsset(@Nonnull String var1, @Nonnull String var2, @Nonnull OrthogonalRotationAsset var3) {
this.solidName = var1;
this.fluidName = var2;
this.isSolidBottomUp = false;
this.solidRotationAsset = var3;
}
@Nonnull
class="kw">public Material build(@Nonnull MaterialCache var1) {
RotationTuple var2;
if (this.solidRotationAsset.isNone() && this.isSolidBottomUp) {
var2 = RotationTuple.of(Rotation.None, Rotation.OneEighty, Rotation.None);
} else {
var2 = this.solidRotationAsset.build();
}
SolidMaterial var3 = var1.EMPTY_AIR;
if (!this.solidName.isEmpty()) {
var3 = var1.getSolidMaterial(this.solidName, var2);
}
FluidMaterial var4 = var1.EMPTY_FLUID;
if (!this.fluidName.isEmpty()) {
var4 = var1.getFluidMaterial(this.fluidName);
}
class="kw">return new Material(var3, var4);
}
class="kw">public String getId() {
class="kw">return this.id;
}
@Override
class="kw">public void cleanUp() {
}
}