diff --git a/mods/beds/depends.txt b/mods/beds/depends.txt
deleted file mode 100644
index 470ec30b9bd5379cd6d90edc29d7e36b8b17d2cb..0000000000000000000000000000000000000000
--- a/mods/beds/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-wool
diff --git a/mods/beds/mod.conf b/mods/beds/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..450ec1383de61daf855adb2403eefcd81bff27d1
--- /dev/null
+++ b/mods/beds/mod.conf
@@ -0,0 +1,3 @@
+name = beds
+description = Minetest Game mod: beds
+depends = default, wool
diff --git a/mods/binoculars/depends.txt b/mods/binoculars/depends.txt
deleted file mode 100644
index 1f737c1209a6a810f2e43b23d9044112d2f94f84..0000000000000000000000000000000000000000
--- a/mods/binoculars/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-creative?
diff --git a/mods/binoculars/mod.conf b/mods/binoculars/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..7d7374150e5ad7d79bcb8f804897882516f04ed2
--- /dev/null
+++ b/mods/binoculars/mod.conf
@@ -0,0 +1,4 @@
+name = binoculars
+description = Minetest Game mod: binoculars
+depends = default
+optional_depends = creative
diff --git a/mods/boats/depends.txt b/mods/boats/depends.txt
deleted file mode 100644
index 8e482ce2fe8a5b8eb87bd653ad13c93d7b83c2b1..0000000000000000000000000000000000000000
--- a/mods/boats/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-player_api
diff --git a/mods/boats/mod.conf b/mods/boats/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..a727f8ffb35de19897aeb468223416467ed12a0c
--- /dev/null
+++ b/mods/boats/mod.conf
@@ -0,0 +1,3 @@
+name = boats
+description = Minetest Game mod: boats
+depends = default, player_api
diff --git a/mods/bones/depends.txt b/mods/bones/depends.txt
deleted file mode 100644
index 4ad96d51599fb734101f6229f6c1a8a509bd6255..0000000000000000000000000000000000000000
--- a/mods/bones/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/mods/bones/mod.conf b/mods/bones/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..371997b34e9cd5fcddbb63df278e96036c45f49c
--- /dev/null
+++ b/mods/bones/mod.conf
@@ -0,0 +1,3 @@
+name = bones
+description = Minetest Game mod: bones
+depends = default
diff --git a/mods/bucket/depends.txt b/mods/bucket/depends.txt
deleted file mode 100644
index 3a7daa1d73f7d85b9485257ee09e11bfcefe1eaa..0000000000000000000000000000000000000000
--- a/mods/bucket/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-
diff --git a/mods/bucket/mod.conf b/mods/bucket/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..1c60a099632f625284e7513d54fa05bbf16cab00
--- /dev/null
+++ b/mods/bucket/mod.conf
@@ -0,0 +1,3 @@
+name = bucket
+description = Minetest Game mod: bucket
+depends = default
diff --git a/mods/butterflies/depends.txt b/mods/butterflies/depends.txt
deleted file mode 100644
index df07aca3c5c8f7dd3b5e9c3ec597935a5a5d48bd..0000000000000000000000000000000000000000
--- a/mods/butterflies/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-flowers
\ No newline at end of file
diff --git a/mods/butterflies/mod.conf b/mods/butterflies/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..1c66497df94713a7c270975d207ff6b9a26d93e7
--- /dev/null
+++ b/mods/butterflies/mod.conf
@@ -0,0 +1,3 @@
+name = butterflies
+description = Minetest Game mod: Butterflies
+depends = default, flowers
diff --git a/mods/carts/depends.txt b/mods/carts/depends.txt
deleted file mode 100644
index 8e482ce2fe8a5b8eb87bd653ad13c93d7b83c2b1..0000000000000000000000000000000000000000
--- a/mods/carts/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-player_api
diff --git a/mods/carts/mod.conf b/mods/carts/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..20357e3e618112358f9213bc9639fe36e39deda9
--- /dev/null
+++ b/mods/carts/mod.conf
@@ -0,0 +1,3 @@
+name = carts
+description = Carts (formerly boost_cart)
+depends = default, player_api
diff --git a/mods/creative/depends.txt b/mods/creative/depends.txt
deleted file mode 100644
index 975e6525048ec31d4804c7b7d76ac12b649d0540..0000000000000000000000000000000000000000
--- a/mods/creative/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-sfinv
diff --git a/mods/creative/mod.conf b/mods/creative/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..0b3f745dc403981a02a9533f543fde6b88d8f5c8
--- /dev/null
+++ b/mods/creative/mod.conf
@@ -0,0 +1,3 @@
+name = creative
+description = Minetest Game mod: creative
+depends = default, sfinv
diff --git a/mods/default/depends.txt b/mods/default/depends.txt
deleted file mode 100644
index e1c381843e2ce53d38097a61ab600284505ae0fa..0000000000000000000000000000000000000000
--- a/mods/default/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-player_api?
diff --git a/mods/default/mod.conf b/mods/default/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..c9e74684046e094e5fdf4142e6ccfcdf48fd7ff3
--- /dev/null
+++ b/mods/default/mod.conf
@@ -0,0 +1,3 @@
+name = default
+description = Minetest Game mod: default
+optional_depends = player_api
diff --git a/mods/doors/depends.txt b/mods/doors/depends.txt
deleted file mode 100644
index 5e28beeb6de06e037494aac97dfe1848a3ae01f4..0000000000000000000000000000000000000000
--- a/mods/doors/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-screwdriver?
diff --git a/mods/doors/mod.conf b/mods/doors/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..de053c2723b7aaa1e1b0284fcc645be978ba4403
--- /dev/null
+++ b/mods/doors/mod.conf
@@ -0,0 +1,4 @@
+name = doors
+description = Minetest Game mod: doors
+depends = default
+optional_depends = screwdriver
diff --git a/mods/dungeon_loot/depends.txt b/mods/dungeon_loot/depends.txt
deleted file mode 100644
index 4ad96d51599fb734101f6229f6c1a8a509bd6255..0000000000000000000000000000000000000000
--- a/mods/dungeon_loot/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/mods/dungeon_loot/mod.conf b/mods/dungeon_loot/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..79d808998d90d74f005c06624b6429d17c2892e4
--- /dev/null
+++ b/mods/dungeon_loot/mod.conf
@@ -0,0 +1,3 @@
+name = dungeon_loot
+description = Minetest Game mod: dungeon_loot
+depends = default
diff --git a/mods/dye/depends.txt b/mods/dye/depends.txt
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/mods/dye/mod.conf b/mods/dye/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..32bb816c19e1c21656d6e313ac5f27a241f94d8d
--- /dev/null
+++ b/mods/dye/mod.conf
@@ -0,0 +1,2 @@
+name = dye
+description = Minetest Game mod: dye
diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt
deleted file mode 100644
index 301d9719929bafbb3ee6063ba89a77a9437f59ea..0000000000000000000000000000000000000000
--- a/mods/farming/depends.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-default
-wool
-stairs
diff --git a/mods/farming/mod.conf b/mods/farming/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..c26c28fc26883825063add788ffbddc2c8ffee99
--- /dev/null
+++ b/mods/farming/mod.conf
@@ -0,0 +1,3 @@
+name = farming
+description = Minetest Game mod: farming
+depends = default, wool, stairs
diff --git a/mods/fire/depends.txt b/mods/fire/depends.txt
deleted file mode 100644
index 4ad96d51599fb734101f6229f6c1a8a509bd6255..0000000000000000000000000000000000000000
--- a/mods/fire/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/mods/fire/mod.conf b/mods/fire/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..c70f23b7303614c8d65c47c5615725fadb456f54
--- /dev/null
+++ b/mods/fire/mod.conf
@@ -0,0 +1,3 @@
+name = fire
+description = Minetest Game mod: fire
+depends = default
diff --git a/mods/fireflies/depends.txt b/mods/fireflies/depends.txt
deleted file mode 100644
index e0585b463720a38a8e860be8168cdc11bef3a4e3..0000000000000000000000000000000000000000
--- a/mods/fireflies/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-vessels
\ No newline at end of file
diff --git a/mods/fireflies/mod.conf b/mods/fireflies/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..a5335880b618829ff9444d8649fd9b6158073367
--- /dev/null
+++ b/mods/fireflies/mod.conf
@@ -0,0 +1,3 @@
+name = fireflies
+description = Minetest Game mod: fireflies
+depends = default, vessels
diff --git a/mods/flowers/depends.txt b/mods/flowers/depends.txt
deleted file mode 100644
index 4ad96d51599fb734101f6229f6c1a8a509bd6255..0000000000000000000000000000000000000000
--- a/mods/flowers/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/mods/flowers/mod.conf b/mods/flowers/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..cdafe642bd3d6f65262182ce8e27a63728f124a2
--- /dev/null
+++ b/mods/flowers/mod.conf
@@ -0,0 +1,3 @@
+name = flowers
+description = Minetest Game mod: flowers
+depends = default
diff --git a/mods/game_commands/mod.conf b/mods/game_commands/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..5571ff51cc3fb8c2c73399c978023a8e3d799045
--- /dev/null
+++ b/mods/game_commands/mod.conf
@@ -0,0 +1,2 @@
+name = game_commands
+description = Minetest Game mod: game_commands
diff --git a/mods/give_initial_stuff/depends.txt b/mods/give_initial_stuff/depends.txt
deleted file mode 100644
index 3a7daa1d73f7d85b9485257ee09e11bfcefe1eaa..0000000000000000000000000000000000000000
--- a/mods/give_initial_stuff/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-
diff --git a/mods/give_initial_stuff/mod.conf b/mods/give_initial_stuff/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..51d31aefd9cd532c9a5fde19a45dc19f1218bf6d
--- /dev/null
+++ b/mods/give_initial_stuff/mod.conf
@@ -0,0 +1,3 @@
+name = give_initial_stuff
+description = Minetest Game mod: give_initial_stuff
+depends = default
diff --git a/mods/map/depends.txt b/mods/map/depends.txt
deleted file mode 100644
index 4b15f6a38c987c993d167053a79cbdb412e0efef..0000000000000000000000000000000000000000
--- a/mods/map/depends.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-default
-dye
-creative?
diff --git a/mods/map/mod.conf b/mods/map/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..2099c1991db0db3b8ea09ceea94c85de9ced6fc8
--- /dev/null
+++ b/mods/map/mod.conf
@@ -0,0 +1,4 @@
+name = map
+description = Minetest Game mod: map
+depends = default, dye
+optional_depends = creative
diff --git a/mods/player_api/mod.conf b/mods/player_api/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..198b86dc1657685c57119c47289ec64d62fded5a
--- /dev/null
+++ b/mods/player_api/mod.conf
@@ -0,0 +1,2 @@
+name = player_api
+description = Minetest Game mod: player_api
diff --git a/mods/screwdriver/mod.conf b/mods/screwdriver/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..306c52b5413f5e2100f4eef6eb89f3a1f2b7fcd9
--- /dev/null
+++ b/mods/screwdriver/mod.conf
@@ -0,0 +1,2 @@
+name = screwdriver
+description = Minetest Game mod: screwdriver
diff --git a/mods/sethome/mod.conf b/mods/sethome/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..00799251be195be6815e89271c3a664a218ab1cf
--- /dev/null
+++ b/mods/sethome/mod.conf
@@ -0,0 +1,2 @@
+name = sethome
+description = Minetest Game mod: sethome
diff --git a/mods/sfinv/mod.conf b/mods/sfinv/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..2934435fda6711b7c6101e046e55a5d850b143d2
--- /dev/null
+++ b/mods/sfinv/mod.conf
@@ -0,0 +1,2 @@
+name = sfinv
+description = Minetest Game mod: sfinv
diff --git a/mods/spawn/depends.txt b/mods/spawn/depends.txt
deleted file mode 100644
index 548489e2836eb788b41bc8578f96ea08ffcd525a..0000000000000000000000000000000000000000
--- a/mods/spawn/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-beds?
diff --git a/mods/spawn/mod.conf b/mods/spawn/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..ec3d56485affecc0e320f03736608c7920ad3bdb
--- /dev/null
+++ b/mods/spawn/mod.conf
@@ -0,0 +1,4 @@
+name = spawn
+description = Minetest Game mod: spawn
+depends = default
+optional_depends = beds
diff --git a/mods/stairs/depends.txt b/mods/stairs/depends.txt
deleted file mode 100644
index 4ad96d51599fb734101f6229f6c1a8a509bd6255..0000000000000000000000000000000000000000
--- a/mods/stairs/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/mods/stairs/mod.conf b/mods/stairs/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..7548fa72c93cbb682aa8f8d63ba2c0d7d947065e
--- /dev/null
+++ b/mods/stairs/mod.conf
@@ -0,0 +1,3 @@
+name = stairs
+description = Minetest Game mod: stairs
+depends = default
diff --git a/mods/tnt/depends.txt b/mods/tnt/depends.txt
deleted file mode 100644
index 5ff216f7071d0bea4ac00365b02cfc3d5717e370..0000000000000000000000000000000000000000
--- a/mods/tnt/depends.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-default
-fire
-
diff --git a/mods/tnt/mod.conf b/mods/tnt/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..9385e825c38aeddcca1d51d301f83eb1126e4a64
--- /dev/null
+++ b/mods/tnt/mod.conf
@@ -0,0 +1,3 @@
+name = tnt
+description = Minetest Game mod: tnt
+depends = default, fire
diff --git a/mods/vessels/depends.txt b/mods/vessels/depends.txt
deleted file mode 100644
index 4ad96d51599fb734101f6229f6c1a8a509bd6255..0000000000000000000000000000000000000000
--- a/mods/vessels/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/mods/vessels/mod.conf b/mods/vessels/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..7551b54ab79dbf6fb4dc8f0109e2f80e999be367
--- /dev/null
+++ b/mods/vessels/mod.conf
@@ -0,0 +1,3 @@
+name = vessels
+description = Minetest Game mod: vessels
+depends = default
diff --git a/mods/walls/depends.txt b/mods/walls/depends.txt
deleted file mode 100644
index 4ad96d51599fb734101f6229f6c1a8a509bd6255..0000000000000000000000000000000000000000
--- a/mods/walls/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
diff --git a/mods/walls/mod.conf b/mods/walls/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..9b8bbe84e5f7d95eab5bcbc53a44e2625e1e932a
--- /dev/null
+++ b/mods/walls/mod.conf
@@ -0,0 +1,3 @@
+name = walls
+description = Minetest Game mod: walls
+depends = default
diff --git a/mods/wool/depends.txt b/mods/wool/depends.txt
deleted file mode 100644
index 2717befbefcdb10028b72fda33d36d40d2b8357f..0000000000000000000000000000000000000000
--- a/mods/wool/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-dye
diff --git a/mods/wool/mod.conf b/mods/wool/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..a0ca3f0e56cac61f2a056349d6475057ed9c76c2
--- /dev/null
+++ b/mods/wool/mod.conf
@@ -0,0 +1,3 @@
+name = wool
+description = Minetest Game mod: wool
+depends = default, dye
diff --git a/mods/xpanes/depends.txt b/mods/xpanes/depends.txt
deleted file mode 100644
index 331d858ce9b12fa6720414196a9dd6e0b6a0faaa..0000000000000000000000000000000000000000
--- a/mods/xpanes/depends.txt
+++ /dev/null
@@ -1 +0,0 @@
-default
\ No newline at end of file
diff --git a/mods/xpanes/mod.conf b/mods/xpanes/mod.conf
new file mode 100644
index 0000000000000000000000000000000000000000..bc043614d9b635684d7d922abd933d859b348283
--- /dev/null
+++ b/mods/xpanes/mod.conf
@@ -0,0 +1,3 @@
+name = xpanes
+description = Minetest Game mod: xpanes
+depends = default