diff --git a/cmd/strom/api/main.go b/cmd/strom/api/main.go index a7fa2ec..3c7f230 100644 --- a/cmd/strom/api/main.go +++ b/cmd/strom/api/main.go @@ -6,7 +6,7 @@ import ( "flag" "os" - "github.com/admin-else/strom/api" + api2 "github.com/admin-else/strom/mc/api" ) var cmd = flag.NewFlagSet("api", flag.ContinueOnError) @@ -25,9 +25,9 @@ func Run(args []string) (err error) { if err != nil { return } - a := &api.Account{} + a := &api2.Account{} if *tokenFlag != "" { - a, err = api.NewAccountFromYGG(*tokenFlag) + a, err = api2.NewAccountFromYGG(*tokenFlag) if err != nil { return } @@ -40,14 +40,14 @@ func Run(args []string) (err error) { } } else if *uuidFlag != "" || *nameFlag != "" { if *nameFlag != "" { - var idName api.IdName - idName, err = api.NameToId(*nameFlag) + var idName api2.IdName + idName, err = api2.NameToId(*nameFlag) if err != nil { return } *uuidFlag = idName.Id } - data, err = api.Profile(*uuidFlag, *unsignedFlag) + data, err = api2.Profile(*uuidFlag, *unsignedFlag) if err != nil { return } diff --git a/cmd/strom/data/main.go b/cmd/strom/data/main.go index a2b6977..187a05e 100644 --- a/cmd/strom/data/main.go +++ b/cmd/strom/data/main.go @@ -7,9 +7,9 @@ import ( "os" "slices" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/proto_generated" - "github.com/admin-else/strom/util" + data2 "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/proto_generated" + "github.com/admin-else/strom/mc/util" ) // strom data 1.21.11 blocks id 0 name => air @@ -39,11 +39,11 @@ func Run(args []string) (err error) { case 0: // print available versions dataValues = proto_generated.SupportedVersions case 1: // print available data for version - dataValues = slices.Collect(maps.Keys(data.Paths.Data[args[0]])) + dataValues = slices.Collect(maps.Keys(data2.Paths.Data[args[0]])) case 2: - err = data.LoadVersionedJson(args[0], args[1], &dataValues) + err = data2.LoadVersionedJson(args[0], args[1], &dataValues) case 3: - err = data.LoadVersionedJson(args[0], args[1], &dataValues) + err = data2.LoadVersionedJson(args[0], args[1], &dataValues) if err != nil { return } @@ -68,7 +68,7 @@ func Run(args []string) (err error) { } dataValues = result case 4, 5: - err = data.LoadVersionedJson(args[0], args[1], &dataValues) + err = data2.LoadVersionedJson(args[0], args[1], &dataValues) if err != nil { return } diff --git a/cmd/strom/extract_mca/main.go b/cmd/strom/extract_mca/main.go index b7aa82a..4336730 100644 --- a/cmd/strom/extract_mca/main.go +++ b/cmd/strom/extract_mca/main.go @@ -6,8 +6,8 @@ import ( "log/slog" "os" - "github.com/admin-else/strom/level/anvil" - "github.com/admin-else/strom/nbt" + "github.com/admin-else/strom/mc/level/anvil" + "github.com/admin-else/strom/mc/nbt" ) var ( diff --git a/cmd/strom/mca_to_tmcpr/main.go b/cmd/strom/mca_to_tmcpr/main.go index b2c6f35..22ba57b 100644 --- a/cmd/strom/mca_to_tmcpr/main.go +++ b/cmd/strom/mca_to_tmcpr/main.go @@ -7,12 +7,12 @@ import ( "log/slog" "os" - "github.com/admin-else/strom/level" - "github.com/admin-else/strom/level/anvil" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto/replay" - "github.com/admin-else/strom/proto_generated/v1_21_11" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/level" + anvil2 "github.com/admin-else/strom/mc/level/anvil" + nbt2 "github.com/admin-else/strom/mc/nbt" + "github.com/admin-else/strom/mc/proto/replay" + "github.com/admin-else/strom/mc/proto_generated/v1_21_11" + "github.com/admin-else/strom/mc/util" ) var ( @@ -40,15 +40,15 @@ func init() { } func GetChunkFromMca(x, z int32, version string) (b []byte, err error) { - xmca := util.FloorDiv(x, anvil.ChunksWidthRegionFile) - zmca := util.FloorDiv(z, anvil.ChunksWidthRegionFile) - x = x % anvil.ChunksWidthRegionFile + xmca := util.FloorDiv(x, anvil2.ChunksWidthRegionFile) + zmca := util.FloorDiv(z, anvil2.ChunksWidthRegionFile) + x = x % anvil2.ChunksWidthRegionFile if x < 0 { - x += anvil.ChunksWidthRegionFile + x += anvil2.ChunksWidthRegionFile } - z = z % anvil.ChunksWidthRegionFile + z = z % anvil2.ChunksWidthRegionFile if z < 0 { - z += anvil.ChunksWidthRegionFile + z += anvil2.ChunksWidthRegionFile } f, err := os.Open(fmt.Sprintf("./level/anvil/testdata/securechattestworld/region/r.%v.%v.mca", xmca, zmca)) @@ -56,12 +56,12 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) { return } defer f.Close() - mca, err := anvil.ReadChunkHeader(f) + mca, err := anvil2.ReadChunkHeader(f) if err != nil { return } - var n *nbt.Tag + var n *nbt2.Tag n, err = mca.ChunkAt(f, x, z) if err != nil { return @@ -70,8 +70,8 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) { return } - var chunk anvil.Chunk - err = nbt.Format.Decode(n.Value, &chunk) + var chunk anvil2.Chunk + err = nbt2.Format.Decode(n.Value, &chunk) if err != nil { return } diff --git a/cmd/strom/offline_uuid/offline_uuid.go b/cmd/strom/offline_uuid/offline_uuid.go index 8a01a38..c00b59d 100644 --- a/cmd/strom/offline_uuid/offline_uuid.go +++ b/cmd/strom/offline_uuid/offline_uuid.go @@ -4,7 +4,7 @@ import ( "flag" "fmt" - "github.com/admin-else/strom/crypto" + "github.com/admin-else/strom/mc/crypto" ) var cmd = flag.NewFlagSet("offline-uuid", flag.ContinueOnError) diff --git a/cmd/strom/packet_info/main.go b/cmd/strom/packet_info/main.go index 08219f9..b74d093 100644 --- a/cmd/strom/packet_info/main.go +++ b/cmd/strom/packet_info/main.go @@ -5,10 +5,10 @@ import ( "fmt" "strconv" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated" + "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated" ) var cmd = flag.NewFlagSet("packet-info", flag.ContinueOnError) diff --git a/cmd/strom/packet_inspector/main.go b/cmd/strom/packet_inspector/main.go index 46434b1..cbce2ad 100644 --- a/cmd/strom/packet_inspector/main.go +++ b/cmd/strom/packet_inspector/main.go @@ -7,15 +7,15 @@ import ( "os" "time" - "github.com/admin-else/strom/api" - "github.com/admin-else/strom/client" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated/v1_21_11" - "github.com/admin-else/strom/server" - "github.com/admin-else/strom/text" + api2 "github.com/admin-else/strom/mc/api" + client2 "github.com/admin-else/strom/mc/client" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/nbt" + proto2 "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_11" + server2 "github.com/admin-else/strom/mc/server" + "github.com/admin-else/strom/mc/text" ) var Cmd = flag.NewFlagSet("packet-inspector", flag.ContinueOnError) @@ -28,7 +28,7 @@ var ListenAddr = Cmd.String("listen", "127.0.0.1:25566", "address to listen on") var TrueForward = Cmd.Bool("true-forward", false, "forward packets without modification -name and custom server status wont work") type Proxy struct { - Client, Servee *proto.Conn + Client, Servee *proto2.Conn Data nbt.Tag } @@ -74,7 +74,7 @@ func (p *Proxy) OnAnything(e event.Anything) (err error) { if !ok { return } - packetInfo, ok := proto.LookupPacketInfoByType(packet) + packetInfo, ok := proto2.LookupPacketInfoByType(packet) if !ok { return } @@ -145,12 +145,12 @@ func (p *Proxy) OnCompress(packet *v1_21_11.LoginToClientPacketCompress) (err er return } -var StatusResponse = server.StatusResponse{ - Version: server.StatusResponseVersion{ +var StatusResponse = server2.StatusResponse{ + Version: server2.StatusResponseVersion{ Name: text.Pretty("STROM"), Protocol: 772, }, - Players: server.StatusResponsePlayers{}, + Players: server2.StatusResponsePlayers{}, Description: text.Pretty("Packet spy forwards to " + *TargetAddr), Favicon: "", EnforcesSecureChat: false, @@ -162,33 +162,33 @@ func Run(args []string) (err error) { return } slog.Info("Starting packet inspector", "listen", *ListenAddr) - err = server.StartServerWithOnConn(*ListenAddr, func(serveeConn *proto.Conn) (err error) { + err = server2.StartServerWithOnConn(*ListenAddr, func(serveeConn *proto2.Conn) (err error) { p := &Proxy{Servee: serveeConn, Client: nil} - var acc = api.NewOfflineAccount(*OfflineNameFlag) + var acc = api2.NewOfflineAccount(*OfflineNameFlag) if !*TrueForward { if *Token != "" { - acc, err = api.NewAccountFromYGG(*Token) + acc, err = api2.NewAccountFromYGG(*Token) if err != nil { return } } - _, err = server.ServeLogin(serveeConn, server.WithOtherAccount(acc), server.WithStatus(StatusResponse), server.WithoutOnlineMode(), server.WithoutEncryption()) + _, err = server2.ServeLogin(serveeConn, server2.WithOtherAccount(acc), server2.WithStatus(StatusResponse), server2.WithoutOnlineMode(), server2.WithoutEncryption()) if err != nil { return } } - *TargetAddr, err = client.DoDnsSimple(*TargetAddr) + *TargetAddr, err = client2.DoDnsSimple(*TargetAddr) if err != nil { return } - c, err := client.Connect(*TargetAddr) + c, err := client2.Connect(*TargetAddr) if err != nil { return } defer c.Close() if !*TrueForward { - err = client.LoginRaw(c, acc) + err = client2.LoginRaw(c, acc) if err != nil { return } diff --git a/cmd/strom/print_nbt/main.go b/cmd/strom/print_nbt/main.go index fcc2b81..b7d8248 100644 --- a/cmd/strom/print_nbt/main.go +++ b/cmd/strom/print_nbt/main.go @@ -7,7 +7,7 @@ import ( "fmt" "os" - "github.com/admin-else/strom/nbt" + nbt2 "github.com/admin-else/strom/mc/nbt" ) var ( @@ -29,14 +29,14 @@ func Run(args []string) (err error) { return } defer f.Close() - n, err := nbt.ReadUnstructuredFile(f) + n, err := nbt2.ReadUnstructuredFile(f) if err != nil { return } var b []byte if *HashFormatFlag { bb := bytes.NewBuffer(nil) - err = nbt.PrintSNBTAny(n.Value, bb) + err = nbt2.PrintSNBTAny(n.Value, bb) if err != nil { return } diff --git a/cmd/strom/print_replay/main.go b/cmd/strom/print_replay/main.go index 57ce307..469a902 100644 --- a/cmd/strom/print_replay/main.go +++ b/cmd/strom/print_replay/main.go @@ -14,9 +14,9 @@ import ( "reflect" "strings" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" + "github.com/admin-else/strom/mc/data" + proto2 "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" ) var ( @@ -32,7 +32,7 @@ var ( //go:embed failed_packet.go.tmpl var TestSrcF string -func SaveUnCodeAbleAsTest(packet *proto.UnCodablePacket) { +func SaveUnCodeAbleAsTest(packet *proto2.UnCodablePacket) { hUntrimmed := sha256.Sum256(packet.Data) h := hUntrimmed[:8] f, err := os.Create(fmt.Sprintf(*CreateTestsPath+"/%v_%10x_test.go", len(packet.Data), h)) @@ -87,15 +87,15 @@ func UnpackPacket(r io.Reader) (packet proto_base.EncodeDecodeAble, err error) { // indexafterid represents how many bytes we've read so far indexafterid := int(b.Size()) - b.Len() - i, ok := proto.LookUpTypeByPacketInfo(proto_base.ToClient, state, packetId, int32(*ProtocolVersion)) + i, ok := proto2.LookUpTypeByPacketInfo(proto_base.ToClient, state, packetId, int32(*ProtocolVersion)) if !ok { - packet = &proto.UnCodablePacket{Err: proto.BadPacketIdErr, Data: packetData, Info: i} + packet = &proto2.UnCodablePacket{Err: proto2.BadPacketIdErr, Data: packetData, Info: i} return } packet = reflect.New(reflect.TypeOf(i.Type).Elem()).Interface().(proto_base.EncodeDecodeAble) err = packet.Decode(b) if err != nil { - packet = &proto.UnCodablePacket{Err: err, Data: packetData[indexafterid:], Info: i} + packet = &proto2.UnCodablePacket{Err: err, Data: packetData[indexafterid:], Info: i} return } switch i.Name { @@ -138,7 +138,7 @@ func Run(args []string) (err error) { for { var packet proto_base.EncodeDecodeAble packet, err = UnpackPacket(f) - unCodablePacket, ok := packet.(*proto.UnCodablePacket) + unCodablePacket, ok := packet.(*proto2.UnCodablePacket) if ok { if *CreateTestsPath != "" { SaveUnCodeAbleAsTest(unCodablePacket) diff --git a/cmd/strom/registry_data_hunter/main.go b/cmd/strom/registry_data_hunter/main.go index 068cf6e..be9a61b 100644 --- a/cmd/strom/registry_data_hunter/main.go +++ b/cmd/strom/registry_data_hunter/main.go @@ -6,16 +6,16 @@ import ( "log/slog" "os" - "github.com/admin-else/strom/api" - "github.com/admin-else/strom/client" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated/v1_21_8" - "github.com/admin-else/strom/server" - "github.com/admin-else/strom/text" + "github.com/admin-else/strom/mc/api" + "github.com/admin-else/strom/mc/client" + "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/event" + nbt2 "github.com/admin-else/strom/mc/nbt" + proto2 "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" + server2 "github.com/admin-else/strom/mc/server" + "github.com/admin-else/strom/mc/text" ) func wontFail[T any](v T, err error) T { @@ -33,8 +33,8 @@ var ( FinishedConfigErr = errors.New("finished configuration") ) -var Status = wontFail(json.Marshal(server.StatusResponse{ - Version: server.StatusResponseVersion{ +var Status = wontFail(json.Marshal(server2.StatusResponse{ + Version: server2.StatusResponseVersion{ Name: nil, Protocol: CompatibleProtocolVersion, }, @@ -42,8 +42,8 @@ var Status = wontFail(json.Marshal(server.StatusResponse{ })) type Proxy struct { - Client, Servee *proto.Conn - Data *nbt.Tag + Client, Servee *proto2.Conn + Data *nbt2.Tag } func (p *Proxy) OnAnything(e event.Anything) (err error) { @@ -51,7 +51,7 @@ func (p *Proxy) OnAnything(e event.Anything) (err error) { if !ok { return } - packetInfo, ok := proto.LookupPacketInfoByType(packet) + packetInfo, ok := proto2.LookupPacketInfoByType(packet) if !ok { return } @@ -107,10 +107,10 @@ func (p *Proxy) OnTags(data *v1_21_8.ConfigurationToClientPacketTags) (err error return } -func handleClient(c *proto.Conn) (err error) { +func handleClient(c *proto2.Conn) (err error) { acc := api.NewOfflineAccount("RegistryHunter") - _, err = server.ServeLogin(c, server.WithOtherAccount(acc), server.WithCompatibleVersions(CompatibleProtocolVersion), server.WithRawStatus(Status)) + _, err = server2.ServeLogin(c, server2.WithOtherAccount(acc), server2.WithCompatibleVersions(CompatibleProtocolVersion), server2.WithRawStatus(Status)) if err != nil { return } @@ -141,12 +141,12 @@ func handleClient(c *proto.Conn) (err error) { return } defer f.Close() - err = nbt.WriteUnstructuredFile(f, p.Data) + err = nbt2.WriteUnstructuredFile(f, p.Data) slog.Info("saved", "file", SaveAs) return } func Run(args []string) error { slog.SetLogLoggerLevel(slog.LevelDebug) - return server.StartServerWithOnConn(":25566", handleClient) + return server2.StartServerWithOnConn(":25566", handleClient) } diff --git a/cmd/strom/serve_tmcpr/main.go b/cmd/strom/serve_tmcpr/main.go index 92e5df3..1398599 100644 --- a/cmd/strom/serve_tmcpr/main.go +++ b/cmd/strom/serve_tmcpr/main.go @@ -9,11 +9,11 @@ import ( "os" "time" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto/replay" - "github.com/admin-else/strom/proto_generated/v1_21_8" - "github.com/admin-else/strom/server" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto/replay" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" + server2 "github.com/admin-else/strom/mc/server" ) type Server struct { @@ -30,12 +30,12 @@ var ( func Limbo(c *proto.Conn, tmcprPath string) (err error) { s := &Server{Conn: c} - _, err = server.ServeLogin(s.Conn, server.WithoutOnlineMode()) + _, err = server2.ServeLogin(s.Conn, server2.WithoutOnlineMode()) if err != nil { return } - err = server.ServeConfig(s.Conn) + err = server2.ServeConfig(s.Conn) if err != nil { return } @@ -91,7 +91,7 @@ func Run(args []string) error { return nil } - return server.StartServerWithOnConn(*bindAddr, func(c *proto.Conn) error { + return server2.StartServerWithOnConn(*bindAddr, func(c *proto.Conn) error { return Limbo(c, *tmcprFile) }) } diff --git a/cmd/strom/serve_world/main.go b/cmd/strom/serve_world/main.go index 0bce219..8178a2a 100644 --- a/cmd/strom/serve_world/main.go +++ b/cmd/strom/serve_world/main.go @@ -8,14 +8,14 @@ import ( "os" "time" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/level" - "github.com/admin-else/strom/level/anvil" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_generated/v1_21_8" - "github.com/admin-else/strom/server" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/level" + anvil2 "github.com/admin-else/strom/mc/level/anvil" + nbt2 "github.com/admin-else/strom/mc/nbt" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" + server2 "github.com/admin-else/strom/mc/server" + "github.com/admin-else/strom/mc/util" ) type Server struct { @@ -41,15 +41,15 @@ func init() { } func GetChunkFromMca(x, z int32, version string) (b []byte, err error) { - xmca := util.FloorDiv(x, anvil.ChunksWidthRegionFile) - zmca := util.FloorDiv(z, anvil.ChunksWidthRegionFile) - x = x % anvil.ChunksWidthRegionFile + xmca := util.FloorDiv(x, anvil2.ChunksWidthRegionFile) + zmca := util.FloorDiv(z, anvil2.ChunksWidthRegionFile) + x = x % anvil2.ChunksWidthRegionFile if x < 0 { - x += anvil.ChunksWidthRegionFile + x += anvil2.ChunksWidthRegionFile } - z = z % anvil.ChunksWidthRegionFile + z = z % anvil2.ChunksWidthRegionFile if z < 0 { - z += anvil.ChunksWidthRegionFile + z += anvil2.ChunksWidthRegionFile } f, err := os.Open(fmt.Sprintf("./level/anvil/testdata/securechattestworld/region/r.%v.%v.mca", xmca, zmca)) @@ -57,12 +57,12 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) { return } defer f.Close() - mca, err := anvil.ReadChunkHeader(f) + mca, err := anvil2.ReadChunkHeader(f) if err != nil { return } - var n *nbt.Tag + var n *nbt2.Tag n, err = mca.ChunkAt(f, x, z) if err != nil { return @@ -71,8 +71,8 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) { return } - var chunk anvil.Chunk - err = nbt.Format.Decode(n.Value, &chunk) + var chunk anvil2.Chunk + err = nbt2.Format.Decode(n.Value, &chunk) if err != nil { return } @@ -95,12 +95,12 @@ func Limbo(c *proto.Conn) (err error) { s := &Server{ Conn: c, } - _, err = server.ServeLogin(s.Conn, server.WithoutOnlineMode()) + _, err = server2.ServeLogin(s.Conn, server2.WithoutOnlineMode()) if err != nil { return } - err = server.ServeConfig(s.Conn) + err = server2.ServeConfig(s.Conn) if err != nil { return } @@ -176,5 +176,5 @@ func (s *Server) SendKeepAlive() (err error) { func Run(args []string) error { slog.SetLogLoggerLevel(slog.LevelDebug) - return server.StartServerWithOnConn(":25566", Limbo) + return server2.StartServerWithOnConn(":25566", Limbo) } diff --git a/cmd/strom/status/main.go b/cmd/strom/status/main.go index 35e9650..61b2c1f 100644 --- a/cmd/strom/status/main.go +++ b/cmd/strom/status/main.go @@ -6,11 +6,11 @@ import ( "log/slog" "time" - "github.com/admin-else/strom/client" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated/v1_21_8" + client2 "github.com/admin-else/strom/mc/client" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" ) var cmd = flag.NewFlagSet("status", flag.ContinueOnError) @@ -46,7 +46,7 @@ func (s *StatusClient) OnPong(p *v1_21_8.StatusToClientPacketPing) (err error) { // So ignore the resource leak warning. And maybe attach a warn ignore comment. // It does not resolve SRV records. func StatusRaw(addr string) (s *StatusClient, err error) { - c, err := client.ConnectVersionLess(addr) + c, err := client2.ConnectVersionLess(addr) if err != nil { return } @@ -61,7 +61,7 @@ func StatusRaw(addr string) (s *StatusClient, err error) { s.RegisterCriticalUntilLatest(s.OnStatus) s.RegisterCriticalUntilLatest(s.OnPong) - p, err := client.MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr) + p, err := client2.MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr) if err != nil { return } @@ -82,7 +82,7 @@ func Run(args []string) (err error) { return } if *srvFlag { - *addrFlag, err = client.DoDnsSimple(*addrFlag) + *addrFlag, err = client2.DoDnsSimple(*addrFlag) if err != nil { return } diff --git a/api/api.go b/mc/api/api.go similarity index 100% rename from api/api.go rename to mc/api/api.go diff --git a/api/offline.go b/mc/api/offline.go similarity index 72% rename from api/offline.go rename to mc/api/offline.go index 23eabe5..6f6de9f 100644 --- a/api/offline.go +++ b/mc/api/offline.go @@ -1,6 +1,8 @@ package api -import "github.com/admin-else/strom/crypto" +import ( + "github.com/admin-else/strom/mc/crypto" +) func NewOfflineAccount(name string) *Account { return &Account{ diff --git a/api/unauthenticated.go b/mc/api/unauthenticated.go similarity index 100% rename from api/unauthenticated.go rename to mc/api/unauthenticated.go diff --git a/client/client.go b/mc/client/client.go similarity index 92% rename from client/client.go rename to mc/client/client.go index 4a84591..a2f4e3a 100644 --- a/client/client.go +++ b/mc/client/client.go @@ -4,8 +4,8 @@ import ( "context" "net" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" ) // Connect connects to the given address note that it does not resolve the SRV records it's just a raw net.Dial diff --git a/client/config_ignorer.go b/mc/client/config_ignorer.go similarity index 89% rename from client/config_ignorer.go rename to mc/client/config_ignorer.go index 9e45596..44211b6 100644 --- a/client/config_ignorer.go +++ b/mc/client/config_ignorer.go @@ -4,10 +4,10 @@ import ( "errors" "fmt" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" ) type ConfigIgnorer struct { diff --git a/client/dns.go b/mc/client/dns.go similarity index 100% rename from client/dns.go rename to mc/client/dns.go diff --git a/client/dns_test.go b/mc/client/dns_test.go similarity index 100% rename from client/dns_test.go rename to mc/client/dns_test.go diff --git a/client/handshake_packet.go b/mc/client/handshake_packet.go similarity index 84% rename from client/handshake_packet.go rename to mc/client/handshake_packet.go index 20c1c2d..eafccb5 100644 --- a/client/handshake_packet.go +++ b/mc/client/handshake_packet.go @@ -4,9 +4,9 @@ import ( "net" "strconv" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" ) func MakeHandshakePacket(c *proto.Conn, nextState proto_base.State) (p *v1_21_8.HandshakingToServerPacketSetProtocol, err error) { diff --git a/client/login.go b/mc/client/login.go similarity index 92% rename from client/login.go rename to mc/client/login.go index e2d8652..d64d674 100644 --- a/client/login.go +++ b/mc/client/login.go @@ -7,14 +7,13 @@ import ( "encoding/json" "errors" - "github.com/admin-else/strom/api" - "github.com/admin-else/strom/crypto" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/text" - - "github.com/admin-else/strom/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/api" + "github.com/admin-else/strom/mc/crypto" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/text" ) type LoginClient struct { diff --git a/client/status.go b/mc/client/status.go similarity index 89% rename from client/status.go rename to mc/client/status.go index 195a996..686cb31 100644 --- a/client/status.go +++ b/mc/client/status.go @@ -5,12 +5,11 @@ import ( "encoding/json" "time" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/server" - - "github.com/admin-else/strom/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/server" ) type StatusClient struct { diff --git a/crypto/auth_digest.go b/mc/crypto/auth_digest.go similarity index 100% rename from crypto/auth_digest.go rename to mc/crypto/auth_digest.go diff --git a/crypto/cfb8.go b/mc/crypto/cfb8.go similarity index 100% rename from crypto/cfb8.go rename to mc/crypto/cfb8.go diff --git a/crypto/offline.go b/mc/crypto/offline.go similarity index 100% rename from crypto/offline.go rename to mc/crypto/offline.go diff --git a/data/biomes.go b/mc/data/biomes.go similarity index 100% rename from data/biomes.go rename to mc/data/biomes.go diff --git a/data/biomes_test.go b/mc/data/biomes_test.go similarity index 82% rename from data/biomes_test.go rename to mc/data/biomes_test.go index 6941157..578c53d 100644 --- a/data/biomes_test.go +++ b/mc/data/biomes_test.go @@ -3,7 +3,7 @@ package data_test import ( "testing" - "github.com/admin-else/strom/data" + "github.com/admin-else/strom/mc/data" ) func TestLookupBiomeById(t *testing.T) { diff --git a/data/blocks.go b/mc/data/blocks.go similarity index 99% rename from data/blocks.go rename to mc/data/blocks.go index 00f8283..0ddf88c 100644 --- a/data/blocks.go +++ b/mc/data/blocks.go @@ -5,7 +5,7 @@ import ( "slices" "strconv" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/util" ) // { diff --git a/data/blocks_test.go b/mc/data/blocks_test.go similarity index 95% rename from data/blocks_test.go rename to mc/data/blocks_test.go index dcfdef1..ded444e 100644 --- a/data/blocks_test.go +++ b/mc/data/blocks_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/admin-else/strom/data" + "github.com/admin-else/strom/mc/data" ) func TestLookupBlockByStateId(t *testing.T) { diff --git a/data/data.go b/mc/data/data.go similarity index 100% rename from data/data.go rename to mc/data/data.go diff --git a/data/data_paths.go b/mc/data/data_paths.go similarity index 100% rename from data/data_paths.go rename to mc/data/data_paths.go diff --git a/data/download_minecraft_data.sh b/mc/data/download_minecraft_data.sh similarity index 100% rename from data/download_minecraft_data.sh rename to mc/data/download_minecraft_data.sh diff --git a/data/item.go b/mc/data/item.go similarity index 100% rename from data/item.go rename to mc/data/item.go diff --git a/data/minecraft-data/dataPaths.json b/mc/data/minecraft-data/dataPaths.json similarity index 100% rename from data/minecraft-data/dataPaths.json rename to mc/data/minecraft-data/dataPaths.json diff --git a/data/minecraft-data/pc/1.21.11/attributes.json b/mc/data/minecraft-data/pc/1.21.11/attributes.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/attributes.json rename to mc/data/minecraft-data/pc/1.21.11/attributes.json diff --git a/data/minecraft-data/pc/1.21.11/biomes.json b/mc/data/minecraft-data/pc/1.21.11/biomes.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/biomes.json rename to mc/data/minecraft-data/pc/1.21.11/biomes.json diff --git a/data/minecraft-data/pc/1.21.11/blockCollisionShapes.json b/mc/data/minecraft-data/pc/1.21.11/blockCollisionShapes.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/blockCollisionShapes.json rename to mc/data/minecraft-data/pc/1.21.11/blockCollisionShapes.json diff --git a/data/minecraft-data/pc/1.21.11/blocks.json b/mc/data/minecraft-data/pc/1.21.11/blocks.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/blocks.json rename to mc/data/minecraft-data/pc/1.21.11/blocks.json diff --git a/data/minecraft-data/pc/1.21.11/effects.json b/mc/data/minecraft-data/pc/1.21.11/effects.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/effects.json rename to mc/data/minecraft-data/pc/1.21.11/effects.json diff --git a/data/minecraft-data/pc/1.21.11/enchantments.json b/mc/data/minecraft-data/pc/1.21.11/enchantments.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/enchantments.json rename to mc/data/minecraft-data/pc/1.21.11/enchantments.json diff --git a/data/minecraft-data/pc/1.21.11/entities.json b/mc/data/minecraft-data/pc/1.21.11/entities.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/entities.json rename to mc/data/minecraft-data/pc/1.21.11/entities.json diff --git a/data/minecraft-data/pc/1.21.11/foods.json b/mc/data/minecraft-data/pc/1.21.11/foods.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/foods.json rename to mc/data/minecraft-data/pc/1.21.11/foods.json diff --git a/data/minecraft-data/pc/1.21.11/instruments.json b/mc/data/minecraft-data/pc/1.21.11/instruments.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/instruments.json rename to mc/data/minecraft-data/pc/1.21.11/instruments.json diff --git a/data/minecraft-data/pc/1.21.11/items.json b/mc/data/minecraft-data/pc/1.21.11/items.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/items.json rename to mc/data/minecraft-data/pc/1.21.11/items.json diff --git a/data/minecraft-data/pc/1.21.11/language.json b/mc/data/minecraft-data/pc/1.21.11/language.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/language.json rename to mc/data/minecraft-data/pc/1.21.11/language.json diff --git a/data/minecraft-data/pc/1.21.11/loginPacket.json b/mc/data/minecraft-data/pc/1.21.11/loginPacket.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/loginPacket.json rename to mc/data/minecraft-data/pc/1.21.11/loginPacket.json diff --git a/data/minecraft-data/pc/1.21.11/materials.json b/mc/data/minecraft-data/pc/1.21.11/materials.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/materials.json rename to mc/data/minecraft-data/pc/1.21.11/materials.json diff --git a/data/minecraft-data/pc/1.21.11/particles.json b/mc/data/minecraft-data/pc/1.21.11/particles.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/particles.json rename to mc/data/minecraft-data/pc/1.21.11/particles.json diff --git a/data/minecraft-data/pc/1.21.11/protocol.json b/mc/data/minecraft-data/pc/1.21.11/protocol.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/protocol.json rename to mc/data/minecraft-data/pc/1.21.11/protocol.json diff --git a/data/minecraft-data/pc/1.21.11/recipes.json b/mc/data/minecraft-data/pc/1.21.11/recipes.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/recipes.json rename to mc/data/minecraft-data/pc/1.21.11/recipes.json diff --git a/data/minecraft-data/pc/1.21.11/sounds.json b/mc/data/minecraft-data/pc/1.21.11/sounds.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/sounds.json rename to mc/data/minecraft-data/pc/1.21.11/sounds.json diff --git a/data/minecraft-data/pc/1.21.11/tints.json b/mc/data/minecraft-data/pc/1.21.11/tints.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/tints.json rename to mc/data/minecraft-data/pc/1.21.11/tints.json diff --git a/data/minecraft-data/pc/1.21.11/version.json b/mc/data/minecraft-data/pc/1.21.11/version.json similarity index 100% rename from data/minecraft-data/pc/1.21.11/version.json rename to mc/data/minecraft-data/pc/1.21.11/version.json diff --git a/data/minecraft-data/pc/1.21.8/attributes.json b/mc/data/minecraft-data/pc/1.21.8/attributes.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/attributes.json rename to mc/data/minecraft-data/pc/1.21.8/attributes.json diff --git a/data/minecraft-data/pc/1.21.8/biomes.json b/mc/data/minecraft-data/pc/1.21.8/biomes.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/biomes.json rename to mc/data/minecraft-data/pc/1.21.8/biomes.json diff --git a/data/minecraft-data/pc/1.21.8/blockCollisionShapes.json b/mc/data/minecraft-data/pc/1.21.8/blockCollisionShapes.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/blockCollisionShapes.json rename to mc/data/minecraft-data/pc/1.21.8/blockCollisionShapes.json diff --git a/data/minecraft-data/pc/1.21.8/blocks.json b/mc/data/minecraft-data/pc/1.21.8/blocks.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/blocks.json rename to mc/data/minecraft-data/pc/1.21.8/blocks.json diff --git a/data/minecraft-data/pc/1.21.8/effects.json b/mc/data/minecraft-data/pc/1.21.8/effects.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/effects.json rename to mc/data/minecraft-data/pc/1.21.8/effects.json diff --git a/data/minecraft-data/pc/1.21.8/enchantments.json b/mc/data/minecraft-data/pc/1.21.8/enchantments.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/enchantments.json rename to mc/data/minecraft-data/pc/1.21.8/enchantments.json diff --git a/data/minecraft-data/pc/1.21.8/entities.json b/mc/data/minecraft-data/pc/1.21.8/entities.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/entities.json rename to mc/data/minecraft-data/pc/1.21.8/entities.json diff --git a/data/minecraft-data/pc/1.21.8/foods.json b/mc/data/minecraft-data/pc/1.21.8/foods.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/foods.json rename to mc/data/minecraft-data/pc/1.21.8/foods.json diff --git a/data/minecraft-data/pc/1.21.8/instruments.json b/mc/data/minecraft-data/pc/1.21.8/instruments.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/instruments.json rename to mc/data/minecraft-data/pc/1.21.8/instruments.json diff --git a/data/minecraft-data/pc/1.21.8/items.json b/mc/data/minecraft-data/pc/1.21.8/items.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/items.json rename to mc/data/minecraft-data/pc/1.21.8/items.json diff --git a/data/minecraft-data/pc/1.21.8/language.json b/mc/data/minecraft-data/pc/1.21.8/language.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/language.json rename to mc/data/minecraft-data/pc/1.21.8/language.json diff --git a/data/minecraft-data/pc/1.21.8/materials.json b/mc/data/minecraft-data/pc/1.21.8/materials.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/materials.json rename to mc/data/minecraft-data/pc/1.21.8/materials.json diff --git a/data/minecraft-data/pc/1.21.8/particles.json b/mc/data/minecraft-data/pc/1.21.8/particles.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/particles.json rename to mc/data/minecraft-data/pc/1.21.8/particles.json diff --git a/data/minecraft-data/pc/1.21.8/proto.yml b/mc/data/minecraft-data/pc/1.21.8/proto.yml similarity index 100% rename from data/minecraft-data/pc/1.21.8/proto.yml rename to mc/data/minecraft-data/pc/1.21.8/proto.yml diff --git a/data/minecraft-data/pc/1.21.8/protocol.json b/mc/data/minecraft-data/pc/1.21.8/protocol.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/protocol.json rename to mc/data/minecraft-data/pc/1.21.8/protocol.json diff --git a/data/minecraft-data/pc/1.21.8/recipes.json b/mc/data/minecraft-data/pc/1.21.8/recipes.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/recipes.json rename to mc/data/minecraft-data/pc/1.21.8/recipes.json diff --git a/data/minecraft-data/pc/1.21.8/sounds.json b/mc/data/minecraft-data/pc/1.21.8/sounds.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/sounds.json rename to mc/data/minecraft-data/pc/1.21.8/sounds.json diff --git a/data/minecraft-data/pc/1.21.8/tints.json b/mc/data/minecraft-data/pc/1.21.8/tints.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/tints.json rename to mc/data/minecraft-data/pc/1.21.8/tints.json diff --git a/data/minecraft-data/pc/1.21.8/version.json b/mc/data/minecraft-data/pc/1.21.8/version.json similarity index 100% rename from data/minecraft-data/pc/1.21.8/version.json rename to mc/data/minecraft-data/pc/1.21.8/version.json diff --git a/data/minecraft-data/pc/1.21.9/attributes.json b/mc/data/minecraft-data/pc/1.21.9/attributes.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/attributes.json rename to mc/data/minecraft-data/pc/1.21.9/attributes.json diff --git a/data/minecraft-data/pc/1.21.9/biomes.json b/mc/data/minecraft-data/pc/1.21.9/biomes.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/biomes.json rename to mc/data/minecraft-data/pc/1.21.9/biomes.json diff --git a/data/minecraft-data/pc/1.21.9/blockCollisionShapes.json b/mc/data/minecraft-data/pc/1.21.9/blockCollisionShapes.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/blockCollisionShapes.json rename to mc/data/minecraft-data/pc/1.21.9/blockCollisionShapes.json diff --git a/data/minecraft-data/pc/1.21.9/blocks.json b/mc/data/minecraft-data/pc/1.21.9/blocks.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/blocks.json rename to mc/data/minecraft-data/pc/1.21.9/blocks.json diff --git a/data/minecraft-data/pc/1.21.9/effects.json b/mc/data/minecraft-data/pc/1.21.9/effects.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/effects.json rename to mc/data/minecraft-data/pc/1.21.9/effects.json diff --git a/data/minecraft-data/pc/1.21.9/enchantments.json b/mc/data/minecraft-data/pc/1.21.9/enchantments.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/enchantments.json rename to mc/data/minecraft-data/pc/1.21.9/enchantments.json diff --git a/data/minecraft-data/pc/1.21.9/entities.json b/mc/data/minecraft-data/pc/1.21.9/entities.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/entities.json rename to mc/data/minecraft-data/pc/1.21.9/entities.json diff --git a/data/minecraft-data/pc/1.21.9/foods.json b/mc/data/minecraft-data/pc/1.21.9/foods.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/foods.json rename to mc/data/minecraft-data/pc/1.21.9/foods.json diff --git a/data/minecraft-data/pc/1.21.9/instruments.json b/mc/data/minecraft-data/pc/1.21.9/instruments.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/instruments.json rename to mc/data/minecraft-data/pc/1.21.9/instruments.json diff --git a/data/minecraft-data/pc/1.21.9/items.json b/mc/data/minecraft-data/pc/1.21.9/items.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/items.json rename to mc/data/minecraft-data/pc/1.21.9/items.json diff --git a/data/minecraft-data/pc/1.21.9/language.json b/mc/data/minecraft-data/pc/1.21.9/language.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/language.json rename to mc/data/minecraft-data/pc/1.21.9/language.json diff --git a/data/minecraft-data/pc/1.21.9/loginPacket.json b/mc/data/minecraft-data/pc/1.21.9/loginPacket.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/loginPacket.json rename to mc/data/minecraft-data/pc/1.21.9/loginPacket.json diff --git a/data/minecraft-data/pc/1.21.9/materials.json b/mc/data/minecraft-data/pc/1.21.9/materials.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/materials.json rename to mc/data/minecraft-data/pc/1.21.9/materials.json diff --git a/data/minecraft-data/pc/1.21.9/particles.json b/mc/data/minecraft-data/pc/1.21.9/particles.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/particles.json rename to mc/data/minecraft-data/pc/1.21.9/particles.json diff --git a/data/minecraft-data/pc/1.21.9/proto.yml b/mc/data/minecraft-data/pc/1.21.9/proto.yml similarity index 100% rename from data/minecraft-data/pc/1.21.9/proto.yml rename to mc/data/minecraft-data/pc/1.21.9/proto.yml diff --git a/data/minecraft-data/pc/1.21.9/protocol.json b/mc/data/minecraft-data/pc/1.21.9/protocol.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/protocol.json rename to mc/data/minecraft-data/pc/1.21.9/protocol.json diff --git a/data/minecraft-data/pc/1.21.9/recipes.json b/mc/data/minecraft-data/pc/1.21.9/recipes.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/recipes.json rename to mc/data/minecraft-data/pc/1.21.9/recipes.json diff --git a/data/minecraft-data/pc/1.21.9/sounds.json b/mc/data/minecraft-data/pc/1.21.9/sounds.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/sounds.json rename to mc/data/minecraft-data/pc/1.21.9/sounds.json diff --git a/data/minecraft-data/pc/1.21.9/tints.json b/mc/data/minecraft-data/pc/1.21.9/tints.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/tints.json rename to mc/data/minecraft-data/pc/1.21.9/tints.json diff --git a/data/minecraft-data/pc/1.21.9/version.json b/mc/data/minecraft-data/pc/1.21.9/version.json similarity index 100% rename from data/minecraft-data/pc/1.21.9/version.json rename to mc/data/minecraft-data/pc/1.21.9/version.json diff --git a/data/minecraft-data/pc/common/features.json b/mc/data/minecraft-data/pc/common/features.json similarity index 100% rename from data/minecraft-data/pc/common/features.json rename to mc/data/minecraft-data/pc/common/features.json diff --git a/data/minecraft-data/pc/common/legacy.json b/mc/data/minecraft-data/pc/common/legacy.json similarity index 100% rename from data/minecraft-data/pc/common/legacy.json rename to mc/data/minecraft-data/pc/common/legacy.json diff --git a/data/minecraft-data/pc/common/protocolVersions.json b/mc/data/minecraft-data/pc/common/protocolVersions.json similarity index 100% rename from data/minecraft-data/pc/common/protocolVersions.json rename to mc/data/minecraft-data/pc/common/protocolVersions.json diff --git a/data/minecraft-data/pc/common/versions.json b/mc/data/minecraft-data/pc/common/versions.json similarity index 100% rename from data/minecraft-data/pc/common/versions.json rename to mc/data/minecraft-data/pc/common/versions.json diff --git a/data/protocol_version.go b/mc/data/protocol_version.go similarity index 100% rename from data/protocol_version.go rename to mc/data/protocol_version.go diff --git a/data/protocol_version_test.go b/mc/data/protocol_version_test.go similarity index 90% rename from data/protocol_version_test.go rename to mc/data/protocol_version_test.go index 7da5d9b..ec54cd6 100644 --- a/data/protocol_version_test.go +++ b/mc/data/protocol_version_test.go @@ -3,7 +3,7 @@ package data_test import ( "testing" - "github.com/admin-else/strom/data" + "github.com/admin-else/strom/mc/data" ) func TestLookUpProtocolVersion(t *testing.T) { diff --git a/data/registry.go b/mc/data/registry.go similarity index 65% rename from data/registry.go rename to mc/data/registry.go index 32035d9..6e9b893 100644 --- a/data/registry.go +++ b/mc/data/registry.go @@ -3,7 +3,7 @@ package data import ( "embed" - "github.com/admin-else/strom/nbt" + nbt2 "github.com/admin-else/strom/mc/nbt" ) // TODO: this is stupid loginPacket.json exists next version migrate to that @@ -11,12 +11,12 @@ import ( //go:embed registry/* var Registry embed.FS -func LoadRegistry(name string) (n *nbt.Tag, err error) { +func LoadRegistry(name string) (n *nbt2.Tag, err error) { r, err := Registry.Open("registry/" + name + ".nbt") if err != nil { return } defer r.Close() - n, err = nbt.ReadUnstructuredFile(r) + n, err = nbt2.ReadUnstructuredFile(r) return } diff --git a/data/registry/1.21.11.nbt b/mc/data/registry/1.21.11.nbt similarity index 100% rename from data/registry/1.21.11.nbt rename to mc/data/registry/1.21.11.nbt diff --git a/data/registry/1.21.8.nbt b/mc/data/registry/1.21.8.nbt similarity index 100% rename from data/registry/1.21.8.nbt rename to mc/data/registry/1.21.8.nbt diff --git a/event/event_bus.go b/mc/event/event_bus.go similarity index 100% rename from event/event_bus.go rename to mc/event/event_bus.go diff --git a/event/stdin.go b/mc/event/stdin.go similarity index 100% rename from event/stdin.go rename to mc/event/stdin.go diff --git a/event/timer.go b/mc/event/timer.go similarity index 100% rename from event/timer.go rename to mc/event/timer.go diff --git a/level/anvil/big_chunk_packet_test.go b/mc/level/anvil/big_chunk_packet_test.go similarity index 99% rename from level/anvil/big_chunk_packet_test.go rename to mc/level/anvil/big_chunk_packet_test.go index 1d9662c..d8c73a9 100644 --- a/level/anvil/big_chunk_packet_test.go +++ b/mc/level/anvil/big_chunk_packet_test.go @@ -1,8 +1,8 @@ package anvil_test import ( - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto_generated/v1_21_11" + "github.com/admin-else/strom/mc/nbt" + "github.com/admin-else/strom/mc/proto_generated/v1_21_11" ) // in seperate file not to lag my ide diff --git a/level/anvil/chunk.go b/mc/level/anvil/chunk.go similarity index 71% rename from level/anvil/chunk.go rename to mc/level/anvil/chunk.go index be4b680..2aa5646 100644 --- a/level/anvil/chunk.go +++ b/mc/level/anvil/chunk.go @@ -4,9 +4,9 @@ import ( "strings" "unsafe" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/level" - "github.com/admin-else/strom/util" + data2 "github.com/admin-else/strom/mc/data" + level2 "github.com/admin-else/strom/mc/level" + "github.com/admin-else/strom/mc/util" ) type Chunk struct { @@ -19,16 +19,16 @@ type Chunk struct { const McPrefix = "minecraft:" -func (c Chunk) ToStorage(version string) (toChunk *level.Chunk, err error) { - f := level.MakeBlockFormat(version) - toChunk = new(level.Chunk) +func (c Chunk) ToStorage(version string) (toChunk *level2.Chunk, err error) { + f := level2.MakeBlockFormat(version) + toChunk = new(level2.Chunk) toChunk.Version = version - toChunk.Sections = make([]level.Section, len(c.Sections)) + toChunk.Sections = make([]level2.Section, len(c.Sections)) for i, s := range c.Sections { pallete := make([]int32, len(s.BlockStates.Palette)) for j, p := range s.BlockStates.Palette { - pallete[j], err = data.StateIdFromBlocKAndStateMap(version, strings.TrimPrefix(p.Name, McPrefix), p.Properties) + pallete[j], err = data2.StateIdFromBlocKAndStateMap(version, strings.TrimPrefix(p.Name, McPrefix), p.Properties) if err != nil { return } @@ -42,13 +42,13 @@ func (c Chunk) ToStorage(version string) (toChunk *level.Chunk, err error) { if err != nil { return } - toChunk.Sections[i].BlockCount = int16(level.BlocksPerChunkSection - level.CountStorage(toChunk.Sections[i].Blocks, 0)) + toChunk.Sections[i].BlockCount = int16(level2.BlocksPerChunkSection - level2.CountStorage(toChunk.Sections[i].Blocks, 0)) } else { var fillerId = int32(0) if len(pallete) == 1 { fillerId = pallete[0] if fillerId != 0 { - toChunk.Sections[i].BlockCount = level.BlocksPerChunkSection + toChunk.Sections[i].BlockCount = level2.BlocksPerChunkSection } } toChunk.Sections[i].Blocks, err = f.FullWith(fillerId) @@ -57,14 +57,14 @@ func (c Chunk) ToStorage(version string) (toChunk *level.Chunk, err error) { } } } - f = level.MakeBiomeFormat(version) + f = level2.MakeBiomeFormat(version) for i, s := range c.Sections { pallete := make([]int32, len(s.Biomes.Palette)) for j, p := range s.Biomes.Palette { - var b *data.Biome - b, ok := data.LookupBiomeByName(version, strings.TrimPrefix(p, McPrefix)) + var b *data2.Biome + b, ok := data2.LookupBiomeByName(version, strings.TrimPrefix(p, McPrefix)) if !ok { - err = data.UnknownBiomeNameErr + err = data2.UnknownBiomeNameErr return } pallete[j] = b.Id diff --git a/level/anvil/level.go b/mc/level/anvil/level.go similarity index 99% rename from level/anvil/level.go rename to mc/level/anvil/level.go index 6bc84a7..dd738f8 100644 --- a/level/anvil/level.go +++ b/mc/level/anvil/level.go @@ -3,7 +3,7 @@ package anvil import ( "io" - "github.com/admin-else/strom/nbt" + "github.com/admin-else/strom/mc/nbt" ) type Level struct { diff --git a/level/anvil/level_test.go b/mc/level/anvil/level_test.go similarity index 79% rename from level/anvil/level_test.go rename to mc/level/anvil/level_test.go index 5f3ef0e..28a4716 100644 --- a/level/anvil/level_test.go +++ b/mc/level/anvil/level_test.go @@ -7,9 +7,9 @@ import ( "os" "testing" - "github.com/admin-else/strom/level" - "github.com/admin-else/strom/level/anvil" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/level" + anvil2 "github.com/admin-else/strom/mc/level/anvil" + "github.com/admin-else/strom/mc/util" ) func TestLevel(t *testing.T) { @@ -19,7 +19,7 @@ func TestLevel(t *testing.T) { } defer f.Close() - l, err := anvil.ReadLevelData(f) + l, err := anvil2.ReadLevelData(f) if err != nil { t.Fatal(err) } @@ -32,7 +32,7 @@ func TestRegionFile(t *testing.T) { t.Fatal(err) } defer f.Close() - ch, err := anvil.ReadChunkHeader(f) + ch, err := anvil2.ReadChunkHeader(f) if err != nil { t.Fatal(err) } diff --git a/level/anvil/mca.go b/mc/level/anvil/mca.go similarity index 98% rename from level/anvil/mca.go rename to mc/level/anvil/mca.go index 009ddcd..e078709 100644 --- a/level/anvil/mca.go +++ b/mc/level/anvil/mca.go @@ -8,7 +8,7 @@ import ( "io" "os" - "github.com/admin-else/strom/nbt" + "github.com/admin-else/strom/mc/nbt" ) type CompressionStrategy uint8 diff --git a/level/anvil/testdata/chunk00.bin b/mc/level/anvil/testdata/chunk00.bin similarity index 100% rename from level/anvil/testdata/chunk00.bin rename to mc/level/anvil/testdata/chunk00.bin diff --git a/level/anvil/testdata/mca-chunk-1.nbt b/mc/level/anvil/testdata/mca-chunk-1.nbt similarity index 100% rename from level/anvil/testdata/mca-chunk-1.nbt rename to mc/level/anvil/testdata/mca-chunk-1.nbt diff --git a/level/anvil/testdata/mca-chunk-1.nbt.json b/mc/level/anvil/testdata/mca-chunk-1.nbt.json similarity index 100% rename from level/anvil/testdata/mca-chunk-1.nbt.json rename to mc/level/anvil/testdata/mca-chunk-1.nbt.json diff --git a/level/anvil/testdata/mca-chunk.nbt b/mc/level/anvil/testdata/mca-chunk.nbt similarity index 100% rename from level/anvil/testdata/mca-chunk.nbt rename to mc/level/anvil/testdata/mca-chunk.nbt diff --git a/level/anvil/testdata/mca-chunk.nbt.json b/mc/level/anvil/testdata/mca-chunk.nbt.json similarity index 100% rename from level/anvil/testdata/mca-chunk.nbt.json rename to mc/level/anvil/testdata/mca-chunk.nbt.json diff --git a/level/anvil/testdata/r.0.0.mca b/mc/level/anvil/testdata/r.0.0.mca similarity index 100% rename from level/anvil/testdata/r.0.0.mca rename to mc/level/anvil/testdata/r.0.0.mca diff --git a/level/anvil/testdata/securechattestworld/DIM-1/data/chunks.dat b/mc/level/anvil/testdata/securechattestworld/DIM-1/data/chunks.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/DIM-1/data/chunks.dat rename to mc/level/anvil/testdata/securechattestworld/DIM-1/data/chunks.dat diff --git a/level/anvil/testdata/securechattestworld/DIM-1/data/raids.dat b/mc/level/anvil/testdata/securechattestworld/DIM-1/data/raids.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/DIM-1/data/raids.dat rename to mc/level/anvil/testdata/securechattestworld/DIM-1/data/raids.dat diff --git a/level/anvil/testdata/securechattestworld/DIM-1/data/world_border.dat b/mc/level/anvil/testdata/securechattestworld/DIM-1/data/world_border.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/DIM-1/data/world_border.dat rename to mc/level/anvil/testdata/securechattestworld/DIM-1/data/world_border.dat diff --git a/level/anvil/testdata/securechattestworld/DIM1/data/chunks.dat b/mc/level/anvil/testdata/securechattestworld/DIM1/data/chunks.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/DIM1/data/chunks.dat rename to mc/level/anvil/testdata/securechattestworld/DIM1/data/chunks.dat diff --git a/level/anvil/testdata/securechattestworld/DIM1/data/raids_end.dat b/mc/level/anvil/testdata/securechattestworld/DIM1/data/raids_end.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/DIM1/data/raids_end.dat rename to mc/level/anvil/testdata/securechattestworld/DIM1/data/raids_end.dat diff --git a/level/anvil/testdata/securechattestworld/DIM1/data/world_border.dat b/mc/level/anvil/testdata/securechattestworld/DIM1/data/world_border.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/DIM1/data/world_border.dat rename to mc/level/anvil/testdata/securechattestworld/DIM1/data/world_border.dat diff --git a/level/anvil/testdata/securechattestworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json b/mc/level/anvil/testdata/securechattestworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json similarity index 100% rename from level/anvil/testdata/securechattestworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json rename to mc/level/anvil/testdata/securechattestworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json diff --git a/level/anvil/testdata/securechattestworld/advancements/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json b/mc/level/anvil/testdata/securechattestworld/advancements/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json similarity index 100% rename from level/anvil/testdata/securechattestworld/advancements/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json rename to mc/level/anvil/testdata/securechattestworld/advancements/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json diff --git a/level/anvil/testdata/securechattestworld/advancements/37e4a5df-2479-34b7-be52-2f491341f6b1.json b/mc/level/anvil/testdata/securechattestworld/advancements/37e4a5df-2479-34b7-be52-2f491341f6b1.json similarity index 100% rename from level/anvil/testdata/securechattestworld/advancements/37e4a5df-2479-34b7-be52-2f491341f6b1.json rename to mc/level/anvil/testdata/securechattestworld/advancements/37e4a5df-2479-34b7-be52-2f491341f6b1.json diff --git a/level/anvil/testdata/securechattestworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json b/mc/level/anvil/testdata/securechattestworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json similarity index 100% rename from level/anvil/testdata/securechattestworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json rename to mc/level/anvil/testdata/securechattestworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json diff --git a/level/anvil/testdata/securechattestworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json b/mc/level/anvil/testdata/securechattestworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json similarity index 100% rename from level/anvil/testdata/securechattestworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json rename to mc/level/anvil/testdata/securechattestworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json diff --git a/level/anvil/testdata/securechattestworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json b/mc/level/anvil/testdata/securechattestworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json similarity index 100% rename from level/anvil/testdata/securechattestworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json rename to mc/level/anvil/testdata/securechattestworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json diff --git a/level/anvil/testdata/securechattestworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json b/mc/level/anvil/testdata/securechattestworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json similarity index 100% rename from level/anvil/testdata/securechattestworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json rename to mc/level/anvil/testdata/securechattestworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr b/mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr rename to mc/level/anvil/testdata/securechattestworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr diff --git a/level/anvil/testdata/securechattestworld/baritone/readme.txt b/mc/level/anvil/testdata/securechattestworld/baritone/readme.txt similarity index 100% rename from level/anvil/testdata/securechattestworld/baritone/readme.txt rename to mc/level/anvil/testdata/securechattestworld/baritone/readme.txt diff --git a/level/anvil/testdata/securechattestworld/data/Mansion_index.dat b/mc/level/anvil/testdata/securechattestworld/data/Mansion_index.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/Mansion_index.dat rename to mc/level/anvil/testdata/securechattestworld/data/Mansion_index.dat diff --git a/level/anvil/testdata/securechattestworld/data/Mineshaft_index.dat b/mc/level/anvil/testdata/securechattestworld/data/Mineshaft_index.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/Mineshaft_index.dat rename to mc/level/anvil/testdata/securechattestworld/data/Mineshaft_index.dat diff --git a/level/anvil/testdata/securechattestworld/data/Monument_index.dat b/mc/level/anvil/testdata/securechattestworld/data/Monument_index.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/Monument_index.dat rename to mc/level/anvil/testdata/securechattestworld/data/Monument_index.dat diff --git a/level/anvil/testdata/securechattestworld/data/Stronghold_index.dat b/mc/level/anvil/testdata/securechattestworld/data/Stronghold_index.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/Stronghold_index.dat rename to mc/level/anvil/testdata/securechattestworld/data/Stronghold_index.dat diff --git a/level/anvil/testdata/securechattestworld/data/Temple_index.dat b/mc/level/anvil/testdata/securechattestworld/data/Temple_index.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/Temple_index.dat rename to mc/level/anvil/testdata/securechattestworld/data/Temple_index.dat diff --git a/level/anvil/testdata/securechattestworld/data/Village_index.dat b/mc/level/anvil/testdata/securechattestworld/data/Village_index.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/Village_index.dat rename to mc/level/anvil/testdata/securechattestworld/data/Village_index.dat diff --git a/level/anvil/testdata/securechattestworld/data/chunks.dat b/mc/level/anvil/testdata/securechattestworld/data/chunks.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/chunks.dat rename to mc/level/anvil/testdata/securechattestworld/data/chunks.dat diff --git a/level/anvil/testdata/securechattestworld/data/raids.dat b/mc/level/anvil/testdata/securechattestworld/data/raids.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/raids.dat rename to mc/level/anvil/testdata/securechattestworld/data/raids.dat diff --git a/level/anvil/testdata/securechattestworld/data/random_sequences.dat b/mc/level/anvil/testdata/securechattestworld/data/random_sequences.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/random_sequences.dat rename to mc/level/anvil/testdata/securechattestworld/data/random_sequences.dat diff --git a/level/anvil/testdata/securechattestworld/data/scoreboard.dat b/mc/level/anvil/testdata/securechattestworld/data/scoreboard.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/scoreboard.dat rename to mc/level/anvil/testdata/securechattestworld/data/scoreboard.dat diff --git a/level/anvil/testdata/securechattestworld/data/stopwatches.dat b/mc/level/anvil/testdata/securechattestworld/data/stopwatches.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/stopwatches.dat rename to mc/level/anvil/testdata/securechattestworld/data/stopwatches.dat diff --git a/level/anvil/testdata/securechattestworld/data/world_border.dat b/mc/level/anvil/testdata/securechattestworld/data/world_border.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/data/world_border.dat rename to mc/level/anvil/testdata/securechattestworld/data/world_border.dat diff --git a/level/anvil/testdata/securechattestworld/entities/r.-1.-1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-1.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-1.-1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-1.-1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-1.-2.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-1.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-1.-2.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-1.-2.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-1.-3.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-1.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-1.-3.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-1.-3.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-1.0.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-1.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-1.0.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-1.0.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-1.1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-1.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-1.1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-1.1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-2.-1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-2.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-2.-1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-2.-1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-2.-2.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-2.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-2.-2.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-2.-2.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-2.0.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-2.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-2.0.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-2.0.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-2.1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-2.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-2.1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-2.1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-3.-1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-3.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-3.-1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-3.-1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-3.-2.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-3.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-3.-2.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-3.-2.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.-3.0.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.-3.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.-3.0.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.-3.0.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.0.-1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.0.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.0.-1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.0.-1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.0.-2.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.0.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.0.-2.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.0.-2.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.0.-3.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.0.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.0.-3.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.0.-3.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.0.0.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.0.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.0.0.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.0.0.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.0.1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.0.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.0.1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.0.1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.1.-1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.1.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.1.-1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.1.-1.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.1.-2.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.1.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.1.-2.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.1.-2.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.1.-3.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.1.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.1.-3.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.1.-3.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.1.0.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.1.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.1.0.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.1.0.mca diff --git a/level/anvil/testdata/securechattestworld/entities/r.1.1.mca b/mc/level/anvil/testdata/securechattestworld/entities/r.1.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/entities/r.1.1.mca rename to mc/level/anvil/testdata/securechattestworld/entities/r.1.1.mca diff --git a/level/anvil/testdata/securechattestworld/generated/place26/structures/test.nbt b/mc/level/anvil/testdata/securechattestworld/generated/place26/structures/test.nbt similarity index 100% rename from level/anvil/testdata/securechattestworld/generated/place26/structures/test.nbt rename to mc/level/anvil/testdata/securechattestworld/generated/place26/structures/test.nbt diff --git a/level/anvil/testdata/securechattestworld/icon.png b/mc/level/anvil/testdata/securechattestworld/icon.png similarity index 100% rename from level/anvil/testdata/securechattestworld/icon.png rename to mc/level/anvil/testdata/securechattestworld/icon.png diff --git a/level/anvil/testdata/securechattestworld/level.dat b/mc/level/anvil/testdata/securechattestworld/level.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/level.dat rename to mc/level/anvil/testdata/securechattestworld/level.dat diff --git a/level/anvil/testdata/securechattestworld/level.dat_old b/mc/level/anvil/testdata/securechattestworld/level.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/level.dat_old rename to mc/level/anvil/testdata/securechattestworld/level.dat_old diff --git a/level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat b/mc/level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat rename to mc/level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat diff --git a/level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old b/mc/level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old rename to mc/level/anvil/testdata/securechattestworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old diff --git a/level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat b/mc/level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat rename to mc/level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat diff --git a/level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat_old b/mc/level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat_old rename to mc/level/anvil/testdata/securechattestworld/playerdata/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.dat_old diff --git a/level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat b/mc/level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat rename to mc/level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat diff --git a/level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat_old b/mc/level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat_old rename to mc/level/anvil/testdata/securechattestworld/playerdata/37e4a5df-2479-34b7-be52-2f491341f6b1.dat_old diff --git a/level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat b/mc/level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat rename to mc/level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat diff --git a/level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old b/mc/level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old rename to mc/level/anvil/testdata/securechattestworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old diff --git a/level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat b/mc/level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat rename to mc/level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat diff --git a/level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old b/mc/level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old rename to mc/level/anvil/testdata/securechattestworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old diff --git a/level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat b/mc/level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat rename to mc/level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat diff --git a/level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old b/mc/level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old rename to mc/level/anvil/testdata/securechattestworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old diff --git a/level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat b/mc/level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat rename to mc/level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat diff --git a/level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old b/mc/level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old similarity index 100% rename from level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old rename to mc/level/anvil/testdata/securechattestworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old diff --git a/level/anvil/testdata/securechattestworld/poi/r.-1.-1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-1.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-1.-1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-1.-1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-1.-2.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-1.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-1.-2.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-1.-2.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-1.-3.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-1.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-1.-3.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-1.-3.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-1.0.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-1.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-1.0.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-1.0.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-1.1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-1.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-1.1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-1.1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-2.-1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-2.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-2.-1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-2.-1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-2.-2.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-2.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-2.-2.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-2.-2.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-2.-3.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-2.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-2.-3.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-2.-3.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-2.0.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-2.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-2.0.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-2.0.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-2.1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-2.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-2.1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-2.1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-3.-1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-3.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-3.-1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-3.-1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-3.-2.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-3.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-3.-2.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-3.-2.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-3.-3.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-3.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-3.-3.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-3.-3.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-3.0.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-3.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-3.0.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-3.0.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.-3.1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.-3.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.-3.1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.-3.1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.0.-1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.0.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.0.-1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.0.-1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.0.-2.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.0.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.0.-2.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.0.-2.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.0.-3.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.0.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.0.-3.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.0.-3.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.0.0.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.0.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.0.0.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.0.0.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.0.1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.0.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.0.1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.0.1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.1.-1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.1.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.1.-1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.1.-1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.1.-2.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.1.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.1.-2.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.1.-2.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.1.-3.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.1.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.1.-3.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.1.-3.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.1.0.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.1.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.1.0.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.1.0.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.1.1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.1.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.1.1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.1.1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.2.-1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.2.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.2.-1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.2.-1.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.2.-2.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.2.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.2.-2.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.2.-2.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.2.0.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.2.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.2.0.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.2.0.mca diff --git a/level/anvil/testdata/securechattestworld/poi/r.2.1.mca b/mc/level/anvil/testdata/securechattestworld/poi/r.2.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/poi/r.2.1.mca rename to mc/level/anvil/testdata/securechattestworld/poi/r.2.1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-1.-1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-1.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-1.-1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-1.-1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-1.-2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-1.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-1.-2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-1.-2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-1.-3.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-1.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-1.-3.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-1.-3.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-1.0.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-1.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-1.0.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-1.0.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-1.1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-1.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-1.1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-1.1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-1.2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-1.2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-1.2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-1.2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-2.-1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-2.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-2.-1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-2.-1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-2.-2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-2.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-2.-2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-2.-2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-2.-3.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-2.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-2.-3.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-2.-3.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-2.0.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-2.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-2.0.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-2.0.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-2.1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-2.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-2.1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-2.1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-2.2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-2.2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-2.2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-2.2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-3.-1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-3.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-3.-1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-3.-1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-3.-2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-3.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-3.-2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-3.-2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-3.-3.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-3.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-3.-3.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-3.-3.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-3.0.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-3.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-3.0.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-3.0.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.-3.1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.-3.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.-3.1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.-3.1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.0.-1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.0.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.0.-1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.0.-1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.0.-2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.0.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.0.-2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.0.-2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.0.-3.mca b/mc/level/anvil/testdata/securechattestworld/region/r.0.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.0.-3.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.0.-3.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.0.0.mca b/mc/level/anvil/testdata/securechattestworld/region/r.0.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.0.0.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.0.0.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.0.1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.0.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.0.1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.0.1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.1.-1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.1.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.1.-1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.1.-1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.1.-2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.1.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.1.-2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.1.-2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.1.-3.mca b/mc/level/anvil/testdata/securechattestworld/region/r.1.-3.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.1.-3.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.1.-3.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.1.0.mca b/mc/level/anvil/testdata/securechattestworld/region/r.1.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.1.0.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.1.0.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.1.1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.1.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.1.1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.1.1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.2.-1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.2.-1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.2.-1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.2.-1.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.2.-2.mca b/mc/level/anvil/testdata/securechattestworld/region/r.2.-2.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.2.-2.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.2.-2.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.2.0.mca b/mc/level/anvil/testdata/securechattestworld/region/r.2.0.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.2.0.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.2.0.mca diff --git a/level/anvil/testdata/securechattestworld/region/r.2.1.mca b/mc/level/anvil/testdata/securechattestworld/region/r.2.1.mca similarity index 100% rename from level/anvil/testdata/securechattestworld/region/r.2.1.mca rename to mc/level/anvil/testdata/securechattestworld/region/r.2.1.mca diff --git a/level/anvil/testdata/securechattestworld/session.lock b/mc/level/anvil/testdata/securechattestworld/session.lock similarity index 100% rename from level/anvil/testdata/securechattestworld/session.lock rename to mc/level/anvil/testdata/securechattestworld/session.lock diff --git a/level/anvil/testdata/securechattestworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json b/mc/level/anvil/testdata/securechattestworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json similarity index 100% rename from level/anvil/testdata/securechattestworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json rename to mc/level/anvil/testdata/securechattestworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json diff --git a/level/anvil/testdata/securechattestworld/stats/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json b/mc/level/anvil/testdata/securechattestworld/stats/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json similarity index 100% rename from level/anvil/testdata/securechattestworld/stats/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json rename to mc/level/anvil/testdata/securechattestworld/stats/2e2bbed4-8d1c-3b2c-8673-c561c520e4f2.json diff --git a/level/anvil/testdata/securechattestworld/stats/37e4a5df-2479-34b7-be52-2f491341f6b1.json b/mc/level/anvil/testdata/securechattestworld/stats/37e4a5df-2479-34b7-be52-2f491341f6b1.json similarity index 100% rename from level/anvil/testdata/securechattestworld/stats/37e4a5df-2479-34b7-be52-2f491341f6b1.json rename to mc/level/anvil/testdata/securechattestworld/stats/37e4a5df-2479-34b7-be52-2f491341f6b1.json diff --git a/level/anvil/testdata/securechattestworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json b/mc/level/anvil/testdata/securechattestworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json similarity index 100% rename from level/anvil/testdata/securechattestworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json rename to mc/level/anvil/testdata/securechattestworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json diff --git a/level/anvil/testdata/securechattestworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json b/mc/level/anvil/testdata/securechattestworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json similarity index 100% rename from level/anvil/testdata/securechattestworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json rename to mc/level/anvil/testdata/securechattestworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json diff --git a/level/anvil/testdata/securechattestworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json b/mc/level/anvil/testdata/securechattestworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json similarity index 100% rename from level/anvil/testdata/securechattestworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json rename to mc/level/anvil/testdata/securechattestworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json diff --git a/level/anvil/testdata/securechattestworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json b/mc/level/anvil/testdata/securechattestworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json similarity index 100% rename from level/anvil/testdata/securechattestworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json rename to mc/level/anvil/testdata/securechattestworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json diff --git a/level/anvil/testdata/securechattestworld/xaeromap.txt b/mc/level/anvil/testdata/securechattestworld/xaeromap.txt similarity index 100% rename from level/anvil/testdata/securechattestworld/xaeromap.txt rename to mc/level/anvil/testdata/securechattestworld/xaeromap.txt diff --git a/level/anvil/testdata/testworld/DIM-1/data/chunks.dat b/mc/level/anvil/testdata/testworld/DIM-1/data/chunks.dat similarity index 100% rename from level/anvil/testdata/testworld/DIM-1/data/chunks.dat rename to mc/level/anvil/testdata/testworld/DIM-1/data/chunks.dat diff --git a/level/anvil/testdata/testworld/DIM-1/data/raids.dat b/mc/level/anvil/testdata/testworld/DIM-1/data/raids.dat similarity index 100% rename from level/anvil/testdata/testworld/DIM-1/data/raids.dat rename to mc/level/anvil/testdata/testworld/DIM-1/data/raids.dat diff --git a/level/anvil/testdata/testworld/DIM-1/data/world_border.dat b/mc/level/anvil/testdata/testworld/DIM-1/data/world_border.dat similarity index 100% rename from level/anvil/testdata/testworld/DIM-1/data/world_border.dat rename to mc/level/anvil/testdata/testworld/DIM-1/data/world_border.dat diff --git a/level/anvil/testdata/testworld/DIM1/data/chunks.dat b/mc/level/anvil/testdata/testworld/DIM1/data/chunks.dat similarity index 100% rename from level/anvil/testdata/testworld/DIM1/data/chunks.dat rename to mc/level/anvil/testdata/testworld/DIM1/data/chunks.dat diff --git a/level/anvil/testdata/testworld/DIM1/data/raids_end.dat b/mc/level/anvil/testdata/testworld/DIM1/data/raids_end.dat similarity index 100% rename from level/anvil/testdata/testworld/DIM1/data/raids_end.dat rename to mc/level/anvil/testdata/testworld/DIM1/data/raids_end.dat diff --git a/level/anvil/testdata/testworld/DIM1/data/world_border.dat b/mc/level/anvil/testdata/testworld/DIM1/data/world_border.dat similarity index 100% rename from level/anvil/testdata/testworld/DIM1/data/world_border.dat rename to mc/level/anvil/testdata/testworld/DIM1/data/world_border.dat diff --git a/level/anvil/testdata/testworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json b/mc/level/anvil/testdata/testworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json similarity index 100% rename from level/anvil/testdata/testworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json rename to mc/level/anvil/testdata/testworld/advancements/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json diff --git a/level/anvil/testdata/testworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json b/mc/level/anvil/testdata/testworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json similarity index 100% rename from level/anvil/testdata/testworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json rename to mc/level/anvil/testdata/testworld/advancements/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json diff --git a/level/anvil/testdata/testworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json b/mc/level/anvil/testdata/testworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json similarity index 100% rename from level/anvil/testdata/testworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json rename to mc/level/anvil/testdata/testworld/advancements/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json diff --git a/level/anvil/testdata/testworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json b/mc/level/anvil/testdata/testworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json similarity index 100% rename from level/anvil/testdata/testworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json rename to mc/level/anvil/testdata/testworld/advancements/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json diff --git a/level/anvil/testdata/testworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json b/mc/level/anvil/testdata/testworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json similarity index 100% rename from level/anvil/testdata/testworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json rename to mc/level/anvil/testdata/testworld/advancements/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-1.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.-2.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.0.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-1.1.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-1.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.-2.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.-2.0.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-1.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.-2.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.0.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.0.1.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-1.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.-2.bcr diff --git a/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr b/mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr similarity index 100% rename from level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr rename to mc/level/anvil/testdata/testworld/baritone/minecraft/overworld_384/cache/r.1.0.bcr diff --git a/level/anvil/testdata/testworld/baritone/readme.txt b/mc/level/anvil/testdata/testworld/baritone/readme.txt similarity index 100% rename from level/anvil/testdata/testworld/baritone/readme.txt rename to mc/level/anvil/testdata/testworld/baritone/readme.txt diff --git a/level/anvil/testdata/testworld/data/Mansion_index.dat b/mc/level/anvil/testdata/testworld/data/Mansion_index.dat similarity index 100% rename from level/anvil/testdata/testworld/data/Mansion_index.dat rename to mc/level/anvil/testdata/testworld/data/Mansion_index.dat diff --git a/level/anvil/testdata/testworld/data/Mineshaft_index.dat b/mc/level/anvil/testdata/testworld/data/Mineshaft_index.dat similarity index 100% rename from level/anvil/testdata/testworld/data/Mineshaft_index.dat rename to mc/level/anvil/testdata/testworld/data/Mineshaft_index.dat diff --git a/level/anvil/testdata/testworld/data/Monument_index.dat b/mc/level/anvil/testdata/testworld/data/Monument_index.dat similarity index 100% rename from level/anvil/testdata/testworld/data/Monument_index.dat rename to mc/level/anvil/testdata/testworld/data/Monument_index.dat diff --git a/level/anvil/testdata/testworld/data/Stronghold_index.dat b/mc/level/anvil/testdata/testworld/data/Stronghold_index.dat similarity index 100% rename from level/anvil/testdata/testworld/data/Stronghold_index.dat rename to mc/level/anvil/testdata/testworld/data/Stronghold_index.dat diff --git a/level/anvil/testdata/testworld/data/Temple_index.dat b/mc/level/anvil/testdata/testworld/data/Temple_index.dat similarity index 100% rename from level/anvil/testdata/testworld/data/Temple_index.dat rename to mc/level/anvil/testdata/testworld/data/Temple_index.dat diff --git a/level/anvil/testdata/testworld/data/Village_index.dat b/mc/level/anvil/testdata/testworld/data/Village_index.dat similarity index 100% rename from level/anvil/testdata/testworld/data/Village_index.dat rename to mc/level/anvil/testdata/testworld/data/Village_index.dat diff --git a/level/anvil/testdata/testworld/data/chunks.dat b/mc/level/anvil/testdata/testworld/data/chunks.dat similarity index 100% rename from level/anvil/testdata/testworld/data/chunks.dat rename to mc/level/anvil/testdata/testworld/data/chunks.dat diff --git a/level/anvil/testdata/testworld/data/raids.dat b/mc/level/anvil/testdata/testworld/data/raids.dat similarity index 100% rename from level/anvil/testdata/testworld/data/raids.dat rename to mc/level/anvil/testdata/testworld/data/raids.dat diff --git a/level/anvil/testdata/testworld/data/random_sequences.dat b/mc/level/anvil/testdata/testworld/data/random_sequences.dat similarity index 100% rename from level/anvil/testdata/testworld/data/random_sequences.dat rename to mc/level/anvil/testdata/testworld/data/random_sequences.dat diff --git a/level/anvil/testdata/testworld/data/scoreboard.dat b/mc/level/anvil/testdata/testworld/data/scoreboard.dat similarity index 100% rename from level/anvil/testdata/testworld/data/scoreboard.dat rename to mc/level/anvil/testdata/testworld/data/scoreboard.dat diff --git a/level/anvil/testdata/testworld/data/stopwatches.dat b/mc/level/anvil/testdata/testworld/data/stopwatches.dat similarity index 100% rename from level/anvil/testdata/testworld/data/stopwatches.dat rename to mc/level/anvil/testdata/testworld/data/stopwatches.dat diff --git a/level/anvil/testdata/testworld/data/world_border.dat b/mc/level/anvil/testdata/testworld/data/world_border.dat similarity index 100% rename from level/anvil/testdata/testworld/data/world_border.dat rename to mc/level/anvil/testdata/testworld/data/world_border.dat diff --git a/level/anvil/testdata/testworld/entities/r.-1.-1.mca b/mc/level/anvil/testdata/testworld/entities/r.-1.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-1.-1.mca rename to mc/level/anvil/testdata/testworld/entities/r.-1.-1.mca diff --git a/level/anvil/testdata/testworld/entities/r.-1.-2.mca b/mc/level/anvil/testdata/testworld/entities/r.-1.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-1.-2.mca rename to mc/level/anvil/testdata/testworld/entities/r.-1.-2.mca diff --git a/level/anvil/testdata/testworld/entities/r.-1.-3.mca b/mc/level/anvil/testdata/testworld/entities/r.-1.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-1.-3.mca rename to mc/level/anvil/testdata/testworld/entities/r.-1.-3.mca diff --git a/level/anvil/testdata/testworld/entities/r.-1.0.mca b/mc/level/anvil/testdata/testworld/entities/r.-1.0.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-1.0.mca rename to mc/level/anvil/testdata/testworld/entities/r.-1.0.mca diff --git a/level/anvil/testdata/testworld/entities/r.-1.1.mca b/mc/level/anvil/testdata/testworld/entities/r.-1.1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-1.1.mca rename to mc/level/anvil/testdata/testworld/entities/r.-1.1.mca diff --git a/level/anvil/testdata/testworld/entities/r.-2.-1.mca b/mc/level/anvil/testdata/testworld/entities/r.-2.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-2.-1.mca rename to mc/level/anvil/testdata/testworld/entities/r.-2.-1.mca diff --git a/level/anvil/testdata/testworld/entities/r.-2.-2.mca b/mc/level/anvil/testdata/testworld/entities/r.-2.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-2.-2.mca rename to mc/level/anvil/testdata/testworld/entities/r.-2.-2.mca diff --git a/level/anvil/testdata/testworld/entities/r.-2.0.mca b/mc/level/anvil/testdata/testworld/entities/r.-2.0.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-2.0.mca rename to mc/level/anvil/testdata/testworld/entities/r.-2.0.mca diff --git a/level/anvil/testdata/testworld/entities/r.-2.1.mca b/mc/level/anvil/testdata/testworld/entities/r.-2.1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-2.1.mca rename to mc/level/anvil/testdata/testworld/entities/r.-2.1.mca diff --git a/level/anvil/testdata/testworld/entities/r.-3.-1.mca b/mc/level/anvil/testdata/testworld/entities/r.-3.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-3.-1.mca rename to mc/level/anvil/testdata/testworld/entities/r.-3.-1.mca diff --git a/level/anvil/testdata/testworld/entities/r.-3.-2.mca b/mc/level/anvil/testdata/testworld/entities/r.-3.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-3.-2.mca rename to mc/level/anvil/testdata/testworld/entities/r.-3.-2.mca diff --git a/level/anvil/testdata/testworld/entities/r.-3.0.mca b/mc/level/anvil/testdata/testworld/entities/r.-3.0.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.-3.0.mca rename to mc/level/anvil/testdata/testworld/entities/r.-3.0.mca diff --git a/level/anvil/testdata/testworld/entities/r.0.-1.mca b/mc/level/anvil/testdata/testworld/entities/r.0.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.0.-1.mca rename to mc/level/anvil/testdata/testworld/entities/r.0.-1.mca diff --git a/level/anvil/testdata/testworld/entities/r.0.-2.mca b/mc/level/anvil/testdata/testworld/entities/r.0.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.0.-2.mca rename to mc/level/anvil/testdata/testworld/entities/r.0.-2.mca diff --git a/level/anvil/testdata/testworld/entities/r.0.-3.mca b/mc/level/anvil/testdata/testworld/entities/r.0.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.0.-3.mca rename to mc/level/anvil/testdata/testworld/entities/r.0.-3.mca diff --git a/level/anvil/testdata/testworld/entities/r.0.0.mca b/mc/level/anvil/testdata/testworld/entities/r.0.0.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.0.0.mca rename to mc/level/anvil/testdata/testworld/entities/r.0.0.mca diff --git a/level/anvil/testdata/testworld/entities/r.0.1.mca b/mc/level/anvil/testdata/testworld/entities/r.0.1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.0.1.mca rename to mc/level/anvil/testdata/testworld/entities/r.0.1.mca diff --git a/level/anvil/testdata/testworld/entities/r.1.-1.mca b/mc/level/anvil/testdata/testworld/entities/r.1.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.1.-1.mca rename to mc/level/anvil/testdata/testworld/entities/r.1.-1.mca diff --git a/level/anvil/testdata/testworld/entities/r.1.-2.mca b/mc/level/anvil/testdata/testworld/entities/r.1.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.1.-2.mca rename to mc/level/anvil/testdata/testworld/entities/r.1.-2.mca diff --git a/level/anvil/testdata/testworld/entities/r.1.-3.mca b/mc/level/anvil/testdata/testworld/entities/r.1.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.1.-3.mca rename to mc/level/anvil/testdata/testworld/entities/r.1.-3.mca diff --git a/level/anvil/testdata/testworld/entities/r.1.0.mca b/mc/level/anvil/testdata/testworld/entities/r.1.0.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.1.0.mca rename to mc/level/anvil/testdata/testworld/entities/r.1.0.mca diff --git a/level/anvil/testdata/testworld/entities/r.1.1.mca b/mc/level/anvil/testdata/testworld/entities/r.1.1.mca similarity index 100% rename from level/anvil/testdata/testworld/entities/r.1.1.mca rename to mc/level/anvil/testdata/testworld/entities/r.1.1.mca diff --git a/level/anvil/testdata/testworld/generated/place26/structures/test.nbt b/mc/level/anvil/testdata/testworld/generated/place26/structures/test.nbt similarity index 100% rename from level/anvil/testdata/testworld/generated/place26/structures/test.nbt rename to mc/level/anvil/testdata/testworld/generated/place26/structures/test.nbt diff --git a/level/anvil/testdata/testworld/icon.png b/mc/level/anvil/testdata/testworld/icon.png similarity index 100% rename from level/anvil/testdata/testworld/icon.png rename to mc/level/anvil/testdata/testworld/icon.png diff --git a/level/anvil/testdata/testworld/level.dat b/mc/level/anvil/testdata/testworld/level.dat similarity index 100% rename from level/anvil/testdata/testworld/level.dat rename to mc/level/anvil/testdata/testworld/level.dat diff --git a/level/anvil/testdata/testworld/level.dat_old b/mc/level/anvil/testdata/testworld/level.dat_old similarity index 100% rename from level/anvil/testdata/testworld/level.dat_old rename to mc/level/anvil/testdata/testworld/level.dat_old diff --git a/level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat b/mc/level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat similarity index 100% rename from level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat rename to mc/level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat diff --git a/level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old b/mc/level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old similarity index 100% rename from level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old rename to mc/level/anvil/testdata/testworld/playerdata/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.dat_old diff --git a/level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat b/mc/level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat similarity index 100% rename from level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat rename to mc/level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat diff --git a/level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old b/mc/level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old similarity index 100% rename from level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old rename to mc/level/anvil/testdata/testworld/playerdata/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.dat_old diff --git a/level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat b/mc/level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat similarity index 100% rename from level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat rename to mc/level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat diff --git a/level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old b/mc/level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old similarity index 100% rename from level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old rename to mc/level/anvil/testdata/testworld/playerdata/beda00ca-0100-3611-a6b5-c0b153e0dc2e.dat_old diff --git a/level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat b/mc/level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat similarity index 100% rename from level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat rename to mc/level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat diff --git a/level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old b/mc/level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old similarity index 100% rename from level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old rename to mc/level/anvil/testdata/testworld/playerdata/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.dat_old diff --git a/level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat b/mc/level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat similarity index 100% rename from level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat rename to mc/level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat diff --git a/level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old b/mc/level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old similarity index 100% rename from level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old rename to mc/level/anvil/testdata/testworld/playerdata/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.dat_old diff --git a/level/anvil/testdata/testworld/poi/r.-1.-1.mca b/mc/level/anvil/testdata/testworld/poi/r.-1.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-1.-1.mca rename to mc/level/anvil/testdata/testworld/poi/r.-1.-1.mca diff --git a/level/anvil/testdata/testworld/poi/r.-1.-2.mca b/mc/level/anvil/testdata/testworld/poi/r.-1.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-1.-2.mca rename to mc/level/anvil/testdata/testworld/poi/r.-1.-2.mca diff --git a/level/anvil/testdata/testworld/poi/r.-1.-3.mca b/mc/level/anvil/testdata/testworld/poi/r.-1.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-1.-3.mca rename to mc/level/anvil/testdata/testworld/poi/r.-1.-3.mca diff --git a/level/anvil/testdata/testworld/poi/r.-1.0.mca b/mc/level/anvil/testdata/testworld/poi/r.-1.0.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-1.0.mca rename to mc/level/anvil/testdata/testworld/poi/r.-1.0.mca diff --git a/level/anvil/testdata/testworld/poi/r.-1.1.mca b/mc/level/anvil/testdata/testworld/poi/r.-1.1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-1.1.mca rename to mc/level/anvil/testdata/testworld/poi/r.-1.1.mca diff --git a/level/anvil/testdata/testworld/poi/r.-2.-1.mca b/mc/level/anvil/testdata/testworld/poi/r.-2.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-2.-1.mca rename to mc/level/anvil/testdata/testworld/poi/r.-2.-1.mca diff --git a/level/anvil/testdata/testworld/poi/r.-2.-2.mca b/mc/level/anvil/testdata/testworld/poi/r.-2.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-2.-2.mca rename to mc/level/anvil/testdata/testworld/poi/r.-2.-2.mca diff --git a/level/anvil/testdata/testworld/poi/r.-2.-3.mca b/mc/level/anvil/testdata/testworld/poi/r.-2.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-2.-3.mca rename to mc/level/anvil/testdata/testworld/poi/r.-2.-3.mca diff --git a/level/anvil/testdata/testworld/poi/r.-2.0.mca b/mc/level/anvil/testdata/testworld/poi/r.-2.0.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-2.0.mca rename to mc/level/anvil/testdata/testworld/poi/r.-2.0.mca diff --git a/level/anvil/testdata/testworld/poi/r.-2.1.mca b/mc/level/anvil/testdata/testworld/poi/r.-2.1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-2.1.mca rename to mc/level/anvil/testdata/testworld/poi/r.-2.1.mca diff --git a/level/anvil/testdata/testworld/poi/r.-3.-1.mca b/mc/level/anvil/testdata/testworld/poi/r.-3.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-3.-1.mca rename to mc/level/anvil/testdata/testworld/poi/r.-3.-1.mca diff --git a/level/anvil/testdata/testworld/poi/r.-3.-2.mca b/mc/level/anvil/testdata/testworld/poi/r.-3.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-3.-2.mca rename to mc/level/anvil/testdata/testworld/poi/r.-3.-2.mca diff --git a/level/anvil/testdata/testworld/poi/r.-3.-3.mca b/mc/level/anvil/testdata/testworld/poi/r.-3.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-3.-3.mca rename to mc/level/anvil/testdata/testworld/poi/r.-3.-3.mca diff --git a/level/anvil/testdata/testworld/poi/r.-3.0.mca b/mc/level/anvil/testdata/testworld/poi/r.-3.0.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-3.0.mca rename to mc/level/anvil/testdata/testworld/poi/r.-3.0.mca diff --git a/level/anvil/testdata/testworld/poi/r.-3.1.mca b/mc/level/anvil/testdata/testworld/poi/r.-3.1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.-3.1.mca rename to mc/level/anvil/testdata/testworld/poi/r.-3.1.mca diff --git a/level/anvil/testdata/testworld/poi/r.0.-1.mca b/mc/level/anvil/testdata/testworld/poi/r.0.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.0.-1.mca rename to mc/level/anvil/testdata/testworld/poi/r.0.-1.mca diff --git a/level/anvil/testdata/testworld/poi/r.0.-2.mca b/mc/level/anvil/testdata/testworld/poi/r.0.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.0.-2.mca rename to mc/level/anvil/testdata/testworld/poi/r.0.-2.mca diff --git a/level/anvil/testdata/testworld/poi/r.0.-3.mca b/mc/level/anvil/testdata/testworld/poi/r.0.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.0.-3.mca rename to mc/level/anvil/testdata/testworld/poi/r.0.-3.mca diff --git a/level/anvil/testdata/testworld/poi/r.0.0.mca b/mc/level/anvil/testdata/testworld/poi/r.0.0.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.0.0.mca rename to mc/level/anvil/testdata/testworld/poi/r.0.0.mca diff --git a/level/anvil/testdata/testworld/poi/r.0.1.mca b/mc/level/anvil/testdata/testworld/poi/r.0.1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.0.1.mca rename to mc/level/anvil/testdata/testworld/poi/r.0.1.mca diff --git a/level/anvil/testdata/testworld/poi/r.1.-1.mca b/mc/level/anvil/testdata/testworld/poi/r.1.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.1.-1.mca rename to mc/level/anvil/testdata/testworld/poi/r.1.-1.mca diff --git a/level/anvil/testdata/testworld/poi/r.1.-2.mca b/mc/level/anvil/testdata/testworld/poi/r.1.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.1.-2.mca rename to mc/level/anvil/testdata/testworld/poi/r.1.-2.mca diff --git a/level/anvil/testdata/testworld/poi/r.1.-3.mca b/mc/level/anvil/testdata/testworld/poi/r.1.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.1.-3.mca rename to mc/level/anvil/testdata/testworld/poi/r.1.-3.mca diff --git a/level/anvil/testdata/testworld/poi/r.1.0.mca b/mc/level/anvil/testdata/testworld/poi/r.1.0.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.1.0.mca rename to mc/level/anvil/testdata/testworld/poi/r.1.0.mca diff --git a/level/anvil/testdata/testworld/poi/r.1.1.mca b/mc/level/anvil/testdata/testworld/poi/r.1.1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.1.1.mca rename to mc/level/anvil/testdata/testworld/poi/r.1.1.mca diff --git a/level/anvil/testdata/testworld/poi/r.2.-1.mca b/mc/level/anvil/testdata/testworld/poi/r.2.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.2.-1.mca rename to mc/level/anvil/testdata/testworld/poi/r.2.-1.mca diff --git a/level/anvil/testdata/testworld/poi/r.2.-2.mca b/mc/level/anvil/testdata/testworld/poi/r.2.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.2.-2.mca rename to mc/level/anvil/testdata/testworld/poi/r.2.-2.mca diff --git a/level/anvil/testdata/testworld/poi/r.2.0.mca b/mc/level/anvil/testdata/testworld/poi/r.2.0.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.2.0.mca rename to mc/level/anvil/testdata/testworld/poi/r.2.0.mca diff --git a/level/anvil/testdata/testworld/poi/r.2.1.mca b/mc/level/anvil/testdata/testworld/poi/r.2.1.mca similarity index 100% rename from level/anvil/testdata/testworld/poi/r.2.1.mca rename to mc/level/anvil/testdata/testworld/poi/r.2.1.mca diff --git a/level/anvil/testdata/testworld/region/r.-1.-1.mca b/mc/level/anvil/testdata/testworld/region/r.-1.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-1.-1.mca rename to mc/level/anvil/testdata/testworld/region/r.-1.-1.mca diff --git a/level/anvil/testdata/testworld/region/r.-1.-2.mca b/mc/level/anvil/testdata/testworld/region/r.-1.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-1.-2.mca rename to mc/level/anvil/testdata/testworld/region/r.-1.-2.mca diff --git a/level/anvil/testdata/testworld/region/r.-1.-3.mca b/mc/level/anvil/testdata/testworld/region/r.-1.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-1.-3.mca rename to mc/level/anvil/testdata/testworld/region/r.-1.-3.mca diff --git a/level/anvil/testdata/testworld/region/r.-1.0.mca b/mc/level/anvil/testdata/testworld/region/r.-1.0.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-1.0.mca rename to mc/level/anvil/testdata/testworld/region/r.-1.0.mca diff --git a/level/anvil/testdata/testworld/region/r.-1.1.mca b/mc/level/anvil/testdata/testworld/region/r.-1.1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-1.1.mca rename to mc/level/anvil/testdata/testworld/region/r.-1.1.mca diff --git a/level/anvil/testdata/testworld/region/r.-1.2.mca b/mc/level/anvil/testdata/testworld/region/r.-1.2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-1.2.mca rename to mc/level/anvil/testdata/testworld/region/r.-1.2.mca diff --git a/level/anvil/testdata/testworld/region/r.-2.-1.mca b/mc/level/anvil/testdata/testworld/region/r.-2.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-2.-1.mca rename to mc/level/anvil/testdata/testworld/region/r.-2.-1.mca diff --git a/level/anvil/testdata/testworld/region/r.-2.-2.mca b/mc/level/anvil/testdata/testworld/region/r.-2.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-2.-2.mca rename to mc/level/anvil/testdata/testworld/region/r.-2.-2.mca diff --git a/level/anvil/testdata/testworld/region/r.-2.-3.mca b/mc/level/anvil/testdata/testworld/region/r.-2.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-2.-3.mca rename to mc/level/anvil/testdata/testworld/region/r.-2.-3.mca diff --git a/level/anvil/testdata/testworld/region/r.-2.0.mca b/mc/level/anvil/testdata/testworld/region/r.-2.0.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-2.0.mca rename to mc/level/anvil/testdata/testworld/region/r.-2.0.mca diff --git a/level/anvil/testdata/testworld/region/r.-2.1.mca b/mc/level/anvil/testdata/testworld/region/r.-2.1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-2.1.mca rename to mc/level/anvil/testdata/testworld/region/r.-2.1.mca diff --git a/level/anvil/testdata/testworld/region/r.-2.2.mca b/mc/level/anvil/testdata/testworld/region/r.-2.2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-2.2.mca rename to mc/level/anvil/testdata/testworld/region/r.-2.2.mca diff --git a/level/anvil/testdata/testworld/region/r.-3.-1.mca b/mc/level/anvil/testdata/testworld/region/r.-3.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-3.-1.mca rename to mc/level/anvil/testdata/testworld/region/r.-3.-1.mca diff --git a/level/anvil/testdata/testworld/region/r.-3.-2.mca b/mc/level/anvil/testdata/testworld/region/r.-3.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-3.-2.mca rename to mc/level/anvil/testdata/testworld/region/r.-3.-2.mca diff --git a/level/anvil/testdata/testworld/region/r.-3.-3.mca b/mc/level/anvil/testdata/testworld/region/r.-3.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-3.-3.mca rename to mc/level/anvil/testdata/testworld/region/r.-3.-3.mca diff --git a/level/anvil/testdata/testworld/region/r.-3.0.mca b/mc/level/anvil/testdata/testworld/region/r.-3.0.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-3.0.mca rename to mc/level/anvil/testdata/testworld/region/r.-3.0.mca diff --git a/level/anvil/testdata/testworld/region/r.-3.1.mca b/mc/level/anvil/testdata/testworld/region/r.-3.1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.-3.1.mca rename to mc/level/anvil/testdata/testworld/region/r.-3.1.mca diff --git a/level/anvil/testdata/testworld/region/r.0.-1.mca b/mc/level/anvil/testdata/testworld/region/r.0.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.0.-1.mca rename to mc/level/anvil/testdata/testworld/region/r.0.-1.mca diff --git a/level/anvil/testdata/testworld/region/r.0.-2.mca b/mc/level/anvil/testdata/testworld/region/r.0.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.0.-2.mca rename to mc/level/anvil/testdata/testworld/region/r.0.-2.mca diff --git a/level/anvil/testdata/testworld/region/r.0.-3.mca b/mc/level/anvil/testdata/testworld/region/r.0.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.0.-3.mca rename to mc/level/anvil/testdata/testworld/region/r.0.-3.mca diff --git a/level/anvil/testdata/testworld/region/r.0.0.mca b/mc/level/anvil/testdata/testworld/region/r.0.0.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.0.0.mca rename to mc/level/anvil/testdata/testworld/region/r.0.0.mca diff --git a/level/anvil/testdata/testworld/region/r.0.1.mca b/mc/level/anvil/testdata/testworld/region/r.0.1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.0.1.mca rename to mc/level/anvil/testdata/testworld/region/r.0.1.mca diff --git a/level/anvil/testdata/testworld/region/r.1.-1.mca b/mc/level/anvil/testdata/testworld/region/r.1.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.1.-1.mca rename to mc/level/anvil/testdata/testworld/region/r.1.-1.mca diff --git a/level/anvil/testdata/testworld/region/r.1.-2.mca b/mc/level/anvil/testdata/testworld/region/r.1.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.1.-2.mca rename to mc/level/anvil/testdata/testworld/region/r.1.-2.mca diff --git a/level/anvil/testdata/testworld/region/r.1.-3.mca b/mc/level/anvil/testdata/testworld/region/r.1.-3.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.1.-3.mca rename to mc/level/anvil/testdata/testworld/region/r.1.-3.mca diff --git a/level/anvil/testdata/testworld/region/r.1.0.mca b/mc/level/anvil/testdata/testworld/region/r.1.0.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.1.0.mca rename to mc/level/anvil/testdata/testworld/region/r.1.0.mca diff --git a/level/anvil/testdata/testworld/region/r.1.1.mca b/mc/level/anvil/testdata/testworld/region/r.1.1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.1.1.mca rename to mc/level/anvil/testdata/testworld/region/r.1.1.mca diff --git a/level/anvil/testdata/testworld/region/r.2.-1.mca b/mc/level/anvil/testdata/testworld/region/r.2.-1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.2.-1.mca rename to mc/level/anvil/testdata/testworld/region/r.2.-1.mca diff --git a/level/anvil/testdata/testworld/region/r.2.-2.mca b/mc/level/anvil/testdata/testworld/region/r.2.-2.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.2.-2.mca rename to mc/level/anvil/testdata/testworld/region/r.2.-2.mca diff --git a/level/anvil/testdata/testworld/region/r.2.0.mca b/mc/level/anvil/testdata/testworld/region/r.2.0.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.2.0.mca rename to mc/level/anvil/testdata/testworld/region/r.2.0.mca diff --git a/level/anvil/testdata/testworld/region/r.2.1.mca b/mc/level/anvil/testdata/testworld/region/r.2.1.mca similarity index 100% rename from level/anvil/testdata/testworld/region/r.2.1.mca rename to mc/level/anvil/testdata/testworld/region/r.2.1.mca diff --git a/level/anvil/testdata/testworld/session.lock b/mc/level/anvil/testdata/testworld/session.lock similarity index 100% rename from level/anvil/testdata/testworld/session.lock rename to mc/level/anvil/testdata/testworld/session.lock diff --git a/level/anvil/testdata/testworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json b/mc/level/anvil/testdata/testworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json similarity index 100% rename from level/anvil/testdata/testworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json rename to mc/level/anvil/testdata/testworld/stats/08fd2e8e-f648-45b8-a809-cb9dcaf15d2c.json diff --git a/level/anvil/testdata/testworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json b/mc/level/anvil/testdata/testworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json similarity index 100% rename from level/anvil/testdata/testworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json rename to mc/level/anvil/testdata/testworld/stats/b24e58a9-7e4c-3f19-91fc-3074c8cfe34b.json diff --git a/level/anvil/testdata/testworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json b/mc/level/anvil/testdata/testworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json similarity index 100% rename from level/anvil/testdata/testworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json rename to mc/level/anvil/testdata/testworld/stats/beda00ca-0100-3611-a6b5-c0b153e0dc2e.json diff --git a/level/anvil/testdata/testworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json b/mc/level/anvil/testdata/testworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json similarity index 100% rename from level/anvil/testdata/testworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json rename to mc/level/anvil/testdata/testworld/stats/de358e9d-8e5f-32cd-b09f-d8bdf3008cfe.json diff --git a/level/anvil/testdata/testworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json b/mc/level/anvil/testdata/testworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json similarity index 100% rename from level/anvil/testdata/testworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json rename to mc/level/anvil/testdata/testworld/stats/f5f41e22-8c18-4d7e-b8f5-48f82f9e3d70.json diff --git a/level/anvil/testdata/testworld/xaeromap.txt b/mc/level/anvil/testdata/testworld/xaeromap.txt similarity index 100% rename from level/anvil/testdata/testworld/xaeromap.txt rename to mc/level/anvil/testdata/testworld/xaeromap.txt diff --git a/level/chunk.go b/mc/level/chunk.go similarity index 100% rename from level/chunk.go rename to mc/level/chunk.go diff --git a/level/litematic/main.go b/mc/level/litematic/main.go similarity index 88% rename from level/litematic/main.go rename to mc/level/litematic/main.go index b4ac3ee..effcca6 100644 --- a/level/litematic/main.go +++ b/mc/level/litematic/main.go @@ -7,10 +7,10 @@ import ( "strings" "unsafe" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/level" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/util" + data2 "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/level" + "github.com/admin-else/strom/mc/nbt" + "github.com/admin-else/strom/mc/util" "github.com/go-viper/mapstructure/v2" ) @@ -118,7 +118,7 @@ func Load(v any) (s *Structure, err error) { if err != nil { return } - ret, err := data.LookUpVersionByDataVersion(s.MinecraftDataVersion) + ret, err := data2.LookUpVersionByDataVersion(s.MinecraftDataVersion) if err != nil { return } @@ -127,7 +127,7 @@ func Load(v any) (s *Structure, err error) { palette := make([]int32, len(region.BlockStatePalette)) for i, b := range region.BlockStatePalette { var paletteEntry int32 - paletteEntry, err = data.StateIdFromBlocKAndStateMap(s.Version, strings.TrimPrefix(b.Name, mcNamespaced), b.Properties) + paletteEntry, err = data2.StateIdFromBlocKAndStateMap(s.Version, strings.TrimPrefix(b.Name, mcNamespaced), b.Properties) if err != nil { return } diff --git a/level/litematic/main_test.go b/mc/level/litematic/main_test.go similarity index 69% rename from level/litematic/main_test.go rename to mc/level/litematic/main_test.go index 601b251..1e0ce19 100644 --- a/level/litematic/main_test.go +++ b/mc/level/litematic/main_test.go @@ -4,8 +4,8 @@ import ( "embed" "testing" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/level/litematic" + data2 "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/level/litematic" ) //go:embed testdata @@ -28,12 +28,12 @@ func TestLitematic(t *testing.T) { t.Fatal(err) return } - version, err := data.LookUpVersionByDataVersion(s.MinecraftDataVersion) + version, err := data2.LookUpVersionByDataVersion(s.MinecraftDataVersion) if err != nil { t.Fatal(err) return } - b, state, err := data.FromBlockState(version.MinecraftVersion, stateId) + b, state, err := data2.FromBlockState(version.MinecraftVersion, stateId) if err != nil { t.Fatal(err) return diff --git a/level/litematic/testdata/place.litematic b/mc/level/litematic/testdata/place.litematic similarity index 100% rename from level/litematic/testdata/place.litematic rename to mc/level/litematic/testdata/place.litematic diff --git a/level/packet_roundtrip_test.go b/mc/level/packet_roundtrip_test.go similarity index 94% rename from level/packet_roundtrip_test.go rename to mc/level/packet_roundtrip_test.go index e705937..d45bfef 100644 --- a/level/packet_roundtrip_test.go +++ b/mc/level/packet_roundtrip_test.go @@ -4,7 +4,7 @@ import ( "bytes" "testing" - "github.com/admin-else/strom/level" + "github.com/admin-else/strom/mc/level" ) func FuzzReadChunkFromChunkPacketData(f *testing.F) { diff --git a/level/section.go b/mc/level/section.go similarity index 90% rename from level/section.go rename to mc/level/section.go index e280a42..335edb4 100644 --- a/level/section.go +++ b/mc/level/section.go @@ -7,9 +7,9 @@ import ( "log/slog" "math" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/util" + data2 "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/util" ) type BlockState struct { @@ -31,7 +31,7 @@ type Section struct { } func MakeBiomeFormat(version string) StorageFormat { - directBpe := uint8(math.Ceil(math.Log2(float64(len(data.BiomesForVersion(version)))))) + directBpe := uint8(math.Ceil(math.Log2(float64(len(data2.BiomesForVersion(version)))))) return StorageFormat{ AvailableBpes: []uint8{0, 1, 2, 3, directBpe}, BiggestDirect: true, @@ -40,7 +40,7 @@ func MakeBiomeFormat(version string) StorageFormat { } func MakeBlockFormat(version string) StorageFormat { - directBpe := uint8(math.Ceil(math.Log2(float64(len(data.BlocksForVersion(version)))))) + directBpe := uint8(math.Ceil(math.Log2(float64(len(data2.BlocksForVersion(version)))))) return StorageFormat{ RedirectingBpes: []uint8{1, 2, 3}, AvailableBpes: []uint8{0, 4, 5, 6, 7, 8, directBpe}, @@ -82,7 +82,7 @@ func ReadSectionStorage(r io.Reader, format StorageFormat) (s *Storage, err erro return } if slog.Default().Enabled(nil, slog.LevelDebug) { - b, _ := data.LookupBlockByStateId("1.21.11", v) + b, _ := data2.LookupBlockByStateId("1.21.11", v) if b == nil { slog.Debug("unknown palette block in chunk packet", "id", v) } else { diff --git a/level/storage.go b/mc/level/storage.go similarity index 99% rename from level/storage.go rename to mc/level/storage.go index 1a4dfe4..596d28c 100644 --- a/level/storage.go +++ b/mc/level/storage.go @@ -7,7 +7,7 @@ import ( "math" "slices" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/util" ) type StorageFormat struct { diff --git a/level/storage_test.go b/mc/level/storage_test.go similarity index 99% rename from level/storage_test.go rename to mc/level/storage_test.go index 4d81007..718c254 100644 --- a/level/storage_test.go +++ b/mc/level/storage_test.go @@ -3,7 +3,7 @@ package level_test import ( "testing" - "github.com/admin-else/strom/level" + "github.com/admin-else/strom/mc/level" ) func heightmapFormat() level.StorageFormat { diff --git a/level/structure/structure.go b/mc/level/structure/structure.go similarity index 95% rename from level/structure/structure.go rename to mc/level/structure/structure.go index 323b431..71a83c4 100644 --- a/level/structure/structure.go +++ b/mc/level/structure/structure.go @@ -1,7 +1,7 @@ package structure import ( - "github.com/admin-else/strom/nbt" + "github.com/admin-else/strom/mc/nbt" "github.com/go-viper/mapstructure/v2" ) diff --git a/level/testdata/fuzz/FuzzPackSection/1d71329b7e8473da b/mc/level/testdata/fuzz/FuzzPackSection/1d71329b7e8473da similarity index 100% rename from level/testdata/fuzz/FuzzPackSection/1d71329b7e8473da rename to mc/level/testdata/fuzz/FuzzPackSection/1d71329b7e8473da diff --git a/level/testdata/fuzz/FuzzPackSection/720a2176d4a6d755 b/mc/level/testdata/fuzz/FuzzPackSection/720a2176d4a6d755 similarity index 100% rename from level/testdata/fuzz/FuzzPackSection/720a2176d4a6d755 rename to mc/level/testdata/fuzz/FuzzPackSection/720a2176d4a6d755 diff --git a/level/testdata/fuzz/FuzzPackSection/746414e054d7661b b/mc/level/testdata/fuzz/FuzzPackSection/746414e054d7661b similarity index 100% rename from level/testdata/fuzz/FuzzPackSection/746414e054d7661b rename to mc/level/testdata/fuzz/FuzzPackSection/746414e054d7661b diff --git a/level/testdata/fuzz/FuzzPackSection/7fa8e415d92ee53a b/mc/level/testdata/fuzz/FuzzPackSection/7fa8e415d92ee53a similarity index 100% rename from level/testdata/fuzz/FuzzPackSection/7fa8e415d92ee53a rename to mc/level/testdata/fuzz/FuzzPackSection/7fa8e415d92ee53a diff --git a/level/testdata/fuzz/FuzzPackSection/c6a489835f1c78cc b/mc/level/testdata/fuzz/FuzzPackSection/c6a489835f1c78cc similarity index 100% rename from level/testdata/fuzz/FuzzPackSection/c6a489835f1c78cc rename to mc/level/testdata/fuzz/FuzzPackSection/c6a489835f1c78cc diff --git a/level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/8824cca7c0852977 b/mc/level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/8824cca7c0852977 similarity index 100% rename from level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/8824cca7c0852977 rename to mc/level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/8824cca7c0852977 diff --git a/level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/e8072e41f4d36fcd b/mc/level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/e8072e41f4d36fcd similarity index 100% rename from level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/e8072e41f4d36fcd rename to mc/level/testdata/fuzz/FuzzReadChunkFromChunkPacketData/e8072e41f4d36fcd diff --git a/level/testdata/fuzz/FuzzSectionDeEnCodePacket/1423102ae2e39336 b/mc/level/testdata/fuzz/FuzzSectionDeEnCodePacket/1423102ae2e39336 similarity index 100% rename from level/testdata/fuzz/FuzzSectionDeEnCodePacket/1423102ae2e39336 rename to mc/level/testdata/fuzz/FuzzSectionDeEnCodePacket/1423102ae2e39336 diff --git a/level/testdata/fuzz/FuzzSectionDeEnCodePacket/179a5dc64d56178b b/mc/level/testdata/fuzz/FuzzSectionDeEnCodePacket/179a5dc64d56178b similarity index 100% rename from level/testdata/fuzz/FuzzSectionDeEnCodePacket/179a5dc64d56178b rename to mc/level/testdata/fuzz/FuzzSectionDeEnCodePacket/179a5dc64d56178b diff --git a/level/testdata/fuzz/FuzzSectionDeEnCodePacket/50d71a3e97b6db2d b/mc/level/testdata/fuzz/FuzzSectionDeEnCodePacket/50d71a3e97b6db2d similarity index 100% rename from level/testdata/fuzz/FuzzSectionDeEnCodePacket/50d71a3e97b6db2d rename to mc/level/testdata/fuzz/FuzzSectionDeEnCodePacket/50d71a3e97b6db2d diff --git a/mapstructure/decode.go b/mc/mapstructure/decode.go similarity index 99% rename from mapstructure/decode.go rename to mc/mapstructure/decode.go index c627c3e..3ab3c35 100644 --- a/mapstructure/decode.go +++ b/mc/mapstructure/decode.go @@ -4,7 +4,7 @@ import ( "fmt" "reflect" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/util" ) func (f *Format) decode(m map[string]any, target reflect.Value) error { diff --git a/mapstructure/default.go b/mc/mapstructure/default.go similarity index 100% rename from mapstructure/default.go rename to mc/mapstructure/default.go diff --git a/mapstructure/encode.go b/mc/mapstructure/encode.go similarity index 100% rename from mapstructure/encode.go rename to mc/mapstructure/encode.go diff --git a/mapstructure/format.go b/mc/mapstructure/format.go similarity index 100% rename from mapstructure/format.go rename to mc/mapstructure/format.go diff --git a/mapstructure/mapstructure_test.go b/mc/mapstructure/mapstructure_test.go similarity index 100% rename from mapstructure/mapstructure_test.go rename to mc/mapstructure/mapstructure_test.go diff --git a/mapstructure/tags.go b/mc/mapstructure/tags.go similarity index 100% rename from mapstructure/tags.go rename to mc/mapstructure/tags.go diff --git a/nbt/file.go b/mc/nbt/file.go similarity index 95% rename from nbt/file.go rename to mc/nbt/file.go index 5153d46..49a91d0 100644 --- a/nbt/file.go +++ b/mc/nbt/file.go @@ -5,7 +5,7 @@ import ( "io" "os" - "github.com/admin-else/strom/mapstructure" + "github.com/admin-else/strom/mc/mapstructure" ) var Format = mapstructure.NewFormat("nbt", mapstructure.WithRequireAll(), mapstructure.WithTrySnakeCase(), mapstructure.WithTryLowCase()) diff --git a/nbt/nbt.go b/mc/nbt/nbt.go similarity index 100% rename from nbt/nbt.go rename to mc/nbt/nbt.go diff --git a/nbt/snbt.go b/mc/nbt/snbt.go similarity index 100% rename from nbt/snbt.go rename to mc/nbt/snbt.go diff --git a/nbt/snbt_test.go b/mc/nbt/snbt_test.go similarity index 100% rename from nbt/snbt_test.go rename to mc/nbt/snbt_test.go diff --git a/nbt/testdata/top_0_20.nbt b/mc/nbt/testdata/top_0_20.nbt similarity index 100% rename from nbt/testdata/top_0_20.nbt rename to mc/nbt/testdata/top_0_20.nbt diff --git a/proto/connection.go b/mc/proto/connection.go similarity index 98% rename from proto/connection.go rename to mc/proto/connection.go index 80a4d9f..aaee5a0 100644 --- a/proto/connection.go +++ b/mc/proto/connection.go @@ -12,10 +12,10 @@ import ( "strings" "sync" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated" + "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated" ) const ( diff --git a/proto/connection_test.go b/mc/proto/connection_test.go similarity index 95% rename from proto/connection_test.go rename to mc/proto/connection_test.go index e8363c9..1d567fb 100644 --- a/proto/connection_test.go +++ b/mc/proto/connection_test.go @@ -5,9 +5,9 @@ import ( "math" "testing" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" + "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" ) diff --git a/proto/packet_codec.go b/mc/proto/packet_codec.go similarity index 100% rename from proto/packet_codec.go rename to mc/proto/packet_codec.go diff --git a/proto/packet_lookup.go b/mc/proto/packet_lookup.go similarity index 96% rename from proto/packet_lookup.go rename to mc/proto/packet_lookup.go index 0f14778..22efb43 100644 --- a/proto/packet_lookup.go +++ b/mc/proto/packet_lookup.go @@ -3,8 +3,8 @@ package proto import ( "reflect" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated" ) type PidEtc struct { diff --git a/proto/raw_conn.go b/mc/proto/raw_conn.go similarity index 97% rename from proto/raw_conn.go rename to mc/proto/raw_conn.go index 38a8b93..db8a374 100644 --- a/proto/raw_conn.go +++ b/mc/proto/raw_conn.go @@ -10,8 +10,8 @@ import ( "net" "sync" - "github.com/admin-else/strom/crypto" - "github.com/admin-else/strom/proto_base" + "github.com/admin-else/strom/mc/crypto" + "github.com/admin-else/strom/mc/proto_base" ) type RawConn struct { diff --git a/proto/replay/reader.go b/mc/proto/replay/reader.go similarity index 76% rename from proto/replay/reader.go rename to mc/proto/replay/reader.go index 4409230..56d8e6e 100644 --- a/proto/replay/reader.go +++ b/mc/proto/replay/reader.go @@ -6,8 +6,8 @@ import ( "io" "reflect" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" + proto2 "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" ) type Reader struct { @@ -52,15 +52,15 @@ func (r *Reader) ReadPacket() (packet proto_base.EncodeDecodeAble, err error) { // indexafterid represents how many bytes we've read so far indexafterid := int(b.Size()) - b.Len() - i, ok := proto.LookUpTypeByPacketInfo(proto_base.ToClient, r.State, packetId, r.Version) + i, ok := proto2.LookUpTypeByPacketInfo(proto_base.ToClient, r.State, packetId, r.Version) if !ok { - packet = &proto.UnCodablePacket{Err: proto.BadPacketIdErr, Data: packetData, Info: i} + packet = &proto2.UnCodablePacket{Err: proto2.BadPacketIdErr, Data: packetData, Info: i} return } packet = reflect.New(reflect.TypeOf(i.Type).Elem()).Interface().(proto_base.EncodeDecodeAble) err = packet.Decode(b) if err != nil { - packet = &proto.UnCodablePacket{Err: err, Data: packetData[indexafterid:], Info: i} + packet = &proto2.UnCodablePacket{Err: err, Data: packetData[indexafterid:], Info: i} return } return diff --git a/proto/replay/writer.go b/mc/proto/replay/writer.go similarity index 81% rename from proto/replay/writer.go rename to mc/proto/replay/writer.go index 21a8928..3eb8817 100644 --- a/proto/replay/writer.go +++ b/mc/proto/replay/writer.go @@ -5,8 +5,8 @@ import ( "encoding/binary" "io" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_base" + proto2 "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_base" ) type Writer struct { @@ -33,9 +33,9 @@ func (w *Writer) WriteRaw(p []byte, timestamp uint32) (err error) { func (w *Writer) WritePacket(packet proto_base.EncodeDecodeAble, timestamp uint32) (err error) { b := bytes.NewBuffer(nil) - info, ok := proto.LookupPacketInfoByType(packet) + info, ok := proto2.LookupPacketInfoByType(packet) if !ok { - return proto.BadPacketIdErr + return proto2.BadPacketIdErr } err = proto_base.EncodeVarInt(b, info.PacketId) diff --git a/proto/smart_convert.go b/mc/proto/smart_convert.go similarity index 96% rename from proto/smart_convert.go rename to mc/proto/smart_convert.go index 0be44a9..989b451 100644 --- a/proto/smart_convert.go +++ b/mc/proto/smart_convert.go @@ -5,10 +5,10 @@ import ( "reflect" "slices" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/event" - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated" + "github.com/admin-else/strom/mc/data" + "github.com/admin-else/strom/mc/event" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated" ) func SmartConvertibleTo(from, to reflect.Type) bool { diff --git a/proto/smart_convert_test.go b/mc/proto/smart_convert_test.go similarity index 67% rename from proto/smart_convert_test.go rename to mc/proto/smart_convert_test.go index 49ef6d0..5187bc6 100644 --- a/proto/smart_convert_test.go +++ b/mc/proto/smart_convert_test.go @@ -4,35 +4,35 @@ import ( "reflect" "testing" - "github.com/admin-else/strom/proto" - "github.com/admin-else/strom/proto_generated/v1_21_11" - "github.com/admin-else/strom/proto_generated/v1_21_8" - "github.com/admin-else/strom/proto_generated/v1_21_9" + proto2 "github.com/admin-else/strom/mc/proto" + "github.com/admin-else/strom/mc/proto_generated/v1_21_11" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/proto_generated/v1_21_9" ) func TestCanSmartConvert(t *testing.T) { packet := &v1_21_9.PlayToClientPacketPosition{Flags: v1_21_9.PlayToClientPositionUpdateRelatives{Val: 2}, X: 5} - can := proto.SmartConvertibleTo(reflect.TypeOf(packet), reflect.TypeFor[*v1_21_8.PlayToClientPacketPosition]()) + can := proto2.SmartConvertibleTo(reflect.TypeOf(packet), reflect.TypeFor[*v1_21_8.PlayToClientPacketPosition]()) if !can { t.Fatal("can't smart convert") } - ret := proto.SmartConvert(reflect.ValueOf(packet), reflect.TypeFor[*v1_21_8.PlayToClientPacketPosition]()) + ret := proto2.SmartConvert(reflect.ValueOf(packet), reflect.TypeFor[*v1_21_8.PlayToClientPacketPosition]()) t.Logf("%#v", ret) } func TestCanSmartConvertTags(t *testing.T) { packet := &v1_21_9.ConfigurationToClientPacketTags{} targetType := reflect.TypeFor[*v1_21_8.ConfigurationToClientPacketTags]() - can := proto.SmartConvertibleTo(reflect.TypeOf(packet), targetType) + can := proto2.SmartConvertibleTo(reflect.TypeOf(packet), targetType) if !can { t.Fatal("can't smart convert") } - ret := proto.SmartConvert(reflect.ValueOf(packet), targetType) + ret := proto2.SmartConvert(reflect.ValueOf(packet), targetType) t.Logf("%#v", ret) } func TestRegisterUntilLatest(t *testing.T) { - conn := proto.NewConn() + conn := proto2.NewConn() ok := false conn.RegisterCriticalUntilLatest(func(p *v1_21_8.ConfigurationToServerPacketFinishConfiguration) error { ok = true @@ -55,12 +55,12 @@ var TestData = []struct{ V, T, E any }{ func TestSmartConvert(t *testing.T) { for _, d := range TestData { - can := proto.SmartConvertibleTo(reflect.TypeOf(d.V), reflect.TypeOf(d.T)) + can := proto2.SmartConvertibleTo(reflect.TypeOf(d.V), reflect.TypeOf(d.T)) if !can { t.Errorf("can't smart convert %#v to %#v", d.V, d.T) continue } - got := proto.SmartConvert(reflect.ValueOf(d.V), reflect.TypeOf(d.T)) + got := proto2.SmartConvert(reflect.ValueOf(d.V), reflect.TypeOf(d.T)) if d.E != nil && !reflect.DeepEqual(got.Interface(), d.E) { t.Errorf("got %#v, want %#v", got.Interface(), d.E) } diff --git a/proto/testdata/fuzz/FuzzConn/08307d8a6eaaaf56 b/mc/proto/testdata/fuzz/FuzzConn/08307d8a6eaaaf56 similarity index 100% rename from proto/testdata/fuzz/FuzzConn/08307d8a6eaaaf56 rename to mc/proto/testdata/fuzz/FuzzConn/08307d8a6eaaaf56 diff --git a/proto/testdata/fuzz/FuzzConn/582528ddfad69eb5 b/mc/proto/testdata/fuzz/FuzzConn/582528ddfad69eb5 similarity index 100% rename from proto/testdata/fuzz/FuzzConn/582528ddfad69eb5 rename to mc/proto/testdata/fuzz/FuzzConn/582528ddfad69eb5 diff --git a/proto/testdata/fuzz/FuzzConn/8727b16d337d7b81 b/mc/proto/testdata/fuzz/FuzzConn/8727b16d337d7b81 similarity index 100% rename from proto/testdata/fuzz/FuzzConn/8727b16d337d7b81 rename to mc/proto/testdata/fuzz/FuzzConn/8727b16d337d7b81 diff --git a/proto/testdata/fuzz/FuzzConn/998444ddd2dfb8f1 b/mc/proto/testdata/fuzz/FuzzConn/998444ddd2dfb8f1 similarity index 100% rename from proto/testdata/fuzz/FuzzConn/998444ddd2dfb8f1 rename to mc/proto/testdata/fuzz/FuzzConn/998444ddd2dfb8f1 diff --git a/proto/testdata/fuzz/FuzzConn/a08445a85261adfb b/mc/proto/testdata/fuzz/FuzzConn/a08445a85261adfb similarity index 100% rename from proto/testdata/fuzz/FuzzConn/a08445a85261adfb rename to mc/proto/testdata/fuzz/FuzzConn/a08445a85261adfb diff --git a/proto/testdata/fuzz/FuzzConn/e31fe72d9d1b54f1 b/mc/proto/testdata/fuzz/FuzzConn/e31fe72d9d1b54f1 similarity index 100% rename from proto/testdata/fuzz/FuzzConn/e31fe72d9d1b54f1 rename to mc/proto/testdata/fuzz/FuzzConn/e31fe72d9d1b54f1 diff --git a/proto/testdata/fuzz/FuzzConnPlayToServer/caf81e9797b19c76 b/mc/proto/testdata/fuzz/FuzzConnPlayToServer/caf81e9797b19c76 similarity index 100% rename from proto/testdata/fuzz/FuzzConnPlayToServer/caf81e9797b19c76 rename to mc/proto/testdata/fuzz/FuzzConnPlayToServer/caf81e9797b19c76 diff --git a/proto/testdata/fuzz/FuzzPlayPackets/d276c59373082446 b/mc/proto/testdata/fuzz/FuzzPlayPackets/d276c59373082446 similarity index 100% rename from proto/testdata/fuzz/FuzzPlayPackets/d276c59373082446 rename to mc/proto/testdata/fuzz/FuzzPlayPackets/d276c59373082446 diff --git a/proto_base/base_types.go b/mc/proto_base/base_types.go similarity index 100% rename from proto_base/base_types.go rename to mc/proto_base/base_types.go diff --git a/proto_generated/packet_info.go b/mc/proto_generated/packet_info.go similarity index 99% rename from proto_generated/packet_info.go rename to mc/proto_generated/packet_info.go index ec4d223..a418c05 100644 --- a/proto_generated/packet_info.go +++ b/mc/proto_generated/packet_info.go @@ -1,10 +1,10 @@ package proto_generated import ( - "github.com/admin-else/strom/proto_base" - "github.com/admin-else/strom/proto_generated/v1_21_11" - "github.com/admin-else/strom/proto_generated/v1_21_8" - "github.com/admin-else/strom/proto_generated/v1_21_9" + "github.com/admin-else/strom/mc/proto_base" + "github.com/admin-else/strom/mc/proto_generated/v1_21_11" + "github.com/admin-else/strom/mc/proto_generated/v1_21_8" + "github.com/admin-else/strom/mc/proto_generated/v1_21_9" ) var SupportedVersions = []string{"1.21.8", "1.21.9", "1.21.11"} diff --git a/proto_generated/v1_21_11/proto.go b/mc/proto_generated/v1_21_11/proto.go similarity index 99% rename from proto_generated/v1_21_11/proto.go rename to mc/proto_generated/v1_21_11/proto.go index 599e453..ab40842 100644 --- a/proto_generated/v1_21_11/proto.go +++ b/mc/proto_generated/v1_21_11/proto.go @@ -5,8 +5,8 @@ package v1_21_11 import ( "encoding/binary" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto_base" + "github.com/admin-else/strom/mc/nbt" + "github.com/admin-else/strom/mc/proto_base" "github.com/google/uuid" "io" ) diff --git a/proto_generated/v1_21_8/proto.go b/mc/proto_generated/v1_21_8/proto.go similarity index 99% rename from proto_generated/v1_21_8/proto.go rename to mc/proto_generated/v1_21_8/proto.go index 9f9124c..bd024c4 100644 --- a/proto_generated/v1_21_8/proto.go +++ b/mc/proto_generated/v1_21_8/proto.go @@ -5,8 +5,8 @@ package v1_21_8 import ( "encoding/binary" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto_base" + "github.com/admin-else/strom/mc/nbt" + "github.com/admin-else/strom/mc/proto_base" "github.com/google/uuid" "io" ) diff --git a/proto_generated/v1_21_9/proto.go b/mc/proto_generated/v1_21_9/proto.go similarity index 99% rename from proto_generated/v1_21_9/proto.go rename to mc/proto_generated/v1_21_9/proto.go index d7252ee..6f44092 100644 --- a/proto_generated/v1_21_9/proto.go +++ b/mc/proto_generated/v1_21_9/proto.go @@ -5,8 +5,8 @@ package v1_21_9 import ( "encoding/binary" - "github.com/admin-else/strom/nbt" - "github.com/admin-else/strom/proto_base" + "github.com/admin-else/strom/mc/nbt" + "github.com/admin-else/strom/mc/proto_base" "github.com/google/uuid" "io" ) diff --git a/proto_generator/helper_generator.go b/mc/proto_generator/helper_generator.go similarity index 92% rename from proto_generator/helper_generator.go rename to mc/proto_generator/helper_generator.go index 732dd67..bfeeef2 100644 --- a/proto_generator/helper_generator.go +++ b/mc/proto_generator/helper_generator.go @@ -20,10 +20,10 @@ type PacketInfo struct { func GeneratePacketInfoFile(versions []string, packetInfos []PacketInfo) (err error) { f := NewFile("proto_generated") - imports := []string{"github.com/admin-else/strom/proto_base"} + imports := []string{"github.com/admin-else/strom/mc/proto_base"} for _, v := range versions { vUnderscore := strings.ReplaceAll(v, ".", "_") - imports = append(imports, "github.com/admin-else/strom/proto_generated/v"+vUnderscore) + imports = append(imports, "github.com/admin-else/strom/mc/proto_generated/v"+vUnderscore) } AppendDecl(f, Import(imports...)) diff --git a/proto_generator/main.go b/mc/proto_generator/main.go similarity index 89% rename from proto_generator/main.go rename to mc/proto_generator/main.go index 8f79150..abf08d6 100644 --- a/proto_generator/main.go +++ b/mc/proto_generator/main.go @@ -13,8 +13,8 @@ import ( "strconv" "strings" - "github.com/admin-else/strom/data" - "github.com/admin-else/strom/util" + data2 "github.com/admin-else/strom/mc/data" + util2 "github.com/admin-else/strom/mc/util" ) var ToDoError = errors.New("to do") @@ -129,11 +129,11 @@ func (g *Generator) VisitNameAndData(tName string, tData any) (e ast.Expr, err e } t, found := g.Protocol.Types.Types[tName] if t != "native" && found { - return Ident(util.CamelCase(tName)), nil + return Ident(util2.CamelCase(tName)), nil } t, found = g.CurrentlyGeneratingTypes.Types[tName] if found { - return Ident(g.CurrentlyGeneratingTypesPrefix + util.CamelCase(tName)), nil + return Ident(g.CurrentlyGeneratingTypesPrefix + util2.CamelCase(tName)), nil } err = fmt.Errorf("unknown type %s", tName) return @@ -200,7 +200,7 @@ func FixPointerReceivers(e ast.Expr) (td ast.Expr, ret ast.Expr) { func (g *Generator) GenerateTypes(prefix string, types Types) (err error) { g.CurrentlyGeneratingTypes = types g.CurrentlyGeneratingTypesPrefix = prefix - for _, k := range util.OrderedKeys(types.Types) { + for _, k := range util2.OrderedKeys(types.Types) { v := types.Types[k] g.Depth = 0 e, err2 := g.VisitType(v) @@ -215,7 +215,7 @@ func (g *Generator) GenerateTypes(prefix string, types Types) (err error) { continue } - tName := prefix + util.CamelCase(k) + tName := prefix + util2.CamelCase(k) g.CurrentlyGeneratingTypeName = tName e, retExpr := FixPointerReceivers(e) @@ -249,7 +249,7 @@ func (g *Generator) GenerateTypes(prefix string, types Types) (err error) { } func (g *Generator) GenerateProtocol(protocol Protocol, version string) (err error) { - versionData, err := data.LookUpVersionByName(version) + versionData, err := data2.LookUpVersionByName(version) if err != nil { return } @@ -269,11 +269,11 @@ func (g *Generator) GenerateProtocol(protocol Protocol, version string) (err err } // Move common packet to their own areas to make packets more identifiable - for _, k := range util.OrderedKeys(protocol.Types.Types) { + for _, k := range util2.OrderedKeys(protocol.Types.Types) { v := protocol.Types.Types[k] if strings.Contains(k, "packet") { delete(protocol.Types.Types, k) - for _, prefix := range util.OrderedKeys(prefixTypeMap) { + for _, prefix := range util2.OrderedKeys(prefixTypeMap) { types := prefixTypeMap[prefix] if prefix == "" { continue @@ -283,20 +283,20 @@ func (g *Generator) GenerateProtocol(protocol Protocol, version string) (err err } } - for _, prefix := range util.OrderedKeys(prefixTypeMap) { + for _, prefix := range util2.OrderedKeys(prefixTypeMap) { types := prefixTypeMap[prefix] - for _, k := range util.OrderedKeys(types.Types.Types) { + for _, k := range util2.OrderedKeys(types.Types.Types) { typeData := types.Types.Types[k] if k != "packet" { continue } packetIds := typeData.([]any)[1].([]any)[0].(map[string]any)["type"].([]any)[1].(map[string]any)["mappings"].(map[string]any) - packetIdsStrings := util.AssertAndConvertMapValues[string](packetIds) - packetIdsRev := util.ReverseMap(packetIdsStrings) + packetIdsStrings := util2.AssertAndConvertMapValues[string](packetIds) + packetIdsRev := util2.ReverseMap(packetIdsStrings) v := typeData.([]any)[1].([]any)[1].(map[string]any)["type"].([]any)[1].(map[string]any)["fields"].(map[string]any) - for _, k2 := range util.OrderedKeys(v) { + for _, k2 := range util2.OrderedKeys(v) { v2 := v[k2].(string) - typeName := prefix + util.CamelCase(v2) + typeName := prefix + util2.CamelCase(v2) g.packetInfos = append(g.packetInfos, PacketInfo{ PacketDef: v2, TName: typeName, @@ -311,7 +311,7 @@ func (g *Generator) GenerateProtocol(protocol Protocol, version string) (err err } } - for _, prefix := range util.OrderedKeys(prefixTypeMap) { + for _, prefix := range util2.OrderedKeys(prefixTypeMap) { types := prefixTypeMap[prefix] err = g.GenerateTypes(prefix, types.Types) if err != nil { @@ -339,7 +339,7 @@ func GoVersion() string { func HashFile(path string) (string, error) { // Read from embedded filesystem since minecraft-data is embedded via go:embed - b, err := data.MinecraftData.ReadFile(path) + b, err := data2.MinecraftData.ReadFile(path) if err != nil { return "", err } @@ -350,7 +350,7 @@ func HashFile(path string) (string, error) { func Generate(version string, w io.Writer, sourceHash string) (packetInfos []PacketInfo, err error) { protocol := Protocol{} - err = data.LoadVersionedJson(version, "protocol", &protocol) + err = data2.LoadVersionedJson(version, "protocol", &protocol) if err != nil { return } @@ -360,14 +360,14 @@ func Generate(version string, w io.Writer, sourceHash string) (packetInfos []Pac g.File = NewFile("v" + strings.ReplaceAll(version, ".", "_")) // Add file header comment for IDE recognition and reproducibility - sourcePath := "minecraft-data/" + data.Paths.Data[version]["protocol"] + "/protocol.json" + sourcePath := "minecraft-data/" + data2.Paths.Data[version]["protocol"] + "/protocol.json" toolVersion := ToolVersion() goVersion := GoVersion() comment := fmt.Sprintf("Code generated by strom. DO NOT EDIT.\nsource: %s (%s)\nversion: %s (%s)", sourcePath, sourceHash, toolVersion, goVersion) AddFileComment(g.File, comment) - AppendDecl(g.File, Import("encoding/binary", "io", "github.com/admin-else/strom/proto_base", "github.com/admin-else/strom/nbt", "github.com/google/uuid")) + AppendDecl(g.File, Import("encoding/binary", "io", "github.com/admin-else/strom/mc/proto_base", "github.com/admin-else/strom/mc/nbt", "github.com/google/uuid")) g.RegisterNatives() g.RegisterDecoderNatives() g.RegisterEncoderNatives() @@ -394,7 +394,7 @@ func generateVersion(v string) (packetInfos []PacketInfo, err error) { defer f.Close() // Compute hash of source protocol.json for reproducibility - sourcePath := "minecraft-data/" + data.Paths.Data[v]["protocol"] + "/protocol.json" + sourcePath := "minecraft-data/" + data2.Paths.Data[v]["protocol"] + "/protocol.json" sourceHash, err := HashFile(sourcePath) if err != nil { return diff --git a/proto_generator/native_compare_to.go b/mc/proto_generator/native_compare_to.go similarity index 88% rename from proto_generator/native_compare_to.go rename to mc/proto_generator/native_compare_to.go index 39475bb..98e5447 100644 --- a/proto_generator/native_compare_to.go +++ b/mc/proto_generator/native_compare_to.go @@ -6,8 +6,8 @@ import ( "go/ast" "strings" - "github.com/admin-else/strom/proto_generator/protodef" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/proto_generator/protodef" + util2 "github.com/admin-else/strom/mc/util" "github.com/go-viper/mapstructure/v2" ) @@ -21,7 +21,7 @@ func (g *Generator) ParseCompareTo(compareTo string) (e ast.Expr, cet CaseExprTy } parts = parts[downPrefixCount:] startingPoint := g.ContainerStack[len(g.ContainerStack)-downPrefixCount-1] - e, cet, err = g.VisitCompareTo(parts, startingPoint.VarToSet, util.CombineNamAndData("container", startingPoint.Data)) + e, cet, err = g.VisitCompareTo(parts, startingPoint.VarToSet, util2.CombineNamAndData("container", startingPoint.Data)) // return ParseCompareToLegacy(compareTo, varToSet) return } @@ -46,14 +46,14 @@ func ContainerCompareTo(g *Generator, parts []string, inExpr ast.Expr, dataRaw a return } - name, parts, ok := util.PopFront(parts) + name, parts, ok := util2.PopFront(parts) if !ok { err = errors.New("expected name part") return } for _, field := range data { if field.Name == name { - return g.VisitCompareTo(parts, SelectorExprAndStr(inExpr, util.CamelCase(field.Name)), field.Type) + return g.VisitCompareTo(parts, SelectorExprAndStr(inExpr, util2.CamelCase(field.Name)), field.Type) } } err = errors.New("field not found") @@ -70,7 +70,7 @@ func BitfieldCompareTo(_ *Generator, parts []string, inExpr ast.Expr, dataRaw an if err != nil { return } - fieldName, parts, found := util.PopFront(parts) + fieldName, parts, found := util2.PopFront(parts) if !found { err = errors.New("expected name part") return @@ -88,7 +88,7 @@ func BitfieldCompareTo(_ *Generator, parts []string, inExpr ast.Expr, dataRaw an cet = CaseExprTypeOnlyNumber } - e = SelectorExprAndStr(inExpr, util.CamelCase(fieldName)) + e = SelectorExprAndStr(inExpr, util2.CamelCase(fieldName)) return } @@ -98,7 +98,7 @@ func BitflagsCompareTo(_ *Generator, parts []string, inExpr ast.Expr, dataRaw an if err != nil { return } - name, parts, ok := util.PopFront(parts) + name, parts, ok := util2.PopFront(parts) if !ok { err = errors.New("expected name part") return diff --git a/proto_generator/native_decoder.go b/mc/proto_generator/native_decoder.go similarity index 97% rename from proto_generator/native_decoder.go rename to mc/proto_generator/native_decoder.go index 44bcfd1..119f2f4 100644 --- a/proto_generator/native_decoder.go +++ b/mc/proto_generator/native_decoder.go @@ -6,8 +6,8 @@ import ( "slices" "strconv" - "github.com/admin-else/strom/proto_generator/protodef" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/proto_generator/protodef" + util2 "github.com/admin-else/strom/mc/util" "github.com/go-viper/mapstructure/v2" ) @@ -47,7 +47,7 @@ func ContainerDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) for _, field := range data { var statements []ast.Stmt - cName := util.CamelCase(field.Name) + cName := util2.CamelCase(field.Name) if field.Anon { cName = "Anon" } @@ -107,7 +107,7 @@ func OptionDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s func ArrayDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s []ast.Stmt, err error) { var data protodef.Array - lName := "l" + util.CamelCase(name) + lName := "l" + util2.CamelCase(name) err = mapstructure.Decode(dataRaw, &data) if err != nil { return @@ -249,7 +249,7 @@ func SwitchDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s if err != nil { return } - for _, fName := range util.OrderedKeys(data.Fields) { + for _, fName := range util2.OrderedKeys(data.Fields) { fType := data.Fields[fName] e := MultiTypeFix(fName, &cet) if e == nil { @@ -260,7 +260,7 @@ func SwitchDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s if err != nil { return } - tName := name + util.CamelCase(fName) + "Tmp" + tName := name + util2.CamelCase(fName) + "Tmp" s1 := VarStmt(tName, tType) s3 := Assign121(varToSet, Ident(tName)) var caseDecodeValueStmts []ast.Stmt @@ -310,7 +310,7 @@ func MapperDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s if err != nil { return } - kName := util.CamelCase(name) + "Key" + kName := util2.CamelCase(name) + "Key" kType, err := g.VisitType(data.Type) if err != nil { return @@ -324,7 +324,7 @@ func MapperDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s mName := name + "Map" expressions := Exprs() - for _, k := range util.OrderedKeys(data.Mappings) { + for _, k := range util2.OrderedKeys(data.Mappings) { v := data.Mappings[k] expressions = append(expressions, KeyValueExpr(NumLitStr(k), StrLit(v))) } @@ -347,7 +347,7 @@ func BufferDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s // rawString, err := io.ReadAll(io.LimitReader(r, int64(l))) if data.CountType != nil { - lName := "l" + util.CamelCase(name) + lName := "l" + util2.CamelCase(name) var countType ast.Expr countType, err = g.VisitType(data.CountType) if err != nil { @@ -412,7 +412,7 @@ func BitFieldDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) } rShiftBy := totalSize - field.Size - fieldToSet := SelectorExprAndStr(varToSet, util.CamelCase(field.Name)) + fieldToSet := SelectorExprAndStr(varToSet, util2.CamelCase(field.Name)) var getDataExpr ast.Expr getDataExpr = RightShift( @@ -471,7 +471,7 @@ func RegistryEntryHolderSetDecoder(g *Generator, varToSet ast.Expr, dataRaw any, if err != nil { return } - lName := "l" + util.CamelCase(name) + lName := "l" + util2.CamelCase(name) s1 := VarStmt(lName, countType) s2, err := g.VisitDecoder(Ident(lName), "varint", name) if err != nil { diff --git a/proto_generator/native_encoder.go b/mc/proto_generator/native_encoder.go similarity index 97% rename from proto_generator/native_encoder.go rename to mc/proto_generator/native_encoder.go index 31a5a24..53f9218 100644 --- a/proto_generator/native_encoder.go +++ b/mc/proto_generator/native_encoder.go @@ -6,8 +6,8 @@ import ( "slices" "strconv" - "github.com/admin-else/strom/proto_generator/protodef" - "github.com/admin-else/strom/util" + "github.com/admin-else/strom/mc/proto_generator/protodef" + util2 "github.com/admin-else/strom/mc/util" "github.com/go-viper/mapstructure/v2" ) @@ -38,11 +38,11 @@ func ContainerEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) for _, field := range data { var statements []ast.Stmt - cName := util.CamelCase(field.Name) + cName := util2.CamelCase(field.Name) if field.Anon { cName = "Anon" } - statements, err = g.VisitEncoder(SelectorExprAndStr(varToSet, cName), field.Type, name+util.CamelCase(cName)) + statements, err = g.VisitEncoder(SelectorExprAndStr(varToSet, cName), field.Type, name+util2.CamelCase(cName)) if err != nil { return } @@ -171,7 +171,7 @@ func BitFieldEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) Ident(boolFix), SelectorExprAndStr( varToSet, - util.CamelCase(field.Name), + util2.CamelCase(field.Name), ), ), NumLitHex((1<