]> git.lizzy.rs Git - Crafter.git/blob - mods/mob/init.lua
Do experimental catch up for spawning mobs
[Crafter.git] / mods / mob / init.lua
1 --this is where mobs are defined
2
3 --this is going to be used to set an active mob limit
4 global_mob_amount = 0
5 mob_limit = 100
6
7 local path = minetest.get_modpath(minetest.get_current_modname())
8
9 dofile(path.."/spawning.lua")
10 dofile(path.."/api/api_hook.lua")
11 dofile(path.."/items.lua")
12 dofile(path.."/chatcommands.lua")
13
14
15 mobs.register_mob(
16         {
17          mobname = "pig",
18          physical = true,
19          collide_with_objects = false,
20          collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
21          visual = "mesh",
22          visual_size = {x = 3, y = 3},
23          mesh = "pig.b3d",
24          textures = {
25                  --blank out the first two to create adult pig
26                 "pig.png"
27          },
28          
29          --these are used to anchor a point to the head position
30
31
32          -----
33          head_bone = "head",
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",
41          -----
42          
43          is_visible = true,
44          pointable = true,
45          automatic_face_movement_dir = 0,
46          automatic_face_movement_max_rotation_per_sec = 300,
47          makes_footstep_sound = false,
48          hp = 10,
49          gravity = {x = 0, y = -9.81, z = 0},
50          movement_type = "walk",
51          max_speed = 5,
52          state = 0,
53          view_distance = 15,
54          
55          item_drop = "mob:raw_porkchop", 
56          standing_frame = {x=0,y=0},
57          moving_frame = {x=0,y=40},
58          animation_multiplier = 20,
59          ----
60          ----
61          death_rotation = "x",
62          
63          hurt_sound = "pig",
64          die_sound = "pig_die",
65          
66          
67          hostile = false,
68          attacked_hostile = false,
69          attack_type = "punch",
70          group_attack = true,
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
74         }
75 )
76
77 mobs.register_mob(
78         {
79          mobname = "sheep",
80          physical = true,
81          collide_with_objects = false,
82          collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
83          visual = "mesh",
84          visual_size = {x = 3, y = 3},
85          mesh = "sheep.b3d",
86          textures = {
87                 "sheep_head_wool.png","sheep_wool.png","sheep.png"
88                 --"sheep_head_shaved.png","nothing.png","sheep.png"
89          },
90          
91          --these are used to anchor a point to the head position
92
93
94          -----
95          head_bone = "head",
96          debug_head_pos = false,
97          head_directional_offset = 0.571, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
98          head_height_offset = 1.15, --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,4.1,-0.86),
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",
103          -----
104          
105          is_visible = true,
106          pointable = true,
107          automatic_face_movement_dir = 0,
108          automatic_face_movement_max_rotation_per_sec = 300,
109          makes_footstep_sound = false,
110          hp = 10,
111          gravity = {x = 0, y = -9.81, z = 0},
112          movement_type = "walk",
113          max_speed = 5,
114          state = 0,
115          view_distance = 15,
116          
117          item_drop = "mob:raw_porkchop", 
118          standing_frame = {x=0,y=0},
119          moving_frame = {x=0,y=40},
120          animation_multiplier = 20,
121          ----
122          ----
123          death_rotation = "x",
124          
125          hurt_sound = "sheep",
126          die_sound = "sheep",
127          
128          
129          hostile = false,
130          attacked_hostile = false,
131          attack_type = "punch",
132          group_attack = true,
133
134          c_mob_data = {sheared = false},
135
136          custom_on_activate = function(self)
137                 --print(dump(self.c_mob_data))
138                 if self.c_mob_data.sheared == true then
139                         self.object:set_properties({textures = {"sheep_head_shaved.png","nothing.png","sheep.png"}})
140                 end
141          end,
142
143          custom_on_punch = function(self)
144                 if self.c_mob_data.sheared == false then
145                         self.object:set_properties({textures = {"sheep_head_shaved.png","nothing.png","sheep.png"}})
146                         self.c_mob_data = {sheared=true}
147                         local pos = self.object:get_pos()
148                         pos.y = pos.y + 0.5
149                         minetest.throw_item(pos,{name="weather:snow_block"})
150                 end
151         end
152         }
153 )
154
155 mobs.register_mob(
156         {
157          mobname = "chicken",
158          physical = true,
159          collide_with_objects = false,
160          collisionbox = {-0.225, 0, -0.225, 0.225, 0.675, 0.225},
161          visual = "mesh",
162          visual_size = {x = 3, y = 3},
163          mesh = "chicken.b3d",
164          textures = {
165                  --blank out the first two to create adult pig
166                 "chicken.png"
167          },
168          
169          --these are used to anchor a point to the head position
170
171
172          -----
173          head_bone = "head",
174          debug_head_pos = false,
175          rotational_correction = -math.pi/2,
176          head_directional_offset = 0.2, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
177          head_height_offset = 0.82, --added to the base y position
178          --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
179          head_position_correction = vector.new(0,1.8,-0.89),
180          --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
181          head_coord = "vertical",
182          flip_pitch = true,
183          -----
184          
185          is_visible = true,
186          pointable = true,
187          automatic_face_movement_dir = 90,
188          automatic_face_movement_max_rotation_per_sec = 300,
189          makes_footstep_sound = false,
190          hp = 10,
191          gravity = {x = 0, y = -9.81, z = 0},
192          movement_type = "walk",
193          max_speed = 5,
194          state = 0,
195          view_distance = 15,
196          
197          item_drop = {"mob:egg","mob:feather"}, 
198          standing_frame = {x=20,y=20},
199          moving_frame = {x=0,y=20},
200          animation_multiplier = 15,
201          ----
202          ----
203          death_rotation = "z",
204          
205          hurt_sound = "chicken_hurt",
206          die_sound = "chicken_die",
207          
208          
209          hostile = false,
210          attacked_hostile = false,
211          attack_type = "punch",
212          group_attack = true,
213          --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
214          --explosion_power = 7, -- how big the explosion has to be
215          --explosion_time = 3, -- how long it takes for a mob to explode
216         }
217 )
218
219 mobs.register_mob(
220         {
221          mobname = "snowman",
222          physical = true,
223          collide_with_objects = false,
224          collisionbox = {-0.37, 0, -0.37, 0.37, 1.75, 0.37},
225          visual = "mesh",
226          visual_size = {x = 3, y = 3},
227          mesh = "snowman.b3d",
228          textures = {
229                 "snowman.png","snowman.png","snowman.png","snowman.png","snowman.png","snowman.png",
230          },
231          
232          --these are used to anchor a point to the head position
233
234
235          -----
236          --head_bone = "Bone",
237          debug_head_pos = false,
238          head_directional_offset = 0, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
239          head_height_offset = 1.625, --added to the base y position
240          --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
241          head_position_correction = vector.new(0,4.6,0),
242          --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
243          head_coord = "vertical",
244          --rotational_correction = math.pi/2,
245          -----
246          
247          is_visible = true,
248          pointable = true,
249          automatic_face_movement_dir = -90,
250          automatic_face_movement_max_rotation_per_sec = 300,
251          makes_footstep_sound = false,
252          hp = 10,
253          gravity = {x = 0, y = -9.81, z = 0},
254          movement_type = "walk",
255          max_speed = 5,
256          state = 0,
257          view_distance = 15,
258          
259          item_drop = {"weather:snowball","main:coal","mob:carrot","main:stick"}, 
260          standing_frame = {x=0,y=0},
261          moving_frame = {x=0,y=0},
262          animation_multiplier = 10,
263          ----
264          ----
265          death_rotation = "z",
266          
267          hurt_sound = "wool",
268          die_sound = "wool",
269          
270          
271          hostile = true,
272          attack_type = "projectile",
273          projectile_type = "weather:snowball",
274          projectile_timer_cooldown = 1,
275
276          custom_function = function(self,dtime,moveresult)
277                 if moveresult and moveresult.touching_ground then
278                         local pos = vector.floor(vector.add(self.object:get_pos(),0.5))
279
280                         if self.custom_old_pos and not vector.equals(pos,self.custom_old_pos) then
281                                 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
282                                         minetest.set_node(pos,{name="weather:snow"})
283                                 end
284                         end
285                         self.custom_old_pos = pos
286                 end
287          end,
288
289          custom_timer = 0.75,
290          custom_timer_function = function(self,dtime)
291                 if weather_type and weather_type ~= 1 then
292                         self.object:punch(self.object, 2, 
293                                 {
294                                 full_punch_interval=1.5,
295                                 damage_groups = {damage=2},
296                                 })
297                 end
298          end,
299         }
300 )
301
302 mobs.register_mob(
303         {
304          mobname = "phyg",
305          physical = true,
306          collide_with_objects = false,
307          collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
308          visual = "mesh",
309          visual_size = {x = 3, y = 3},
310          mesh = "phyg.b3d",
311          textures = {
312                  --blank out the first two to create adult pig
313                 "phyg.png","wings.png"
314          },
315          
316          --these are used to anchor a point to the head position
317
318
319          -----
320          head_bone = "head",
321          debug_head_pos = false,
322          head_directional_offset = 0.5, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
323          head_height_offset = 0.8, --added to the base y position
324          --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
325          head_position_correction = vector.new(0,3,-0.5),
326          --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
327          head_coord = "horizontal",
328          -----
329          
330          is_visible = true,
331          pointable = true,
332          automatic_face_movement_dir = 0,
333          automatic_face_movement_max_rotation_per_sec = 300,
334          makes_footstep_sound = false,
335          takes_fall_damage = false,
336          make_jump_noise = false,
337          hp = 10,
338          gravity = {x = 0, y = -1, z = 0},
339          movement_type = "walk",
340          max_speed = 5,
341          state = 0,
342          view_distance = 15,
343          
344          item_drop = "main:gold", 
345          item_minimum = 4,
346          item_max = 5,
347
348          standing_frame = {x=0,y=0},
349          moving_frame = {x=0,y=40},
350          animation_multiplier = 20,
351          ----
352          ----
353          death_rotation = "x",
354          
355          hurt_sound = "pig",
356          die_sound = "pig_die",
357          
358          
359          hostile = false,
360          attacked_hostile = false,
361          attack_type = "punch",
362          group_attack = true,
363          --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
364          --explosion_power = 7, -- how big the explosion has to be
365          --explosion_time = 3, -- how long it takes for a mob to explode
366         }
367 )
368
369
370 mobs.register_mob(
371         {
372         mobname = "big_slime",
373         physical = true,
374         collide_with_objects = false,
375         collisionbox = {-1.25, 0, -1.25, 1.25, 2.5, 1.25},
376         visual = "mesh",
377         visual_size = {x = 15, y = 15},
378         mesh = "slime.b3d",
379         textures = {
380                 "slime.png"
381         },
382         collision_boundary = 2.5,
383         is_visible = true,
384         pointable = true,
385         automatic_face_movement_dir = 90,
386         automatic_face_movement_max_rotation_per_sec = 300,
387         makes_footstep_sound = false,
388         hp = 32,
389         gravity = {x = 0, y = -9.81, z = 0},
390         movement_type = "jump",
391         make_jump_noise = true,
392         max_speed = 5,
393         hostile = true,
394         state = 0,
395         view_distance = 20,
396         death_rotation = "z",
397         hurt_sound = "slime_die",
398         die_sound = "slime_die",
399         attack_type = "punch",
400         attack_damage = 6,
401         custom_on_death = function(self)
402                 local pos = self.object:get_pos()
403                 for i = 1,4 do
404                         minetest.add_entity(pos,"mob:medium_slime")
405                 end
406         end,
407         }
408 )
409
410 mobs.register_mob(
411         {
412         mobname = "medium_slime",
413         physical = true,
414         collide_with_objects = false,
415         collisionbox = {-0.625, 0, -0.625, 0.625, 1.25, 0.625},
416         visual = "mesh",
417         visual_size = {x = 7.5, y = 7.5},
418         mesh = "slime.b3d",
419         textures = {
420                 "slime.png"
421         },
422         is_visible = true,
423         pointable = true,
424         automatic_face_movement_dir = 90,
425         automatic_face_movement_max_rotation_per_sec = 300,
426         makes_footstep_sound = false,
427         hp = 10,
428         gravity = {x = 0, y = -9.81, z = 0},
429         movement_type = "jump",
430         make_jump_noise = true,
431         max_speed = 5,
432         hostile = true,
433         state = 0,
434         view_distance = 20,
435         death_rotation = "z",
436         hurt_sound = "slime_die",
437         die_sound = "slime_die",
438         attack_damage = 2,
439         attack_type = "punch",
440         custom_on_death = function(self)
441                 local pos = self.object:get_pos()
442                 pos.y = pos.y + 0.2
443                 for i = 1,4 do
444                         minetest.add_entity(pos,"mob:small_slime")
445                 end
446         end,
447         }
448 )
449
450 mobs.register_mob(
451         {
452         mobname = "small_slime",
453         physical = true,
454         collide_with_objects = false,
455         collisionbox = {-0.3, 0, -0.3, 0.3, 0.6, 0.3},
456         visual = "mesh",
457         visual_size = {x = 3.7, y = 3.7},
458         mesh = "slime.b3d",
459         textures = {
460                 "slime.png"
461         },
462         is_visible = true,
463         pointable = true,
464         automatic_face_movement_dir = 90,
465         automatic_face_movement_max_rotation_per_sec = 300,
466         makes_footstep_sound = false,
467         hp = 4,
468         gravity = {x = 0, y = -9.81, z = 0},
469         movement_type = "jump",
470         make_jump_noise = true,
471         max_speed = 5,
472         hostile = true,
473         state = 0,
474         view_distance = 20,
475         death_rotation = "z",
476         hurt_sound = "slime_die",
477         die_sound = "slime_die",
478         attack_damage = 1,
479         attack_type = "punch",
480         item_drop = "mob:slimeball"
481         }
482 )
483
484 --[[
485
486
487 mobs.register_mob(
488         {
489          mobname = "creepig",
490          physical = true,
491          collide_with_objects = false,
492          collisionbox = {-0.37, -0.4, -0.37, 0.37, 0.5, 0.37},
493          visual = "mesh",
494          visual_size = {x = 3, y = 3},
495          mesh = "pig.x",
496          textures = {
497                 "creepig_body.png","creepig_leg.png","creepig_leg.png","creepig_leg.png","creepig_leg.png"
498         },
499          is_visible = true,
500          pointable = true,
501          automatic_face_movement_dir = -90.0,
502          automatic_face_movement_max_rotation_per_sec = 300,
503          makes_footstep_sound = false,
504          hp = 10,
505          gravity = {x = 0, y = -9.81, z = 0},
506          movement_type = "walk",
507          max_speed = 4,
508          hostile = true,
509          state = 0,
510          view_distance = 20,
511          item_drop = "mob:cooked_porkchop",
512           
513          standing_frame = {x=0,y=0},
514          moving_frame = {x=5,y=15},
515          animation_multiplier = 5,
516          ----
517           
518          has_head = true, --remove this when mesh based head rotation is implemented
519          head_visual = "mesh",
520          head_visual_size = {x = 1.1, y = 1.1},
521          head_mesh = "pig_head.x",
522          head_textures ={"creepig_head.png","creepig_nose.png"},
523          head_mount = vector.new(0,1.2,1.9),
524          
525          death_rotation = "z",
526          
527          hurt_sound = "pig",
528          die_sound = "pig_die",
529          
530          attack_type = "explode",
531          --projectile_timer_cooldown = 5,
532          --projectile_type = "tnt:tnt",
533          
534          explosion_radius = 2, -- how far away the mob has to be to initialize the explosion
535          explosion_power = 7, -- how big the explosion has to be
536          explosion_time = 5, -- how long it takes for a mob to explode
537          
538          die_in_light = true,
539          die_in_light_level = 12,
540         }
541 )
542
543 ]]--
544
545 mobs.register_mob(
546         {
547          mobname = "creeper",
548          physical = true,
549          collide_with_objects = false,
550          collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
551          visual = "mesh",
552          visual_size = {x = 3.2, y = 3.2},
553          mesh = "creeper.b3d",
554          textures = {
555                 "creeper.png"
556         },
557          is_visible = true,
558          pointable = true,
559          automatic_face_movement_max_rotation_per_sec = 300,
560          makes_footstep_sound = false,
561          hp = 27,
562          gravity = {x = 0, y = -9.81, z = 0},
563          movement_type = "walk",
564          max_speed = 5.5,
565          hostile = true,
566          hostile_cooldown = false,
567          state = 0,
568          view_distance = 32,
569          item_drop = "mob:gunpowder",
570           
571          standing_frame = {x=0,y=0},
572          moving_frame = {x=0,y=40},
573          animation_multiplier = 20,
574          ----
575          pathfinds = true,
576          
577          --these are used to anchor a point to the head position
578          -----
579          automatic_face_movement_dir = 0,
580          head_bone = "head",
581          debug_head_pos = false,
582          --this always has to be slightly positive
583          head_directional_offset = 0.01,
584          head_height_offset = 1.45, --added to the base y position
585          --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
586          head_position_correction = vector.new(0,2.4,0),
587          head_coord = "vertical",
588          -----
589           
590          
591          death_rotation = "x",
592          
593          hurt_sound = "creeper_hurt",
594          die_sound = "creeper_hurt",
595          
596          attack_type = "explode",
597          --projectile_timer_cooldown = 5,
598          --projectile_type = "tnt:tnt",
599          
600          explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
601          explosion_power = 4, -- how big the explosion has to be
602          explosion_time = 3, -- how long it takes for a mob to explode
603          
604          die_in_light = false,
605          --die_in_light_level = 12,
606         }
607 )
608
609
610
611 mobs.register_mob(
612         {
613          mobname = "nitro_creeper",
614          physical = true,
615          collide_with_objects = false,
616          collisionbox = {-0.37,0, -0.37, 0.37, 1.5, 0.37},
617          visual = "mesh",
618          visual_size = {x = 3.2, y = 3.2},
619          mesh = "creeper.b3d",
620          textures = {
621                 "nitro_creeper.png"
622         },
623          is_visible = true,
624          pointable = true,
625          automatic_face_movement_max_rotation_per_sec = 300,
626          makes_footstep_sound = false,
627          hp = 40,
628          gravity = {x = 0, y = -9.81, z = 0},
629          movement_type = "walk",
630          max_speed = 9,
631          hostile = true,
632          hostile_cooldown = false,
633          state = 0,
634          view_distance = 40,
635          item_drop = "mob:gunpowder",
636
637          damage_color = "blue",
638           
639          standing_frame = {x=0,y=0},
640          moving_frame = {x=0,y=40},
641          animation_multiplier = 20,
642          ----
643          pathfinds = true,
644          
645          --these are used to anchor a point to the head position
646          -----
647          automatic_face_movement_dir = 0,
648          head_bone = "head",
649          debug_head_pos = false,
650          --this always has to be slightly positive
651          head_directional_offset = 0.01,
652          head_height_offset = 1.45, --added to the base y position
653          --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
654          head_position_correction = vector.new(0,2.4,0),
655          head_coord = "vertical",
656          -----
657           
658          
659          death_rotation = "x",
660          
661          hurt_sound = "creeper_hurt",
662          die_sound = "creeper_hurt",
663          
664          attack_type = "explode",
665          --projectile_timer_cooldown = 5,
666          --projectile_type = "tnt:tnt",
667          
668          explosion_radius = 6, -- how far away the mob has to be to initialize the explosion
669          explosion_power = 14, -- how big the explosion is (radius)
670          explosion_time = 3, -- how long it takes for a mob to explode
671          explosion_blink_timer = 0.1, -- how fast the blinking happens
672          
673          die_in_light = false,
674          --die_in_light_level = 12,
675         }
676 )
677
678
679 mobs.register_mob(
680         {
681          mobname = "spider",
682          physical = true,
683          collide_with_objects = false,
684          collisionbox = {-0.37, 0, -0.37, 0.37, 0.85, 0.37},
685          visual = "mesh",
686          visual_size = {x = 3, y = 3},
687          mesh = "spider.b3d",
688          textures = {
689                 "spider.png"
690          },
691          
692          --these are used to anchor a point to the head position
693          -----
694          head_bone = "body.head",
695          debug_head_pos = false,
696          rotational_correction = -math.pi/2,
697          head_directional_offset = 0.3, --used in vector.multiply(minetest.yaw_to_dir(body_yaw),head_offset)
698          head_height_offset = 0.63, --added to the base y position
699          --use this to correct the head position initially because it becomes severly offset - look at your blender model to get this perfect
700          head_position_correction = vector.new(0,1.24,0),
701          --this is used to tell the game the orientation of the bone (swaps x to and y, then z and y)
702          head_coord = "horizontal",
703          -----
704          
705          is_visible = true,
706          pointable = true,
707          automatic_face_movement_dir = 90,
708          automatic_face_movement_max_rotation_per_sec = 300,
709          makes_footstep_sound = false,
710          hp = 30,
711          gravity = {x = 0, y = -9.81, z = 0},
712          movement_type = "walk",
713          max_speed = 6,
714          state = 0,
715          view_distance = 32,
716          
717          item_drop = "mob:string", 
718          standing_frame = {x=21,y=21},
719          moving_frame = {x=0,y=20},
720          animation_multiplier = 20,
721          ----
722          ----
723          death_rotation = "z",
724          
725          hurt_sound = "spider",
726          die_sound = "spider_die",
727          
728          
729          pathfinds = true,
730
731          hostile = true,
732          friendly_in_daylight = true,
733          attacked_hostile = true,
734          attack_damage = 3,
735          attack_type = "punch",
736          group_attack = true,
737
738          custom_on_activate = function(self)
739                 if math.random() > 0.998 then
740                         local obj = minetest.add_entity(self.object:get_pos(),"mob:pig")
741                         local obj2 = minetest.add_entity(self.object:get_pos(),"tnt:tnt")
742                         local obj3 = minetest.add_entity(self.object:get_pos(),"boat:boat")
743
744                         obj2:get_luaentity().timer = 7
745                         obj2:get_luaentity().radius = 7
746
747                         obj:set_attach(self.object,"",vector.new(0,3,0),vector.new(0,90,0))
748                         obj2:set_attach(obj,"",vector.new(0,4.5,0),vector.new(0,90,0))
749                         obj3:set_attach(obj2,"",vector.new(0,6.5,0),vector.new(0,0,0))
750
751                         obj:set_properties({visual_size={x=1,y=1}})
752                         obj2:set_properties({visual_size={x=1/3,y=1/3}})
753                 end
754          end
755          --explosion_radius = 4, -- how far away the mob has to be to initialize the explosion
756          --explosion_power = 7, -- how big the explosion has to be
757          --explosion_time = 3, -- how long it takes for a mob to explode
758         }
759 )