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
customdata.json
/logs-to-map/
/other-projects/
__pycache__/entityflags.cpython-310.pyc
gathering.py
*.ipynb

View File

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

View File

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

View File

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

View File

@ -15,10 +15,12 @@ func init() {
}
type WorldCMD struct {
ServerAddress string
Packs bool
EnableVoid bool
SaveImage bool
ServerAddress string
Packs bool
EnableVoid bool
SaveEntities bool
SaveInventories bool
SaveImage bool
}
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.EnableVoid, "void", true, locale.Loc("enable_void", 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 {
@ -44,9 +48,11 @@ func (c *WorldCMD) Execute(ctx context.Context, ui utils.UI) error {
proxy.AlwaysGetPacks = true
proxy.AddHandler(worlds.NewWorldsHandler(ctx, ui, worlds.WorldSettings{
VoidGen: c.EnableVoid,
WithPacks: c.Packs,
SaveImage: c.SaveImage,
VoidGen: c.EnableVoid,
WithPacks: c.Packs,
SaveEntities: c.SaveEntities,
SaveInventories: c.SaveInventories,
SaveImage: c.SaveImage,
}))
ui.Message(messages.SetUIState(messages.UIStateConnect))