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),
235 collide_with_objects = false,
236 collisionbox = {-0.37, 0, -0.37, 0.37, 1.75, 0.37},
238 visual_size = {x = 9, y = 9},
239 mesh = "snowman.b3d",
241 "snowman.png","snowman.png","snowman.png","snowman.png","snowman.png","snowman.png",
244 --these are used to anchor a point to the head position
249 debug_head_pos = false,
250 rotational_correction = math.pi/2,
251 head_directional_offset = 0.01, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
252 head_height_offset = 1.65, --added to the base y position
253 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
254 head_position_correction = vector.new(0,0.6,0),
255 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
256 head_coord = "vertical",
262 automatic_face_movement_dir = -90,
263 automatic_face_movement_max_rotation_per_sec = 300,
264 makes_footstep_sound = false,
266 gravity = {x = 0, y = -9.81, z = 0},
267 movement_type = "walk",
272 item_drop = {"weather:snowball","main:coal","mob:carrot","main:stick"},
273 standing_frame = {x=0,y=0},
274 moving_frame = {x=0,y=0},
275 animation_multiplier = 10,
278 death_rotation = "z",
285 attacked_hostile = true,
286 attack_type = "projectile",
287 projectile_type = "weather:snowball",
288 projectile_timer_cooldown = 1,
290 custom_function = function(self,dtime,moveresult)
291 if moveresult and moveresult.touching_ground then
292 local pos = vector.floor(vector.add(self.object:get_pos(),0.5))
294 if self.custom_old_pos and not vector.equals(pos,self.custom_old_pos) then
295 if minetest.get_nodedef(minetest.get_node(pos).name,"buildable_to") == true and minetest.get_nodedef(minetest.get_node(vector.new(pos.x,pos.y-1,pos.z)).name,"buildable_to") == false then
296 minetest.set_node(pos,{name="weather:snow"})
299 self.custom_old_pos = pos
304 custom_timer_function = function(self,dtime)
305 if weather_type and weather_type ~= 1 then
306 self.object:punch(self.object, 2,
308 full_punch_interval=1.5,
309 damage_groups = {damage=2},
314 visual_size = vector.new(1/4,2/3,1/4),
315 position = vector.new(0,3.3,0),
324 collide_with_objects = false,
325 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
327 visual_size = {x = 3, y = 3},
330 --blank out the first two to create adult pig
331 "phyg.png","wings.png"
334 --these are used to anchor a point to the head position
339 debug_head_pos = false,
340 head_directional_offset = 0.5, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
341 head_height_offset = 0.8, --added to the base y position
342 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
343 head_position_correction = vector.new(0,3,-0.5),
344 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
345 head_coord = "horizontal",
350 automatic_face_movement_dir = 0,
351 automatic_face_movement_max_rotation_per_sec = 300,
352 makes_footstep_sound = false,
353 takes_fall_damage = false,
354 make_jump_noise = false,
356 gravity = {x = 0, y = -1, z = 0},
357 movement_type = "walk",
362 item_drop = "main:gold",
366 standing_frame = {x=0,y=0},
367 moving_frame = {x=0,y=40},
368 animation_multiplier = 20,
371 death_rotation = "x",
374 die_sound = "pig_die",
378 attacked_hostile = false,
379 attack_type = "punch",
381 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
382 --explosion_power = 7, -- how big the explosion has to be
383 --explosion_time = 3, -- how long it takes for a mob to explode
385 visual_size = vector.new(1/3,2/3,1/3),
386 position = vector.new(0,3,0),
394 mobname = "big_slime",
396 collide_with_objects = false,
397 collisionbox = {-1.25, 0, -1.25, 1.25, 2.5, 1.25},
399 visual_size = {x = 15, y = 15},
404 collision_boundary = 2.5,
407 automatic_face_movement_dir = 90,
408 automatic_face_movement_max_rotation_per_sec = 300,
409 makes_footstep_sound = false,
411 gravity = {x = 0, y = -9.81, z = 0},
412 movement_type = "jump",
413 make_jump_noise = true,
418 death_rotation = "z",
419 hurt_sound = "slime_die",
420 die_sound = "slime_die",
421 attack_type = "punch",
423 custom_on_death = function(self)
424 local pos = self.object:get_pos()
426 local obj = minetest.add_entity(pos,"mob:medium_slime")
432 --this is used to properly position fire when the mob catches on fire
434 visual_size = vector.new(1/5.8,1/3.3,1/5.8),
435 position = vector.new(0,1.5,0),
442 mobname = "medium_slime",
444 collide_with_objects = false,
445 collisionbox = {-0.625, 0, -0.625, 0.625, 1.25, 0.625},
447 visual_size = {x = 7.5, y = 7.5},
454 automatic_face_movement_dir = 90,
455 automatic_face_movement_max_rotation_per_sec = 300,
456 makes_footstep_sound = false,
458 gravity = {x = 0, y = -9.81, z = 0},
459 movement_type = "jump",
460 make_jump_noise = true,
465 death_rotation = "z",
466 hurt_sound = "slime_die",
467 die_sound = "slime_die",
469 attack_type = "punch",
470 custom_on_death = function(self)
471 local pos = self.object:get_pos()
474 local obj = minetest.add_entity(pos,"mob:small_slime")
481 visual_size = vector.new(1/5.8,1/3.3,1/5.8),
482 position = vector.new(0,1.5,0),
489 mobname = "small_slime",
491 collide_with_objects = false,
492 collisionbox = {-0.3, 0, -0.3, 0.3, 0.6, 0.3},
494 visual_size = {x = 3.7, y = 3.7},
501 automatic_face_movement_dir = 90,
502 automatic_face_movement_max_rotation_per_sec = 300,
503 makes_footstep_sound = false,
505 gravity = {x = 0, y = -9.81, z = 0},
506 movement_type = "jump",
507 make_jump_noise = true,
512 death_rotation = "z",
513 hurt_sound = "slime_die",
514 die_sound = "slime_die",
516 attack_type = "punch",
517 item_drop = "mob:slimeball",
519 visual_size = vector.new(1/5.8,1/3.3,1/5.8),
520 position = vector.new(0,1.5,0),
532 collide_with_objects = false,
533 collisionbox = {-0.37, -0.4, -0.37, 0.37, 0.5, 0.37},
535 visual_size = {x = 3, y = 3},
538 "creepig_body.png","creepig_leg.png","creepig_leg.png","creepig_leg.png","creepig_leg.png"
542 automatic_face_movement_dir = -90.0,
543 automatic_face_movement_max_rotation_per_sec = 300,
544 makes_footstep_sound = false,
546 gravity = {x = 0, y = -9.81, z = 0},
547 movement_type = "walk",
552 item_drop = "mob:cooked_porkchop",
554 standing_frame = {x=0,y=0},
555 moving_frame = {x=5,y=15},
556 animation_multiplier = 5,
559 has_head = true, --remove this when mesh based head rotation is implemented
560 head_visual = "mesh",
561 head_visual_size = {x = 1.1, y = 1.1},
562 head_mesh = "pig_head.x",
563 head_textures ={"creepig_head.png","creepig_nose.png"},
564 head_mount = vector.new(0,1.2,1.9),
566 death_rotation = "z",
569 die_sound = "pig_die",
571 attack_type = "explode",
572 --projectile_timer_cooldown = 5,
573 --projectile_type = "tnt:tnt",
575 explosion_radius = 2, -- how far away the mob has to be to initialize the explosion
576 explosion_power = 7, -- how big the explosion has to be
577 explosion_time = 5, -- how long it takes for a mob to explode
580 die_in_light_level = 12,
591 collide_with_objects = false,
592 collisionbox = {-0.37,0, -0.37, 0.37, 1.7, 0.37},
594 visual_size = {x = 3.2, y = 3.2},
601 automatic_face_movement_max_rotation_per_sec = 300,
602 makes_footstep_sound = false,
604 gravity = {x = 0, y = -9.81, z = 0},
605 movement_type = "walk",
608 hostile_cooldown = false,
611 item_drop = "mob:cooked_porkchop",
613 standing_frame = {x=0,y=0},
614 moving_frame = {x=0,y=40},
615 animation_multiplier = 20,
619 --these are used to anchor a point to the head position
621 automatic_face_movement_dir = 0,
623 debug_head_pos = false,
624 --this always has to be slightly positive
625 head_directional_offset = 0.01,
626 head_height_offset = 1.55, --added to the base y position
627 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
628 head_position_correction = vector.new(0,2.4,0),
629 head_coord = "vertical",
633 death_rotation = "x",
637 sound_pitch_mod_min = 60,
638 sound_pitch_mod_max = 80,
639 sound_pitch_mod_min_die = 50,
640 sound_pitch_mod_max_die = 70,
641 attack_type = "punch",
645 --die_in_light_level = 12,
647 visual_size = vector.new(1/4,2/3,1/4),
648 position = vector.new(0,3.3,0),
658 collide_with_objects = false,
659 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
661 visual_size = {x = 3.2, y = 3.2},
662 mesh = "creeper.b3d",
668 automatic_face_movement_max_rotation_per_sec = 300,
669 makes_footstep_sound = false,
671 gravity = {x = 0, y = -9.81, z = 0},
672 movement_type = "walk",
675 hostile_cooldown = false,
678 item_drop = "mob:gunpowder",
680 standing_frame = {x=0,y=0},
681 moving_frame = {x=0,y=40},
682 animation_multiplier = 20,
686 --these are used to anchor a point to the head position
688 automatic_face_movement_dir = 0,
690 debug_head_pos = false,
691 --this always has to be slightly positive
692 head_directional_offset = 0.01,
693 head_height_offset = 1.45, --added to the base y position
694 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
695 head_position_correction = vector.new(0,2.4,0),
696 head_coord = "vertical",
700 death_rotation = "x",
702 hurt_sound = "creeper_hurt",
703 die_sound = "creeper_hurt",
705 attack_type = "explode",
706 --projectile_timer_cooldown = 5,
707 --projectile_type = "tnt:tnt",
709 explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
710 explosion_power = 4, -- how big the explosion has to be
711 explosion_time = 3, -- how long it takes for a mob to explode
713 die_in_light = false,
714 --die_in_light_level = 12,
716 visual_size = vector.new(1/4,2/3,1/4),
717 position = vector.new(0,3.3,0),
726 collide_with_objects = false,
727 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
729 visual_size = {x = 3.2, y = 3.2},
730 mesh = "creeper.b3d",
736 automatic_face_movement_max_rotation_per_sec = 300,
737 makes_footstep_sound = false,
739 gravity = {x = 0, y = -9.81, z = 0},
740 movement_type = "walk",
743 hostile_cooldown = false,
746 item_drop = "mob:gunpowder",
748 standing_frame = {x=0,y=0},
749 moving_frame = {x=0,y=40},
750 animation_multiplier = 20,
754 --these are used to anchor a point to the head position
756 automatic_face_movement_dir = 0,
758 debug_head_pos = false,
759 --this always has to be slightly positive
760 head_directional_offset = 0.01,
761 head_height_offset = 1.45, --added to the base y position
762 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
763 head_position_correction = vector.new(0,2.4,0),
764 head_coord = "vertical",
767 damage_color = "blue",
769 death_rotation = "x",
771 hurt_sound = "creeper_hurt",
772 die_sound = "creeper_hurt",
774 attack_type = "explode",
775 explosion_type = "weather:snow_block",
776 --projectile_timer_cooldown = 5,
777 --projectile_type = "tnt:tnt",
779 explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
780 explosion_power = 4, -- how big the explosion has to be
781 explosion_time = 3, -- how long it takes for a mob to explode
783 die_in_light = false,
784 --die_in_light_level = 12,
786 visual_size = vector.new(1/4,2/3,1/4),
787 position = vector.new(0,3.3,0),
795 mobname = "nitro_creeper",
797 collide_with_objects = false,
798 collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
800 visual_size = {x = 3.2, y = 3.2},
801 mesh = "creeper.b3d",
807 automatic_face_movement_max_rotation_per_sec = 300,
808 makes_footstep_sound = false,
810 gravity = {x = 0, y = -9.81, z = 0},
811 movement_type = "walk",
814 hostile_cooldown = false,
817 item_drop = "mob:gunpowder",
819 damage_color = "blue",
821 standing_frame = {x=0,y=0},
822 moving_frame = {x=0,y=40},
823 animation_multiplier = 20,
827 --these are used to anchor a point to the head position
829 automatic_face_movement_dir = 0,
831 debug_head_pos = false,
832 --this always has to be slightly positive
833 head_directional_offset = 0.01,
834 head_height_offset = 1.45, --added to the base y position
835 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
836 head_position_correction = vector.new(0,2.4,0),
837 head_coord = "vertical",
841 death_rotation = "x",
843 hurt_sound = "creeper_hurt",
844 die_sound = "creeper_hurt",
846 attack_type = "explode",
847 --projectile_timer_cooldown = 5,
848 --projectile_type = "tnt:tnt",
850 explosion_radius = 6, -- how far away the mob has to be to initialize the explosion
851 explosion_power = 6, -- how big the explosion is (radius)
852 explosion_time = 3, -- how long it takes for a mob to explode
853 explosion_blink_timer = 0.1, -- how fast the blinking happens
855 die_in_light = false,
856 --die_in_light_level = 12,
858 visual_size = vector.new(1/4,2/3,1/4),
859 position = vector.new(0,3.3,0),
864 local spider_eyes = {}
866 spider_eyes.initial_properties = {
868 mesh = "spider_eyes.b3d",
869 textures = {"spider_eyes.png"},
871 collisionbox = {0, 0, 0, 0, 0, 0}
873 spider_eyes.glow = -1
874 spider_eyes.on_step = function(self)
875 if not self.owner or not self.owner:get_luaentity() then
878 local owner_head_bone = self.owner:get_luaentity().head_bone
879 local position,rotation = self.owner:get_bone_position(owner_head_bone)
880 self.object:set_attach(self.owner, owner_head_bone, vector.new(0,0,0), rotation)
883 minetest.register_entity("mob:spider_eyes",spider_eyes)
889 collide_with_objects = false,
890 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
892 visual_size = {x = 3, y = 3},
898 --these are used to anchor a point to the head position
900 head_bone = "body.head",
901 debug_head_pos = false,
902 rotational_correction = -math.pi/2,
903 head_directional_offset = 0.3, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
904 head_height_offset = 0.63, --added to the base y position
905 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
906 head_position_correction = vector.new(0,1.24,0),
907 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
908 head_coord = "horizontal",
913 automatic_face_movement_dir = 90,
914 automatic_face_movement_max_rotation_per_sec = 300,
915 makes_footstep_sound = false,
917 gravity = {x = 0, y = -9.81, z = 0},
918 movement_type = "walk",
923 item_drop = "mob:string",
924 standing_frame = {x=21,y=21},
925 moving_frame = {x=0,y=20},
926 animation_multiplier = 20,
929 death_rotation = "z",
931 hurt_sound = "spider",
932 die_sound = "spider_die",
938 friendly_in_daylight = true,
939 attacked_hostile = true,
941 attack_type = "punch",
944 custom_on_activate = function(self)
945 local eyes = minetest.add_entity(self.object:get_pos(), "mob:spider_eyes")
946 eyes:set_attach(self.object, "body.head", vector.new(0,0,0), vector.new(0,0,0))
947 eyes:get_luaentity().owner = self.object
948 if math.random() > 0.998 then
949 local obj = minetest.add_entity(self.object:get_pos(),"mob:pig")
950 local obj2 = minetest.add_entity(self.object:get_pos(),"tnt:tnt")
951 local obj3 = minetest.add_entity(self.object:get_pos(),"boat:boat")
953 obj2:get_luaentity().timer = 7
954 obj2:get_luaentity().radius = 7
956 obj:set_attach(self.object,"",vector.new(0,3,0),vector.new(0,90,0))
957 obj2:set_attach(obj,"",vector.new(0,4.5,0),vector.new(0,90,0))
958 obj3:set_attach(obj2,"",vector.new(0,6.5,0),vector.new(0,0,0))
960 obj:set_properties({visual_size={x=1,y=1}})
961 obj2:set_properties({visual_size={x=1/3,y=1/3}})
964 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
965 --explosion_power = 7, -- how big the explosion has to be
966 --explosion_time = 3, -- how long it takes for a mob to explode
967 --this is used to properly position fire when the mob catches on fire
969 visual_size = vector.new(1.3/3,2/3,1.3/3),
970 position = vector.new(0,4,0),
979 collide_with_objects = false,
980 collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
982 visual_size = {x = 3, y = 3},
988 --these are used to anchor a point to the head position
990 head_bone = "body.head",
991 debug_head_pos = false,
992 rotational_correction = -math.pi/2,
993 head_directional_offset = 0.3, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
994 head_height_offset = 0.63, --added to the base y position
995 --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
996 head_position_correction = vector.new(0,1.24,0),
997 --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
998 head_coord = "horizontal",
1003 automatic_face_movement_dir = 90,
1004 automatic_face_movement_max_rotation_per_sec = 300,
1005 makes_footstep_sound = false,
1007 gravity = {x = 0, y = -9.81, z = 0},
1008 movement_type = "walk",
1013 item_drop = "mob:string",
1014 standing_frame = {x=21,y=21},
1015 moving_frame = {x=0,y=20},
1016 animation_multiplier = 20,
1019 death_rotation = "z",
1021 hurt_sound = "spider",
1022 die_sound = "spider_die",
1028 friendly_in_daylight = true,
1029 attacked_hostile = true,
1031 attack_type = "punch",
1032 group_attack = true,
1034 --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
1035 --explosion_power = 7, -- how big the explosion has to be
1036 --explosion_time = 3, -- how long it takes for a mob to explode
1038 visual_size = vector.new(1.3/3,2/3,1.3/3),
1039 position = vector.new(0,4,0),