add flags for inventory and entity

This commit is contained in:
olebeck 2023-04-04 20:06:05 +02:00
parent 3b1aa74100
commit 99f7b012bf
5 changed files with 28 additions and 12 deletions

2
.gitignore vendored
View File

@ -28,7 +28,7 @@ keys.db
packets.log.gpg packets.log.gpg
customdata.json customdata.json
/logs-to-map/ /other-projects/
__pycache__/entityflags.cpython-310.pyc __pycache__/entityflags.cpython-310.pyc
gathering.py gathering.py
*.ipynb *.ipynb

View File

@ -217,6 +217,10 @@ func (s *entityState) ToServerEntity() serverEntity {
} }
func (w *worldsHandler) ProcessEntityPackets(pk packet.Packet) packet.Packet { func (w *worldsHandler) ProcessEntityPackets(pk packet.Packet) packet.Packet {
if !w.settings.SaveEntities {
return pk
}
switch pk := pk.(type) { switch pk := pk.(type) {
case *packet.AddActor: case *packet.AddActor:
w.processAddActor(pk) w.processAddActor(pk)

View File

@ -18,6 +18,10 @@ type itemContainer struct {
} }
func (w *worldsHandler) processItemPacketsServer(pk packet.Packet) packet.Packet { func (w *worldsHandler) processItemPacketsServer(pk packet.Packet) packet.Packet {
if !w.settings.SaveInventories {
return pk
}
switch pk := pk.(type) { switch pk := pk.(type) {
case *packet.ContainerOpen: case *packet.ContainerOpen:
// add to open containers // add to open containers

View File

@ -42,10 +42,12 @@ type TPlayerPos struct {
type WorldSettings struct { type WorldSettings struct {
// settings // settings
VoidGen bool VoidGen bool
WithPacks bool WithPacks bool
SaveImage bool SaveImage bool
BlockUpdates bool SaveEntities bool
SaveInventories bool
BlockUpdates bool
} }
type worldState struct { type worldState struct {

View File

@ -15,10 +15,12 @@ func init() {
} }
type WorldCMD struct { type WorldCMD struct {
ServerAddress string ServerAddress string
Packs bool Packs bool
EnableVoid bool EnableVoid bool
SaveImage bool SaveEntities bool
SaveInventories bool
SaveImage bool
} }
func (*WorldCMD) Name() string { return "worlds" } func (*WorldCMD) Name() string { return "worlds" }
@ -29,6 +31,8 @@ func (c *WorldCMD) SetFlags(f *flag.FlagSet) {
f.BoolVar(&c.Packs, "packs", false, locale.Loc("save_packs_with_world", nil)) f.BoolVar(&c.Packs, "packs", false, locale.Loc("save_packs_with_world", nil))
f.BoolVar(&c.EnableVoid, "void", true, locale.Loc("enable_void", nil)) f.BoolVar(&c.EnableVoid, "void", true, locale.Loc("enable_void", nil))
f.BoolVar(&c.SaveImage, "image", false, locale.Loc("save_image", nil)) f.BoolVar(&c.SaveImage, "image", false, locale.Loc("save_image", nil))
f.BoolVar(&c.SaveEntities, "save-entities", true, "Save Entities")
f.BoolVar(&c.SaveInventories, "save-inventories", true, "Save Inventories")
} }
func (c *WorldCMD) Execute(ctx context.Context, ui utils.UI) error { func (c *WorldCMD) Execute(ctx context.Context, ui utils.UI) error {
@ -44,9 +48,11 @@ func (c *WorldCMD) Execute(ctx context.Context, ui utils.UI) error {
proxy.AlwaysGetPacks = true proxy.AlwaysGetPacks = true
proxy.AddHandler(worlds.NewWorldsHandler(ctx, ui, worlds.WorldSettings{ proxy.AddHandler(worlds.NewWorldsHandler(ctx, ui, worlds.WorldSettings{
VoidGen: c.EnableVoid, VoidGen: c.EnableVoid,
WithPacks: c.Packs, WithPacks: c.Packs,
SaveImage: c.SaveImage, SaveEntities: c.SaveEntities,
SaveInventories: c.SaveInventories,
SaveImage: c.SaveImage,
})) }))
ui.Message(messages.SetUIState(messages.UIStateConnect)) ui.Message(messages.SetUIState(messages.UIStateConnect))