package net.minecraft.world.level.chunk; import java.util.List; import java.util.function.Predicate; import net.minecraft.core.IdMap; import net.minecraft.network.FriendlyByteBuf; public class GlobalPalette implements Palette { private final IdMap registry; public GlobalPalette(IdMap registry) { this.registry = registry; } public static Palette create(int bits, IdMap registry, PaletteResize resizeHandler, List values) { return new GlobalPalette<>(registry); } @Override public int idFor(T state) { int i = this.registry.getId(state); return i == -1 ? 0 : i; } @Override public boolean maybeHas(Predicate filter) { return true; } @Override public T valueFor(int id) { T object = this.registry.byId(id); if (object == null) { throw new MissingPaletteEntryException(id); } else { return object; } } @Override public void read(FriendlyByteBuf buffer) { } @Override public void write(FriendlyByteBuf buffer) { } @Override public int getSerializedSize() { return 0; } @Override public int getSize() { return this.registry.size(); } @Override public Palette copy(PaletteResize resizeHandler) { return this; } }