From 9de1f4e9b3e02160cd6a30cf62c820d709083d8d Mon Sep 17 00:00:00 2001 From: Dmytro Manchynskyi Date: Sat, 28 May 2022 15:00:49 +0300 Subject: [PATCH] mca: Fix calculation of needed sector count With a data length of 4092, 2 sectors were required instead of 1 --- save/region/mca.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/save/region/mca.go b/save/region/mca.go index fa3295e..1428d5d 100644 --- a/save/region/mca.go +++ b/save/region/mca.go @@ -4,6 +4,7 @@ import ( "encoding/binary" "errors" "io" + "math" "os" "time" ) @@ -152,7 +153,7 @@ func (r *Region) ReadSector(x, z int) (data []byte, err error) { // WriteSector write Chunk data into region file func (r *Region) WriteSector(x, z int, data []byte) error { - need := int32(len(data)+4)/4096 + 1 + need := int32(math.Ceil(float64(len(data)+4) / 4096)) n, now := sectorLoc(r.offsets[z][x]) // maximum chunk size is 1MB