downgrade blob hashes in ClientCacheMissResponse and SubChunk packets

This commit is contained in:
ethaniccc
2025-08-29 16:40:08 -04:00
parent c2e27116e8
commit 5086f9bfc8
3 changed files with 7 additions and 0 deletions

1
go.mod
View File

@@ -21,6 +21,7 @@ require (
require (
github.com/brentp/intintmap v0.0.0-20190211203843-30dc0ade9af9 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/df-mc/goleveldb v1.1.9 // indirect
github.com/go-jose/go-jose/v4 v4.1.0 // indirect
github.com/golang/snappy v1.0.0 // indirect

2
go.sum
View File

@@ -1,5 +1,7 @@
github.com/brentp/intintmap v0.0.0-20190211203843-30dc0ade9af9 h1:/G0ghZwrhou0Wq21qc1vXXMm/t/aKWkALWwITptKbE0=
github.com/brentp/intintmap v0.0.0-20190211203843-30dc0ade9af9/go.mod h1:TOk10ahXejq9wkEaym3KPRNeuR/h5Jx+s8QRWIa2oTM=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cooldogedev/gophertunnel v0.0.0-20250806215416-758d5047d822 h1:cW4FrZUxjdJBoSD3Fpw7Z86LQJHtTK7o9lIgGXuaZ3Q=
github.com/cooldogedev/gophertunnel v0.0.0-20250806215416-758d5047d822/go.mod h1:lmRarAmn25V/+QeiUbUDXeA26bEaNlX1wGEM/rj39ew=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=

View File

@@ -3,8 +3,10 @@ package legacyver
import (
"bytes"
_ "embed"
"github.com/akmalfairuz/legacy-version/internal/chunk"
"github.com/akmalfairuz/legacy-version/mapping"
"github.com/cespare/xxhash/v2"
"github.com/df-mc/dragonfly/server/block/cube"
"github.com/df-mc/dragonfly/server/world"
"github.com/sandertv/gophertunnel/minecraft"
@@ -135,6 +137,7 @@ func (t *DefaultBlockTranslator) DowngradeBlockPackets(pks []packet.Packet, conn
}
entry.RawPayload = append(writeBuf.Bytes(), buf.Bytes()...)
entry.BlobHash = xxhash.Sum64(entry.RawPayload)
pk.SubChunkEntries[i] = entry
}
}
@@ -155,6 +158,7 @@ func (t *DefaultBlockTranslator) DowngradeBlockPackets(pks []packet.Packet, conn
t.DowngradeSubChunk(subChunk)
blob.Payload = append(chunk.EncodeSubChunk(subChunk, chunk.NetworkEncoding, t.pe, chunk.SubChunkVersion9, r, int(ind)), buf.Bytes()...)
blob.Hash = xxhash.Sum64(blob.Payload)
pk.Blobs[i] = blob
}
case *packet.UpdateSubChunkBlocks: