1 local minetest,math,vector = minetest,math,vector
2 --this is where mobs are defined
4 local path = minetest.get_modpath(minetest.get_current_modname())
6 dofile(path.."/spawning.lua")
7 dofile(path.."/api/api_hook.lua")
8 dofile(path.."/items.lua")
9 dofile(path.."/chatcommands.lua")
16 collide_with_objects = false,
17 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
19 visual_size = {x = 3, y = 3},
22 --blank out the first two to create adult pig
26 --these are used to anchor a point to the head position
31 debug_head_pos = false,
32 head_directional_offset = 0.5, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
33 head_height_offset = 0.8, --added to the base y position
34 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
35 head_position_correction = vector.new(0,3,-0.5),
36 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
37 head_coord = "horizontal",
42 automatic_face_movement_dir = 0,
43 automatic_face_movement_max_rotation_per_sec = 300,
44 makes_footstep_sound = false,
46 gravity = {x = 0, y = -9.81, z = 0},
47 movement_type = "walk",
52 item_drop = "mob:raw_porkchop",
53 standing_frame = {x=0,y=0},
54 moving_frame = {x=0,y=40},
55 animation_multiplier = 20,
61 die_sound = "pig_die",
65 attacked_hostile = false,
66 attack_type = "punch",
70 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
71 --explosion_power = 7, -- how big the explosion has to be
72 --explosion_time = 3, -- how long it takes for a mob to explode
74 visual_size = vector.new(1/3,2/3,1/3),
75 position = vector.new(0,3,0),
84 collide_with_objects = false,
85 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
87 visual_size = {x = 3, y = 3},
90 "sheep_head_wool.png","sheep_wool.png","sheep.png"
91 --"sheep_head_shaved.png","nothing.png","sheep.png"
94 --these are used to anchor a point to the head position
99 debug_head_pos = false,
100 head_directional_offset = 0.571, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
101 head_height_offset = 1.15, --added to the base y position
102 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
103 head_position_correction = vector.new(0,4.1,-0.86),
104 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
105 head_coord = "horizontal",
110 automatic_face_movement_dir = 0,
111 automatic_face_movement_max_rotation_per_sec = 300,
112 makes_footstep_sound = false,
114 gravity = {x = 0, y = -9.81, z = 0},
115 movement_type = "walk",
120 item_drop = "mob:raw_porkchop",
121 standing_frame = {x=0,y=0},
122 moving_frame = {x=0,y=40},
123 animation_multiplier = 20,
126 death_rotation = "x",
128 hurt_sound = "sheep",
133 attacked_hostile = false,
134 attack_type = "punch",
137 c_mob_data = {sheared = false},
139 custom_on_activate = function(self)
140 --print(dump(self.c_mob_data))
141 if self.c_mob_data.sheared == true then
142 self.object:set_properties({textures = {"sheep_head_shaved.png","nothing.png","sheep.png"}})
146 custom_on_punch = function(self)
147 if self.c_mob_data.sheared == false then
148 self.object:set_properties({textures = {"sheep_head_shaved.png","nothing.png","sheep.png"}})
149 self.c_mob_data = {sheared=true}
150 local pos = self.object:get_pos()
152 minetest.throw_item(pos,{name="weather:snow_block"})
156 visual_size = vector.new(1/3,2/3,1/3),
157 position = vector.new(0,3,0),
167 collide_with_objects = false,
168 collisionbox = {-0.225, 0, -0.225, 0.225, 0.675, 0.225},
170 visual_size = {x = 3, y = 3},
171 mesh = "chicken.b3d",
173 --blank out the first two to create adult pig
177 --these are used to anchor a point to the head position
182 debug_head_pos = false,
183 rotational_correction = -math.pi/2,
184 head_directional_offset = 0.2, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
185 head_height_offset = 0.82, --added to the base y position
186 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
187 head_position_correction = vector.new(0,1.8,-0.89),
188 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
189 head_coord = "vertical",
195 automatic_face_movement_dir = 90,
196 automatic_face_movement_max_rotation_per_sec = 300,
197 makes_footstep_sound = false,
199 gravity = {x = 0, y = -9.81, z = 0},
200 movement_type = "walk",
205 item_drop = {"mob:egg","mob:feather"},
206 standing_frame = {x=20,y=20},
207 moving_frame = {x=0,y=20},
208 animation_multiplier = 15,
211 death_rotation = "z",
213 hurt_sound = "chicken_hurt",
214 die_sound = "chicken_die",
218 attacked_hostile = false,
219 attack_type = "punch",
221 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
222 --explosion_power = 7, -- how big the explosion has to be
223 --explosion_time = 3, -- how long it takes for a mob to explode
225 visual_size = vector.new(1/6,1/2.2,1/6),
226 position = vector.new(0,2.3,0),
232 local acceptable_drawtypes = {
234 ["glasslike"] = true,
235 ["glasslike_framed"] = true,
236 ["glasslike_framed_optional"] = true,
238 ["allfaces_optional"] = true,
246 collide_with_objects = false,
247 collisionbox = {-0.37, 0, -0.37, 0.37, 1.75, 0.37},
249 visual_size = {x = 9, y = 9},
250 mesh = "snowman.b3d",
252 "snowman.png","snowman.png","snowman.png","snowman.png","snowman.png","snowman.png",
255 --these are used to anchor a point to the head position
260 debug_head_pos = false,
261 rotational_correction = math.pi/2,
262 head_directional_offset = 0.01, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
263 head_height_offset = 1.65, --added to the base y position
264 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
265 head_position_correction = vector.new(0,0.6,0),
266 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
267 head_coord = "vertical",
273 automatic_face_movement_dir = -90,
274 automatic_face_movement_max_rotation_per_sec = 300,
275 makes_footstep_sound = false,
277 gravity = {x = 0, y = -9.81, z = 0},
278 movement_type = "walk",
283 item_drop = {"weather:snowball","main:coal","mob:carrot","main:stick"},
284 standing_frame = {x=0,y=0},
285 moving_frame = {x=0,y=0},
286 animation_multiplier = 10,
289 death_rotation = "z",
296 attacked_hostile = true,
297 attack_type = "projectile",
298 projectile_type = "weather:snowball",
299 projectile_timer_cooldown = 1,
301 custom_function = function(self,dtime,moveresult)
302 if moveresult and moveresult.touching_ground then
303 local pos = vector.floor(vector.add(self.object:get_pos(),0.5))
304 if self.custom_old_pos and not vector.equals(pos,self.custom_old_pos) then
305 node = minetest.get_node(pos).name
306 if node == "air" then
307 node = minetest.get_node(vector.new(pos.x,pos.y-1,pos.z)).name
308 def = minetest.registered_nodes[node]
310 drawtype = acceptable_drawtypes[def.drawtype]
311 walkable = def.walkable
312 liquid = (def.liquidtype ~= "none")
313 if not liquid and walkable and drawtype and node ~= "main:ice" then
314 minetest.set_node(pos,{name="weather:snow"})
318 self.custom_old_pos = pos
323 custom_timer_function = function(self,dtime)
324 if weather_type and weather_type ~= 1 then
325 self.object:punch(self.object, 2,
327 full_punch_interval=1.5,
328 damage_groups = {damage=2},
333 visual_size = vector.new(1/4,2/3,1/4),
334 position = vector.new(0,3.3,0),
343 collide_with_objects = false,
344 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
346 visual_size = {x = 3, y = 3},
349 --blank out the first two to create adult pig
350 "phyg.png","wings.png"
353 --these are used to anchor a point to the head position
358 debug_head_pos = false,
359 head_directional_offset = 0.5, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
360 head_height_offset = 0.8, --added to the base y position
361 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
362 head_position_correction = vector.new(0,3,-0.5),
363 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
364 head_coord = "horizontal",
369 automatic_face_movement_dir = 0,
370 automatic_face_movement_max_rotation_per_sec = 300,
371 makes_footstep_sound = false,
372 takes_fall_damage = false,
373 make_jump_noise = false,
375 gravity = {x = 0, y = -1, z = 0},
376 movement_type = "walk",
381 item_drop = "main:gold",
385 standing_frame = {x=0,y=0},
386 moving_frame = {x=0,y=40},
387 animation_multiplier = 20,
390 death_rotation = "x",
393 die_sound = "pig_die",
397 attacked_hostile = false,
398 attack_type = "punch",
400 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
401 --explosion_power = 7, -- how big the explosion has to be
402 --explosion_time = 3, -- how long it takes for a mob to explode
404 visual_size = vector.new(1/3,2/3,1/3),
405 position = vector.new(0,3,0),
413 mobname = "big_slime",
415 collide_with_objects = false,
416 collisionbox = {-1.25, 0, -1.25, 1.25, 2.5, 1.25},
418 visual_size = {x = 15, y = 15},
423 collision_boundary = 2.5,
426 automatic_face_movement_dir = 90,
427 automatic_face_movement_max_rotation_per_sec = 300,
428 makes_footstep_sound = false,
430 gravity = {x = 0, y = -9.81, z = 0},
431 movement_type = "jump",
432 make_jump_noise = true,
437 death_rotation = "z",
438 hurt_sound = "slime_die",
439 die_sound = "slime_die",
440 attack_type = "punch",
443 custom_on_death = function(self)
444 local pos = self.object:get_pos()
446 local obj = minetest.add_entity(pos,"mob:medium_slime")
452 --this is used to properly position fire when the mob catches on fire
454 visual_size = vector.new(1/5.8,1/3.3,1/5.8),
455 position = vector.new(0,1.5,0),
462 mobname = "medium_slime",
464 collide_with_objects = false,
465 collisionbox = {-0.625, 0, -0.625, 0.625, 1.25, 0.625},
467 visual_size = {x = 7.5, y = 7.5},
474 automatic_face_movement_dir = 90,
475 automatic_face_movement_max_rotation_per_sec = 300,
476 makes_footstep_sound = false,
478 gravity = {x = 0, y = -9.81, z = 0},
479 movement_type = "jump",
480 make_jump_noise = true,
485 death_rotation = "z",
486 hurt_sound = "slime_die",
487 die_sound = "slime_die",
489 attack_type = "punch",
491 custom_on_death = function(self)
492 local pos = self.object:get_pos()
495 local obj = minetest.add_entity(pos,"mob:small_slime")
502 visual_size = vector.new(1/5.8,1/3.3,1/5.8),
503 position = vector.new(0,1.5,0),
510 mobname = "small_slime",
512 collide_with_objects = false,
513 collisionbox = {-0.3, 0, -0.3, 0.3, 0.6, 0.3},
515 visual_size = {x = 3.7, y = 3.7},
522 automatic_face_movement_dir = 90,
523 automatic_face_movement_max_rotation_per_sec = 300,
524 makes_footstep_sound = false,
526 gravity = {x = 0, y = -9.81, z = 0},
527 movement_type = "jump",
528 make_jump_noise = true,
533 death_rotation = "z",
534 hurt_sound = "slime_die",
535 die_sound = "slime_die",
537 attack_type = "punch",
538 item_drop = "mob:slimeball",
541 visual_size = vector.new(1/5.8,1/3.3,1/5.8),
542 position = vector.new(0,1.5,0),
554 collide_with_objects = false,
555 collisionbox = {-0.37, -0.4, -0.37, 0.37, 0.5, 0.37},
557 visual_size = {x = 3, y = 3},
560 "creepig_body.png","creepig_leg.png","creepig_leg.png","creepig_leg.png","creepig_leg.png"
564 automatic_face_movement_dir = -90.0,
565 automatic_face_movement_max_rotation_per_sec = 300,
566 makes_footstep_sound = false,
568 gravity = {x = 0, y = -9.81, z = 0},
569 movement_type = "walk",
574 item_drop = "mob:cooked_porkchop",
576 standing_frame = {x=0,y=0},
577 moving_frame = {x=5,y=15},
578 animation_multiplier = 5,
581 has_head = true, --remove this when mesh based head rotation is implemented
582 head_visual = "mesh",
583 head_visual_size = {x = 1.1, y = 1.1},
584 head_mesh = "pig_head.x",
585 head_textures ={"creepig_head.png","creepig_nose.png"},
586 head_mount = vector.new(0,1.2,1.9),
588 death_rotation = "z",
591 die_sound = "pig_die",
593 attack_type = "explode",
594 --projectile_timer_cooldown = 5,
595 --projectile_type = "tnt:tnt",
597 explosion_radius = 2, -- how far away the mob has to be to initialize the explosion
598 explosion_power = 7, -- how big the explosion has to be
599 explosion_time = 5, -- how long it takes for a mob to explode
612 collide_with_objects = false,
613 collisionbox = {-0.23,0, -0.23, 0.23, 1.7, 0.23},
615 visual_size = {x = 3.2, y = 3.2},
622 automatic_face_movement_max_rotation_per_sec = 300,
623 makes_footstep_sound = false,
625 gravity = {x = 0, y = -9.81, z = 0},
626 movement_type = "walk",
629 hostile_cooldown = false,
632 item_drop = "mob:cooked_porkchop",
634 standing_frame = {x=0,y=0},
635 moving_frame = {x=0,y=40},
636 animation_multiplier = 20,
640 --these are used to anchor a point to the head position
642 automatic_face_movement_dir = 0,
644 debug_head_pos = false,
645 --this always has to be slightly positive
646 head_directional_offset = 0.01,
647 head_height_offset = 1.55, --added to the base y position
648 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
649 head_position_correction = vector.new(0,2.4,0),
650 head_coord = "vertical",
654 death_rotation = "x",
658 sound_pitch_mod_min = 60,
659 sound_pitch_mod_max = 80,
660 sound_pitch_mod_min_die = 50,
661 sound_pitch_mod_max_die = 70,
662 attack_type = "punch",
668 visual_size = vector.new(1/4,2/3,1/4),
669 position = vector.new(0,3.3,0),
679 collide_with_objects = false,
680 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
682 visual_size = {x = 3.2, y = 3.2},
683 mesh = "creeper.b3d",
689 automatic_face_movement_max_rotation_per_sec = 300,
690 makes_footstep_sound = false,
692 gravity = {x = 0, y = -9.81, z = 0},
693 movement_type = "walk",
696 hostile_cooldown = false,
699 item_drop = "mob:gunpowder",
701 standing_frame = {x=0,y=0},
702 moving_frame = {x=0,y=40},
703 animation_multiplier = 20,
707 --these are used to anchor a point to the head position
709 automatic_face_movement_dir = 0,
711 debug_head_pos = false,
712 --this always has to be slightly positive
713 head_directional_offset = 0.01,
714 head_height_offset = 1.45, --added to the base y position
715 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
716 head_position_correction = vector.new(0,2.4,0),
717 head_coord = "vertical",
721 death_rotation = "x",
723 hurt_sound = "creeper_hurt",
724 die_sound = "creeper_hurt",
726 attack_type = "explode",
727 --projectile_timer_cooldown = 5,
728 --projectile_type = "tnt:tnt",
730 explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
731 explosion_power = 4, -- how big the explosion has to be
732 explosion_time = 3, -- how long it takes for a mob to explode
734 die_in_light = false,
736 visual_size = vector.new(1/4,2/3,1/4),
737 position = vector.new(0,3.3,0),
746 collide_with_objects = false,
747 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
749 visual_size = {x = 3.2, y = 3.2},
750 mesh = "creeper.b3d",
756 automatic_face_movement_max_rotation_per_sec = 300,
757 makes_footstep_sound = false,
759 gravity = {x = 0, y = -9.81, z = 0},
760 movement_type = "walk",
763 hostile_cooldown = false,
766 item_drop = "mob:gunpowder",
768 standing_frame = {x=0,y=0},
769 moving_frame = {x=0,y=40},
770 animation_multiplier = 20,
774 --these are used to anchor a point to the head position
776 automatic_face_movement_dir = 0,
778 debug_head_pos = false,
779 --this always has to be slightly positive
780 head_directional_offset = 0.01,
781 head_height_offset = 1.45, --added to the base y position
782 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
783 head_position_correction = vector.new(0,2.4,0),
784 head_coord = "vertical",
787 damage_color = "blue",
789 death_rotation = "x",
791 hurt_sound = "creeper_hurt",
792 die_sound = "creeper_hurt",
794 attack_type = "explode",
795 explosion_type = "weather:snow_block",
796 --projectile_timer_cooldown = 5,
797 --projectile_type = "tnt:tnt",
799 explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
800 explosion_power = 4, -- how big the explosion has to be
801 explosion_time = 3, -- how long it takes for a mob to explode
803 die_in_light = false,
805 visual_size = vector.new(1/4,2/3,1/4),
806 position = vector.new(0,3.3,0),
814 mobname = "nitro_creeper",
816 collide_with_objects = false,
817 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
819 visual_size = {x = 3.2, y = 3.2},
820 mesh = "creeper.b3d",
826 automatic_face_movement_max_rotation_per_sec = 300,
827 makes_footstep_sound = false,
829 gravity = {x = 0, y = -9.81, z = 0},
830 movement_type = "walk",
833 hostile_cooldown = false,
836 item_drop = "mob:gunpowder",
838 damage_color = "blue",
840 standing_frame = {x=0,y=0},
841 moving_frame = {x=0,y=40},
842 animation_multiplier = 20,
846 --these are used to anchor a point to the head position
848 automatic_face_movement_dir = 0,
850 debug_head_pos = false,
851 --this always has to be slightly positive
852 head_directional_offset = 0.01,
853 head_height_offset = 1.45, --added to the base y position
854 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
855 head_position_correction = vector.new(0,2.4,0),
856 head_coord = "vertical",
860 death_rotation = "x",
862 hurt_sound = "creeper_hurt",
863 die_sound = "creeper_hurt",
865 attack_type = "explode",
866 --projectile_timer_cooldown = 5,
867 --projectile_type = "tnt:tnt",
869 explosion_radius = 6, -- how far away the mob has to be to initialize the explosion
870 explosion_power = 6, -- how big the explosion is (radius)
871 explosion_time = 3, -- how long it takes for a mob to explode
872 explosion_blink_timer = 0.1, -- how fast the blinking happens
874 die_in_light = false,
876 visual_size = vector.new(1/4,2/3,1/4),
877 position = vector.new(0,3.3,0),
882 local spider_eyes = {}
884 spider_eyes.initial_properties = {
886 mesh = "spider_eyes.b3d",
887 textures = {"spider_eyes.png"},
889 collisionbox = {0, 0, 0, 0, 0, 0}
891 spider_eyes.glow = -1
892 spider_eyes.on_step = function(self)
893 if not self.owner or not self.owner:get_luaentity() then
896 local owner_head_bone = self.owner:get_luaentity().head_bone
897 local position,rotation = self.owner:get_bone_position(owner_head_bone)
898 self.object:set_attach(self.owner, owner_head_bone, vector.new(0,0,0), rotation)
901 minetest.register_entity("mob:spider_eyes",spider_eyes)
907 collide_with_objects = false,
908 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
910 visual_size = {x = 3, y = 3},
916 --these are used to anchor a point to the head position
918 head_bone = "body.head",
919 debug_head_pos = false,
920 rotational_correction = -math.pi/2,
921 head_directional_offset = 0.3, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
922 head_height_offset = 0.63, --added to the base y position
923 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
924 head_position_correction = vector.new(0,1.24,0),
925 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
926 head_coord = "horizontal",
931 automatic_face_movement_dir = 90,
932 automatic_face_movement_max_rotation_per_sec = 300,
933 makes_footstep_sound = false,
935 gravity = {x = 0, y = -9.81, z = 0},
936 movement_type = "walk",
941 item_drop = "mob:string",
942 standing_frame = {x=21,y=21},
943 moving_frame = {x=0,y=20},
944 animation_multiplier = 20,
947 death_rotation = "z",
949 hurt_sound = "spider",
950 die_sound = "spider_die",
956 friendly_in_daylight = true,
957 attacked_hostile = true,
959 attack_type = "punch",
962 custom_on_activate = function(self)
963 local eyes = minetest.add_entity(self.object:get_pos(), "mob:spider_eyes")
964 eyes:set_attach(self.object, "body.head", vector.new(0,0,0), vector.new(0,0,0))
965 eyes:get_luaentity().owner = self.object
966 if math.random() > 0.998 then
967 local obj = minetest.add_entity(self.object:get_pos(),"mob:pig")
968 local obj2 = minetest.add_entity(self.object:get_pos(),"tnt:tnt")
969 local obj3 = minetest.add_entity(self.object:get_pos(),"boat:boat")
971 obj2:get_luaentity().timer = 7
972 obj2:get_luaentity().radius = 7
974 obj:set_attach(self.object,"",vector.new(0,3,0),vector.new(0,90,0))
975 obj2:set_attach(obj,"",vector.new(0,4.5,0),vector.new(0,90,0))
976 obj3:set_attach(obj2,"",vector.new(0,6.5,0),vector.new(0,0,0))
978 obj:set_properties({visual_size={x=1,y=1}})
979 obj2:set_properties({visual_size={x=1/3,y=1/3}})
982 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
983 --explosion_power = 7, -- how big the explosion has to be
984 --explosion_time = 3, -- how long it takes for a mob to explode
985 --this is used to properly position fire when the mob catches on fire
987 visual_size = vector.new(1.3/3,2/3,1.3/3),
988 position = vector.new(0,4,0),
997 collide_with_objects = false,
998 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
1000 visual_size = {x = 3, y = 3},
1001 mesh = "spider.b3d",
1006 --these are used to anchor a point to the head position
1008 head_bone = "body.head",
1009 debug_head_pos = false,
1010 rotational_correction = -math.pi/2,
1011 head_directional_offset = 0.3, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
1012 head_height_offset = 0.63, --added to the base y position
1013 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
1014 head_position_correction = vector.new(0,1.24,0),
1015 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
1016 head_coord = "horizontal",
1021 automatic_face_movement_dir = 90,
1022 automatic_face_movement_max_rotation_per_sec = 300,
1023 makes_footstep_sound = false,
1025 gravity = {x = 0, y = -9.81, z = 0},
1026 movement_type = "walk",
1031 item_drop = "mob:string",
1032 standing_frame = {x=21,y=21},
1033 moving_frame = {x=0,y=20},
1034 animation_multiplier = 20,
1037 death_rotation = "z",
1039 hurt_sound = "spider",
1040 die_sound = "spider_die",
1046 friendly_in_daylight = true,
1047 attacked_hostile = true,
1049 attack_type = "punch",
1050 group_attack = true,
1052 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
1053 --explosion_power = 7, -- how big the explosion has to be
1054 --explosion_time = 3, -- how long it takes for a mob to explode
1056 visual_size = vector.new(1.3/3,2/3,1.3/3),
1057 position = vector.new(0,4,0),