mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-19 01:21:05 +01:00
Soften dependencies in mcl_throwing
This commit is contained in:
parent
11bd39774a
commit
a06670b02f
3 changed files with 38 additions and 29 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
local mod_mcl_hunger = minetest.get_modpath("mcl_hunger")
|
||||||
|
local mod_awards = minetest.get_modpath("awards") and minetest.get_modpath("mcl_achievements")
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_throwing:arrow", {
|
minetest.register_craftitem("mcl_throwing:arrow", {
|
||||||
description = "Arrow",
|
description = "Arrow",
|
||||||
_doc_items_longdesc = "Arrows are ammunition for bows and dispensers.",
|
_doc_items_longdesc = "Arrows are ammunition for bows and dispensers.",
|
||||||
|
@ -90,7 +93,7 @@ THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
full_punch_interval=1.0,
|
full_punch_interval=1.0,
|
||||||
damage_groups={fleshy=self._damage},
|
damage_groups={fleshy=self._damage},
|
||||||
}, nil)
|
}, nil)
|
||||||
if is_player then
|
if mod_mcl_hunger and is_player then
|
||||||
mcl_hunger.exhaust(obj:get_player_name(), mcl_hunger.EXHAUST_DAMAGE)
|
mcl_hunger.exhaust(obj:get_player_name(), mcl_hunger.EXHAUST_DAMAGE)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -100,7 +103,7 @@ THROWING_ARROW_ENTITY.on_step = function(self, dtime)
|
||||||
-- NOTE: Range has been reduced because mobs unload much earlier than that ... >_>
|
-- NOTE: Range has been reduced because mobs unload much earlier than that ... >_>
|
||||||
-- TODO: This achievement should be given for the kill, not just a hit
|
-- TODO: This achievement should be given for the kill, not just a hit
|
||||||
if self._shooter and self._shooter:is_player() and vector.distance(pos, self._startpos) >= 20 then
|
if self._shooter and self._shooter:is_player() and vector.distance(pos, self._startpos) >= 20 then
|
||||||
if (entity_name == "mobs_mc:skeleton" or entity_name == "mobs_mc:stray" or entity_name == "mobs_mc:witherskeleton") then
|
if mod_awards and (entity_name == "mobs_mc:skeleton" or entity_name == "mobs_mc:stray" or entity_name == "mobs_mc:witherskeleton") then
|
||||||
awards.unlock(self._shooter:get_player_name(), "mcl:snipeSkeleton")
|
awards.unlock(self._shooter:get_player_name(), "mcl:snipeSkeleton")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -127,6 +130,7 @@ end
|
||||||
|
|
||||||
minetest.register_entity("mcl_throwing:arrow_entity", THROWING_ARROW_ENTITY)
|
minetest.register_entity("mcl_throwing:arrow_entity", THROWING_ARROW_ENTITY)
|
||||||
|
|
||||||
|
if minetest.get_modpath("mcl_core") and minetest.get_modpath("mcl_mobitems") then
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'mcl_throwing:arrow 4',
|
output = 'mcl_throwing:arrow 4',
|
||||||
recipe = {
|
recipe = {
|
||||||
|
@ -135,3 +139,4 @@ minetest.register_craft({
|
||||||
{'mcl_mobitems:feather'}
|
{'mcl_mobitems:feather'}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
end
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
mcl_core
|
awards?
|
||||||
mcl_hunger
|
mcl_achievements?
|
||||||
mcl_achievements
|
mcl_hunger?
|
||||||
|
mcl_core?
|
||||||
|
mcl_mobitems?
|
||||||
doc?
|
doc?
|
||||||
|
|
|
@ -191,6 +191,7 @@ minetest.register_tool("mcl_throwing:bow_2", {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if minetest.get_modpath("mcl_core") and minetest.get_modpath("mcl_mobitems") then
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'mcl_throwing:bow',
|
output = 'mcl_throwing:bow',
|
||||||
recipe = {
|
recipe = {
|
||||||
|
@ -207,6 +208,7 @@ minetest.register_craft({
|
||||||
{'mcl_mobitems:string', 'mcl_core:stick', ''},
|
{'mcl_mobitems:string', 'mcl_core:stick', ''},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
|
|
Loading…
Reference in a new issue