2 --################### ENDERDRAGON
5 local S
= minetest
.get_translator("mobs_mc")
7 mobs
:register_mob("mobs_mc:enderdragon", {
10 attacks_animals
= true,
14 collisionbox
= {-2, 3, -2, 2, 5, 2},
17 mesh
= "mobs_mc_dragon.b3d",
19 {"mobs_mc_dragon.png"},
21 visual_size
= {x
=3, y
=3},
27 shoot_attack
= "mobs_mc_ender_dragon_shoot",
28 attack
= "mobs_mc_ender_dragon_attack",
37 dogshoot_count_max
=5,
38 dogshoot_count2_max
= 5,
40 attack_animals
= true,
42 {name
= mobs_mc
.items
.dragon_egg
,
50 attack_type
= "dogshoot",
51 arrow
= "mobs_mc:dragon_fireball",
55 fly_speed
= 8, stand_speed
= 8,
56 stand_start
= 0, stand_end
= 20,
57 walk_start
= 0, walk_end
= 20,
58 run_start
= 0, run_end
= 20,
61 ignores_nametag
= true,
65 local mobs_griefing
= minetest
.settings
:get_bool("mobs_griefing") ~= false
67 -- dragon fireball (projectile)
68 mobs
:register_arrow("mobs_mc:dragon_fireball", {
70 visual_size
= {x
= 1.25, y
= 1.25},
71 textures
= {"mobs_mc_dragon_fireball.png"},
74 -- direct hit, no fire... just plenty of pain
75 hit_player
= function(self
, player
)
76 player
:punch(self
.object
, 1.0, {
77 full_punch_interval
= 0.5,
78 damage_groups
= {fleshy
= 12},
82 hit_mob
= function(self
, mob
)
83 minetest
.sound_play("tnt_explode", {pos
= mob
:get_pos(), gain
= 1.5, max_hear_distance
= 2*64}, true)
84 mob
:punch(self
.object
, 1.0, {
85 full_punch_interval
= 0.5,
86 damage_groups
= {fleshy
= 12},
91 hit_node
= function(self
, pos
, node
)
92 mobs
:boom(self
, pos
, 2)
96 mobs
:register_egg("mobs_mc:enderdragon", S("Ender Dragon"), "mobs_mc_spawn_icon_dragon.png", 0, true)