From d9d8b0bc75d6f5afba00d9231de87ae772667c6d Mon Sep 17 00:00:00 2001 From: Akmal Fairuz <35138228+AkmalFairuz@users.noreply.github.com> Date: Wed, 13 Aug 2025 21:37:46 +0700 Subject: [PATCH] Add support for protocol version 1.21.100 (#12) --- README.md | 33 +- cmd/dfmapping/main.go | 5 +- example-proxy.go | 9 +- go.mod | 16 +- go.sum | 30 + internal/block_states.go | 3 +- internal/chunk/chunk.go | 3 +- internal/chunk/decode.go | 1 + internal/chunk/encode.go | 3 +- internal/chunk/encoding.go | 3 +- internal/item/registry.go | 7 +- internal/pool.go | 13 + legacyver/all.go | 1 + legacyver/block_translator.go | 121 +- legacyver/data/block_states_827.nbt | Bin 0 -> 2091687 bytes legacyver/data/required_item_list_827.json | 9256 +++++++++++++++++ legacyver/item_translator.go | 1 + .../legacypacket/biome_definition_list.go | 3 +- legacyver/legacypacket/camera_aim_assist.go | 5 + legacyver/legacypacket/camera_instruction.go | 5 + .../correct_player_move_prediction.go | 6 +- legacyver/legacypacket/start_game.go | 5 + legacyver/proto/biome.go | 104 + legacyver/proto/id.go | 1 + legacyver/proto/io.go | 1 + legacyver/proto/player.go | 3 +- legacyver/protocol.go | 41 +- legacyver/v649.go | 1 + legacyver/v662.go | 1 + legacyver/v671.go | 1 + legacyver/v685.go | 1 + legacyver/v686.go | 1 + legacyver/v712.go | 1 + legacyver/v729.go | 1 + legacyver/v748.go | 1 + legacyver/v766.go | 1 + legacyver/v776.go | 1 + legacyver/v786.go | 1 + legacyver/v800.go | 1 + legacyver/v818.go | 1 + legacyver/v819.go | 23 +- legacyver/v827.go | 34 + mapping/block.go | 29 +- mapping/custom_blocks.go | 2 +- mapping/item.go | 3 +- packbuilder/builder.go | 3 +- packbuilder/components.go | 3 +- packbuilder/items.go | 5 +- packbuilder/manifest.go | 5 +- packbuilder/resource_pack.go | 3 +- 50 files changed, 9667 insertions(+), 135 deletions(-) create mode 100644 internal/pool.go create mode 100644 legacyver/data/block_states_827.nbt create mode 100644 legacyver/data/required_item_list_827.json create mode 100644 legacyver/proto/biome.go create mode 100644 legacyver/v827.go diff --git a/README.md b/README.md index 67d29dc..1e8a94f 100644 --- a/README.md +++ b/README.md @@ -3,22 +3,23 @@ A gophertunnel protocol interface implementation to support older Minecraft Bedrock versions. ## Supported Versions -| Protocol ID | Version | Support | -|-------------|---------|---------| -| 819 | 1.21.93 | ✅ | -| 818 | 1.21.90 | ✅ | -| 800 | 1.21.80 | ✅ | -| 786 | 1.21.70 | ✅ | -| 776 | 1.21.60 | ✅ | -| 766 | 1.21.50 | ✅ | -| 748 | 1.21.40 | ✅ | -| 729 | 1.21.30 | ✅ | -| 712 | 1.21.20 | ✅ | -| 686 | 1.21.2 | ✅ | -| 685 | 1.21.0 | ✅ | -| 671 | 1.20.80 | ✅ | -| 662 | 1.20.70 | ✅ | -| 649 | 1.20.60 | ✅ | +| Protocol ID | Version | Support | +|-------------|----------|---------| +| 827 | 1.21.100 | ✅ | +| 819 | 1.21.93 | ✅ | +| 818 | 1.21.90 | ✅ | +| 800 | 1.21.80 | ✅ | +| 786 | 1.21.70 | ✅ | +| 776 | 1.21.60 | ✅ | +| 766 | 1.21.50 | ✅ | +| 748 | 1.21.40 | ✅ | +| 729 | 1.21.30 | ✅ | +| 712 | 1.21.20 | ✅ | +| 686 | 1.21.2 | ✅ | +| 685 | 1.21.0 | ✅ | +| 671 | 1.20.80 | ✅ | +| 662 | 1.20.70 | ✅ | +| 649 | 1.20.60 | ✅ | <= 1.20.50 is not possible to support due to different compression logic and gophertunnel does not provide a way to support dynamic compression. diff --git a/cmd/dfmapping/main.go b/cmd/dfmapping/main.go index 49bcc7b..75c8dc4 100644 --- a/cmd/dfmapping/main.go +++ b/cmd/dfmapping/main.go @@ -4,11 +4,12 @@ import ( "encoding/base64" "encoding/json" "fmt" - "github.com/samber/lo" - "github.com/sandertv/gophertunnel/minecraft/nbt" "io" "net/http" "os" + + "github.com/samber/lo" + "github.com/sandertv/gophertunnel/minecraft/nbt" ) func main() { diff --git a/example-proxy.go b/example-proxy.go index fd60a0a..4f6678b 100644 --- a/example-proxy.go +++ b/example-proxy.go @@ -2,15 +2,16 @@ package main import ( "errors" + "log" + "os" + "sync" + "time" + "github.com/akmalfairuz/legacy-version/legacyver" "github.com/pelletier/go-toml" "github.com/sandertv/gophertunnel/minecraft" "github.com/sandertv/gophertunnel/minecraft/auth" "golang.org/x/oauth2" - "log" - "os" - "sync" - "time" ) // The following program implements a proxy that forwards players from one local address to a remote address. diff --git a/go.mod b/go.mod index 2014bf3..2fe76fb 100644 --- a/go.mod +++ b/go.mod @@ -5,16 +5,16 @@ go 1.24 toolchain go1.24.0 require ( - github.com/df-mc/dragonfly v0.10.3 + github.com/df-mc/dragonfly v0.10.5 github.com/df-mc/worldupgrader v1.0.19 github.com/go-gl/mathgl v1.2.0 github.com/google/uuid v1.6.0 github.com/pelletier/go-toml v1.9.5 github.com/rogpeppe/go-internal v1.14.1 github.com/samber/lo v1.49.1 - github.com/sandertv/gophertunnel v1.47.4 + github.com/sandertv/gophertunnel v1.49.0 github.com/segmentio/fasthash v1.0.3 - golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 + golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 golang.org/x/image v0.25.0 golang.org/x/oauth2 v0.30.0 ) @@ -22,13 +22,13 @@ require ( require ( github.com/brentp/intintmap v0.0.0-20190211203843-30dc0ade9af9 // indirect github.com/df-mc/goleveldb v1.1.9 // indirect - github.com/go-jose/go-jose/v4 v4.1.0 // indirect + github.com/go-jose/go-jose/v4 v4.1.2 // indirect github.com/golang/snappy v1.0.0 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/muhammadmuzzammil1998/jsonc v1.0.0 // indirect github.com/sandertv/go-raknet v1.14.3-0.20250305181847-6af3e95113d6 // indirect - golang.org/x/crypto v0.39.0 // indirect - golang.org/x/mod v0.25.0 // indirect - golang.org/x/net v0.41.0 // indirect - golang.org/x/text v0.26.0 // indirect + golang.org/x/crypto v0.41.0 // indirect + golang.org/x/mod v0.26.0 // indirect + golang.org/x/net v0.43.0 // indirect + golang.org/x/text v0.28.0 // indirect ) diff --git a/go.sum b/go.sum index 3c03498..79970fc 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,19 @@ 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-20250805131657-cc74f1797ff7 h1:IvKtI+ka2fAVh+QFEuLjLTQPyYARaem3q9pr+Y7wJCI= +github.com/cooldogedev/gophertunnel v0.0.0-20250805131657-cc74f1797ff7/go.mod h1:lmRarAmn25V/+QeiUbUDXeA26bEaNlX1wGEM/rj39ew= +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= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/df-mc/dragonfly v0.9.20-0.20241229163702-cc7e4ee0e3ce h1:mhBn/ezojzACPHeg+Y9NnU2bbYCozx27RgpfWUPw4i0= github.com/df-mc/dragonfly v0.9.20-0.20241229163702-cc7e4ee0e3ce/go.mod h1:hH1eU9lmucLNLehzxXzOUOmHJQLz3DLpQMUqIKcz8YI= github.com/df-mc/dragonfly v0.10.3 h1:t0mxRvjjgG8uBevqqzejJVL2M6obi6RYePMTPDlXo74= github.com/df-mc/dragonfly v0.10.3/go.mod h1:pO7nuyRKV50ZVZzB7AhTMU/0p4cvk1/yCu43vFqAzcI= +github.com/df-mc/dragonfly v0.10.5 h1:vn3Mwh7vWPDtIdss4QEOP8vSZGHRAjyLvrOEM5mEUI0= +github.com/df-mc/dragonfly v0.10.5/go.mod h1:/KjoqvIe5+ZxuFUPSRey9UzQS3GkTgAyTH0jTYFMs/g= 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/worldupgrader v1.0.18 h1:Q34X9ID/hGuDyj9oiq+dpyjOaJdNxhVmVUepf/EPYDA= @@ -19,6 +27,8 @@ github.com/go-jose/go-jose/v4 v4.0.5 h1:M6T8+mKZl/+fNNuFHvGIzDz7BTLQPIounk/b9dw3 github.com/go-jose/go-jose/v4 v4.0.5/go.mod h1:s3P1lRrkT8igV8D9OjyL4WRyHvjB6a4JSllnOrmmBOA= github.com/go-jose/go-jose/v4 v4.1.0 h1:cYSYxd3pw5zd2FSXk2vGdn9igQU2PS8MuxrCOCl0FdY= github.com/go-jose/go-jose/v4 v4.1.0/go.mod h1:GG/vqmYm3Von2nYiB2vGTXzdoNKE5tix5tuc6iAd+sw= +github.com/go-jose/go-jose/v4 v4.1.2 h1:TK/7NqRQZfgAh+Td8AlsrvtPoUyiHh0LqVvokh+1vHI= +github.com/go-jose/go-jose/v4 v4.1.2/go.mod h1:22cg9HWM1pOlnRiY+9cQYJ9XHmya1bYW8OeDM6Ku6Oo= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= @@ -62,6 +72,10 @@ github.com/sandertv/gophertunnel v1.47.3 h1:MsHv8QEx17+N/39BnAvHn/KU9zv8Rt9ZHTKa github.com/sandertv/gophertunnel v1.47.3/go.mod h1:lvzOdyb2fkoo3uySe++hy4UKq0I649oUFJKkro2ZHpY= github.com/sandertv/gophertunnel v1.47.4 h1:PmNbEUf9+7Fk8bP2875cvYTt22g0d4eeQhtd1dxjqqA= github.com/sandertv/gophertunnel v1.47.4/go.mod h1:lvzOdyb2fkoo3uySe++hy4UKq0I649oUFJKkro2ZHpY= +github.com/sandertv/gophertunnel v1.48.1 h1:+DleZznxkYugxEIEFAKN4JDfYSv/zm6//MfYFdIgyq8= +github.com/sandertv/gophertunnel v1.48.1/go.mod h1:lmRarAmn25V/+QeiUbUDXeA26bEaNlX1wGEM/rj39ew= +github.com/sandertv/gophertunnel v1.49.0 h1:9FIl4GGYMrFTmBPgkOTUskGWRQHIg4NMpY8JdM6SrCg= +github.com/sandertv/gophertunnel v1.49.0/go.mod h1:lmRarAmn25V/+QeiUbUDXeA26bEaNlX1wGEM/rj39ew= 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.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= @@ -72,10 +86,16 @@ golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= +golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= +golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= +golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4= +golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc= golang.org/x/image v0.21.0 h1:c5qV36ajHpdj4Qi0GnE0jUc/yuo33OLFaa0d+crTD5s= golang.org/x/image v0.21.0/go.mod h1:vUbsLavqK/W303ZroQQVKQ+Af3Yl6Uz1Ppu5J/cLz78= golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ= @@ -86,6 +106,8 @@ golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= @@ -93,6 +115,10 @@ golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= +golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= +golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= @@ -109,6 +135,10 @@ golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= diff --git a/internal/block_states.go b/internal/block_states.go index e35ba0d..c7c240a 100644 --- a/internal/block_states.go +++ b/internal/block_states.go @@ -2,10 +2,11 @@ package internal import ( "fmt" - "github.com/df-mc/worldupgrader/blockupgrader" "sort" "strings" "unsafe" + + "github.com/df-mc/worldupgrader/blockupgrader" ) // StateHash is a struct that may be used as a map key for block states. It contains the name of the block state diff --git a/internal/chunk/chunk.go b/internal/chunk/chunk.go index 1baf026..2ea4546 100644 --- a/internal/chunk/chunk.go +++ b/internal/chunk/chunk.go @@ -1,8 +1,9 @@ package chunk import ( - "github.com/df-mc/dragonfly/server/block/cube" "sync" + + "github.com/df-mc/dragonfly/server/block/cube" ) // Chunk is a segment in the world with a size of 16x16x256 blocks. A chunk contains multiple sub chunks diff --git a/internal/chunk/decode.go b/internal/chunk/decode.go index 29b73db..78d0ffa 100644 --- a/internal/chunk/decode.go +++ b/internal/chunk/decode.go @@ -3,6 +3,7 @@ package chunk import ( "bytes" "fmt" + "github.com/df-mc/dragonfly/server/block/cube" ) diff --git a/internal/chunk/encode.go b/internal/chunk/encode.go index c4e8392..77b3ae4 100644 --- a/internal/chunk/encode.go +++ b/internal/chunk/encode.go @@ -2,8 +2,9 @@ package chunk import ( "bytes" - "github.com/df-mc/dragonfly/server/block/cube" "sync" + + "github.com/df-mc/dragonfly/server/block/cube" ) // pool is used to pool byte buffers used for encoding chunks. diff --git a/internal/chunk/encoding.go b/internal/chunk/encoding.go index 5c5d7b6..e7e7333 100644 --- a/internal/chunk/encoding.go +++ b/internal/chunk/encoding.go @@ -4,9 +4,10 @@ import ( "bytes" "encoding/binary" "fmt" - "github.com/akmalfairuz/legacy-version/mapping" "strings" + "github.com/akmalfairuz/legacy-version/mapping" + "github.com/df-mc/dragonfly/server/block/cube" "github.com/df-mc/worldupgrader/blockupgrader" "github.com/sandertv/gophertunnel/minecraft/nbt" diff --git a/internal/item/registry.go b/internal/item/registry.go index da70586..7192578 100644 --- a/internal/item/registry.go +++ b/internal/item/registry.go @@ -4,12 +4,13 @@ import ( "bytes" "embed" "encoding/json" - "github.com/df-mc/worldupgrader/blockupgrader" - "github.com/sandertv/gophertunnel/minecraft/nbt" - "github.com/sandertv/gophertunnel/minecraft/protocol" "regexp" "sort" "strconv" + + "github.com/df-mc/worldupgrader/blockupgrader" + "github.com/sandertv/gophertunnel/minecraft/nbt" + "github.com/sandertv/gophertunnel/minecraft/protocol" ) var ( diff --git a/internal/pool.go b/internal/pool.go new file mode 100644 index 0000000..b722387 --- /dev/null +++ b/internal/pool.go @@ -0,0 +1,13 @@ +package internal + +import ( + "bytes" + "sync" +) + +// BufferPool is a sync.Pool for buffers used to write compressed data to. +var BufferPool = sync.Pool{ + New: func() any { + return bytes.NewBuffer(make([]byte, 0, 256)) + }, +} diff --git a/legacyver/all.go b/legacyver/all.go index 9c31812..fbcc035 100644 --- a/legacyver/all.go +++ b/legacyver/all.go @@ -8,6 +8,7 @@ import ( // must be set to true if you're using Dragonfly. func All(dragonflyMapping bool) []minecraft.Protocol { return []minecraft.Protocol{ + New819(dragonflyMapping), New818(dragonflyMapping), New800(dragonflyMapping), New786(dragonflyMapping), diff --git a/legacyver/block_translator.go b/legacyver/block_translator.go index d983c67..95dd5c3 100644 --- a/legacyver/block_translator.go +++ b/legacyver/block_translator.go @@ -3,6 +3,8 @@ package legacyver import ( "bytes" _ "embed" + + "github.com/akmalfairuz/legacy-version/internal" "github.com/akmalfairuz/legacy-version/internal/chunk" "github.com/akmalfairuz/legacy-version/mapping" "github.com/df-mc/dragonfly/server/block/cube" @@ -43,62 +45,69 @@ func NewBlockTranslator(mapping mapping.Block, latestMapping mapping.Block, pse return &DefaultBlockTranslator{mapping: mapping, latest: latestMapping, pse: pse, pe: pe, oldFormat: oldFormat} } +func (t *DefaultBlockTranslator) downgradeLevelChunkPacket(pk *packet.LevelChunk) error { + count := int(pk.SubChunkCount) + if count == protocol.SubChunkRequestModeLimitless || count == protocol.SubChunkRequestModeLimited { + return nil + } + + buf := bytes.NewBuffer(pk.RawPayload) + writeBuf := internal.BufferPool.Get().(*bytes.Buffer) + defer func() { + writeBuf.Reset() + internal.BufferPool.Put(writeBuf) + }() + if !pk.CacheEnabled { + c, err := chunk.NetworkDecode(t.latest.Air(), buf, count, false, world.Overworld.Range(), LatestNetworkPersistentEncoding, LatestBlockPaletteEncoding) + if err != nil { + return err + } + c = t.DowngradeChunk(c) + + payload, err := chunk.NetworkEncode(t.mapping.Air(), c, t.oldFormat, t.pe) + if err != nil { + return err + } + writeBuf.Write(payload) + pk.SubChunkCount = uint32(len(c.Sub())) + } + safeBytes := buf.Bytes() + + countBorder, err := buf.ReadByte() + if err != nil { + pk.RawPayload = append(writeBuf.Bytes(), safeBytes...) + return nil + } + borderBytes := make([]byte, countBorder) + if _, err = buf.Read(borderBytes); err != nil { + pk.RawPayload = append(writeBuf.Bytes(), safeBytes...) + return nil + } + writeBuf.WriteByte(countBorder) + writeBuf.Write(borderBytes) + + enc := nbt.NewEncoderWithEncoding(writeBuf, nbt.NetworkLittleEndian) + dec := nbt.NewDecoderWithEncoding(buf, nbt.NetworkLittleEndian) + for { + var decNbt map[string]any + if err = dec.Decode(&decNbt); err != nil { + break + } + t.mapping.DowngradeBlockActorData(decNbt) + + if err = enc.Encode(decNbt); err != nil { + break + } + } + pk.RawPayload = append(writeBuf.Bytes(), buf.Bytes()...) + return nil +} + func (t *DefaultBlockTranslator) DowngradeBlockPackets(pks []packet.Packet, conn *minecraft.Conn) (result []packet.Packet) { for _, pk := range pks { switch pk := pk.(type) { case *packet.LevelChunk: - count := int(pk.SubChunkCount) - if count == protocol.SubChunkRequestModeLimitless || count == protocol.SubChunkRequestModeLimited { - break - } - - buf := bytes.NewBuffer(pk.RawPayload) - writeBuf := bytes.NewBuffer(nil) - if !pk.CacheEnabled { - c, err := chunk.NetworkDecode(t.latest.Air(), buf, count, false, world.Overworld.Range(), LatestNetworkPersistentEncoding, LatestBlockPaletteEncoding) - if err != nil { - //fmt.Println(err) - break - } - c = t.DowngradeChunk(c) - - payload, err := chunk.NetworkEncode(t.mapping.Air(), c, t.oldFormat, t.pe) - if err != nil { - //fmt.Println(err) - break - } - writeBuf.Write(payload) - pk.SubChunkCount = uint32(len(c.Sub())) - } - safeBytes := buf.Bytes() - - countBorder, err := buf.ReadByte() - if err != nil { - pk.RawPayload = append(writeBuf.Bytes(), safeBytes...) - break - } - borderBytes := make([]byte, countBorder) - if _, err = buf.Read(borderBytes); err != nil { - pk.RawPayload = append(writeBuf.Bytes(), safeBytes...) - break - } - writeBuf.WriteByte(countBorder) - writeBuf.Write(borderBytes) - - enc := nbt.NewEncoderWithEncoding(writeBuf, nbt.NetworkLittleEndian) - dec := nbt.NewDecoderWithEncoding(buf, nbt.NetworkLittleEndian) - for { - var decNbt map[string]any - if err = dec.Decode(&decNbt); err != nil { - break - } - t.mapping.DowngradeBlockActorData(decNbt) - - if err = enc.Encode(decNbt); err != nil { - break - } - } - pk.RawPayload = append(writeBuf.Bytes(), buf.Bytes()...) + _ = t.downgradeLevelChunkPacket(pk) case *packet.SubChunk: r := world.Overworld.Range() if t.oldFormat { @@ -247,11 +256,11 @@ func (t *DefaultBlockTranslator) DowngradeBlockRuntimeID(input uint32) uint32 { } state, ok := t.latest.RuntimeIDToState(input) if !ok { - return t.mapping.Air() + return t.mapping.InfoUpdate() } runtimeID, ok := t.mapping.StateToRuntimeID(state) if !ok { - return t.mapping.Air() + return t.mapping.InfoUpdate() } return runtimeID } @@ -315,11 +324,11 @@ func (t *DefaultBlockTranslator) UpgradeBlockRuntimeID(input uint32) uint32 { } state, ok := t.mapping.RuntimeIDToState(input) if !ok { - return t.latest.Air() + return t.latest.InfoUpdate() } runtimeID, ok := t.latest.StateToRuntimeID(state) if !ok { - return t.latest.Air() + return t.latest.InfoUpdate() } return runtimeID } diff --git a/legacyver/data/block_states_827.nbt b/legacyver/data/block_states_827.nbt new file mode 100644 index 0000000000000000000000000000000000000000..46350120065d81d42ac20714e510defa4899411a GIT binary patch literal 2091687 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%0ATdT{+o*|QZ96wHtZgeNh6U~I0)y;! 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 fGo0<&f@e6}gN1{~m#ef|~6