fix bitsPerBlock calculation bug in NewXXXXPaletteContainerWithData

This commit is contained in:
Tnze
2023-01-02 22:43:43 +08:00
parent e12b2f368d
commit 36bec6e63d
2 changed files with 12 additions and 3 deletions

View File

@ -2,7 +2,6 @@ package level
import (
"io"
"math/bits"
"strconv"
"github.com/Tnze/go-mc/level/biome"
@ -36,7 +35,7 @@ func NewStatesPaletteContainer(length int, defaultValue BlocksState) *PaletteCon
func NewStatesPaletteContainerWithData(length int, data []uint64, pat []BlocksState) *PaletteContainer[BlocksState] {
var p palette[BlocksState]
n := bits.Len(uint(len(pat) - 1))
n := calcBitsPerValue(length, len(data))
switch n {
case 0:
p = &singleValuePalette[BlocksState]{pat[0]}
@ -78,7 +77,7 @@ func NewBiomesPaletteContainer(length int, defaultValue BiomesState) *PaletteCon
func NewBiomesPaletteContainerWithData(length int, data []uint64, pat []BiomesState) *PaletteContainer[BiomesState] {
var p palette[BiomesState]
n := bits.Len(uint(len(pat) - 1))
n := calcBitsPerValue(length, len(data))
switch n {
case 0:
p = &singleValuePalette[BiomesState]{pat[0]}