close #2 mods, Luanti, search
This commit is contained in:
Executable
+387
@@ -0,0 +1,387 @@
|
||||
#!/usr/bin/env luajit
|
||||
|
||||
-- this list was manually assembled from my notes
|
||||
local mods = {
|
||||
"plutoniumships",
|
||||
"stnodes",
|
||||
"too_many_tnt",
|
||||
"mesecons_carts",
|
||||
"coloredstrings",
|
||||
"grass_string",
|
||||
"renewable_desert_stone",
|
||||
"basic_materials",
|
||||
"farming",
|
||||
"x_farming",
|
||||
"unifieddyes",
|
||||
"xcompat",
|
||||
"worldedit",
|
||||
"home_workshop_modpack",
|
||||
"plasticbox",
|
||||
"steel",
|
||||
"xdecor",
|
||||
"technic",
|
||||
"technic_recycle",
|
||||
"plastic_bucket",
|
||||
"uraniumstuff",
|
||||
"anvil",
|
||||
"hammers_redo",
|
||||
"desertores",
|
||||
"livingcaves",
|
||||
"livingcavesmobs",
|
||||
"roads",
|
||||
"digilines",
|
||||
"mesecons",
|
||||
"moreblocks",
|
||||
"digistuff",
|
||||
"eye_spy",
|
||||
"edit_skin",
|
||||
"fishing_boat",
|
||||
"whitelist",
|
||||
"lib_chatcmdbuilder",
|
||||
"carpets",
|
||||
"digiterms",
|
||||
"display_modpack",
|
||||
"biofuel",
|
||||
"automobiles_pck",
|
||||
"nutrional",
|
||||
"denseores",
|
||||
"airtanks",
|
||||
"handholds_redo",
|
||||
"bike",
|
||||
"pixelfurniture",
|
||||
"airutils",
|
||||
"ju52",
|
||||
"ju52_hydro",
|
||||
"supercub",
|
||||
"hidroplane",
|
||||
"heli",
|
||||
"trike",
|
||||
"pa28",
|
||||
"spacecannon",
|
||||
"accountmgr",
|
||||
"farmtools",
|
||||
"imese",
|
||||
"scifi_nodes",
|
||||
"beacons",
|
||||
"dfcaverns",
|
||||
"tunnelmaker",
|
||||
"railbuilder",
|
||||
"advtrains",
|
||||
"advtrains_moreslopes",
|
||||
"advtrains_platform",
|
||||
"advtrains_horntrack",
|
||||
"dlxtrains",
|
||||
"classic_coaches",
|
||||
"tfl_s7_stock_modpack",
|
||||
"advtrains_train_rocket",
|
||||
"advtrains_subway_ny",
|
||||
"advtrains_train_orient_express",
|
||||
"advtrains_train_jpntlr600",
|
||||
"advtrains_transib",
|
||||
"advtrains_freight_train",
|
||||
"advtrains_bboe_1080",
|
||||
"advtrains_db_160",
|
||||
"advtrains_train_zugspitzbahn",
|
||||
"ethereal",
|
||||
"wihelminessound",
|
||||
"datacard",
|
||||
"x_enchanting",
|
||||
"bucket_wooden",
|
||||
"motorboat",
|
||||
"mobkit",
|
||||
"digicontrol",
|
||||
"colorful_beds",
|
||||
"discovery_maps",
|
||||
"computertest",
|
||||
"more_ladders",
|
||||
"colored_chests",
|
||||
"bonemeal",
|
||||
"livingdesert",
|
||||
"livingjungle",
|
||||
"naturalbiomes",
|
||||
"ambience",
|
||||
"marinara",
|
||||
"people",
|
||||
"marinaramobs",
|
||||
"nativevillages",
|
||||
"winuserleafdecay",
|
||||
"everness",
|
||||
"cottages",
|
||||
"towercrane",
|
||||
"homedecor_modpack",
|
||||
"pipeworks",
|
||||
"lwcomponents",
|
||||
"moretubes",
|
||||
"omnidriver",
|
||||
"plantlife_modpack",
|
||||
"ebiomes",
|
||||
"biome_lib",
|
||||
"mobs",
|
||||
"yl_api_nodestages",
|
||||
"yl_canned_food",
|
||||
"yl_canned_food_mtg",
|
||||
"mobs_water",
|
||||
"mobs_animal",
|
||||
"glooptest",
|
||||
"mobs_horse",
|
||||
"mobs_mese_monster_classic",
|
||||
"dmobs",
|
||||
"travelnet",
|
||||
"hangglider",
|
||||
"fakelib",
|
||||
"3d_armor",
|
||||
"illumination",
|
||||
"hazmat_suit",
|
||||
"headlamp",
|
||||
"technic_armor",
|
||||
"unified_inventory",
|
||||
"unified_inventory_plus",
|
||||
"vizlib",
|
||||
"cool_trees",
|
||||
"powerbanks",
|
||||
"mobs_monster",
|
||||
"treecapitator",
|
||||
"moretrees",
|
||||
"moreores",
|
||||
"toolranks",
|
||||
"toolranks_extras",
|
||||
"charcoal",
|
||||
"awards",
|
||||
"moreawards",
|
||||
"ancient_bones",
|
||||
"bakedclay",
|
||||
"orienteering",
|
||||
"ccompass",
|
||||
"spacesuit",
|
||||
"ropes",
|
||||
"obsidianstuff",
|
||||
"more_chests",
|
||||
"multitools",
|
||||
"luanti_utils",
|
||||
"vines",
|
||||
"morebricks",
|
||||
"place_rotated",
|
||||
"digtron",
|
||||
"drawers",
|
||||
"elevator",
|
||||
"stamina",
|
||||
"lavastuff",
|
||||
"wetmud",
|
||||
"geocache",
|
||||
"locator",
|
||||
"jumpdrive",
|
||||
"loot",
|
||||
"maple",
|
||||
}
|
||||
|
||||
-- this list was obtained from running ls -1 in the worldmods directory
|
||||
local current_mods = {
|
||||
"3d_armor",
|
||||
"accountmgr",
|
||||
"advtrains",
|
||||
"advtrains_bboe_1080",
|
||||
"advtrains_db_160",
|
||||
"advtrains_freight_train",
|
||||
"advtrains_horntrack",
|
||||
"advtrains_moreslopes",
|
||||
"advtrains_platform",
|
||||
"advtrains_subway_ny",
|
||||
"advtrains_train_jpntlr600",
|
||||
"advtrains_train_orient_express",
|
||||
"advtrains_train_rocket",
|
||||
"advtrains_train_zugspitzbahn",
|
||||
"advtrains_transib",
|
||||
"airtanks",
|
||||
"airutils",
|
||||
"ambience",
|
||||
"ancient_bones",
|
||||
"anvil",
|
||||
"automobiles_pck",
|
||||
"awards",
|
||||
"bakedclay",
|
||||
"basic_materials",
|
||||
"beacons",
|
||||
"bike",
|
||||
"biofuel",
|
||||
"biome_lib",
|
||||
"bucket_wooden",
|
||||
"carpets",
|
||||
"ccompass",
|
||||
"charcoal",
|
||||
"classic_coaches",
|
||||
"colored_chests",
|
||||
"coloredstrings",
|
||||
"colorful_beds",
|
||||
"computertest",
|
||||
"cool_trees",
|
||||
"cottages",
|
||||
"datacard",
|
||||
"denseores",
|
||||
"desertores",
|
||||
"dfcaverns",
|
||||
"digicontrol",
|
||||
"digilines",
|
||||
"digistuff",
|
||||
"digiterms",
|
||||
"digtron",
|
||||
"discovery_maps",
|
||||
"display_modpack",
|
||||
"dlxtrains",
|
||||
"dmobs",
|
||||
"drawers",
|
||||
"ebiomes",
|
||||
"edit_skin",
|
||||
"elevator",
|
||||
"everness",
|
||||
"eye_spy",
|
||||
"fakelib",
|
||||
"farming",
|
||||
"farmtools",
|
||||
"fishing_boat",
|
||||
"geocache",
|
||||
"grass_string",
|
||||
"hammersredo",
|
||||
"handholds_redo",
|
||||
"hangglider",
|
||||
"hazmat_suit",
|
||||
"headlamp",
|
||||
"heli",
|
||||
"hidroplane",
|
||||
"home_workshop_modpack",
|
||||
"homedecor_modpack",
|
||||
"illumination",
|
||||
"ju52",
|
||||
"ju52_hydro",
|
||||
"jumpdrive",
|
||||
"lavastuff",
|
||||
"lib_chatcmdbuilder",
|
||||
"livingcaves",
|
||||
"livingcavesmobs",
|
||||
"livingdesert",
|
||||
"livingjungle",
|
||||
"locator",
|
||||
"lwcomponents",
|
||||
"marinara",
|
||||
"marinaramobs",
|
||||
"mesecons",
|
||||
"mesecons_carts",
|
||||
"mob_horse",
|
||||
"mob_mese_monster_classic",
|
||||
"mobkit",
|
||||
"mobs",
|
||||
"mobs_animal",
|
||||
"mobs_monster",
|
||||
"mobs_water",
|
||||
"more_chests",
|
||||
"more_ladders",
|
||||
"moreawards",
|
||||
"moreblocks",
|
||||
"morebricks",
|
||||
"moreores",
|
||||
"moretrees",
|
||||
"moretubes",
|
||||
"motorboat",
|
||||
"multitools",
|
||||
"nativevillages",
|
||||
"naturalbiomes",
|
||||
"nutritional",
|
||||
"obsidianstuff",
|
||||
"omnidriver",
|
||||
"orienteering",
|
||||
"pa28",
|
||||
"people",
|
||||
"pipeworks",
|
||||
"pixelfurniture",
|
||||
"place_rotated",
|
||||
"plantlife_modpack",
|
||||
"plastic_bucket",
|
||||
"plasticbox",
|
||||
"plutoniumships",
|
||||
"powerbanks",
|
||||
"railbuilder",
|
||||
"renewable_desert_stone",
|
||||
"roads",
|
||||
"ropes",
|
||||
"scifi_nodes",
|
||||
"spacecannon",
|
||||
"spacesuit",
|
||||
"stamina",
|
||||
"steel",
|
||||
"stnodes",
|
||||
"supercub",
|
||||
"technic_armor",
|
||||
"technic_plus",
|
||||
"tfl_s7_stock_modpack",
|
||||
"too_many_tnt",
|
||||
"toolranks",
|
||||
"toolranks_extras",
|
||||
"towercrane",
|
||||
"travelnet",
|
||||
"treecapitator",
|
||||
"trike",
|
||||
"tunnelmaker",
|
||||
"unified_inventory",
|
||||
"unified_inventory_plus",
|
||||
"unifieddyes",
|
||||
"uraniumstuff",
|
||||
"vizlib",
|
||||
"wetmud",
|
||||
"whitelist",
|
||||
"wilhelminessounds",
|
||||
"winuserleafdecay",
|
||||
"worldedit",
|
||||
"x_enchanting",
|
||||
"x_farming",
|
||||
"xcompat",
|
||||
"xdecor",
|
||||
"yl_api_nodestages",
|
||||
"yl_canned_food",
|
||||
"yl_canned_food_mtg",
|
||||
}
|
||||
|
||||
local function uniqify_mods(mod_list)
|
||||
print(#mod_list .. " mods listed.")
|
||||
|
||||
local unique = {}
|
||||
for _, name in ipairs(mod_list) do unique[name] = true end
|
||||
|
||||
mod_list = {}
|
||||
for name in pairs(unique) do mod_list[#mod_list + 1] = name end
|
||||
|
||||
print(#mod_list .. " unique.")
|
||||
table.sort(mod_list)
|
||||
|
||||
return mod_list
|
||||
end
|
||||
|
||||
local function open_mods_search(mod_list)
|
||||
for i, name in ipairs(mod_list) do
|
||||
print("Opening search for " .. name)
|
||||
os.execute("open \"https://content.luanti.org/packages/?q=" .. name .. "\"")
|
||||
os.execute("sleep 1") -- open creates race conditions with itself, so these are not opened in order, despite being called in order
|
||||
if i % 9 == 0 then
|
||||
print("Press enter to continue.")
|
||||
io.read("*line")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function detect_inconsistencies()
|
||||
local mods_unique = {}
|
||||
for _, name in ipairs(mods) do mods_unique[name] = true end
|
||||
local current_mods_hashtable = {}
|
||||
for _, name in ipairs(current_mods) do current_mods_hashtable[name] = true end
|
||||
|
||||
-- local missing_mods, overstated_mods = {}, {} -- I don't need to make the lists because they're so small.. I hope
|
||||
for name in pairs(current_mods_hashtable) do
|
||||
if not mods_unique[name] then print(name .. " missing from manual list.") end
|
||||
end
|
||||
print()
|
||||
for name in pairs(mods_unique) do -- this list SHOULD exist, but already fixed in my markdown note
|
||||
if not current_mods_hashtable[name] then print(name .. " listed, but was rejected.") end
|
||||
end
|
||||
print()
|
||||
end
|
||||
detect_inconsistencies()
|
||||
|
||||
open_mods_search(uniqify_mods(mods))
|
||||
Reference in New Issue
Block a user