123 lines
4.1 KiB
Lua
123 lines
4.1 KiB
Lua
-- Not animated
|
|
---------------
|
|
|
|
-- Green Snake
|
|
worm.register_worm("worm", "snake", {
|
|
face_texture = "snake_face.png",
|
|
side_texture = "snake_side.png",
|
|
tail_texture = "snake_tail.png",
|
|
attack_texture = "snake_attack.png",
|
|
attack_damage = {fleshy = 8},
|
|
follow_objects = "winding",
|
|
follow_nodes = "group:swallowable",
|
|
can_move = function(_, node)
|
|
return minetest.registered_nodes[node.name].buildable_to
|
|
end,
|
|
})
|
|
|
|
-- Black Snake
|
|
worm.register_worm("worm", "black_snake", {
|
|
face_texture = "snake_face_black.png",
|
|
side_texture = "snake_side_yellow_black.png",
|
|
tail_texture = "snake_tail_black.png",
|
|
attack_texture = "snake_face_black.png",
|
|
attack_damage = {fleshy = 8},
|
|
follow_objects = "straight",
|
|
can_move = function(_, node)
|
|
return minetest.registered_nodes[node.name].buildable_to
|
|
end,
|
|
})
|
|
|
|
-- Eel
|
|
local spawn_in = "air"
|
|
if default then
|
|
spawn_in = "default:water_source"
|
|
end
|
|
worm.register_worm("worm", "eel", {
|
|
leftover = "mapgen_water_source",
|
|
spawn_in = spawn_in,
|
|
walking_steps = 1,
|
|
face_texture = "eel_face.png",
|
|
side_texture = "eel_side.png",
|
|
left_texture = "eel_side.png^[transform6",
|
|
tail_texture = "eel_tail.png",
|
|
top_texture = "eel_top.png",
|
|
bottem_texture = "eel_bottem.png",
|
|
can_move = function(_, node)
|
|
return minetest.get_node_group(node.name, "water") > 0
|
|
end,
|
|
flying = true,
|
|
})
|
|
|
|
-- Animated
|
|
-----------
|
|
local anm = {
|
|
type = "vertical_frames",
|
|
aspect_w = 16,
|
|
aspect_h = 16,
|
|
length = 3.0,
|
|
}
|
|
|
|
-- Nyancat
|
|
worm.register_worm("worm", "nyancat", {
|
|
inventory_image = "nyancat_front.png",
|
|
side_tile = {name = "nyancat_rainbow_animated.png", animation = anm},
|
|
left_tile = {name = "nyancat_rainbow_animated.png", animation = anm},
|
|
top_tile = {name = "nyancat_rainbow_animated_b.png", animation = anm},
|
|
bottem_tile = {name = "nyancat_rainbow_animated_b.png", animation = anm},
|
|
face_tile = {name = "nyancat_front_animated.png", animation = anm},
|
|
tail_tile = {name = "nyancat_rainbow_animated.png", animation = anm},
|
|
flying = true,
|
|
})
|
|
|
|
-- Worm
|
|
worm.register_worm("worm", "worm", {
|
|
leftover = "mapgen_dirt",
|
|
inventory_image = "worm_face.png",
|
|
side_tile = {name = "worm_side_animated.png", animation = anm},
|
|
left_tile = {name = "worm_side_animated.png^[transform62", animation = anm},
|
|
top_tile = {name = "worm_top_animated.png", animation = anm},
|
|
bottem_tile = {name = "worm_bottem_animated.png", animation = anm},
|
|
face_tile = {name = "worm_face_animated.png", animation = anm},
|
|
tail_tile = "worm_tail.png",
|
|
attack_damage = {fleshy = 8},
|
|
can_move = function(_, node)
|
|
local name = node.name
|
|
return minetest.registered_nodes[name].buildable_to or
|
|
minetest.get_node_group(name, "crumbly") >= 3
|
|
end,
|
|
})
|
|
|
|
-- Worm
|
|
worm.register_worm("worm", "caterpillar", {
|
|
face_texture = "caterpillar_face.png",
|
|
side_tile = {name = "caterpillar_side_animated.png", animation = anm},
|
|
left_tile = {name = "caterpillar_side_animated.png^[transform62", animation = anm},
|
|
top_tile = {name = "caterpillar_top_animated.png", animation = anm},
|
|
bottem_tile = {name = "caterpillar_bottem_animated.png", animation = anm},
|
|
tail_tile = "caterpillar_tail.png",
|
|
follow_nodes = {"group:swallowable", "group:leaves"},
|
|
can_move = function(_, node)
|
|
local name = node.name
|
|
return minetest.registered_nodes[name].buildable_to or
|
|
minetest.get_node_group(name, "snappy") >= 3
|
|
end,
|
|
})
|
|
|
|
-- Worm
|
|
worm.register_worm("worm", "maggot", {
|
|
face_texture = "maggot_face.png",
|
|
side_tile = {name = "maggot_side_animated.png", animation = anm},
|
|
left_tile = {name = "maggot_side_animated.png^[transform62", animation = anm},
|
|
top_tile = {name = "maggot_top_animated.png", animation = anm},
|
|
bottem_tile = {name = "maggot_bottem_animated.png", animation = anm},
|
|
tail_tile = "maggot_tail.png",
|
|
walking_steps = 8,
|
|
follow_nodes = {"group:swallowable", "group:wood"},
|
|
node_damage = 4,
|
|
can_move = function(_, node)
|
|
local name = node.name
|
|
return minetest.registered_nodes[name].buildable_to or
|
|
minetest.get_node_group(name, "choppy") >= 2
|
|
end,
|
|
}) |