commit
83a38c57cc
2
go.mod
2
go.mod
|
@ -6,7 +6,7 @@ go 1.20
|
||||||
replace github.com/sandertv/gophertunnel => github.com/olebeck/gophertunnel v1.27.4-4
|
replace github.com/sandertv/gophertunnel => github.com/olebeck/gophertunnel v1.27.4-4
|
||||||
|
|
||||||
//replace github.com/df-mc/dragonfly => ./dragonfly
|
//replace github.com/df-mc/dragonfly => ./dragonfly
|
||||||
replace github.com/df-mc/dragonfly => github.com/olebeck/dragonfly v0.9.3-3
|
replace github.com/df-mc/dragonfly => github.com/olebeck/dragonfly v0.9.3-5
|
||||||
|
|
||||||
require (
|
require (
|
||||||
gioui.org v0.0.0-20221219171716-c455f0f342ef
|
gioui.org v0.0.0-20221219171716-c455f0f342ef
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -77,8 +77,8 @@ github.com/muhammadmuzzammil1998/jsonc v1.0.0 h1:8o5gBQn4ZA3NBA9DlTujCj2a4w0tqWr
|
||||||
github.com/muhammadmuzzammil1998/jsonc v1.0.0/go.mod h1:saF2fIVw4banK0H4+/EuqfFLpRnoy5S+ECwTOCcRcSU=
|
github.com/muhammadmuzzammil1998/jsonc v1.0.0/go.mod h1:saF2fIVw4banK0H4+/EuqfFLpRnoy5S+ECwTOCcRcSU=
|
||||||
github.com/nicksnyder/go-i18n/v2 v2.2.1 h1:aOzRCdwsJuoExfZhoiXHy4bjruwCMdt5otbYojM/PaA=
|
github.com/nicksnyder/go-i18n/v2 v2.2.1 h1:aOzRCdwsJuoExfZhoiXHy4bjruwCMdt5otbYojM/PaA=
|
||||||
github.com/nicksnyder/go-i18n/v2 v2.2.1/go.mod h1:fF2++lPHlo+/kPaj3nB0uxtPwzlPm+BlgwGX7MkeGj0=
|
github.com/nicksnyder/go-i18n/v2 v2.2.1/go.mod h1:fF2++lPHlo+/kPaj3nB0uxtPwzlPm+BlgwGX7MkeGj0=
|
||||||
github.com/olebeck/dragonfly v0.9.3-3 h1:sv4TJjdgFoCBRMd5mS0g5NyPeMsVfUifhxIlJPTj6xg=
|
github.com/olebeck/dragonfly v0.9.3-5 h1:8MUpzKz1UZ0K+DJrywBV6C/ydGMggTxGg1n9VFAZPpI=
|
||||||
github.com/olebeck/dragonfly v0.9.3-3/go.mod h1:ODAzVcmM7KvKgPB89hoYndQiVVgTm9FlDXUko1H3YVs=
|
github.com/olebeck/dragonfly v0.9.3-5/go.mod h1:ODAzVcmM7KvKgPB89hoYndQiVVgTm9FlDXUko1H3YVs=
|
||||||
github.com/olebeck/gophertunnel v1.27.4-4 h1:ZzmZquRW0WdoH/smsOk91O+40dotn7574bID+BkHbuk=
|
github.com/olebeck/gophertunnel v1.27.4-4 h1:ZzmZquRW0WdoH/smsOk91O+40dotn7574bID+BkHbuk=
|
||||||
github.com/olebeck/gophertunnel v1.27.4-4/go.mod h1:ekREo7U9TPHh86kbuPMaWA93NMyWsfVvP/iNT3XhAb8=
|
github.com/olebeck/gophertunnel v1.27.4-4/go.mod h1:ekREo7U9TPHh86kbuPMaWA93NMyWsfVvP/iNT3XhAb8=
|
||||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
|
|
|
@ -44,10 +44,6 @@ func (t serverEntityType) EncodeNBT(e world.Entity) map[string]any {
|
||||||
return t.NBT
|
return t.NBT
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t serverEntityType) UniqueID() int64 {
|
|
||||||
return t.NBT["UniqueID"].(int64)
|
|
||||||
}
|
|
||||||
|
|
||||||
type serverEntity struct {
|
type serverEntity struct {
|
||||||
world.Entity
|
world.Entity
|
||||||
EntityType serverEntityType
|
EntityType serverEntityType
|
||||||
|
@ -138,7 +134,6 @@ func (w *WorldState) ProcessEntityPackets(pk packet.Packet) packet.Packet {
|
||||||
case *packet.AddActor:
|
case *packet.AddActor:
|
||||||
w.processAddActor(pk)
|
w.processAddActor(pk)
|
||||||
case *packet.RemoveActor:
|
case *packet.RemoveActor:
|
||||||
delete(w.entities, uint64(pk.EntityUniqueID))
|
|
||||||
case *packet.SetActorData:
|
case *packet.SetActorData:
|
||||||
e, ok := w.entities[pk.EntityRuntimeID]
|
e, ok := w.entities[pk.EntityRuntimeID]
|
||||||
if ok {
|
if ok {
|
||||||
|
|
|
@ -48,6 +48,7 @@ type WorldState struct {
|
||||||
bp *behaviourpack.BehaviourPack
|
bp *behaviourpack.BehaviourPack
|
||||||
|
|
||||||
// save state
|
// save state
|
||||||
|
ChunkRadius int
|
||||||
chunks map[protocol.ChunkPos]*chunk.Chunk
|
chunks map[protocol.ChunkPos]*chunk.Chunk
|
||||||
blockNBT map[protocol.SubChunkPos][]map[string]any
|
blockNBT map[protocol.SubChunkPos][]map[string]any
|
||||||
openItemContainers map[byte]*itemContainer
|
openItemContainers map[byte]*itemContainer
|
||||||
|
@ -167,6 +168,11 @@ func (c *WorldCMD) Execute(ctx context.Context, ui utils.UI) error {
|
||||||
pk = w.processMapPacketsClient(pk, &forward)
|
pk = w.processMapPacketsClient(pk, &forward)
|
||||||
} else {
|
} else {
|
||||||
// from server
|
// from server
|
||||||
|
switch pk := pk.(type) {
|
||||||
|
case *packet.ChunkRadiusUpdated:
|
||||||
|
w.ChunkRadius = int(pk.ChunkRadius)
|
||||||
|
pk.ChunkRadius = 80
|
||||||
|
}
|
||||||
pk = w.processItemPacketsServer(pk)
|
pk = w.processItemPacketsServer(pk)
|
||||||
pk = w.ProcessChunkPackets(pk)
|
pk = w.ProcessChunkPackets(pk)
|
||||||
pk = w.ProcessEntityPackets(pk)
|
pk = w.ProcessEntityPackets(pk)
|
||||||
|
@ -499,6 +505,8 @@ func (w *WorldState) SaveAndReset() {
|
||||||
f.Close()
|
f.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
time.Sleep(1 * time.Second)
|
||||||
|
|
||||||
// zip it
|
// zip it
|
||||||
filename := folder + ".mcworld"
|
filename := folder + ".mcworld"
|
||||||
if err := utils.ZipFolder(filename, folder); err != nil {
|
if err := utils.ZipFolder(filename, folder); err != nil {
|
||||||
|
@ -517,6 +525,7 @@ func (w *WorldState) OnConnect(proxy *utils.ProxyContext, err error) bool {
|
||||||
}
|
}
|
||||||
w.proxy = proxy
|
w.proxy = proxy
|
||||||
gd := w.proxy.Server.GameData()
|
gd := w.proxy.Server.GameData()
|
||||||
|
w.ChunkRadius = int(gd.ChunkRadius)
|
||||||
|
|
||||||
world.InsertCustomItems(gd.Items)
|
world.InsertCustomItems(gd.Items)
|
||||||
|
|
||||||
|
@ -594,5 +603,9 @@ func (w *WorldState) OnConnect(proxy *utils.ProxyContext, err error) bool {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if w.proxy.Client != nil {
|
||||||
|
w.proxy.Client.WritePacket(&packet.ChunkRadiusUpdated{ChunkRadius: 80})
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue