Result enum
Пакет: com.hypixel.hytale.builtin.adventure.worldevents.condition.spawner
Файл: com/hypixel/hytale/builtin/adventure/worldevents/condition/spawner/Spawner.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
PASS,
FAIL, |
ERROR |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.condition.spawner;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.Validator;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.WorldEvent;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.lookup.CodecMapCodec;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.protocol.Opacity;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.section.BlockSection;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.section.FluidSection;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3ic;
class="kw">public class="kw">interface Spawner {
Spawner[] EMPTY_ARRAY = new Spawner[0];
int INVALID_HEIGHT = Integer.MIN_VALUE;
Spawner.Result test(@Nonnull World var1, @Nonnull Vector3ic var2, @Nonnull Random var3);
boolean onComplete(@Nonnull Vector3ic var1, @Nonnull WorldEvent var2);
class="kw">static int findSurface(int var0, int var1, int var2, int var3, int var4, @Nonnull ChunkStore var5) {
if (testSurface(var0, var1, var2, var3, var5)) {
class="kw">return var1;
}
for (int var6 = 1; var6 <= var4; var6++) {
if (testSurface(var0, var1 - var6, var2, var3, var5)) {
class="kw">return var1 - var6;
}
if (testSurface(var0, var1 + var6, var2, var3, var5)) {
class="kw">return var1 + var6;
}
}
class="kw">return Integer.MIN_VALUE;
}
class="kw">static int getBlockId(int var0, int var1, int var2, @Nonnull ChunkStore var3) {
Ref var4 = var3.getChunkSectionReferenceAtBlock(var0, var1, var2);
if (var4 == null) {
class="kw">return 1;
}
BlockSection var5 = var3.getStore().getComponent(var4, BlockSection.getComponentType());
class="kw">return var5 == null ? 1 : var5.get(var0, var1, var2);
}
class="kw">static int getFluidId(int var0, int var1, int var2, @Nonnull ChunkStore var3) {
Ref var4 = var3.getChunkSectionReferenceAtBlock(var0, var1, var2);
if (var4 == null) {
class="kw">return 0;
}
FluidSection var5 = var3.getStore().getComponent(var4, FluidSection.getComponentType());
class="kw">return var5 == null ? 0 : var5.getFluidId(var0, var1, var2);
}
class="kw">private class="kw">static boolean testSurface(int var0, int var1, int var2, int var3, @Nonnull ChunkStore var4) {
int var5 = getBlockId(var0, var1, var2, var4);
if (var5 != 0 && var5 != 1) {
BlockType var6 = BlockType.getAssetMap().getAsset(var5);
if (var6 != null && var6.getOpacity() != Opacity.Transparent) {
for (int var7 = 1; var7 <= var3; var7++) {
if (getBlockId(var0, var1 + var7, var2, var4) != 0) {
class="kw">return false;
}
}
class="kw">return true;
} else {
class="kw">return false;
}
} else {
class="kw">return false;
}
}
class="kw">interface Config {
Spawner.Config[] EMPTY_ARRAY = new Spawner.Config[0];
CodecMapCodec<Spawner.Config> TYPE_CODEC = new CodecMapCodec<>("Type", true);
ArrayCodec<Spawner.Config> ARRAY_CODEC = new ArrayCodec<>(TYPE_CODEC, Spawner.Config[]::new);
@Nonnull
Spawner create();
class="kw">default void validate(@Nonnull Validator var1) {
}
}
enum Result {
PASS,
FAIL,
ERROR;
Result() {
}
}
}