CaveCoverContent class
Пакет: com.hypixel.hytale.builtin.worldgen.modifier.content.cover
Файл: com/hypixel/hytale/builtin/worldgen/modifier/content/cover/CaveCoverContent.java
extends: CoverContent
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
ID |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
protected |
CaveNodeType.CaveNodeCoverEntry |
buildEntryCaveNodeType.CaveNodeCoverEntry buildEntry(@Nonnull SeedString<SeedStringResource> var1) |
static |
CaveNodeType.CaveNodeCoverEntry.Entry |
createEntryCaveNodeType.CaveNodeCoverEntry.Entry createEntry(@Nonnull CoverContent.Entry var0, @Nonnull BlockFluidEntry var1) |
|
|
if if(this.entries.length != 0) |
|
|
if if(var1 instanceof ModifyEvents.CaveCovers var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.worldgen.modifier.content.cover;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.Content;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.event.ModifyEvent;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.event.ModifyEvents;
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.EnumCodec;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveNodeType;
class="kw">import com.hypixel.hytale.server.worldgen.util.BlockFluidEntry;
class="kw">import com.hypixel.hytale.server.worldgen.util.condition.RandomCoordinateCondition;
class="kw">import javax.annotation.Nonnull;
class="kw">public class CaveCoverContent class="kw">extends CoverContent {
class="kw">public class="kw">static class="kw">final String ID = "CaveCover";
class="kw">public class="kw">static class="kw">final BuilderCodec<CaveCoverContent> CODEC = BuilderCodec.builder(CaveCoverContent.class, CaveCoverContent::new, CoverContent.CODEC)
.documentation("Define a block that will be placed on the floor or ceiling of a cave")
.<CaveNodeType.CaveNodeCoverType>append(
new KeyedCodec<>("Placement", new EnumCodec<>(CaveNodeType.CaveNodeCoverType.class)), (var0, var1) -> var0.placement = var1, var0 -> var0.placement
)
.documentation("The side of the cave where the cover should be placed")
.add()
.build();
class="kw">protected CaveNodeType.CaveNodeCoverType placement = CaveNodeType.CaveNodeCoverType.FLOOR;
class="kw">public CaveCoverContent() {
}
@Override
class="kw">public Content.Type type() {
class="kw">return Content.Type.CAVE_COVER;
}
@Override
class="kw">public <T> void applyTo(ModifyEvent<T> var1) class="kw">throws Exception {
if (this.entries.length != 0) {
if (var1 class="kw">instanceof ModifyEvents.CaveCovers var2) {
var2.entries().add(this.buildEntry(var1.seed()));
}
}
}
class="kw">protected CaveNodeType.CaveNodeCoverEntry buildEntry(@Nonnull SeedString<SeedStringResource> var1) {
class="kw">return new CaveNodeType.CaveNodeCoverEntry(
this.buildEntries(CaveNodeType.CaveNodeCoverEntry.Entry.EMPTY_ARRAY, CaveCoverContent::createEntry),
this.heightMask.getCondition(),
this.noiseMask.build(var1),
new RandomCoordinateCondition(this.chance),
this.parentMask.getCondition(),
this.placement
);
}
class="kw">protected class="kw">static CaveNodeType.CaveNodeCoverEntry.Entry createEntry(@Nonnull CoverContent.Entry var0, @Nonnull BlockFluidEntry var1) {
class="kw">return new CaveNodeType.CaveNodeCoverEntry.Entry(var1, var0.offset);
}
}