1 --this is where mobs are defined
3 --this is going to be used to set an active mob limit
7 local path = minetest.get_modpath(minetest.get_current_modname())
9 dofile(path.."/spawning.lua")
10 dofile(path.."/api/api_hook.lua")
11 dofile(path.."/items.lua")
12 dofile(path.."/chatcommands.lua")
19 collide_with_objects = false,
20 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
22 visual_size = {x = 3, y = 3},
25 --blank out the first two to create adult pig
29 --these are used to anchor a point to the head position
34 debug_head_pos = false,
35 head_directional_offset = 0.5, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
36 head_height_offset = 0.8, --added to the base y position
37 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
38 head_position_correction = vector.new(0,3,-0.5),
39 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
40 head_coord = "horizontal",
45 automatic_face_movement_dir = 0,
46 automatic_face_movement_max_rotation_per_sec = 300,
47 makes_footstep_sound = false,
49 gravity = {x = 0, y = -9.81, z = 0},
50 movement_type = "walk",
55 item_drop = "mob:raw_porkchop",
56 standing_frame = {x=0,y=0},
57 moving_frame = {x=0,y=40},
58 animation_multiplier = 20,
64 die_sound = "pig_die",
68 attacked_hostile = false,
69 attack_type = "punch",
71 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
72 --explosion_power = 7, -- how big the explosion has to be
73 --explosion_time = 3, -- how long it takes for a mob to explode
81 collide_with_objects = false,
82 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
84 visual_size = {x = 3, y = 3},
87 --blank out the first two to create adult pig
88 "phyg.png","wings.png"
91 --these are used to anchor a point to the head position
96 debug_head_pos = false,
97 head_directional_offset = 0.5, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
98 head_height_offset = 0.8, --added to the base y position
99 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
100 head_position_correction = vector.new(0,3,-0.5),
101 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
102 head_coord = "horizontal",
107 automatic_face_movement_dir = 0,
108 automatic_face_movement_max_rotation_per_sec = 300,
109 makes_footstep_sound = false,
110 takes_fall_damage = false,
111 make_jump_noise = false,
113 gravity = {x = 0, y = -1, z = 0},
114 movement_type = "walk",
119 item_drop = "main:gold",
123 standing_frame = {x=0,y=0},
124 moving_frame = {x=0,y=40},
125 animation_multiplier = 20,
128 death_rotation = "x",
131 die_sound = "pig_die",
135 attacked_hostile = false,
136 attack_type = "punch",
138 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
139 --explosion_power = 7, -- how big the explosion has to be
140 --explosion_time = 3, -- how long it takes for a mob to explode
150 collide_with_objects = false,
151 collisionbox = {-0.37, -0.4, -0.37, 0.37, 0.5, 0.37},
153 visual_size = {x = 3, y = 3},
154 mesh = "chicken.b3d",
156 --if you're wondering what mob this is, it's a chicken
157 "chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png","chicken.png"
161 automatic_face_movement_dir = -90.0,
162 automatic_face_movement_max_rotation_per_sec = 300,
163 makes_footstep_sound = false,
165 gravity = {x = 0, y = -9.81, z = 0},
166 movement_type = "walk",
172 item_drop = "mob:raw_porkchop",
173 standing_frame = {x=0,y=0},
174 moving_frame = {x=5,y=15},
175 animation_multiplier = 5,
178 has_head = true, --remove this when mesh based head rotation is implemented
179 head_visual = "mesh",
180 head_visual_size = {x = 1.1, y = 1.1},
181 head_mesh = "pig_head.x",
182 head_textures ={"head.png","nose.png"},
183 head_mount = vector.new(0,1.2,1.9),
185 death_rotation = "z",
188 die_sound = "pig_die",
190 attack_type = "punch",
191 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
192 --explosion_power = 7, -- how big the explosion has to be
193 --explosion_time = 3, -- how long it takes for a mob to explode
200 mobname = "big_slime",
202 collide_with_objects = false,
203 collisionbox = {-1.25, 0, -1.25, 1.25, 2.5, 1.25},
205 visual_size = {x = 15, y = 15},
212 automatic_face_movement_dir = 90,
213 automatic_face_movement_max_rotation_per_sec = 300,
214 makes_footstep_sound = false,
216 gravity = {x = 0, y = -9.81, z = 0},
217 movement_type = "jump",
218 make_jump_noise = true,
223 death_rotation = "z",
224 hurt_sound = "slime_die",
225 die_sound = "slime_die",
226 attack_type = "punch",
227 custom_on_death = function(self)
228 local pos = self.object:get_pos()
230 minetest.add_entity(pos,"mob:medium_slime")
238 mobname = "medium_slime",
240 collide_with_objects = false,
241 collisionbox = {-0.625, 0, -0.625, 0.625, 1.25, 0.625},
243 visual_size = {x = 7.5, y = 7.5},
250 automatic_face_movement_dir = 90,
251 automatic_face_movement_max_rotation_per_sec = 300,
252 makes_footstep_sound = false,
254 gravity = {x = 0, y = -9.81, z = 0},
255 movement_type = "jump",
256 make_jump_noise = true,
261 death_rotation = "z",
262 hurt_sound = "slime_die",
263 die_sound = "slime_die",
264 attack_type = "punch",
265 custom_on_death = function(self)
266 local pos = self.object:get_pos()
269 minetest.add_entity(pos,"mob:small_slime")
277 mobname = "small_slime",
279 collide_with_objects = false,
280 collisionbox = {-0.3, 0, -0.3, 0.3, 0.6, 0.3},
282 visual_size = {x = 3.7, y = 3.7},
289 automatic_face_movement_dir = 90,
290 automatic_face_movement_max_rotation_per_sec = 300,
291 makes_footstep_sound = false,
293 gravity = {x = 0, y = -9.81, z = 0},
294 movement_type = "jump",
295 make_jump_noise = true,
300 death_rotation = "z",
301 hurt_sound = "slime_die",
302 die_sound = "slime_die",
303 attack_type = "punch",
304 item_drop = "mob:slimeball"
311 mobname = "flying_pig",
313 collide_with_objects = false,
314 collisionbox = {-0.37, -0.4, -0.37, 0.37, 0.5, 0.37},
316 visual_size = {x = 3, y = 3},
319 "flying_pig_body.png","flying_pig_leg.png","flying_pig_leg.png","flying_pig_leg.png","flying_pig_leg.png"
323 automatic_face_movement_dir = -90.0,
324 automatic_face_movement_max_rotation_per_sec = 300,
325 makes_footstep_sound = false,
327 gravity = {x = 0, y = -1, z = 0},
328 movement_type = "jump",
333 item_drop = "main:gold",
337 standing_frame = {x=0,y=0},
338 moving_frame = {x=5,y=15},
339 animation_multiplier = 5,
342 has_head = true, --remove this when mesh based head rotation is implemented
343 head_visual = "mesh",
344 head_visual_size = {x = 1.1, y = 1.1},
345 head_mesh = "pig_head.x",
346 head_textures ={"flying_pig_head.png","flying_pig_nose.png"},
347 head_mount = vector.new(0,1.2,1.9),
349 death_rotation = "z",
352 die_sound = "pig_die",
354 attack_type = "projectile",
355 projectile_timer_cooldown = 5,
356 projectile_type = "tnt:tnt",
358 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
359 --explosion_power = 7, -- how big the explosion has to be
360 --explosion_time = 3, -- how long it takes for a mob to explode
370 collide_with_objects = false,
371 collisionbox = {-0.37, -0.4, -0.37, 0.37, 0.5, 0.37},
373 visual_size = {x = 3, y = 3},
376 "creepig_body.png","creepig_leg.png","creepig_leg.png","creepig_leg.png","creepig_leg.png"
380 automatic_face_movement_dir = -90.0,
381 automatic_face_movement_max_rotation_per_sec = 300,
382 makes_footstep_sound = false,
384 gravity = {x = 0, y = -9.81, z = 0},
385 movement_type = "walk",
390 item_drop = "mob:cooked_porkchop",
392 standing_frame = {x=0,y=0},
393 moving_frame = {x=5,y=15},
394 animation_multiplier = 5,
397 has_head = true, --remove this when mesh based head rotation is implemented
398 head_visual = "mesh",
399 head_visual_size = {x = 1.1, y = 1.1},
400 head_mesh = "pig_head.x",
401 head_textures ={"creepig_head.png","creepig_nose.png"},
402 head_mount = vector.new(0,1.2,1.9),
404 death_rotation = "z",
407 die_sound = "pig_die",
409 attack_type = "explode",
410 --projectile_timer_cooldown = 5,
411 --projectile_type = "tnt:tnt",
413 explosion_radius = 2, -- how far away the mob has to be to initialize the explosion
414 explosion_power = 7, -- how big the explosion has to be
415 explosion_time = 5, -- how long it takes for a mob to explode
418 die_in_light_level = 12,
428 collide_with_objects = false,
429 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
431 visual_size = {x = 3.2, y = 3.2},
432 mesh = "creeper.b3d",
438 automatic_face_movement_max_rotation_per_sec = 300,
439 makes_footstep_sound = false,
441 gravity = {x = 0, y = -9.81, z = 0},
442 movement_type = "walk",
445 hostile_cooldown = false,
448 item_drop = "mob:gunpowder",
450 standing_frame = {x=0,y=0},
451 moving_frame = {x=0,y=40},
452 animation_multiplier = 20,
456 --these are used to anchor a point to the head position
458 automatic_face_movement_dir = 0,
460 debug_head_pos = false,
461 --this always has to be slightly positive
462 head_directional_offset = 0.01,
463 head_height_offset = 1.45, --added to the base y position
464 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
465 head_position_correction = vector.new(0,2.4,0),
466 head_coord = "vertical",
470 death_rotation = "x",
472 hurt_sound = "creeper_hurt",
473 die_sound = "creeper_hurt",
475 attack_type = "explode",
476 --projectile_timer_cooldown = 5,
477 --projectile_type = "tnt:tnt",
479 explosion_radius = 3, -- how far away the mob has to be to initialize the explosion
480 explosion_power = 7, -- how big the explosion has to be
481 explosion_time = 3, -- how long it takes for a mob to explode
483 die_in_light = false,
484 --die_in_light_level = 12,
492 mobname = "nitro_creeper",
494 collide_with_objects = false,
495 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
497 visual_size = {x = 3.2, y = 3.2},
498 mesh = "creeper.b3d",
504 automatic_face_movement_max_rotation_per_sec = 300,
505 makes_footstep_sound = false,
507 gravity = {x = 0, y = -9.81, z = 0},
508 movement_type = "walk",
511 hostile_cooldown = false,
514 item_drop = "mob:gunpowder",
516 damage_color = "blue",
518 standing_frame = {x=0,y=0},
519 moving_frame = {x=0,y=40},
520 animation_multiplier = 20,
524 --these are used to anchor a point to the head position
526 automatic_face_movement_dir = 0,
528 debug_head_pos = false,
529 --this always has to be slightly positive
530 head_directional_offset = 0.01,
531 head_height_offset = 1.45, --added to the base y position
532 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
533 head_position_correction = vector.new(0,2.4,0),
534 head_coord = "vertical",
538 death_rotation = "x",
540 hurt_sound = "creeper_hurt",
541 die_sound = "creeper_hurt",
543 attack_type = "explode",
544 --projectile_timer_cooldown = 5,
545 --projectile_type = "tnt:tnt",
547 explosion_radius = 6, -- how far away the mob has to be to initialize the explosion
548 explosion_power = 14, -- how big the explosion is (radius)
549 explosion_time = 3, -- how long it takes for a mob to explode
550 explosion_blink_timer = 0.1, -- how fast the blinking happens
552 die_in_light = false,
553 --die_in_light_level = 12,
562 collide_with_objects = false,
563 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
565 visual_size = {x = 3, y = 3},
568 --blank out the first two to create adult pig
572 --these are used to anchor a point to the head position
576 --head_bone = "body.head",
577 debug_head_pos = false,
578 head_directional_offset = 0.5, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
579 head_height_offset = 0.8, --added to the base y position
580 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
581 head_position_correction = vector.new(0,3,-0.5),
582 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
583 head_coord = "horizontal",
588 automatic_face_movement_dir = 0,
589 automatic_face_movement_max_rotation_per_sec = 300,
590 makes_footstep_sound = false,
592 gravity = {x = 0, y = -9.81, z = 0},
593 movement_type = "walk",
598 item_drop = "mob:raw_porkchop",
599 standing_frame = {x=21,y=21},
600 moving_frame = {x=0,y=20},
601 animation_multiplier = 20,
604 death_rotation = "x",
607 die_sound = "pig_die",
611 attacked_hostile = false,
612 attack_type = "punch",
614 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
615 --explosion_power = 7, -- how big the explosion has to be
616 --explosion_time = 3, -- how long it takes for a mob to explode