Merge pull request #7 from AntumMT/reduce_depends

Make Default an Optional Dependency
This commit is contained in:
FsxShader2012 2021-08-04 22:52:56 +02:00 committed by GitHub
commit e4778f7e16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 57 additions and 28 deletions

@ -1,7 +1,7 @@
Rainbow Ore
===========
This mod features a new ore called "Rainbow Ore" (as if you guessed it :D) wich is pretty rare but also pretty powerful.
This mod features a new ore called "Rainbow Ore" (as if you guessed it :D) which is pretty rare but also pretty powerful.
License
=======
@ -17,10 +17,12 @@ Crafting:
Smelt "Rainbow Ore Block" --> "Rainbow Ingots"
Tools are crafted as always but with "Rainbow Ingots" as material instead.
- Tools:
- crafted as always but with "Rainbow Ingots" as material instead.
- if default mod is not available, "default:stick" is replaced with "rainbow_ore:rainbow_ore_ingot".
- Armor:
- crafted like Armor but with "Rainbow Ingots" as material instead.
- Shield:
- crafted like a shield but with "Rainbow Ingots" as material instead.
Armor is crafted like Armor but with "Rainbow Ingots" as material instead.
Shield are crafted like a shield but with "Rainbow Ingots" as material instead.
You can craft Nyancat_rainbow blocks like any other "solid" blocks but with "Rainbow Ingots" as material instead.
You can craft Nyancat_rainbow blocks like any other "solid" blocks but with "Rainbow Ingots" as material instead.

@ -56,13 +56,22 @@ minetest.register_tool("rainbow_ore:rainbow_ore_pickaxe", {
})
local stick = minetest.settings:get("rainbow_ore.stick")
if not stick then
if minetest.registered_items["default:stick"] then
stick = "default:stick"
else
stick = "rainbow_ore:rainbow_ore_ingot"
end
end
--Define Rainbow_Ore_Pickaxe crafting recipe
minetest.register_craft({
output = "rainbow_ore:rainbow_ore_pickaxe",
recipe = {
{"rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot"},
{"", "default:stick", ""},
{"", "default:stick", ""}
{"", stick, ""},
{"", stick, ""}
}
})
@ -87,8 +96,8 @@ minetest.register_craft({
output = "rainbow_ore:rainbow_ore_axe",
recipe = {
{"rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", ""},
{"rainbow_ore:rainbow_ore_ingot", "default:stick", ""},
{"", "default:stick", ""}
{"rainbow_ore:rainbow_ore_ingot", stick, ""},
{"", stick, ""}
}
})
@ -96,8 +105,8 @@ minetest.register_craft({
output = "rainbow_ore:rainbow_ore_axe",
recipe = {
{"", "rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot"},
{"", "default:stick", "rainbow_ore:rainbow_ore_ingot"},
{"", "default:stick", ""}
{"", stick, "rainbow_ore:rainbow_ore_ingot"},
{"", stick, ""}
}
})
@ -123,8 +132,8 @@ minetest.register_craft({
output = "rainbow_ore:rainbow_ore_shovel",
recipe = {
{"", "rainbow_ore:rainbow_ore_ingot", ""},
{"", "default:stick", ""},
{"", "default:stick", ""}
{"", stick, ""},
{"", stick, ""}
}
})
@ -150,7 +159,7 @@ minetest.register_craft({
recipe = {
{"", "rainbow_ore:rainbow_ore_ingot", ""},
{"", "rainbow_ore:rainbow_ore_ingot", ""},
{"", "default:stick", ""}
{"", stick, ""}
}
})
@ -167,13 +176,23 @@ minetest.register_craft({
--Make Rainbow Ore spawn
minetest.register_ore({
ore_type = "scatter",
ore = "rainbow_ore:rainbow_ore_block",
wherein = "default:stone",
clust_scarcity = 17*17*17,
clust_num_ores = 3,
clust_size = 3,
y_min = -31000,
y_max = -200,
})
local spawn_within = minetest.settings:get("rainbow_ore.spawn_within") or "default:stone"
minetest.log("action", "[rainbow_ore] ore set to spawn within " .. spawn_within
.. ", this can be changed with rainbow_ore.spawn_within setting")
minetest.register_on_mods_loaded(function()
if minetest.registered_nodes[spawn_within] then
minetest.register_ore({
ore_type = "scatter",
ore = "rainbow_ore:rainbow_ore_block",
wherein = spawn_within,
clust_scarcity = 17*17*17,
clust_num_ores = 3,
clust_size = 3,
y_min = -31000,
y_max = -200,
})
else
minetest.log("warning", "[rainbow_ore] " .. spawn_within .. " is not a registered node, rainbow ore will not spawn")
end
end)

@ -4,5 +4,4 @@ description = Rainbow materials & equipment.
author = Robin Kuhn (KingSmarty)
license = LGPL
min_minetest_version = 5.0
depends = default
optional_depends = 3d_armor, shields
optional_depends = default, 3d_armor, shields

9
settingtypes.txt Normal file

@ -0,0 +1,9 @@
# Determines the item used as "stick" component in rainbow tool craft recipes.
# Default is "default:stick". If default mod is not available, then default
# is "rainbow_ore:rainbow_ore_block".
rainbow_ore.stick (Stick item for rainbow tools recipes) string default:stick
# Determines node that will be replaced with "rainbow_ore:rainbow_ore_block"
# when ore is spawned.
rainbow_ore.spawn_within (Rainbow ore spawns within) string default:stone