Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -362,18 +362,22 @@ func (c *conn) translatePacket(pk packet.Packet, serverSent bool) packet.Packet
}
case *packet.BossEvent:
pk.BossEntityUniqueID = c.translateUniqueID(pk.BossEntityUniqueID, serverSent)
pk.PlayerUniqueID = c.translateUniqueID(pk.PlayerUniqueID, serverSent)
case *packet.Camera:
pk.CameraEntityUniqueID = c.translateUniqueID(pk.CameraEntityUniqueID, serverSent)
pk.TargetPlayerUniqueID = c.translateUniqueID(pk.TargetPlayerUniqueID, serverSent)
case *packet.ChangeMobProperty:
pk.EntityUniqueID = int64(c.translateRuntimeID(uint64(pk.EntityUniqueID), serverSent))
case *packet.ClientBoundMapItemData:
for i, x := range pk.TrackedObjects {
if x.Type == protocol.MapObjectTypeEntity {
x.EntityUniqueID = c.translateUniqueID(x.EntityUniqueID, serverSent)
pk.TrackedObjects[i] = x
if trackedObjects, ok := pk.TrackedObjects.Value(); ok {
for i, x := range trackedObjects {
if x.Type == protocol.MapObjectTypeEntity {
if entityUniqueID, ok := x.EntityUniqueID.Value(); ok {
x.EntityUniqueID = protocol.Option(c.translateUniqueID(entityUniqueID, serverSent))
}
trackedObjects[i] = x
}
}
pk.TrackedObjects = protocol.Option(trackedObjects)
}
case *packet.CommandBlockUpdate:
if !pk.Block {
Expand Down Expand Up @@ -434,7 +438,9 @@ func (c *conn) translatePacket(pk packet.Packet, serverSent bool) packet.Packet
pk.EntityRuntimeID = c.translateRuntimeID(pk.EntityRuntimeID, serverSent)
case *packet.PlayerAuthInput:
if pk.InputData.Load(packet.InputFlagClientPredictedVehicle) {
pk.ClientPredictedVehicle = c.translateUniqueID(pk.ClientPredictedVehicle, serverSent)
if predictedVehicleUniqueID, ok := pk.ClientPredictedVehicle.Value(); ok {
pk.ClientPredictedVehicle = protocol.Option(c.translateUniqueID(predictedVehicleUniqueID, serverSent))
}
}
case *packet.PlayerList:
for i := range pk.Entries {
Expand Down Expand Up @@ -472,7 +478,9 @@ func (c *conn) translatePacket(pk packet.Packet, serverSent bool) packet.Packet
case *packet.SetScoreboardIdentity:
if pk.ActionType != packet.ScoreboardIdentityActionClear {
for i := range pk.Entries {
pk.Entries[i].EntityUniqueID = c.translateUniqueID(pk.Entries[i].EntityUniqueID, serverSent)
if entityUniqueID, ok := pk.Entries[i].EntityUniqueID.Value(); ok {
pk.Entries[i].EntityUniqueID = protocol.Option(c.translateUniqueID(entityUniqueID, serverSent))
}
}
}
case *packet.ShowCredits:
Expand Down
14 changes: 9 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,31 @@ require (
github.com/brentp/intintmap v0.0.0-20251106190759-56907b1f8479
github.com/cooldogedev/spectral v0.0.5
github.com/cooldogedev/spectrum v0.0.44
github.com/df-mc/dragonfly v0.11.0
github.com/df-mc/dragonfly v0.11.5
github.com/golang/snappy v1.0.0
github.com/google/uuid v1.6.0
github.com/quic-go/quic-go v0.60.0
github.com/sandertv/gophertunnel v1.57.1
github.com/sandertv/gophertunnel v1.62.0
)

require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/coder/websocket v1.8.14 // indirect
github.com/coreos/go-oidc/v3 v3.20.0 // indirect
github.com/df-mc/go-nethernet v1.0.18 // indirect
github.com/df-mc/go-nethernet v1.0.20 // indirect
github.com/df-mc/go-playfab v1.0.0 // indirect
github.com/df-mc/go-playfab/v2 v2.0.2 // indirect
github.com/df-mc/go-xsapi v1.0.1 // indirect
github.com/df-mc/go-xsapi/v2 v2.0.3 // indirect
github.com/df-mc/goleveldb v1.1.9 // indirect
github.com/df-mc/jsonc v1.0.5 // indirect
github.com/df-mc/worldupgrader v1.0.21 // indirect
github.com/df-mc/worldupgrader v1.0.22 // indirect
github.com/go-gl/mathgl v1.2.0 // indirect
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
github.com/klauspost/compress v1.19.1 // indirect
github.com/nxadm/tail v1.4.11 // indirect
github.com/onsi/gomega v1.38.2 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pion/datachannel v1.6.2 // indirect
github.com/pion/dtls/v3 v3.1.5 // indirect
github.com/pion/ice/v4 v4.3.0 // indirect
Expand All @@ -43,7 +47,7 @@ require (
github.com/pion/transport/v4 v4.0.2 // indirect
github.com/pion/turn/v5 v5.0.12 // indirect
github.com/pion/webrtc/v4 v4.2.17 // indirect
github.com/sandertv/go-raknet v1.15.1 // indirect
github.com/sandertv/go-raknet v1.15.2-0.20260705184311-0d1fd09e2cf6 // indirect
github.com/segmentio/fasthash v1.0.3 // indirect
github.com/wlynxg/anet v0.0.5 // indirect
golang.org/x/crypto v0.54.0 // indirect
Expand Down
18 changes: 18 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ github.com/brentp/intintmap v0.0.0-20251106190759-56907b1f8479 h1:UZbbt19ACBOFO+
github.com/brentp/intintmap v0.0.0-20251106190759-56907b1f8479/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/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9g=
github.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg=
github.com/cooldogedev/spectral v0.0.5 h1:VTWbJkqwDqg/eeDwIXwC6+jpXEGlOzu6QzP1hSEUhIM=
github.com/cooldogedev/spectral v0.0.5/go.mod h1:Oq9dVLgqaRiS/hZvKvLk/XWXFOZmmTKM29u6o4GBe84=
github.com/cooldogedev/spectrum v0.0.44 h1:UKOfX5O50FahNb3acOJHD/INyOxss/wtCLSmZM5mIEo=
Expand All @@ -12,18 +14,28 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/df-mc/dragonfly v0.11.0 h1:bylZOYzHRuaBxYewToTPa3v1m74aKfG0yd433ZiypfQ=
github.com/df-mc/dragonfly v0.11.0/go.mod h1:OFJjCz3xfDalVZEtV4lJdbenwKDEAczKHikHN7kVwMc=
github.com/df-mc/dragonfly v0.11.5 h1:amqepXVBRBi/e5j1K2H8GjNFgpMs6FP1RQgNH0Myfn0=
github.com/df-mc/dragonfly v0.11.5/go.mod h1:edW4tJmnTBFEAsyq0i+jNANDQVdPHmdbqBQpkHVXhWw=
github.com/df-mc/go-nethernet v1.0.18 h1:SSlGPhweIux3c9PKhkmyxbMtBc/V2+b9+cJYdyqxbAo=
github.com/df-mc/go-nethernet v1.0.18/go.mod h1:11MfQo5F7PDKfHg1H0zM5mMkrCv29jRE0lK5B4egW9w=
github.com/df-mc/go-nethernet v1.0.20 h1:H0MO0GkVlAypu9IDQhzg5Pph3mCD7r40+ExiImsXT2M=
github.com/df-mc/go-nethernet v1.0.20/go.mod h1:11MfQo5F7PDKfHg1H0zM5mMkrCv29jRE0lK5B4egW9w=
github.com/df-mc/go-playfab v1.0.0 h1:6gVukk3aQbJ934GJFdcZJHVIw9lhauK+KHOevbwJA10=
github.com/df-mc/go-playfab v1.0.0/go.mod h1:nGOlE+JFGOH5Z0iidEgJapHhndFi/oNk17RN9pKCF+k=
github.com/df-mc/go-playfab/v2 v2.0.2 h1:JqOsrpe0nt6Ni4V2JrdmOAhbBgTm7LBw1ppGXlmknhs=
github.com/df-mc/go-playfab/v2 v2.0.2/go.mod h1:CS3FV3tJlohvGQiX0IJiaYKOVNfy0p778B84oEVyxlw=
github.com/df-mc/go-xsapi v1.0.1 h1:H1SbxYr4rXOqZSB8MwiODbDUsHRihxbHf+YOljUWgXw=
github.com/df-mc/go-xsapi v1.0.1/go.mod h1:uKC/a/2/JOamgRDezvgVe7OmXdqERUfmCcIWAOp9hPA=
github.com/df-mc/go-xsapi/v2 v2.0.3 h1:fQLw4k15OinFhagWjbSj0BwQXeDUmY8a1J8yquEod3w=
github.com/df-mc/go-xsapi/v2 v2.0.3/go.mod h1:Gi/zQG2DFMJOMt4DIjuBuINTnU4YnZINe+RyFyza8oo=
github.com/df-mc/goleveldb v1.1.9 h1:ihdosZyy5jkQKrxucTQmN90jq/2lUwQnJZjIYIC/9YU=
github.com/df-mc/goleveldb v1.1.9/go.mod h1:+NHCup03Sci5q84APIA21z3iPZCuk6m6ABtg4nANCSk=
github.com/df-mc/jsonc v1.0.5 h1:O7oh07kbS5AYY+l2Fji6l4h0iHcdjKbxCtK5VlZlLMU=
github.com/df-mc/jsonc v1.0.5/go.mod h1:+Q++JuCE9IKiP8v7sWImdf/RjQX0nfXyfX6PdfTTmc4=
github.com/df-mc/worldupgrader v1.0.21 h1:Qr4/QB8ek7En0vkTuRXYq4FrZM0HHSOXsJOL7Ko4Cjg=
github.com/df-mc/worldupgrader v1.0.21/go.mod h1:tsSOLTRm9mpG7VHvYpAjjZrkRHWmSbKZAm9bOLNnlDk=
github.com/df-mc/worldupgrader v1.0.22 h1:Wt1T0imJ9avprhp3vhr21iYLDZ6LqxVqH7LMiqZASWM=
github.com/df-mc/worldupgrader v1.0.22/go.mod h1:tsSOLTRm9mpG7VHvYpAjjZrkRHWmSbKZAm9bOLNnlDk=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
Expand Down Expand Up @@ -52,6 +64,8 @@ github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pion/datachannel v1.6.2 h1:7EXQ8TH3vTouBUdRWYbcX2edSx9Yj6k5zl5P+qyxEPc=
github.com/pion/datachannel v1.6.2/go.mod h1:pzbdAZvyGtXbcHM1hBbsFaOTf40lZizU/dNlvVOak6E=
github.com/pion/dtls/v3 v3.1.5 h1:9xJtVsHwMYeSjPp5Hh1FTis4DchnQWtnOa5o+6ygqfc=
Expand Down Expand Up @@ -94,8 +108,12 @@ github.com/quic-go/quic-go v0.60.0 h1:xcQioE8OM66UQLeUMHltK1CCcOu3JbVB4JAQdDQSB+
github.com/quic-go/quic-go v0.60.0/go.mod h1:wpKpjmPpftl30sL6pFh7REVpjbcCVy4zt2vDyK1TuJk=
github.com/sandertv/go-raknet v1.15.1 h1:Okw1u6cez2VwWcONc5Q3+i87ustRpdityLoXD/CKfAI=
github.com/sandertv/go-raknet v1.15.1/go.mod h1:/yysjwfCXm2+2OY8mBazLzcxJ3irnylKCyG3FLgUPVU=
github.com/sandertv/go-raknet v1.15.2-0.20260705184311-0d1fd09e2cf6 h1:Oj7QsiwWTOLmCpOjjmW0Qwde4BE8F5+Kjz817qzICyk=
github.com/sandertv/go-raknet v1.15.2-0.20260705184311-0d1fd09e2cf6/go.mod h1:/yysjwfCXm2+2OY8mBazLzcxJ3irnylKCyG3FLgUPVU=
github.com/sandertv/gophertunnel v1.57.1 h1:P14qngVxDCnSedLvGJtkLrzDOVBQEL1fFliBrT3E9Mc=
github.com/sandertv/gophertunnel v1.57.1/go.mod h1:Frjuk3g1EEGRYjzyrEMS4j/hDvTcez2STfuRHkRPlNU=
github.com/sandertv/gophertunnel v1.62.0 h1:n+CBO0ngnlURV3DMCe9uq9KtZbr8sK1/Z5mYhGO9Wq4=
github.com/sandertv/gophertunnel v1.62.0/go.mod h1:LZsch9elPoPzsJGDbx7ClWEHFjgHZ/lONvXF7m16Qn8=
github.com/segmentio/fasthash v1.0.3 h1:EI9+KE1EwvMLBWwjpRDc+fEM+prwxDYbslddQGtrmhM=
github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
Expand Down
Loading