X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/blobdiff_plain/abf16ad92ddbad3d38d4c3e82f50e325f9967523..07512938f40eb58933d2a2d24e67a1dde1bb4af2:/invoke/minetest/tasks.py diff --git a/invoke/minetest/tasks.py b/invoke/minetest/tasks.py index ac5633b..d6e82d0 100644 --- a/invoke/minetest/tasks.py +++ b/invoke/minetest/tasks.py @@ -1,8 +1,12 @@ 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" @@ -71,6 +75,10 @@ def games(c): 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 ---") @@ -85,5 +93,34 @@ def version(c): @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}") + c.run(f"ls {root}") + +@task +def logs(c, lines=20): + '''Output some logs''' + c.run(f"tail -n {lines} {root}/debug.txt") + +