#!/usr/bin/env python ''' This script is a remake of the ENLIVEN build script in Python using Bucket_Game as the basis. ''' from __future__ import print_function import sys import platform import os profile = None if platform.system() == "Windows": profile = os.environ.get('USERPROFILE') else: profile = os.environ.get('HOME') # see def error(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) try: import mtanalyze except ModuleNotFoundError as ex: tryMTA = os.path.join(profile, "git", "mtanalyze") if os.path.isdir(tryMTA): sys.path.append(tryMTA) import mtanalyze else: error("") error("You must install mtanalyze in the directory alongside") error("EnlivenMinetest or as ~/git/mtanalize") error("such as via:") error("git clone https://github.com/poikilos/mtanalyze ~/git/mtanalize") error("") # raise tryMTA exit(1) print("This doesn't work (not yet implemented)") # from mtanalyze import profile_path gamespec = {} gamespec['remove_mods'] = [ "coderblocks", # includes lmb blocks; no recipes "facade", # no recipes "placecraft", # interferes with eating "more_chests", # See https://github.com/poikilos/EnlivenMinetest/issues/446 "emeralds", # See https://github.com/poikilos/EnlivenMinetest/issues/497 ] myDir = os.path.dirname(__file__) mods_stopgap = os.path.join(myDir, "patches", "mods-stopgap") if not os.path.isdir(mods_stopgap): error("Error: \"{}\" is missing.".format(mods_stopgap)) exit(1) gamespec['local_mods_paths'] = [] gamespec['local_mods_paths'].append(mods_stopgap) # NOTE: get a git repo's origin via: git remote show origin gamespec['add_mods'] = [ # "https://github.com/poikilos/homedecor_ua", "animal_materials_legacy", "https://github.com/minetest-mods/ccompass.git", "https://github.com/octacian/chat3.git", "https://github.com/poikilos/compassgps.git", "elk_legacy", "https://github.com/MinetestForFun/fishing.git", "glooptest_missing", "https://github.com/minetest-mods/item_drop.git", "https://github.com/poikilos/metatools.git", "nftools_legacy", "https://github.com/poikilos/slimenodes.git", "https://github.com/BenjieFiftysix/sponge.git", "https://github.com/poikilos/throwing.git", # Can utilize toolranks, toolranks_extras, wielded_light "https://github.com/poikilos/throwing_arrows.git", # Can utilize mesecons, mesecons_button "https://gitlab.com/VanessaE/biome_lib.git", { 'url': "https://github.com/Poikilos/vines.git", 'branch': "Bucket_Game", # git clone --branch }, "https://github.com/MinetestForFun/unified_inventory", ] # Items with no URL below are from EnlivenMinetest minimum_live_server_based_on_bucket_game_200527 = [ {'dir_name': 'animal_materials_legacy'}, {'dir_name': 'ccompass', 'url': "https://github.com/minetest-mods/ccompass"}, # Remove this one or point to world-specific spawn area via settings? It is a regular spawn-pointing compass by default {'dir_name': 'chat3', 'url': "https://github.com/octacian/chat3"}, #Doesn't seem to have any effect {'dir_name': 'compassgps', 'url': "https://github.com/poikilos/compassgps"}, {'dir_name': 'elk_legacy'}, {'dir_name': 'fishing', 'url': "https://github.com/MinetestForFun/fishing"}, {'dir_name': 'glooptest_missing'}, {'dir_name': 'ircpack', 'url': ""}, # ONLY for servers! # {'dir_name': 'item_drop', 'url': ""}, # In bucket_game now (but see mt_conf_by_mod['item_drop'] for settings) {'dir_name': 'metatools', 'url': "https://github.com/poikilos/metatools"}, {'dir_name': 'nftools_legacy'}, {'dir_name': 'slimenodes', 'url': "https://github.com/poikilos/slimenodes"}, {'dir_name': 'sponge', 'url': "https://github.com/BenjieFiftysix/sponge"}, # In bucket_game but only in coderblocks {'dir_name': 'throwing', 'url': "https://github.com/minetest-mods/throwing"}, {'dir_name': 'throwing_arrows', 'url': "https://github.com/minetest-mods/throwing_arrows"}, ] ''' Remove server_only_mods from the client and packaged copies of ENLIVEN. ''' server_only_mods = [ 'ircpack', ] ''' mt_conf_by_mod settings should be placed in minetest.conf such as /opt/minebest/mtworlds/center/ENLIVEN/minetest.conf but for now just use - patches/subgame/minetest.conf To define the game. If minebest is present, combine minetest.conf and minetest.server-example.conf but maybe make an alternate version with stuff that isn't in world.conf. For other conf settings: - patches/subgame/minetest.server-example.conf goes in the server only. - patches/subgame/minetest.client-example.conf goes in clients only. ''' mt_conf_by_mod = { 'item_drop': { 'item_drop.pickup_radius': "1.425", } } why = {} why_not["https://github.com/FaceDeer/vines.git"] = ''' ''' why["https://github.com/MinetestForFun/unified_inventory"] = ''' This fork makes a "nicer interface". The fork hasn't been tested yet. ''' why["https://github.com/poikilos/vines.git"] = ''' This Poikilos fork (The Bucket_Game branch) adds support for Bucket_Game jungle node names which are in a standard naming format (like other trees are). > I've finally done it, I've split this mod in twain. The new > stand-alone ropes mod has no dependency on biome_lib and no vine > content, though its crafting recipes remain compatible with the vines > produced by this mod. > > My fork of this vines mod has had the rope-related content removed > from it, leaving it as just a vines mod. Note that I haven't tested > it extensively - I have to admit, I've mainly been in this for the > ropes. :) I'll do what I can to maintain it, though, if anyone has > bug reports or requests. > > I've added a node upgrade function to the new ropes mod that will > convert the ropes from both my fork of the vines mod and the original > version of the vines mod by bas080 to the new ropes mod's ropes. So > if you wish to upgrade an existing world it should work. - FaceDeer on [[Mod] Vines and Rope [2.3] [vines]] (https://forums.minetest.org/viewtopic.php?f=11&t=2344&start=50 &sid=bf15c996963e891cd3f2460c2525044a) Note that vines requires: default biome_lib moretrees? doc? intllib? mobs? creatures? ''' gamespec['disable_mobs'] = [ "old_lady", ] warnings = ''' WARNINGS: (Bucket_Game 200527) - The "rope" required for making a fishing rod has no recipe! See ''' def main(): pass print(warnings) if __name__ == "__main__": main()