KeyMemorySerializer interface
Пакет: com.hypixel.hytale.server.core.universe.world.chunk.section.palette
Файл: com/hypixel/hytale/server/core/universe/world/chunk/section/palette/AbstractSectionPalette.java
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
int |
keySizeint keySize(int var1) |
abstract |
int |
serializeint serialize(MemorySegment var1, int var2, int var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.chunk.section.palette;
class="kw">import com.hypixel.hytale.function.consumer.BiIntConsumer;
class="kw">import com.hypixel.hytale.protocol.packets.world.PaletteType;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ShortMap;
class="kw">import it.unimi.dsi.fastutil.ints.IntList;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import java.lang.foreign.MemorySegment;
class="kw">import java.util.function.IntConsumer;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">abstract sealed class AbstractSectionPalette permits EmptySectionPalette, HalfByteSectionPalette, ByteSectionPalette, ShortSectionPalette {
class="kw">public AbstractSectionPalette() {
}
class="kw">public class="kw">abstract PaletteType getPaletteType();
class="kw">public class="kw">abstract AbstractSectionPalette.SetResult set(int var1, int var2);
class="kw">public class="kw">abstract int get(int var1);
class="kw">public class="kw">abstract boolean contains(int var1);
class="kw">public class="kw">abstract boolean containsAny(IntList var1);
class="kw">public boolean isSolid(int var1) {
class="kw">return this.count() == 1 && this.contains(var1);
}
class="kw">public class="kw">abstract int count();
class="kw">public class="kw">abstract int count(int var1);
class="kw">public class="kw">abstract IntSet values();
class="kw">public class="kw">abstract void forEachValue(IntConsumer var1);
class="kw">public class="kw">abstract Int2ShortMap valueCounts();
class="kw">public class="kw">abstract void find(@Nonnull IntList var1, @Nonnull IntConsumer var2);
class="kw">public class="kw">abstract void find(@Nonnull IntList var1, @Nonnull BiIntConsumer var2);
@Deprecated(since = "2026-02-26", forRemoval = true)
class="kw">public void find(@Nonnull IntList var1, @Nonnull IntSet var2, @Nonnull IntConsumer var3) {
this.find(var1, var3);
}
class="kw">public class="kw">abstract boolean shouldDemote();
class="kw">public class="kw">abstract AbstractSectionPalette demote();
class="kw">public class="kw">abstract AbstractSectionPalette promote();
class="kw">public class="kw">abstract int serializedPacketByteSize();
class="kw">public class="kw">abstract int serializeForPacket(MemorySegment var1, int var2);
class="kw">public class="kw">abstract int serializedByteSize(AbstractSectionPalette.KeyMemorySerializer var1);
class="kw">public class="kw">abstract int serialize(AbstractSectionPalette.KeyMemorySerializer var1, MemorySegment var2, int var3);
class="kw">public class="kw">abstract int deserialize(AbstractSectionPalette.KeyMemoryDeserializer var1, MemorySegment var2, int var3);
@Nonnull
class="kw">public class="kw">static AbstractSectionPalette from(@Nonnull int[] var0, @Nonnull Int2ShortMap var1) {
if (var1.size() == 1 && var1.containsKey(0)) {
class="kw">return EmptySectionPalette.INSTANCE;
} else if (var1.size() < 16) {
class="kw">return new HalfByteSectionPalette(var0, var1);
} else if (var1.size() < 256) {
class="kw">return new ByteSectionPalette(var0, var1);
} else if (var1.size() < 65536) {
class="kw">return new ShortSectionPalette(var0, var1);
} else {
throw new UnsupportedOperationException("Too many block types for palette.");
}
}
class="kw">public class="kw">interface KeyMemoryDeserializer {
int deserialize(MemorySegment var1, int var2);
int keySize(MemorySegment var1, int var2);
}
class="kw">public class="kw">interface KeyMemorySerializer {
int serialize(MemorySegment var1, int var2, int var3);
int keySize(int var1);
}
class="kw">public enum SetResult {
ADDED_OR_REMOVED,
CHANGED,
UNCHANGED,
REQUIRES_PROMOTE;
SetResult() {
}
}
}