-
Notifications
You must be signed in to change notification settings - Fork 19
PilzAdam edited this page Sep 22, 2012
·
6 revisions
Simple Mobs has a simple API. Other mods can use the functions to add their own mobs.
mobs:register_mob(name, definition)
This functions registers a new mob as a Minetest entity.
- name is the name of the mob (e.g. "mobs:dirt_monster")
-
definition is a table with the following fields
- type the type of the mob ("monster" or "animal")
- hp_max same is in minetest.register_entity()
- physical same is in minetest.register_entity()
- collisionbox same is in minetest.register_entity()
- visual same is in minetest.register_entity()
- visual_size same is in minetest.register_entity()
- textures same is in minetest.register_entity()
- makes_footstep_sound: same is in minetest.register_entity()
- view_range the range in that the monster will see the playerand follow him
- walk_velocity the velocity when the monster is walking around
- run_velocity the velocity when the monster is attacking a player
- damage the damage per second
-
drops is list of tables with the following fields:
- name itemname
- chance the inverted chance (same as in abm) to get the item
- min the minimum number of items
- max the maximum number of items
- armor the armor (integer)(3=lowest; 1=highest)(fleshy group is used)
- drawtype "front" or "side"
- water_damage the damage per second if the mob is in water
- lava_damage the damage per second if the mob is in lava
- light_damage the damage per second if the mob is in light
- on_rightclick its same as in minetest.register_entity()
- attack_type the attack type of a monster ("dogfight", "shoot", maybe somehting like "explode" in the future)
- arrow if the attack_type="shoot" needed: the entity name of the arrow
- shoot_interval the minimum shoot interval
-
sounds this is a table with sounds of the mob
- random a sound that is played randomly
- attack a sound that is played when a mob hits a player
mobs:register_spawn(name, nodes, max_light, min_light, chance, mobs_per_30_block_radius, max_height)
This function registers a spawn algorithm for the animal. Without this function the call the mobs won't spawn.
- name is the name of the animal/monster
- nodes is a list of nodenames on that the animal/monster can spawn
- max_light is the maximum of light
- min_light is the minimum of light
- chance is same as in register_abm()
- mobs_per_30_block_radius is the maximum number of mobs in a 30 block radius arround the possible spawning pos
- max_height is the maximum height the mob can spawn
mobs:register_arrow(name, definition)
This function registers a arrow for mobs with the attack type shoot.
- name is the name of the arrow
-
definition is a table with the following values:
- visual same is in minetest.register_entity()
- visual_size same is in minetest.register_entity()
- textures same is in minetest.register_entity()
- velocity the velocity of the arrow
-
hit_player a function that is called when the arrow hits a player; this function should hurt the player
- the parameters are (self, player)
-
hit_node a function that is called when the arrow hits a node
- the parameters are (self, pos, node)