from invoke import task
+
+import datetime
import os
home = os.path.expanduser('~')
flat_pak_root = f"{home}/.var/app/net.minetest.Minetest"
+root = f"{flat_pak_root}/.minetest"
+mod_dir = f"{root}/mods"
easy_dir = f"{home}/minetest/"
run_mt = f"flatpak run net.minetest.Minetest"
cmd = f"{run_mt} --gameid list"
c.run(cmd)
+@task
+def play(c):
+ c.run(f"{run_mt}")
+
@task
def worlds(c):
print(f"+ List Worlds ---")
@task
def serve(c, world="SurfaceWorld"):
- cmd = f"{run_mt} --gameid minetest --server --world {world}"
+ cmd = f"{run_mt} --gameid minetest --server --worldname {world}"
c.run(cmd)
+
+@task
+def bkmod(c, name=None):
+ '''Save the current set of mods and create an empty mod directory.'''
+ if not name:
+ name = datetime.datetime.now().strftime("%Y%h%d%H%M")
+ c.run(f"mv {mod_dir} {root}/mods_{name}")
+ c.run(f"mkdir -p {mod_dir}")
+ c.run(f"ls {root}")
+
+@task
+def rmod(c, name):
+ '''Restore a backed up set of mods.'''
+ if len(os.listdir(f"{mod_dir}")) != 0:
+ bk = datetime.datetime.now().strftime("%Y%h%d%H%M")
+ print(f"Backed up non-emtpy mod dir to mods_{bk}.")
+ c.run(f"mv {mod_dir} {root}/mods_{bk}")
+ else:
+ print("Removing empty mod dir.")
+ c.run(f"rmdir {mod_dir}")
+ c.run(f"mv {root}/mods_{name} {mod_dir}")
+ print(f"mods_{name} restored to mods")
+ print("ls of root")
+ c.run(f"ls {root}")
+ print("ls of mods")
+ c.run(f"ls {root}/mods")
+
+@task
+def logs(c, lines=20):
+ '''Output some logs'''
+ c.run(f"tail -n {lines} {root}/debug.txt")
+
+