diff options
author | TenPlus1 <kinsellaja@yahoo.com> | 2017-07-13 10:16:24 +0100 |
---|---|---|
committer | TenPlus1 <kinsellaja@yahoo.com> | 2017-07-13 10:16:24 +0100 |
commit | 7fba32b8d9933dc1dbb73774f192d13d209b0746 (patch) | |
tree | 1542a0f1ec3f276b00e83ed72bce114a9fe43c12 | |
parent | f985d00b6115cf31a8beeb7cefdaa5e0fcf78b66 (diff) |
added mobs:boom functin to replace mobs:explosion
-rw-r--r-- | api.lua | 21 | ||||
-rw-r--r-- | api.txt | 11 |
2 files changed, 21 insertions, 11 deletions
@@ -1,9 +1,9 @@ --- Mobs Api (9th July 2017) +-- Mobs Api (13th July 2017) mobs = {} mobs.mod = "redo" -mobs.version = "20170709" +mobs.version = "20170713" -- Intllib @@ -1694,7 +1694,8 @@ local do_states = function(self, dtime) self.object:remove() - if minetest.get_modpath("tnt") and tnt and tnt.boom then + if minetest.get_modpath("tnt") and tnt and tnt.boom + and not minetest.is_protected(pos, "") then tnt.boom(pos, { radius = radius, @@ -2973,14 +2974,24 @@ function mobs:register_arrow(name, def) end +-- compatibility function function mobs:explosion(pos, radius) + local self = {sounds = {}} + self.sounds.explode = "tnt_explode" + mobs:boom(self, pos, radius) +end + + +-- make explosion with protection and tnt mod check +function mobs:boom(self, pos, radius) - if minetest.get_modpath("tnt") and tnt and tnt.boom then + if minetest.get_modpath("tnt") and tnt and tnt.boom + and not minetest.is_protected(pos, "") then tnt.boom(pos, { radius = radius, damage_radius = radius, --- sound = self.sounds.explode, + sound = self.sounds.explode, }) else mob_sound(self, self.sounds.explode) @@ -1,5 +1,5 @@ -MOB API (8th July 2017) +MOB API (13th July 2017) The mob api is a function that can be called on by other mods to add new animals or monsters into minetest. @@ -229,15 +229,14 @@ This function registers a spawn egg which can be used by admin to properly spawn 'no_creative' when set to true this stops spawn egg appearing in creative mode for destructive mobs like Dungeon Masters -mobs:explosion(pos, radius, fire, smoke) -- DEPRECATED!!! use tnt mod's tnt.boom function instead +mobs:explosion(pos, radius) -- DEPRECATED!!! use mobs:boom() instead -This function generates an explosion which removes nodes in a specific radius and replace them with fire or air. Protection nodes, obsidian and locked chests will not be destroyed although a normal chest will drop it's contents. +mobs:boom(self, pos, radius) +This function generates an explosion which removes nodes in a specific radius and damages any entity caught inside the blast radius. Protection will limit node destruction but not entity damage. + 'self' mob entity 'pos' centre position of explosion 'radius' radius of explosion (typically set to 3) - 'fire' should fire appear in explosion (1=yes, 0=no) - 'smoke' should smoke appear in explosion (1=yes, 0=no) - 'sound' sound played when mob explodes mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso, force_take, replacewith) |