Compare commits

...

10 Commits

Author SHA1 Message Date
SFENCE
9de179e120 Configurable variants of selection boxes. 2024-03-19 17:21:18 +01:00
SFENCE
3a6cde508c Add setting for disable registration of fossilized skeleteons or/and of skeletons models. Update mod.conf. 2023-01-29 15:32:54 +01:00
SFENCE
efaa17d50e Add Animalia support. 2023-01-29 15:17:28 +01:00
SFENCE
1d297f11a3 Add luacheck. 2023-01-14 20:58:47 +01:00
sfence
04cf46c8bf
Merge pull request #3 from Awkanimus/fix-crash-no-player_inv
Non-hades bones grab a fresh inventory ref avoiding nil
2023-01-14 20:44:30 +01:00
Awkanimus
0f59a07c1c Non-hades bones grab a fresh inventory ref avoiding nil 2023-01-14 13:51:57 +00:00
SFENCE
abd21002c4 Updated version of help scripts for generation node boxes. 2022-12-22 20:02:18 +01:00
SFENCE
b0452d5261 Fix missing is_owner local functions. Copy is_owner functionality into code. 2022-12-22 20:01:36 +01:00
sfence
691f4ba8f5
Merge pull request #2 from Awkanimus/main
Expand bones ownership check to avoid hades_bones fn
2022-12-22 19:46:46 +01:00
Awkanimus
cf202f85af Expand bones ownership check to avoid hades fn 2022-12-21 17:45:03 -05:00
44 changed files with 1686 additions and 67 deletions

36
.luacheckrc Normal file
View File

@ -0,0 +1,36 @@
ignore = {
-- only spaces on lines
"611",
-- two long line
"631",
-- ignore unused self argument
"212/self",
-- ignore arguments with _ prefix
"21/_.*",
}
read_globals = {
-- minetest
"AreaStore",
"dump",
"minetest",
"vector",
"VoxelManip",
"VoxelArea",
"ItemStack",
-- special minetest functions
"table.copy",
"math.round",
-- mods
"default",
"hades_sounds",
"sounds",
}
globals = {
"skeletons",
}
exclude_files = {
"data/",
}

86
animals/bat_skeleton.lua Normal file
View File

@ -0,0 +1,86 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box = {
type = "fixed",
fixed = {
{-0.0625,-0.125,-0.5,0.0,-0.0625,-0.4375},
{-0.0625,-0.1875,-0.4375,0.0,-0.125,-0.375},
{-0.0625,-0.0625,-0.4375,0.0,0.0,-0.125},
{-0.0625,-0.25,-0.375,0.0,-0.1875,-0.1875},
{-0.125,-0.125,-0.375,-0.0625,0.0,-0.3125},
{0.0,-0.125,-0.375,0.0625,0.0,-0.3125},
{-0.125,-0.5,-0.3125,-0.0625,-0.4375,-0.1875},
{0.0,-0.5,-0.3125,0.0625,-0.4375,-0.1875},
{-0.125,-0.1875,-0.3125,-0.0625,-0.125,-0.25},
{0.0,-0.1875,-0.3125,0.0625,-0.125,-0.25},
{-0.125,-0.4375,-0.25,-0.0625,-0.375,-0.1875},
{0.0,-0.4375,-0.25,0.0625,-0.375,-0.1875},
{-0.3125,-0.375,-0.25,-0.1875,-0.3125,-0.1875},
{0.125,-0.375,-0.25,0.25,-0.3125,-0.1875},
{-0.0625,-0.1875,-0.25,0.0,-0.125,-0.125},
{-0.125,-0.125,-0.25,-0.0625,0.0,-0.125},
{0.0,-0.125,-0.25,0.0625,0.0,-0.125},
{-0.375,-0.375,-0.1875,-0.3125,-0.3125,0.5},
{0.25,-0.375,-0.1875,0.3125,-0.3125,0.5},
{-0.25,-0.3125,-0.1875,-0.1875,-0.25,-0.125},
{0.125,-0.3125,-0.1875,0.1875,-0.25,-0.125},
{-0.0625,-0.125,-0.1875,0.0,-0.0625,-0.0625},
{-0.1875,-0.25,-0.125,-0.125,-0.1875,0.0},
{0.0,-0.25,-0.125,0.125,-0.1875,-0.0625},
{-0.125,-0.1875,-0.125,-0.0625,-0.125,-0.0625},
{0.0,-0.1875,-0.125,0.0625,-0.125,-0.0625},
{-0.125,-0.3125,-0.0625,0.0625,-0.25,0.0},
{0.0625,-0.25,-0.0625,0.125,-0.0625,0.0},
{-0.1875,-0.1875,-0.0625,-0.125,-0.0625,0.0},
{-0.125,-0.125,-0.0625,-0.0625,-0.0625,0.0},
{0.0,-0.125,-0.0625,0.0625,-0.0625,0.0},
{-0.1875,-0.5,0.0,-0.125,-0.4375,0.1875},
{0.0625,-0.5,0.0,0.125,-0.4375,0.1875},
{-0.0625,-0.1875,0.0,0.0,-0.125,0.0625},
{-0.125,-0.3125,0.0625,0.0625,-0.25,0.125},
{-0.1875,-0.25,0.0625,-0.125,-0.125,0.125},
{0.0625,-0.25,0.0625,0.125,-0.125,0.125},
{-0.125,-0.1875,0.0625,-0.0625,-0.125,0.125},
{0.0,-0.1875,0.0625,0.0625,-0.125,0.125},
{-0.375,-0.4375,0.125,-0.3125,-0.375,0.1875},
{-0.1875,-0.4375,0.125,-0.125,-0.375,0.1875},
{0.0625,-0.4375,0.125,0.125,-0.375,0.1875},
{0.25,-0.4375,0.125,0.3125,-0.375,0.1875},
{-0.375,-0.3125,0.125,-0.3125,-0.25,0.1875},
{0.25,-0.3125,0.125,0.3125,-0.25,0.1875},
{-0.0625,-0.1875,0.125,0.0,-0.125,0.1875},
{-0.375,-0.5,0.1875,-0.3125,-0.4375,0.5},
{0.25,-0.5,0.1875,0.3125,-0.4375,0.5},
{-0.1875,-0.375,0.1875,-0.125,-0.3125,0.25},
{0.0625,-0.375,0.1875,0.125,-0.3125,0.25},
{-0.375,-0.25,0.1875,-0.3125,-0.1875,0.5},
{0.25,-0.25,0.1875,0.3125,-0.1875,0.5},
{-0.0625,-0.4375,0.25,0.0,-0.375,0.3125},
{-0.125,-0.375,0.25,-0.0625,-0.25,0.3125},
{0.0,-0.375,0.25,0.0625,-0.25,0.3125},
{-0.0625,-0.25,0.25,0.0,-0.1875,0.3125},
{-0.375,-0.1875,0.25,-0.3125,-0.125,0.3125},
{0.25,-0.1875,0.25,0.3125,-0.125,0.3125},
{-0.0625,-0.3125,0.3125,0.0,-0.25,0.375},
{-0.375,-0.125,0.3125,-0.3125,-0.0625,0.375},
{0.25,-0.125,0.3125,0.3125,-0.0625,0.375},
},
}
skeletons.register_skeleton("bat_skeleton", S("bat skeleton"), node_box)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:bat"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:bat"]
end
if entity then
entity.drops = entity.drops or {}
table.insert(entity.drops, {name = "skeletons:fresh_bat_skeleton", chance = 1, min = 1, max = 1})
end
end

61
animals/bird_skeleton.lua Normal file
View File

@ -0,0 +1,61 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box = {
type = "fixed",
fixed = {
{0.0,-0.3125,-0.4375,0.0625,-0.25,-0.3125},
{0.0,-0.1875,-0.4375,0.0625,-0.125,-0.375},
{-0.0625,-0.25,-0.375,0.125,-0.1875,-0.25},
{-0.0625,-0.1875,-0.375,0.0,-0.125,-0.25},
{0.0625,-0.1875,-0.375,0.125,-0.125,-0.25},
{0.0,-0.125,-0.375,0.0625,-0.0625,-0.25},
{-0.0625,-0.125,-0.3125,0.0,-0.0625,-0.25},
{0.0625,-0.125,-0.3125,0.125,-0.0625,-0.25},
{0.0,-0.3125,-0.1875,0.0625,-0.25,-0.125},
{-0.0625,-0.25,-0.1875,0.0,-0.125,-0.125},
{0.0625,-0.25,-0.1875,0.125,-0.125,-0.125},
{-0.125,-0.1875,-0.1875,-0.0625,-0.125,-0.125},
{0.125,-0.1875,-0.1875,0.1875,-0.125,-0.125},
{0.0,-0.125,-0.1875,0.0625,-0.0625,-0.125},
{-0.25,-0.1875,-0.125,-0.125,-0.125,-0.0625},
{0.1875,-0.1875,-0.125,0.3125,-0.125,-0.0625},
{-0.0625,-0.5,-0.0625,0.0,-0.4375,0.0625},
{0.0625,-0.5,-0.0625,0.125,-0.4375,0.0625},
{0.0,-0.3125,-0.0625,0.0625,-0.25,0.0},
{-0.0625,-0.25,-0.0625,0.0,-0.125,0.0},
{0.0625,-0.25,-0.0625,0.125,-0.125,0.0},
{-0.3125,-0.1875,-0.0625,-0.25,-0.125,0.0},
{-0.1875,-0.1875,-0.0625,-0.125,-0.125,0.0},
{0.1875,-0.1875,-0.0625,0.25,-0.125,0.0},
{0.3125,-0.1875,-0.0625,0.375,-0.125,0.0},
{0.0,-0.125,-0.0625,0.0625,-0.0625,0.0},
{-0.0625,-0.4375,0.0,0.0,-0.25,0.0625},
{0.0625,-0.4375,0.0,0.125,-0.25,0.0625},
{-0.375,-0.1875,0.0,-0.3125,-0.125,0.125},
{-0.25,-0.1875,0.0,-0.1875,-0.125,0.125},
{0.25,-0.1875,0.0,0.3125,-0.125,0.125},
{0.375,-0.1875,0.0,0.4375,-0.125,0.125},
{0.0,-0.1875,0.0625,0.0625,-0.125,0.125},
{-0.3125,-0.1875,0.125,-0.25,-0.125,0.1875},
{0.3125,-0.1875,0.125,0.375,-0.125,0.1875},
{0.0,-0.25,0.1875,0.0625,-0.1875,0.25},
},
}
skeletons.register_skeleton("bird_skeleton", S("bird skeleton"), node_box)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:bird"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:bird"]
end
if entity then
entity.drops = entity.drops or {}
table.insert(entity.drops, {name = "skeletons:fresh_bird_skeleton", chance = 1, min = 1, max = 1})
end
end

View File

@ -61,4 +61,14 @@ if skeletons.have_animal then
table.insert(entity.drops, {name = "skeletons:fresh_chicken_skeleton", chance = 1, min = 1, max = 1})
end
end
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:chicken"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:chicken"]
end
if entity then
table.insert(entity.drops, {name = "skeletons:fresh_chicken_skeleton", chance = 1, min = 1, max = 1})
end
end

View File

@ -2,7 +2,7 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=1, z=0}
node_box_head = {
local node_box_head = {
type = "fixed",
fixed = {
{-0.125,-0.4375,-0.125,0.0625,-0.375,0.1875},
@ -36,7 +36,7 @@ node_box_head = {
},
}
-- node box {x=0, y=0, z=1}
node_box_front_bottom = {
local node_box_front_bottom = {
type = "fixed",
fixed = {
{-0.4375,0.25,-0.4375,-0.3125,0.3125,-0.3125},
@ -102,7 +102,7 @@ node_box_front_bottom = {
},
}
-- node box {x=0, y=0, z=2}
node_box_back_bottom = {
local node_box_back_bottom = {
type = "fixed",
fixed = {
{-0.375,-0.5,0.0,-0.3125,-0.375,0.125},
@ -131,7 +131,7 @@ node_box_back_bottom = {
},
}
-- node box {x=0, y=1, z=1}
node_box_front_top = {
local node_box_front_top = {
type = "fixed",
fixed = {
{-0.125,-0.5,-0.4375,0.0625,-0.4375,-0.375},
@ -217,7 +217,7 @@ node_box_front_top = {
},
}
-- node box {x=0, y=1, z=2}
node_box_back_top = {
local node_box_back_top = {
type = "fixed",
fixed = {
{-0.125,-0.25,-0.4375,0.0625,-0.1875,-0.375},
@ -294,4 +294,18 @@ if skeletons.have_animal then
table.insert(entity.drops, {name = "skeletons:fresh_cow_skeleton_back_top", chance = 1, min = 1, max = 1})
end
end
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:cow"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:cow"]
end
if entity then
table.insert(entity.drops, {name = "skeletons:fresh_cow_skeleton_head", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_cow_skeleton_front_bottom", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_cow_skeleton_front_top", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_cow_skeleton_back_bottom", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_cow_skeleton_back_top", chance = 1, min = 1, max = 1})
end
end

92
animals/frog_skeleton.lua Normal file
View File

@ -0,0 +1,92 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box = {
type = "fixed",
fixed = {
{-0.1875,-0.5,-0.5,-0.0625,-0.4375,-0.4375},
{0.0,-0.5,-0.5,0.125,-0.4375,-0.4375},
{-0.25,-0.5,-0.4375,-0.1875,-0.4375,-0.25},
{0.125,-0.5,-0.4375,0.1875,-0.4375,-0.25},
{-0.125,-0.3125,-0.4375,0.0625,-0.25,-0.375},
{-0.125,-0.1875,-0.4375,0.0625,-0.125,-0.375},
{-0.125,-0.125,-0.4375,-0.0625,-0.0625,-0.375},
{0.0,-0.125,-0.4375,0.0625,-0.0625,-0.375},
{-0.3125,-0.5,-0.375,-0.25,-0.4375,-0.3125},
{-0.1875,-0.5,-0.375,-0.0625,-0.4375,-0.3125},
{0.0,-0.5,-0.375,0.125,-0.4375,-0.3125},
{0.1875,-0.5,-0.375,0.25,-0.4375,-0.3125},
{-0.375,-0.4375,-0.375,-0.3125,-0.375,-0.1875},
{0.25,-0.4375,-0.375,0.3125,-0.375,-0.1875},
{-0.1875,-0.3125,-0.375,-0.125,-0.25,-0.1875},
{0.0625,-0.3125,-0.375,0.125,-0.25,-0.1875},
{-0.1875,-0.1875,-0.375,-0.125,-0.125,-0.1875},
{0.0625,-0.1875,-0.375,0.125,-0.125,-0.1875},
{-0.125,-0.0625,-0.375,0.0625,0.0,-0.1875},
{-0.1875,-0.5,-0.25,-0.0625,-0.4375,-0.1875},
{0.0,-0.5,-0.25,0.125,-0.4375,-0.1875},
{-0.0625,-0.3125,-0.25,0.0,-0.25,0.0625},
{-0.1875,-0.125,-0.25,-0.125,-0.0625,-0.1875},
{0.0625,-0.125,-0.25,0.125,-0.0625,-0.1875},
{-0.375,-0.375,-0.1875,-0.3125,-0.3125,-0.125},
{0.25,-0.375,-0.1875,0.3125,-0.3125,-0.125},
{-0.1875,-0.25,-0.1875,-0.0625,-0.1875,-0.125},
{0.0,-0.25,-0.1875,0.125,-0.1875,-0.125},
{-0.3125,-0.375,-0.125,-0.25,-0.1875,-0.0625},
{0.1875,-0.375,-0.125,0.25,-0.1875,-0.0625},
{-0.25,-0.1875,-0.125,-0.1875,0.0,-0.0625},
{0.125,-0.1875,-0.125,0.1875,0.0,-0.0625},
{-0.1875,-0.0625,-0.125,0.125,0.0,-0.0625},
{-0.1875,-0.5,-0.0625,-0.125,-0.4375,0.5},
{0.0625,-0.5,-0.0625,0.125,-0.4375,0.5},
{-0.1875,-0.25,-0.0625,-0.0625,-0.1875,0.0},
{0.0,-0.25,-0.0625,0.125,-0.1875,0.0},
{-0.25,-0.0625,-0.0625,-0.125,0.0,0.0},
{0.0625,-0.0625,-0.0625,0.1875,0.0,0.0},
{-0.3125,-0.5,0.0,-0.25,-0.4375,0.125},
{-0.0625,-0.5,0.0,0.0,-0.4375,0.125},
{0.1875,-0.5,0.0,0.25,-0.4375,0.125},
{-0.1875,-0.375,0.0,-0.125,-0.25,0.0625},
{0.0625,-0.375,0.0,0.125,-0.25,0.0625},
{-0.125,-0.0625,0.0,0.0625,0.0,0.0625},
{-0.1875,-0.4375,0.0625,-0.125,-0.375,0.4375},
{0.0625,-0.4375,0.0625,0.125,-0.375,0.4375},
{-0.1875,-0.3125,0.0625,-0.125,-0.25,0.25},
{0.0625,-0.3125,0.0625,0.125,-0.25,0.25},
{-0.1875,-0.0625,0.0625,-0.125,0.0,0.1875},
{-0.0625,-0.0625,0.0625,0.0,0.0,0.4375},
{0.0625,-0.0625,0.0625,0.125,0.0,0.1875},
{-0.25,-0.5,0.125,-0.1875,-0.4375,0.25},
{-0.125,-0.5,0.125,-0.0625,-0.4375,0.25},
{0.0,-0.5,0.125,0.0625,-0.4375,0.25},
{0.125,-0.5,0.125,0.1875,-0.4375,0.25},
{-0.1875,-0.125,0.1875,-0.125,-0.0625,0.3125},
{0.0625,-0.125,0.1875,0.125,-0.0625,0.3125},
{-0.1875,-0.25,0.25,-0.125,-0.1875,0.3125},
{0.0,-0.25,0.25,0.125,-0.1875,0.3125},
{-0.125,-0.25,0.3125,-0.0625,-0.1875,0.5},
{0.0,-0.25,0.3125,0.0625,-0.1875,0.5},
{-0.1875,-0.1875,0.3125,-0.125,-0.125,0.375},
{0.0625,-0.1875,0.3125,0.125,-0.125,0.375},
{-0.125,-0.1875,0.375,-0.0625,-0.125,0.4375},
{0.0,-0.1875,0.375,0.0625,-0.125,0.4375},
{-0.0625,-0.1875,0.4375,0.0,-0.125,0.5},
},
}
skeletons.register_skeleton("frog_skeleton", S("frog skeleton"), node_box)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:frog"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:frog"]
end
if entity then
entity.drops = entity.drops or {}
table.insert(entity.drops, {name = "skeletons:fresh_frog_skeleton", chance = 1, min = 1, max = 1})
end
end

View File

@ -1,8 +1,8 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=1, z=0}
node_box_head = {
local node_box_head = {
type = "fixed",
fixed = {
{-0.0625,-0.5,-0.3125,0.0,-0.3125,-0.25},
@ -53,7 +53,7 @@ node_box_head = {
}
-- node box {x=0, y=0, z=1}
node_box_front_bottom = {
local node_box_front_bottom = {
type = "fixed",
fixed = {
{-0.4375,0.25,-0.5,-0.3125,0.375,-0.375},
@ -146,7 +146,7 @@ node_box_front_bottom = {
},
}
-- node box {x=0, y=0, z=2}
node_box_back_bottom = {
local node_box_back_bottom = {
type = "fixed",
fixed = {
{-0.1875,0.3125,-0.5,-0.125,0.375,-0.375},
@ -184,7 +184,7 @@ node_box_back_bottom = {
},
}
-- node box {x=0, y=1, z=1}
node_box_front_top = {
local node_box_front_top = {
type = "fixed",
fixed = {
{-0.375,-0.5,-0.4375,-0.3125,-0.4375,-0.375},
@ -286,7 +286,7 @@ node_box_front_top = {
},
}
-- node box {x=0, y=1, z=2}
node_box_back_top = {
local node_box_back_top = {
type = "fixed",
fixed = {
{-0.3125,-0.5,-0.4375,-0.25,-0.4375,-0.375},
@ -354,7 +354,7 @@ skeletons.register_skeleton("horse_skeleton_back_bottom", S("part of horse skele
skeletons.register_skeleton("horse_skeleton_back_top", S("part of horse skeleton"), node_box_back_top)
-- add bone drop
if skeletons.have_animal then
if skeletons.have_horse then
local entity = minetest.registered_entities["mob_horse:horse"]
if (not entity) then
entity = minetest.registered_entities["hades_horse:horse"]
@ -368,4 +368,18 @@ if skeletons.have_animal then
table.insert(entity.drops, {name = "skeletons:fresh_horse_skeleton_back_top", chance = 1, min = 1, max = 1})
end
end
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:horse"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:horse"]
end
if entity then
table.insert(entity.drops, {name = "skeletons:fresh_horse_skeleton_head", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_horse_skeleton_front_bottom", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_horse_skeleton_front_top", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_horse_skeleton_back_bottom", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_horse_skeleton_back_top", chance = 1, min = 1, max = 1})
end
end

View File

@ -66,4 +66,16 @@ if skeletons.have_animal then
table.insert(entity.drops, {name = "skeletons:fresh_kitten_skeleton", chance = 1, min = 1, max = 1})
end
end
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:cat"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:cat"]
end
if entity then
entity.drops = entity.drops or {}
table.insert(entity.drops, {name = "skeletons:fresh_kitten_skeleton", chance = 1, min = 1, max = 1})
end
end

134
animals/pig_skeleton.lua Normal file
View File

@ -0,0 +1,134 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box_front = {
type = "fixed",
fixed = {
{-0.0625,-0.0625,-0.5,0.0625,0.0,-0.25},
{-0.125,0.0,-0.5,-0.0625,0.0625,-0.1875},
{0.0625,0.0,-0.5,0.125,0.0625,-0.1875},
{-0.0625,0.0625,-0.5,0.0625,0.125,-0.4375},
{-0.1875,-0.0625,-0.4375,-0.0625,0.0,-0.375},
{0.0625,-0.0625,-0.4375,0.1875,0.0,-0.375},
{-0.125,0.0625,-0.4375,-0.0625,0.125,-0.1875},
{0.0625,0.0625,-0.4375,0.125,0.125,-0.1875},
{-0.0625,0.125,-0.4375,0.0625,0.1875,-0.3125},
{-0.125,0.1875,-0.3125,0.125,0.25,-0.25},
{-0.0625,0.0,-0.25,0.0625,0.0625,-0.1875},
{-0.125,0.125,-0.25,-0.0625,0.1875,-0.125},
{0.0625,0.125,-0.25,0.125,0.1875,-0.125},
{-0.1875,0.1875,-0.25,-0.125,0.3125,-0.1875},
{0.125,0.1875,-0.25,0.1875,0.3125,-0.1875},
{-0.125,0.25,-0.25,0.125,0.3125,-0.1875},
{-0.25,-0.5,-0.1875,-0.125,-0.4375,-0.125},
{0.125,-0.5,-0.1875,0.25,-0.4375,-0.125},
{-0.0625,0.0625,-0.1875,0.0625,0.125,-0.125},
{-0.125,0.1875,-0.1875,0.125,0.25,-0.125},
{-0.25,-0.4375,-0.125,-0.125,-0.375,-0.0625},
{0.125,-0.4375,-0.125,0.25,-0.375,-0.0625},
{-0.25,-0.375,-0.0625,-0.125,-0.3125,0.0},
{0.125,-0.375,-0.0625,0.25,-0.3125,0.0},
{-0.0625,0.0,-0.0625,0.0625,0.125,0.0},
{-0.25,-0.5,0.0,-0.1875,-0.375,0.0625},
{0.1875,-0.5,0.0,0.25,-0.375,0.0625},
{-0.25,-0.3125,0.0,-0.125,-0.25,0.0625},
{0.125,-0.3125,0.0,0.25,-0.25,0.0625},
{-0.25,-0.1875,0.0,-0.125,0.0625,0.0625},
{0.125,-0.1875,0.0,0.25,0.0625,0.0625},
{-0.1875,0.0625,0.0,-0.125,0.125,0.125},
{0.125,0.0625,0.0,0.1875,0.125,0.125},
{-0.25,-0.25,0.0625,-0.125,-0.1875,0.125},
{0.125,-0.25,0.0625,0.25,-0.1875,0.125},
{-0.0625,0.0,0.0625,0.0625,0.1875,0.125},
{-0.1875,0.125,0.0625,-0.0625,0.1875,0.125},
{0.0625,0.125,0.0625,0.1875,0.1875,0.125},
{-0.25,-0.1875,0.125,-0.125,-0.125,0.1875},
{0.125,-0.1875,0.125,0.25,-0.125,0.1875},
{-0.1875,0.125,0.125,-0.125,0.25,0.1875},
{-0.0625,0.1875,0.125,0.0625,0.3125,0.1875},
{-0.0625,-0.1875,0.1875,0.0625,-0.125,0.25},
{-0.125,-0.125,0.1875,-0.0625,-0.0625,0.25},
{0.0625,-0.125,0.1875,0.125,-0.0625,0.25},
{-0.1875,-0.0625,0.1875,-0.125,0.0625,0.25},
{0.125,-0.0625,0.1875,0.1875,0.0625,0.25},
{-0.125,0.0625,0.1875,0.125,0.125,0.25},
{-0.0625,0.125,0.1875,0.0625,0.1875,0.25},
{-0.0625,0.1875,0.25,0.0625,0.3125,0.3125},
{-0.0625,-0.125,0.3125,0.0625,-0.0625,0.375},
{-0.125,-0.0625,0.3125,-0.0625,0.0,0.375},
{0.0625,-0.0625,0.3125,0.125,0.0,0.375},
{-0.1875,0.0,0.3125,-0.125,0.0625,0.375},
{0.125,0.0,0.3125,0.1875,0.0625,0.375},
{-0.25,0.0625,0.3125,-0.1875,0.125,0.375},
{0.1875,0.0625,0.3125,0.25,0.125,0.375},
{-0.1875,0.125,0.3125,-0.125,0.1875,0.375},
{-0.0625,0.125,0.3125,0.0625,0.25,0.375},
{0.125,0.125,0.3125,0.1875,0.1875,0.375},
{-0.125,0.1875,0.3125,-0.0625,0.25,0.375},
{0.0625,0.1875,0.3125,0.125,0.25,0.375},
{-0.25,-0.0625,0.375,-0.1875,0.0,0.4375},
{0.1875,-0.0625,0.375,0.25,0.0,0.4375},
{-0.0625,0.25,0.375,0.0625,0.3125,0.5},
{-0.25,0.0,0.4375,-0.1875,0.1875,0.5},
{0.1875,0.0,0.4375,0.25,0.1875,0.5},
{-0.1875,0.1875,0.4375,-0.125,0.25,0.5},
{-0.0625,0.1875,0.4375,0.0625,0.25,0.5},
{0.125,0.1875,0.4375,0.1875,0.25,0.5},
{-0.125,0.25,0.4375,-0.0625,0.3125,0.5},
{0.0625,0.25,0.4375,0.125,0.3125,0.5},
},
}
-- node box {x=0, y=0, z=1}
local node_box_back = {
type = "fixed",
fixed = {
{-0.25,-0.0625,-0.4375,-0.125,0.0625,-0.375},
{0.125,-0.0625,-0.4375,0.25,0.0625,-0.375},
{-0.0625,0.1875,-0.4375,0.0625,0.3125,-0.375},
{-0.25,-0.5,-0.375,-0.125,-0.4375,-0.3125},
{0.125,-0.5,-0.375,0.25,-0.4375,-0.3125},
{-0.25,-0.125,-0.375,-0.125,-0.0625,-0.3125},
{0.125,-0.125,-0.375,0.25,-0.0625,-0.3125},
{-0.25,0.0625,-0.375,-0.125,0.1875,-0.3125},
{0.125,0.0625,-0.375,0.25,0.1875,-0.3125},
{-0.125,0.1875,-0.375,-0.0625,0.25,-0.3125},
{0.0625,0.1875,-0.375,0.125,0.25,-0.3125},
{-0.25,-0.5,-0.3125,-0.1875,-0.375,-0.25},
{0.1875,-0.5,-0.3125,0.25,-0.375,-0.25},
{-0.1875,-0.4375,-0.3125,-0.125,-0.375,-0.25},
{0.125,-0.4375,-0.3125,0.1875,-0.375,-0.25},
{-0.25,-0.1875,-0.3125,-0.125,-0.125,-0.25},
{0.125,-0.1875,-0.3125,0.25,-0.125,-0.25},
{-0.0625,0.1875,-0.3125,0.0625,0.3125,-0.25},
{-0.25,-0.375,-0.25,-0.125,-0.3125,-0.1875},
{0.125,-0.375,-0.25,0.25,-0.3125,-0.1875},
{-0.25,-0.25,-0.25,-0.125,-0.1875,-0.1875},
{0.125,-0.25,-0.25,0.25,-0.1875,-0.1875},
{-0.25,-0.3125,-0.1875,-0.125,-0.25,-0.125},
{0.125,-0.3125,-0.1875,0.25,-0.25,-0.125},
{-0.0625,0.25,-0.1875,0.0625,0.3125,-0.125},
{-0.25,-0.25,-0.125,-0.125,-0.1875,-0.0625},
{0.125,-0.25,-0.125,0.25,-0.1875,-0.0625},
{-0.0625,0.1875,-0.125,0.0625,0.25,-0.0625},
{-0.0625,0.125,-0.0625,0.0625,0.1875,0.0},
{-0.0625,0.0625,0.0,0.0625,0.125,0.0625},
},
}
skeletons.register_skeleton("pig_skeleton_front", S("part of pig skeleton"), node_box_front)
skeletons.register_skeleton("pig_skeleton_back", S("part of pig skeleton"), node_box_back)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:pig"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:pig"]
end
if entity then
table.insert(entity.drops, {name = "skeletons:fresh_pig_skeleton_front", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_pig_skeleton_back", chance = 1, min = 1, max = 1})
end
end

View File

@ -0,0 +1,133 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box_front = {
type = "fixed",
fixed = {
{-0.0625,0.375,-0.5,0.0625,0.5,-0.4375},
{-0.125,0.4375,-0.5,-0.0625,0.5,-0.25},
{0.0625,0.4375,-0.5,0.125,0.5,-0.25},
{-0.0625,0.375,-0.4375,0.0625,0.4375,0.0625},
{-0.125,0.375,-0.25,-0.0625,0.4375,0.0625},
{0.0625,0.375,-0.25,0.125,0.4375,0.0625},
{-0.1875,0.4375,-0.25,-0.125,0.5,0.0625},
{0.125,0.4375,-0.25,0.1875,0.5,0.0625},
{-0.0625,0.375,0.125,0.0625,0.4375,0.1875},
{-0.125,0.4375,0.125,-0.0625,0.5,0.1875},
{0.0625,0.4375,0.125,0.125,0.5,0.1875},
{-0.4375,-0.5,0.25,-0.375,-0.4375,0.4375},
{-0.3125,-0.5,0.25,-0.25,-0.4375,0.4375},
{0.25,-0.5,0.25,0.3125,-0.4375,0.4375},
{0.375,-0.5,0.25,0.4375,-0.4375,0.4375},
{-0.375,-0.0625,0.25,-0.3125,0.125,0.3125},
{0.3125,-0.0625,0.25,0.375,0.125,0.3125},
{-0.0625,0.25,0.25,0.0625,0.3125,0.3125},
{-0.1875,0.3125,0.25,-0.0625,0.375,0.3125},
{0.0625,0.3125,0.25,0.1875,0.375,0.3125},
{-0.25,0.375,0.25,-0.1875,0.5,0.3125},
{0.1875,0.375,0.25,0.25,0.5,0.3125},
{-0.0625,0.4375,0.25,0.0625,0.5,0.3125},
{-0.375,-0.5,0.3125,-0.3125,-0.4375,0.4375},
{0.3125,-0.5,0.3125,0.375,-0.4375,0.4375},
{-0.375,-0.1875,0.3125,-0.3125,0.0,0.375},
{0.3125,-0.1875,0.3125,0.375,0.0,0.375},
{-0.375,0.0625,0.3125,-0.3125,0.1875,0.375},
{0.3125,0.0625,0.3125,0.375,0.1875,0.375},
{-0.375,-0.4375,0.375,-0.3125,-0.375,0.5},
{0.3125,-0.4375,0.375,0.375,-0.375,0.5},
{-0.375,-0.3125,0.375,-0.3125,-0.125,0.4375},
{0.3125,-0.3125,0.375,0.375,-0.125,0.4375},
{-0.375,0.125,0.375,-0.3125,0.25,0.4375},
{0.3125,0.125,0.375,0.375,0.25,0.4375},
{-0.125,0.1875,0.375,0.125,0.25,0.4375},
{-0.25,0.25,0.375,-0.125,0.3125,0.4375},
{0.125,0.25,0.375,0.25,0.3125,0.4375},
{-0.3125,0.3125,0.375,-0.25,0.5,0.4375},
{0.25,0.3125,0.375,0.3125,0.5,0.4375},
{-0.375,0.4375,0.375,-0.3125,0.5,0.5},
{0.3125,0.4375,0.375,0.375,0.5,0.5},
{-0.375,-0.375,0.4375,-0.3125,-0.25,0.5},
{0.3125,-0.375,0.4375,0.375,-0.25,0.5},
{-0.375,0.1875,0.4375,-0.3125,0.3125,0.5},
{0.3125,0.1875,0.4375,0.375,0.3125,0.5},
{-0.375,0.375,0.4375,-0.3125,0.4375,0.5},
{0.3125,0.375,0.4375,0.375,0.4375,0.5},
},
}
-- node box {x=0, y=0, z=1}
local node_box_back = {
type = "fixed",
fixed = {
{-0.125,0.1875,-0.5,0.125,0.25,-0.4375},
{-0.375,0.25,-0.5,-0.3125,0.4375,-0.4375},
{-0.25,0.25,-0.5,-0.125,0.3125,-0.4375},
{0.125,0.25,-0.5,0.25,0.3125,-0.4375},
{0.3125,0.25,-0.5,0.375,0.4375,-0.4375},
{-0.3125,0.3125,-0.5,-0.25,0.5,-0.4375},
{0.25,0.3125,-0.5,0.3125,0.5,-0.4375},
{-0.375,0.4375,-0.4375,-0.3125,0.5,-0.375},
{0.3125,0.4375,-0.4375,0.375,0.5,-0.375},
{-0.125,0.1875,-0.375,0.125,0.25,-0.3125},
{-0.25,0.25,-0.375,-0.125,0.3125,-0.3125},
{0.125,0.25,-0.375,0.25,0.3125,-0.3125},
{-0.3125,0.3125,-0.375,-0.25,0.5,-0.3125},
{0.25,0.3125,-0.375,0.3125,0.5,-0.3125},
{-0.125,0.1875,-0.25,-0.0625,0.25,-0.1875},
{0.0625,0.1875,-0.25,0.125,0.25,-0.1875},
{-0.25,0.25,-0.25,-0.125,0.3125,-0.1875},
{0.125,0.25,-0.25,0.25,0.3125,-0.1875},
{-0.3125,0.3125,-0.25,-0.25,0.5,-0.1875},
{0.25,0.3125,-0.25,0.3125,0.5,-0.1875},
{-0.375,-0.5,-0.125,-0.3125,-0.4375,0.0625},
{-0.25,-0.5,-0.125,-0.1875,-0.4375,0.0625},
{0.1875,-0.5,-0.125,0.25,-0.4375,0.0625},
{0.3125,-0.5,-0.125,0.375,-0.4375,0.0625},
{-0.3125,-0.5,-0.0625,-0.25,-0.4375,0.0625},
{0.25,-0.5,-0.0625,0.3125,-0.4375,0.0625},
{-0.3125,0.3125,-0.0625,-0.25,0.375,0.0625},
{0.25,0.3125,-0.0625,0.3125,0.375,0.0625},
{-0.3125,-0.4375,0.0,-0.25,-0.3125,0.0625},
{0.25,-0.4375,0.0,0.3125,-0.3125,0.0625},
{-0.3125,0.25,0.0,-0.25,0.3125,0.125},
{0.25,0.25,0.0,0.3125,0.3125,0.125},
{-0.3125,0.375,0.0,-0.25,0.4375,0.125},
{0.25,0.375,0.0,0.3125,0.4375,0.125},
{-0.3125,-0.375,0.0625,-0.25,-0.1875,0.125},
{0.25,-0.375,0.0625,0.3125,-0.1875,0.125},
{-0.3125,0.125,0.0625,-0.25,0.25,0.125},
{0.25,0.125,0.0625,0.3125,0.25,0.125},
{-0.3125,0.4375,0.0625,-0.25,0.5,0.1875},
{0.25,0.4375,0.0625,0.3125,0.5,0.1875},
{-0.3125,-0.4375,0.125,-0.25,-0.375,0.1875},
{0.25,-0.4375,0.125,0.3125,-0.375,0.1875},
{-0.3125,-0.25,0.125,-0.25,-0.0625,0.1875},
{0.25,-0.25,0.125,0.3125,-0.0625,0.1875},
{-0.3125,0.0,0.125,-0.25,0.1875,0.1875},
{0.25,0.0,0.125,0.3125,0.1875,0.1875},
{-0.1875,0.4375,0.125,-0.125,0.5,0.375},
{0.125,0.4375,0.125,0.1875,0.5,0.375},
{-0.3125,-0.125,0.1875,-0.25,0.0625,0.25},
{0.25,-0.125,0.1875,0.3125,0.0625,0.25},
{-0.3125,0.0625,0.25,-0.25,0.125,0.3125},
{0.25,0.0625,0.25,0.3125,0.125,0.3125},
{-0.0625,0.375,0.4375,0.0625,0.4375,0.5},
},
}
skeletons.register_skeleton("reindeer_skeleton_front", S("part of reindeer skeleton"), node_box_front)
skeletons.register_skeleton("reindeer_skeleton_back", S("part of reindeer skeleton"), node_box_back)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:reindeer"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:reindeer"]
end
if entity then
table.insert(entity.drops, {name = "skeletons:fresh_reindeer_skeleton_front", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_reindeer_skeleton_back", chance = 1, min = 1, max = 1})
end
end

View File

@ -111,15 +111,27 @@ if skeletons.have_animal then
"violet", "white", "yellow"
};
for index, value in pairs(colors) do
for _, value in pairs(colors) do
local entity = minetest.registered_entities["mobs_animal:sheep_"..value]
if (not entity) then
entity = minetest.registered_entities["hades_animals:sheep_"..value]
end
if entity then
table.insert(entity.drops, {name = "skeletons:fresh_warthog_skeleton_front", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_warthog_skeleton_back", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_sheep_skeleton_front", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_sheep_skeleton_back", chance = 1, min = 1, max = 1})
end
end
end
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:sheep"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:sheep"]
end
if entity then
table.insert(entity.drops, {name = "skeletons:fresh_sheep_skeleton_front", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_sheep_skeleton_back", chance = 1, min = 1, max = 1})
end
end

View File

@ -0,0 +1,40 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box = {
type = "fixed",
fixed = {
{-0.0625,-0.375,-0.375,0.0,-0.25,-0.3125},
{-0.0625,-0.4375,-0.3125,0.0,-0.3125,-0.1875},
{-0.0625,-0.25,-0.3125,0.0,-0.1875,-0.1875},
{-0.0625,-0.3125,-0.25,0.0,-0.25,-0.1875},
{-0.0625,-0.375,-0.1875,0.0,-0.3125,0.25},
{-0.125,-0.5,-0.125,-0.0625,-0.375,-0.0625},
{0.0,-0.5,-0.125,0.0625,-0.375,-0.0625},
{-0.0625,-0.3125,-0.125,0.0,-0.1875,-0.0625},
{-0.125,-0.5,0.0,-0.0625,-0.375,0.0625},
{0.0,-0.5,0.0,0.0625,-0.375,0.0625},
{-0.0625,-0.3125,0.0,0.0,-0.1875,0.0625},
{-0.0625,-0.4375,0.125,0.0,-0.375,0.1875},
{-0.0625,-0.3125,0.125,0.0,-0.25,0.1875},
{-0.0625,-0.4375,0.25,0.0,-0.375,0.3125},
{-0.0625,-0.3125,0.25,0.0,-0.25,0.3125},
},
}
skeletons.register_skeleton("tropical_fish_skeleton", S("tropical fish skeleton"), node_box)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:tropical_fish"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:tropical_fish"]
end
if entity then
entity.drops = entity.drops or {}
table.insert(entity.drops, {name = "skeletons:fresh_tropical_fish_skeleton", chance = 1, min = 1, max = 1})
end
end

View File

@ -0,0 +1,97 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box = {
type = "fixed",
fixed = {
{-0.0625,0.1875,-0.4375,0.0625,0.25,-0.3125},
{-0.0625,0.3125,-0.4375,0.0625,0.375,-0.3125},
{-0.125,0.1875,-0.3125,-0.0625,0.25,-0.125},
{0.0625,0.1875,-0.3125,0.125,0.25,-0.125},
{-0.125,0.3125,-0.3125,-0.0625,0.375,-0.125},
{0.0625,0.3125,-0.3125,0.125,0.375,-0.125},
{-0.0625,0.375,-0.3125,0.0625,0.4375,-0.25},
{-0.0625,0.125,-0.25,0.0625,0.1875,-0.1875},
{-0.0625,0.4375,-0.25,0.0625,0.5,-0.125},
{-0.3125,-0.25,-0.1875,-0.1875,-0.1875,-0.125},
{0.1875,-0.25,-0.1875,0.3125,-0.1875,-0.125},
{-0.0625,0.0,-0.1875,0.0625,0.0625,-0.125},
{-0.125,0.375,-0.1875,-0.0625,0.4375,-0.125},
{0.0625,0.375,-0.1875,0.125,0.4375,-0.125},
{-0.3125,-0.3125,-0.125,-0.25,-0.1875,-0.0625},
{0.25,-0.3125,-0.125,0.3125,-0.1875,-0.0625},
{-0.1875,-0.25,-0.125,-0.125,-0.1875,-0.0625},
{-0.0625,-0.25,-0.125,0.0625,-0.1875,0.3125},
{0.125,-0.25,-0.125,0.1875,-0.1875,-0.0625},
{-0.0625,-0.125,-0.125,0.0625,-0.0625,-0.0625},
{-0.0625,0.125,-0.125,0.0625,0.1875,-0.0625},
{-0.125,0.25,-0.125,-0.0625,0.3125,-0.0625},
{0.0625,0.25,-0.125,0.125,0.3125,-0.0625},
{-0.0625,0.375,-0.125,0.0625,0.4375,-0.0625},
{-0.3125,-0.375,-0.0625,-0.25,-0.3125,0.0625},
{0.25,-0.375,-0.0625,0.3125,-0.3125,0.0625},
{-0.3125,-0.25,-0.0625,-0.25,-0.1875,0.0625},
{0.25,-0.25,-0.0625,0.3125,-0.1875,0.0625},
{-0.1875,-0.1875,-0.0625,-0.0625,-0.125,0.0},
{0.0625,-0.1875,-0.0625,0.1875,-0.125,0.0},
{-0.0625,0.0,-0.0625,0.0625,0.0625,0.0},
{-0.0625,0.25,-0.0625,0.0625,0.3125,0.0},
{-0.125,-0.1875,0.0,-0.0625,-0.0625,0.0625},
{0.0625,-0.1875,0.0,0.125,-0.0625,0.0625},
{-0.125,-0.1875,0.0625,-0.0625,-0.125,0.125},
{0.0625,-0.1875,0.0625,0.125,-0.125,0.125},
{-0.1875,-0.125,0.0625,-0.125,0.0625,0.125},
{0.125,-0.125,0.0625,0.1875,0.0625,0.125},
{-0.125,0.0625,0.0625,-0.0625,0.125,0.125},
{0.0625,0.0625,0.0625,0.125,0.125,0.125},
{-0.0625,0.125,0.0625,0.0625,0.1875,0.125},
{-0.375,-0.5,0.125,-0.3125,-0.4375,0.25},
{-0.25,-0.5,0.125,-0.1875,-0.4375,0.25},
{0.1875,-0.5,0.125,0.25,-0.4375,0.25},
{0.3125,-0.5,0.125,0.375,-0.4375,0.25},
{-0.3125,-0.25,0.125,-0.25,-0.125,0.1875},
{0.25,-0.25,0.125,0.3125,-0.125,0.1875},
{-0.3125,-0.3125,0.1875,-0.25,-0.25,0.25},
{0.25,-0.3125,0.1875,0.3125,-0.25,0.25},
{-0.125,-0.1875,0.1875,-0.0625,-0.125,0.25},
{0.0625,-0.1875,0.1875,0.125,-0.125,0.25},
{-0.3125,-0.125,0.1875,-0.25,-0.0625,0.25},
{-0.1875,-0.125,0.1875,-0.125,0.0625,0.25},
{0.125,-0.125,0.1875,0.1875,0.0625,0.25},
{0.25,-0.125,0.1875,0.3125,-0.0625,0.25},
{-0.125,0.0625,0.1875,-0.0625,0.125,0.25},
{0.0625,0.0625,0.1875,0.125,0.125,0.25},
{-0.0625,0.125,0.1875,0.0625,0.1875,0.25},
{-0.3125,-0.5,0.25,-0.25,-0.3125,0.3125},
{0.25,-0.5,0.25,0.3125,-0.3125,0.3125},
{-0.25,-0.0625,0.25,-0.1875,0.0,0.3125},
{0.1875,-0.0625,0.25,0.25,0.0,0.3125},
{-0.3125,-0.5,0.3125,-0.25,-0.4375,0.375},
{0.25,-0.5,0.3125,0.3125,-0.4375,0.375},
{-0.25,0.0,0.3125,-0.125,0.0625,0.375},
{0.125,0.0,0.3125,0.25,0.0625,0.375},
{-0.125,0.0625,0.3125,-0.0625,0.125,0.4375},
{0.0625,0.0625,0.3125,0.125,0.125,0.4375},
{-0.0625,0.125,0.3125,0.0625,0.1875,0.375},
{-0.1875,-0.0625,0.375,-0.125,0.0625,0.4375},
{0.125,-0.0625,0.375,0.1875,0.0625,0.4375},
{-0.0625,0.125,0.4375,0.0625,0.1875,0.5},
},
}
skeletons.register_skeleton("turkey_skeleton", S("turkey skeleton"), node_box)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:turkey"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:turkey"]
end
if entity then
entity.drops = entity.drops or {}
table.insert(entity.drops, {name = "skeletons:fresh_turkey_skeleton", chance = 1, min = 1, max = 1})
end
end

155
animals/wolf_skeleton.lua Normal file
View File

@ -0,0 +1,155 @@
local S = minetest.get_translator("skeletons");
-- node box {x=0, y=0, z=0}
local node_box_front = {
type = "fixed",
fixed = {
{-0.125,0.1875,-0.375,0.0625,0.25,-0.1875},
{-0.125,0.3125,-0.375,0.0625,0.375,-0.25},
{-0.125,0.375,-0.375,-0.0625,0.4375,-0.1875},
{0.0,0.375,-0.375,0.0625,0.4375,-0.1875},
{-0.0625,0.4375,-0.375,0.0,0.5,-0.1875},
{-0.125,0.3125,-0.25,-0.0625,0.375,-0.125},
{0.0,0.3125,-0.25,0.0625,0.375,-0.125},
{-0.125,0.25,-0.1875,0.0625,0.3125,-0.0625},
{-0.1875,0.3125,-0.1875,-0.125,0.4375,0.125},
{0.0625,0.3125,-0.1875,0.125,0.4375,0.125},
{-0.1875,0.4375,-0.125,-0.125,0.5,0.125},
{0.0625,0.4375,-0.125,0.125,0.5,0.125},
{-0.1875,0.25,-0.0625,-0.125,0.3125,0.0625},
{0.0625,0.25,-0.0625,0.125,0.3125,0.125},
{-0.125,0.3125,-0.0625,0.0625,0.375,0.0625},
{-0.25,-0.5,0.0,-0.1875,-0.4375,0.1875},
{0.125,-0.5,0.0,0.1875,-0.4375,0.1875},
{-0.3125,-0.5,0.0625,-0.25,-0.4375,0.1875},
{-0.1875,-0.5,0.0625,-0.125,-0.4375,0.1875},
{0.0625,-0.5,0.0625,0.125,-0.4375,0.1875},
{0.1875,-0.5,0.0625,0.25,-0.4375,0.1875},
{-0.125,0.25,0.0625,0.0625,0.3125,0.125},
{-0.25,-0.4375,0.1875,-0.1875,-0.3125,0.25},
{0.125,-0.4375,0.1875,0.1875,-0.3125,0.25},
{-0.25,0.0625,0.1875,-0.1875,0.25,0.25},
{0.125,0.0625,0.1875,0.1875,0.25,0.25},
{-0.0625,0.3125,0.1875,0.0,0.375,0.25},
{-0.125,0.375,0.1875,-0.0625,0.4375,0.25},
{0.0,0.375,0.1875,0.0625,0.4375,0.25},
{-0.0625,0.4375,0.1875,0.0,0.5,0.25},
{-0.25,-0.3125,0.25,-0.1875,-0.1875,0.3125},
{0.125,-0.3125,0.25,0.1875,-0.1875,0.3125},
{-0.25,-0.0625,0.25,-0.1875,0.0625,0.3125},
{0.125,-0.0625,0.25,0.1875,0.0625,0.3125},
{-0.25,0.125,0.25,-0.1875,0.3125,0.3125},
{0.125,0.125,0.25,0.1875,0.3125,0.3125},
{-0.25,-0.1875,0.3125,-0.1875,-0.0625,0.375},
{0.125,-0.1875,0.3125,0.1875,-0.0625,0.375},
{-0.125,0.0625,0.3125,0.0625,0.125,0.375},
{-0.1875,0.125,0.3125,-0.125,0.375,0.375},
{0.0625,0.125,0.3125,0.125,0.375,0.375},
{-0.25,0.1875,0.3125,-0.1875,0.3125,0.375},
{0.125,0.1875,0.3125,0.1875,0.3125,0.375},
{-0.0625,0.3125,0.3125,0.0,0.375,0.375},
{-0.125,0.375,0.3125,-0.0625,0.4375,0.375},
{0.0,0.375,0.3125,0.0625,0.4375,0.375},
{-0.0625,0.4375,0.3125,0.0,0.5,0.375},
{-0.3125,0.1875,0.375,-0.25,0.375,0.4375},
{0.1875,0.1875,0.375,0.25,0.375,0.4375},
{-0.125,0.0,0.4375,0.0625,0.0625,0.5},
{-0.1875,0.0625,0.4375,-0.125,0.125,0.5},
{0.0625,0.0625,0.4375,0.125,0.125,0.5},
{-0.25,0.125,0.4375,-0.1875,0.375,0.5},
{0.125,0.125,0.4375,0.1875,0.375,0.5},
{-0.3125,0.25,0.4375,-0.25,0.375,0.5},
{0.1875,0.25,0.4375,0.25,0.375,0.5},
{-0.0625,0.3125,0.4375,0.0,0.375,0.5},
{-0.1875,0.375,0.4375,-0.0625,0.4375,0.5},
{0.0,0.375,0.4375,0.125,0.4375,0.5},
{-0.0625,0.4375,0.4375,0.0,0.5,0.5},
},
}
-- node box {x=0, y=0, z=1}
local node_box_back = {
type = "fixed",
fixed = {
{-0.125,0.0,-0.4375,0.0625,0.0625,-0.375},
{-0.1875,0.0625,-0.4375,-0.125,0.125,-0.375},
{0.0625,0.0625,-0.4375,0.125,0.125,-0.375},
{-0.25,0.125,-0.4375,-0.1875,0.375,-0.375},
{0.125,0.125,-0.4375,0.1875,0.375,-0.375},
{-0.0625,0.3125,-0.4375,0.0,0.375,-0.375},
{-0.1875,0.375,-0.4375,-0.0625,0.4375,-0.375},
{0.0,0.375,-0.4375,0.125,0.4375,-0.375},
{-0.0625,0.4375,-0.4375,0.0,0.5,-0.375},
{-0.125,0.0,-0.3125,0.0625,0.0625,-0.25},
{-0.1875,0.0625,-0.3125,-0.125,0.125,-0.25},
{0.0625,0.0625,-0.3125,0.125,0.125,-0.25},
{-0.25,0.125,-0.3125,-0.1875,0.375,-0.25},
{0.125,0.125,-0.3125,0.1875,0.375,-0.25},
{-0.0625,0.3125,-0.3125,0.0,0.375,-0.25},
{-0.1875,0.375,-0.3125,-0.0625,0.4375,-0.25},
{0.0,0.375,-0.3125,0.125,0.4375,-0.25},
{-0.0625,0.4375,-0.3125,0.0,0.5,-0.25},
{-0.25,-0.5,-0.25,-0.1875,-0.4375,0.0},
{0.125,-0.5,-0.25,0.1875,-0.4375,0.0},
{-0.3125,-0.5,-0.1875,-0.25,-0.4375,-0.0625},
{-0.1875,-0.5,-0.1875,-0.125,-0.4375,-0.0625},
{0.0625,-0.5,-0.1875,0.125,-0.4375,-0.0625},
{0.1875,-0.5,-0.1875,0.25,-0.4375,-0.0625},
{-0.125,-0.0625,-0.1875,0.0625,0.0,-0.125},
{-0.1875,0.0,-0.1875,-0.125,0.0625,-0.125},
{0.0625,0.0,-0.1875,0.125,0.0625,-0.125},
{-0.25,0.0625,-0.1875,-0.1875,0.3125,-0.125},
{0.125,0.0625,-0.1875,0.1875,0.3125,-0.125},
{-0.0625,0.25,-0.1875,0.0,0.3125,-0.125},
{-0.1875,0.3125,-0.1875,-0.0625,0.375,-0.125},
{0.0,0.3125,-0.1875,0.125,0.375,-0.125},
{-0.0625,0.375,-0.1875,0.0,0.4375,-0.125},
{-0.25,-0.3125,-0.0625,-0.1875,-0.1875,0.0},
{0.125,-0.3125,-0.0625,0.1875,-0.1875,0.0},
{-0.125,0.25,-0.0625,-0.0625,0.375,0.0},
{0.0,0.25,-0.0625,0.0625,0.375,0.0},
{-0.0625,0.3125,-0.0625,0.0,0.375,0.0},
{-0.25,-0.4375,0.0,-0.1875,-0.3125,0.0625},
{0.125,-0.4375,0.0,0.1875,-0.3125,0.0625},
{-0.25,-0.1875,0.0,-0.1875,-0.0625,0.0625},
{0.125,-0.1875,0.0,0.1875,-0.0625,0.0625},
{-0.1875,0.1875,0.0,-0.125,0.3125,0.125},
{0.0625,0.1875,0.0,0.125,0.3125,0.125},
{-0.125,0.3125,0.0,-0.0625,0.375,0.0625},
{0.0,0.3125,0.0,0.0625,0.375,0.0625},
{-0.25,-0.4375,0.0625,-0.1875,-0.375,0.125},
{0.125,-0.4375,0.0625,0.1875,-0.375,0.125},
{-0.25,-0.0625,0.0625,-0.1875,0.0625,0.125},
{0.125,-0.0625,0.0625,0.1875,0.0625,0.125},
{-0.1875,0.125,0.0625,-0.125,0.1875,0.1875},
{0.0625,0.125,0.0625,0.125,0.1875,0.1875},
{-0.0625,0.25,0.0625,0.0,0.3125,0.125},
{-0.25,0.0625,0.125,-0.1875,0.1875,0.1875},
{0.125,0.0625,0.125,0.1875,0.1875,0.1875},
{-0.1875,0.1875,0.125,-0.125,0.25,0.1875},
{0.0625,0.1875,0.125,0.125,0.25,0.1875},
{-0.0625,0.1875,0.1875,0.0,0.25,0.25},
{-0.0625,-0.3125,0.25,0.0,-0.25,0.3125},
{-0.0625,-0.1875,0.25,0.0,-0.125,0.3125},
{-0.0625,-0.0625,0.25,0.0,0.0,0.3125},
{-0.0625,0.0625,0.25,0.0,0.125,0.3125},
},
}
skeletons.register_skeleton("wolf_skeleton_front", S("part of wolf skeleton"), node_box_front)
skeletons.register_skeleton("wolf_skeleton_back", S("part of wolf skeleton"), node_box_back)
-- add bone drop
if skeletons.have_animalia then
local entity = minetest.registered_entities["animalia:wolf"]
if (not entity) then
entity = minetest.registered_entities["hades_animalia:wolf"]
end
if entity then
entity.drops = entity.drops or {}
table.insert(entity.drops, {name = "skeletons:fresh_wolf_skeleton_front", chance = 1, min = 1, max = 1})
table.insert(entity.drops, {name = "skeletons:fresh_wolf_skeleton_back", chance = 1, min = 1, max = 1})
end
end

67
data/bat_skeleton.lua Normal file
View File

@ -0,0 +1,67 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{-0.0625,-0.125,-0.5,0.0,-0.0625,-0.4375},
{-0.0625,-0.1875,-0.4375,0.0,-0.125,-0.375},
{-0.0625,-0.0625,-0.4375,0.0,0.0,-0.125},
{-0.0625,-0.25,-0.375,0.0,-0.1875,-0.1875},
{-0.125,-0.125,-0.375,-0.0625,0.0,-0.3125},
{0.0,-0.125,-0.375,0.0625,0.0,-0.3125},
{-0.125,-0.5,-0.3125,-0.0625,-0.4375,-0.1875},
{0.0,-0.5,-0.3125,0.0625,-0.4375,-0.1875},
{-0.125,-0.1875,-0.3125,-0.0625,-0.125,-0.25},
{0.0,-0.1875,-0.3125,0.0625,-0.125,-0.25},
{-0.125,-0.4375,-0.25,-0.0625,-0.375,-0.1875},
{0.0,-0.4375,-0.25,0.0625,-0.375,-0.1875},
{-0.3125,-0.375,-0.25,-0.1875,-0.3125,-0.1875},
{0.125,-0.375,-0.25,0.25,-0.3125,-0.1875},
{-0.0625,-0.1875,-0.25,0.0,-0.125,-0.125},
{-0.125,-0.125,-0.25,-0.0625,0.0,-0.125},
{0.0,-0.125,-0.25,0.0625,0.0,-0.125},
{-0.375,-0.375,-0.1875,-0.3125,-0.3125,0.5},
{0.25,-0.375,-0.1875,0.3125,-0.3125,0.5},
{-0.25,-0.3125,-0.1875,-0.1875,-0.25,-0.125},
{0.125,-0.3125,-0.1875,0.1875,-0.25,-0.125},
{-0.0625,-0.125,-0.1875,0.0,-0.0625,-0.0625},
{-0.1875,-0.25,-0.125,-0.125,-0.1875,0.0},
{0.0,-0.25,-0.125,0.125,-0.1875,-0.0625},
{-0.125,-0.1875,-0.125,-0.0625,-0.125,-0.0625},
{0.0,-0.1875,-0.125,0.0625,-0.125,-0.0625},
{-0.125,-0.3125,-0.0625,0.0625,-0.25,0.0},
{0.0625,-0.25,-0.0625,0.125,-0.0625,0.0},
{-0.1875,-0.1875,-0.0625,-0.125,-0.0625,0.0},
{-0.125,-0.125,-0.0625,-0.0625,-0.0625,0.0},
{0.0,-0.125,-0.0625,0.0625,-0.0625,0.0},
{-0.1875,-0.5,0.0,-0.125,-0.4375,0.1875},
{0.0625,-0.5,0.0,0.125,-0.4375,0.1875},
{-0.0625,-0.1875,0.0,0.0,-0.125,0.0625},
{-0.125,-0.3125,0.0625,0.0625,-0.25,0.125},
{-0.1875,-0.25,0.0625,-0.125,-0.125,0.125},
{0.0625,-0.25,0.0625,0.125,-0.125,0.125},
{-0.125,-0.1875,0.0625,-0.0625,-0.125,0.125},
{0.0,-0.1875,0.0625,0.0625,-0.125,0.125},
{-0.375,-0.4375,0.125,-0.3125,-0.375,0.1875},
{-0.1875,-0.4375,0.125,-0.125,-0.375,0.1875},
{0.0625,-0.4375,0.125,0.125,-0.375,0.1875},
{0.25,-0.4375,0.125,0.3125,-0.375,0.1875},
{-0.375,-0.3125,0.125,-0.3125,-0.25,0.1875},
{0.25,-0.3125,0.125,0.3125,-0.25,0.1875},
{-0.0625,-0.1875,0.125,0.0,-0.125,0.1875},
{-0.375,-0.5,0.1875,-0.3125,-0.4375,0.5},
{0.25,-0.5,0.1875,0.3125,-0.4375,0.5},
{-0.1875,-0.375,0.1875,-0.125,-0.3125,0.25},
{0.0625,-0.375,0.1875,0.125,-0.3125,0.25},
{-0.375,-0.25,0.1875,-0.3125,-0.1875,0.5},
{0.25,-0.25,0.1875,0.3125,-0.1875,0.5},
{-0.0625,-0.4375,0.25,0.0,-0.375,0.3125},
{-0.125,-0.375,0.25,-0.0625,-0.25,0.3125},
{0.0,-0.375,0.25,0.0625,-0.25,0.3125},
{-0.0625,-0.25,0.25,0.0,-0.1875,0.3125},
{-0.375,-0.1875,0.25,-0.3125,-0.125,0.3125},
{0.25,-0.1875,0.25,0.3125,-0.125,0.3125},
{-0.0625,-0.3125,0.3125,0.0,-0.25,0.375},
{-0.375,-0.125,0.3125,-0.3125,-0.0625,0.375},
{0.25,-0.125,0.3125,0.3125,-0.0625,0.375},
},
},

1
data/bat_skeleton.we Normal file
View File

@ -0,0 +1 @@
5:local _={};_[1]="wool:white";return {{y=0,z=11,name=_[1],x=2},{y=0,z=12,name=_[1],x=2},{y=0,z=13,name=_[1],x=2},{y=0,z=14,name=_[1],x=2},{y=0,z=15,name=_[1],x=2},{y=1,z=10,name=_[1],x=2},{y=2,z=5,name=_[1],x=2},{y=2,z=6,name=_[1],x=2},{y=2,z=7,name=_[1],x=2},{y=2,z=8,name=_[1],x=2},{y=2,z=9,name=_[1],x=2},{y=2,z=10,name=_[1],x=2},{y=2,z=11,name=_[1],x=2},{y=2,z=12,name=_[1],x=2},{y=2,z=13,name=_[1],x=2},{y=2,z=14,name=_[1],x=2},{y=2,z=15,name=_[1],x=2},{y=3,z=10,name=_[1],x=2},{y=4,z=11,name=_[1],x=2},{y=4,z=12,name=_[1],x=2},{y=4,z=13,name=_[1],x=2},{y=4,z=14,name=_[1],x=2},{y=4,z=15,name=_[1],x=2},{y=5,z=12,name=_[1],x=2},{y=6,z=13,name=_[1],x=2},{y=2,z=4,name=_[1],x=3},{y=2,z=4,name=_[1],x=4},{y=3,z=5,name=_[1],x=4},{y=0,z=8,param1=89,name=_[1],x=5},{y=0,z=9,param1=89,name=_[1],x=5},{y=0,z=10,param1=89,name=_[1],x=5},{y=1,z=10,param1=89,name=_[1],x=5},{y=2,z=11,param1=89,name=_[1],x=5},{y=4,z=6,name=_[1],x=5},{y=4,z=7,param1=89,name=_[1],x=5},{y=4,z=9,param1=89,name=_[1],x=5},{y=5,z=7,param1=89,name=_[1],x=5},{y=5,z=9,param1=89,name=_[1],x=5},{y=6,z=7,param1=89,name=_[1],x=5},{y=0,z=3,param1=89,name=_[1],x=6},{y=0,z=4,param1=89,name=_[1],x=6},{y=1,z=4,param1=89,name=_[1],x=6},{y=2,z=12,param1=89,name=_[1],x=6},{y=3,z=7,param1=89,name=_[1],x=6},{y=3,z=9,param1=89,name=_[1],x=6},{y=3,z=12,param1=89,name=_[1],x=6},{y=5,z=3,param1=89,name=_[1],x=6},{y=5,z=6,param1=89,name=_[1],x=6},{y=5,z=9,param1=89,name=_[1],x=6},{y=6,z=2,param1=89,name=_[1],x=6},{y=6,z=4,param1=89,name=_[1],x=6},{y=6,z=5,param1=89,name=_[1],x=6},{y=6,z=7,param1=89,name=_[1],x=6},{y=7,z=2,param1=89,name=_[1],x=6},{y=7,z=4,param1=89,name=_[1],x=6},{y=7,z=5,name=_[1],x=6},{y=1,z=12,param1=89,name=_[1],x=7},{y=3,z=7,param1=89,name=_[1],x=7},{y=3,z=9,param1=89,name=_[1],x=7},{y=3,z=13,param1=89,name=_[1],x=7},{y=4,z=2,param1=89,name=_[1],x=7},{y=4,z=3,param1=89,name=_[1],x=7},{y=4,z=4,param1=89,name=_[1],x=7},{y=4,z=12,param1=89,name=_[1],x=7},{y=5,z=1,param1=89,name=_[1],x=7},{y=5,z=4,param1=89,name=_[1],x=7},{y=5,z=5,param1=89,name=_[1],x=7},{y=5,z=8,param1=89,name=_[1],x=7},{y=5,z=10,param1=89,name=_[1],x=7},{y=6,z=0,param1=89,name=_[1],x=7},{y=6,z=5,param1=89,name=_[1],x=7},{y=6,z=6,param1=89,name=_[1],x=7},{y=7,z=1,param1=89,name=_[1],x=7},{y=7,z=2,param1=89,name=_[1],x=7},{y=7,z=3,param1=89,name=_[1],x=7},{y=7,z=4,param1=89,name=_[1],x=7},{y=7,z=5,name=_[1],x=7},{y=0,z=3,param1=89,name=_[1],x=8},{y=0,z=4,param1=89,name=_[1],x=8},{y=1,z=4,param1=89,name=_[1],x=8},{y=2,z=12,param1=89,name=_[1],x=8},{y=3,z=7,param1=89,name=_[1],x=8},{y=3,z=9,param1=89,name=_[1],x=8},{y=3,z=12,param1=89,name=_[1],x=8},{y=4,z=6,param1=89,name=_[1],x=8},{y=5,z=3,param1=89,name=_[1],x=8},{y=5,z=6,param1=89,name=_[1],x=8},{y=5,z=9,param1=89,name=_[1],x=8},{y=6,z=2,param1=89,name=_[1],x=8},{y=6,z=4,param1=89,name=_[1],x=8},{y=6,z=5,name=_[1],x=8},{y=6,z=7,param1=89,name=_[1],x=8},{y=7,z=2,param1=89,name=_[1],x=8},{y=7,z=4,param1=89,name=_[1],x=8},{y=7,z=5,name=_[1],x=8},{y=0,z=8,param1=89,name=_[1],x=9},{y=0,z=9,param1=89,name=_[1],x=9},{y=0,z=10,param1=89,name=_[1],x=9},{y=1,z=10,param1=89,name=_[1],x=9},{y=2,z=11,param1=89,name=_[1],x=9},{y=4,z=6,name=_[1],x=9},{y=4,z=7,param1=89,name=_[1],x=9},{y=4,z=9,param1=89,name=_[1],x=9},{y=5,z=7,param1=89,name=_[1],x=9},{y=5,z=9,param1=89,name=_[1],x=9},{y=6,z=7,param1=89,name=_[1],x=9},{y=2,z=4,name=_[1],x=10},{y=3,z=5,name=_[1],x=10},{y=2,z=4,name=_[1],x=11},{y=0,z=11,name=_[1],x=12},{y=0,z=12,name=_[1],x=12},{y=0,z=13,name=_[1],x=12},{y=0,z=14,name=_[1],x=12},{y=0,z=15,name=_[1],x=12},{y=1,z=10,name=_[1],x=12},{y=2,z=5,name=_[1],x=12},{y=2,z=6,name=_[1],x=12},{y=2,z=7,name=_[1],x=12},{y=2,z=8,name=_[1],x=12},{y=2,z=9,name=_[1],x=12},{y=2,z=10,name=_[1],x=12},{y=2,z=11,name=_[1],x=12},{y=2,z=12,name=_[1],x=12},{y=2,z=13,name=_[1],x=12},{y=2,z=14,name=_[1],x=12},{y=2,z=15,name=_[1],x=12},{y=3,z=10,name=_[1],x=12},{y=4,z=11,name=_[1],x=12},{y=4,z=12,name=_[1],x=12},{y=4,z=13,name=_[1],x=12},{y=4,z=14,name=_[1],x=12},{y=4,z=15,name=_[1],x=12},{y=5,z=12,name=_[1],x=12},{y=6,z=13,name=_[1],x=12}}

42
data/bird_skeleton.lua Normal file
View File

@ -0,0 +1,42 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{0.0,-0.3125,-0.4375,0.0625,-0.25,-0.3125},
{0.0,-0.1875,-0.4375,0.0625,-0.125,-0.375},
{-0.0625,-0.25,-0.375,0.125,-0.1875,-0.25},
{-0.0625,-0.1875,-0.375,0.0,-0.125,-0.25},
{0.0625,-0.1875,-0.375,0.125,-0.125,-0.25},
{0.0,-0.125,-0.375,0.0625,-0.0625,-0.25},
{-0.0625,-0.125,-0.3125,0.0,-0.0625,-0.25},
{0.0625,-0.125,-0.3125,0.125,-0.0625,-0.25},
{0.0,-0.3125,-0.1875,0.0625,-0.25,-0.125},
{-0.0625,-0.25,-0.1875,0.0,-0.125,-0.125},
{0.0625,-0.25,-0.1875,0.125,-0.125,-0.125},
{-0.125,-0.1875,-0.1875,-0.0625,-0.125,-0.125},
{0.125,-0.1875,-0.1875,0.1875,-0.125,-0.125},
{0.0,-0.125,-0.1875,0.0625,-0.0625,-0.125},
{-0.25,-0.1875,-0.125,-0.125,-0.125,-0.0625},
{0.1875,-0.1875,-0.125,0.3125,-0.125,-0.0625},
{-0.0625,-0.5,-0.0625,0.0,-0.4375,0.0625},
{0.0625,-0.5,-0.0625,0.125,-0.4375,0.0625},
{0.0,-0.3125,-0.0625,0.0625,-0.25,0.0},
{-0.0625,-0.25,-0.0625,0.0,-0.125,0.0},
{0.0625,-0.25,-0.0625,0.125,-0.125,0.0},
{-0.3125,-0.1875,-0.0625,-0.25,-0.125,0.0},
{-0.1875,-0.1875,-0.0625,-0.125,-0.125,0.0},
{0.1875,-0.1875,-0.0625,0.25,-0.125,0.0},
{0.3125,-0.1875,-0.0625,0.375,-0.125,0.0},
{0.0,-0.125,-0.0625,0.0625,-0.0625,0.0},
{-0.0625,-0.4375,0.0,0.0,-0.25,0.0625},
{0.0625,-0.4375,0.0,0.125,-0.25,0.0625},
{-0.375,-0.1875,0.0,-0.3125,-0.125,0.125},
{-0.25,-0.1875,0.0,-0.1875,-0.125,0.125},
{0.25,-0.1875,0.0,0.3125,-0.125,0.125},
{0.375,-0.1875,0.0,0.4375,-0.125,0.125},
{0.0,-0.1875,0.0625,0.0625,-0.125,0.125},
{-0.3125,-0.1875,0.125,-0.25,-0.125,0.1875},
{0.3125,-0.1875,0.125,0.375,-0.125,0.1875},
{0.0,-0.25,0.1875,0.0625,-0.1875,0.25},
},
},

1
data/bird_skeleton.we Normal file
View File

@ -0,0 +1 @@
5:local _={};_[1]="wool:white";return {{y=5,z=8,name=_[1],x=2},{y=5,z=9,name=_[1],x=2},{y=5,z=7,name=_[1],x=3},{y=5,z=10,name=_[1],x=3},{y=5,z=6,name=_[1],x=4},{y=5,z=8,name=_[1],x=4},{y=5,z=9,name=_[1],x=4},{y=5,z=6,name=_[1],x=5},{y=5,z=7,name=_[1],x=5},{y=5,z=5,name=_[1],x=6},{y=0,z=7,name=_[1],x=7},{y=0,z=8,name=_[1],x=7},{y=1,z=8,name=_[1],x=7},{y=2,z=8,name=_[1],x=7},{y=3,z=8,name=_[1],x=7},{y=4,z=2,name=_[1],x=7},{y=4,z=3,name=_[1],x=7},{y=4,z=5,name=_[1],x=7},{y=4,z=7,name=_[1],x=7},{y=5,z=2,name=_[1],x=7},{y=5,z=3,name=_[1],x=7},{y=5,z=5,name=_[1],x=7},{y=5,z=7,name=_[1],x=7},{y=6,z=3,name=_[1],x=7},{y=3,z=1,name=_[1],x=8},{y=3,z=2,name=_[1],x=8},{y=3,z=5,name=_[1],x=8},{y=3,z=7,name=_[1],x=8},{y=4,z=2,name=_[1],x=8},{y=4,z=3,name=_[1],x=8},{y=4,z=11,name=_[1],x=8},{y=5,z=1,name=_[1],x=8},{y=5,z=9,name=_[1],x=8},{y=6,z=2,name=_[1],x=8},{y=6,z=3,name=_[1],x=8},{y=6,z=5,name=_[1],x=8},{y=6,z=7,name=_[1],x=8},{y=0,z=7,name=_[1],x=9},{y=0,z=8,name=_[1],x=9},{y=1,z=8,name=_[1],x=9},{y=2,z=8,name=_[1],x=9},{y=3,z=8,name=_[1],x=9},{y=4,z=2,name=_[1],x=9},{y=4,z=3,name=_[1],x=9},{y=4,z=5,name=_[1],x=9},{y=4,z=7,name=_[1],x=9},{y=5,z=2,name=_[1],x=9},{y=5,z=3,name=_[1],x=9},{y=5,z=5,name=_[1],x=9},{y=5,z=7,name=_[1],x=9},{y=6,z=3,name=_[1],x=9},{y=5,z=5,name=_[1],x=10},{y=5,z=6,name=_[1],x=11},{y=5,z=7,name=_[1],x=11},{y=5,z=6,name=_[1],x=12},{y=5,z=8,name=_[1],x=12},{y=5,z=9,name=_[1],x=12},{y=5,z=7,name=_[1],x=13},{y=5,z=10,name=_[1],x=13},{y=5,z=8,name=_[1],x=14},{y=5,z=9,name=_[1],x=14}}

73
data/frog_skeleton.lua Normal file
View File

@ -0,0 +1,73 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{-0.1875,-0.5,-0.5,-0.0625,-0.4375,-0.4375},
{0.0,-0.5,-0.5,0.125,-0.4375,-0.4375},
{-0.25,-0.5,-0.4375,-0.1875,-0.4375,-0.25},
{0.125,-0.5,-0.4375,0.1875,-0.4375,-0.25},
{-0.125,-0.3125,-0.4375,0.0625,-0.25,-0.375},
{-0.125,-0.1875,-0.4375,0.0625,-0.125,-0.375},
{-0.125,-0.125,-0.4375,-0.0625,-0.0625,-0.375},
{0.0,-0.125,-0.4375,0.0625,-0.0625,-0.375},
{-0.3125,-0.5,-0.375,-0.25,-0.4375,-0.3125},
{-0.1875,-0.5,-0.375,-0.0625,-0.4375,-0.3125},
{0.0,-0.5,-0.375,0.125,-0.4375,-0.3125},
{0.1875,-0.5,-0.375,0.25,-0.4375,-0.3125},
{-0.375,-0.4375,-0.375,-0.3125,-0.375,-0.1875},
{0.25,-0.4375,-0.375,0.3125,-0.375,-0.1875},
{-0.1875,-0.3125,-0.375,-0.125,-0.25,-0.1875},
{0.0625,-0.3125,-0.375,0.125,-0.25,-0.1875},
{-0.1875,-0.1875,-0.375,-0.125,-0.125,-0.1875},
{0.0625,-0.1875,-0.375,0.125,-0.125,-0.1875},
{-0.125,-0.0625,-0.375,0.0625,0.0,-0.1875},
{-0.1875,-0.5,-0.25,-0.0625,-0.4375,-0.1875},
{0.0,-0.5,-0.25,0.125,-0.4375,-0.1875},
{-0.0625,-0.3125,-0.25,0.0,-0.25,0.0625},
{-0.1875,-0.125,-0.25,-0.125,-0.0625,-0.1875},
{0.0625,-0.125,-0.25,0.125,-0.0625,-0.1875},
{-0.375,-0.375,-0.1875,-0.3125,-0.3125,-0.125},
{0.25,-0.375,-0.1875,0.3125,-0.3125,-0.125},
{-0.1875,-0.25,-0.1875,-0.0625,-0.1875,-0.125},
{0.0,-0.25,-0.1875,0.125,-0.1875,-0.125},
{-0.3125,-0.375,-0.125,-0.25,-0.1875,-0.0625},
{0.1875,-0.375,-0.125,0.25,-0.1875,-0.0625},
{-0.25,-0.1875,-0.125,-0.1875,0.0,-0.0625},
{0.125,-0.1875,-0.125,0.1875,0.0,-0.0625},
{-0.1875,-0.0625,-0.125,0.125,0.0,-0.0625},
{-0.1875,-0.5,-0.0625,-0.125,-0.4375,0.5},
{0.0625,-0.5,-0.0625,0.125,-0.4375,0.5},
{-0.1875,-0.25,-0.0625,-0.0625,-0.1875,0.0},
{0.0,-0.25,-0.0625,0.125,-0.1875,0.0},
{-0.25,-0.0625,-0.0625,-0.125,0.0,0.0},
{0.0625,-0.0625,-0.0625,0.1875,0.0,0.0},
{-0.3125,-0.5,0.0,-0.25,-0.4375,0.125},
{-0.0625,-0.5,0.0,0.0,-0.4375,0.125},
{0.1875,-0.5,0.0,0.25,-0.4375,0.125},
{-0.1875,-0.375,0.0,-0.125,-0.25,0.0625},
{0.0625,-0.375,0.0,0.125,-0.25,0.0625},
{-0.125,-0.0625,0.0,0.0625,0.0,0.0625},
{-0.1875,-0.4375,0.0625,-0.125,-0.375,0.4375},
{0.0625,-0.4375,0.0625,0.125,-0.375,0.4375},
{-0.1875,-0.3125,0.0625,-0.125,-0.25,0.25},
{0.0625,-0.3125,0.0625,0.125,-0.25,0.25},
{-0.1875,-0.0625,0.0625,-0.125,0.0,0.1875},
{-0.0625,-0.0625,0.0625,0.0,0.0,0.4375},
{0.0625,-0.0625,0.0625,0.125,0.0,0.1875},
{-0.25,-0.5,0.125,-0.1875,-0.4375,0.25},
{-0.125,-0.5,0.125,-0.0625,-0.4375,0.25},
{0.0,-0.5,0.125,0.0625,-0.4375,0.25},
{0.125,-0.5,0.125,0.1875,-0.4375,0.25},
{-0.1875,-0.125,0.1875,-0.125,-0.0625,0.3125},
{0.0625,-0.125,0.1875,0.125,-0.0625,0.3125},
{-0.1875,-0.25,0.25,-0.125,-0.1875,0.3125},
{0.0,-0.25,0.25,0.125,-0.1875,0.3125},
{-0.125,-0.25,0.3125,-0.0625,-0.1875,0.5},
{0.0,-0.25,0.3125,0.0625,-0.1875,0.5},
{-0.1875,-0.1875,0.3125,-0.125,-0.125,0.375},
{0.0625,-0.1875,0.3125,0.125,-0.125,0.375},
{-0.125,-0.1875,0.375,-0.0625,-0.125,0.4375},
{0.0,-0.1875,0.375,0.0625,-0.125,0.4375},
{-0.0625,-0.1875,0.4375,0.0,-0.125,0.5},
},
},

1
data/frog_skeleton.we Normal file

File diff suppressed because one or more lines are too long

114
data/pig_skeleton.lua Normal file
View File

@ -0,0 +1,114 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{-0.0625,-0.0625,-0.5,0.0625,0.0,-0.25},
{-0.125,0.0,-0.5,-0.0625,0.0625,-0.1875},
{0.0625,0.0,-0.5,0.125,0.0625,-0.1875},
{-0.0625,0.0625,-0.5,0.0625,0.125,-0.4375},
{-0.1875,-0.0625,-0.4375,-0.0625,0.0,-0.375},
{0.0625,-0.0625,-0.4375,0.1875,0.0,-0.375},
{-0.125,0.0625,-0.4375,-0.0625,0.125,-0.1875},
{0.0625,0.0625,-0.4375,0.125,0.125,-0.1875},
{-0.0625,0.125,-0.4375,0.0625,0.1875,-0.3125},
{-0.125,0.1875,-0.3125,0.125,0.25,-0.25},
{-0.0625,0.0,-0.25,0.0625,0.0625,-0.1875},
{-0.125,0.125,-0.25,-0.0625,0.1875,-0.125},
{0.0625,0.125,-0.25,0.125,0.1875,-0.125},
{-0.1875,0.1875,-0.25,-0.125,0.3125,-0.1875},
{0.125,0.1875,-0.25,0.1875,0.3125,-0.1875},
{-0.125,0.25,-0.25,0.125,0.3125,-0.1875},
{-0.25,-0.5,-0.1875,-0.125,-0.4375,-0.125},
{0.125,-0.5,-0.1875,0.25,-0.4375,-0.125},
{-0.0625,0.0625,-0.1875,0.0625,0.125,-0.125},
{-0.125,0.1875,-0.1875,0.125,0.25,-0.125},
{-0.25,-0.4375,-0.125,-0.125,-0.375,-0.0625},
{0.125,-0.4375,-0.125,0.25,-0.375,-0.0625},
{-0.25,-0.375,-0.0625,-0.125,-0.3125,0.0},
{0.125,-0.375,-0.0625,0.25,-0.3125,0.0},
{-0.0625,0.0,-0.0625,0.0625,0.125,0.0},
{-0.25,-0.5,0.0,-0.1875,-0.375,0.0625},
{0.1875,-0.5,0.0,0.25,-0.375,0.0625},
{-0.25,-0.3125,0.0,-0.125,-0.25,0.0625},
{0.125,-0.3125,0.0,0.25,-0.25,0.0625},
{-0.25,-0.1875,0.0,-0.125,0.0625,0.0625},
{0.125,-0.1875,0.0,0.25,0.0625,0.0625},
{-0.1875,0.0625,0.0,-0.125,0.125,0.125},
{0.125,0.0625,0.0,0.1875,0.125,0.125},
{-0.25,-0.25,0.0625,-0.125,-0.1875,0.125},
{0.125,-0.25,0.0625,0.25,-0.1875,0.125},
{-0.0625,0.0,0.0625,0.0625,0.1875,0.125},
{-0.1875,0.125,0.0625,-0.0625,0.1875,0.125},
{0.0625,0.125,0.0625,0.1875,0.1875,0.125},
{-0.25,-0.1875,0.125,-0.125,-0.125,0.1875},
{0.125,-0.1875,0.125,0.25,-0.125,0.1875},
{-0.1875,0.125,0.125,-0.125,0.25,0.1875},
{-0.0625,0.1875,0.125,0.0625,0.3125,0.1875},
{-0.0625,-0.1875,0.1875,0.0625,-0.125,0.25},
{-0.125,-0.125,0.1875,-0.0625,-0.0625,0.25},
{0.0625,-0.125,0.1875,0.125,-0.0625,0.25},
{-0.1875,-0.0625,0.1875,-0.125,0.0625,0.25},
{0.125,-0.0625,0.1875,0.1875,0.0625,0.25},
{-0.125,0.0625,0.1875,0.125,0.125,0.25},
{-0.0625,0.125,0.1875,0.0625,0.1875,0.25},
{-0.0625,0.1875,0.25,0.0625,0.3125,0.3125},
{-0.0625,-0.125,0.3125,0.0625,-0.0625,0.375},
{-0.125,-0.0625,0.3125,-0.0625,0.0,0.375},
{0.0625,-0.0625,0.3125,0.125,0.0,0.375},
{-0.1875,0.0,0.3125,-0.125,0.0625,0.375},
{0.125,0.0,0.3125,0.1875,0.0625,0.375},
{-0.25,0.0625,0.3125,-0.1875,0.125,0.375},
{0.1875,0.0625,0.3125,0.25,0.125,0.375},
{-0.1875,0.125,0.3125,-0.125,0.1875,0.375},
{-0.0625,0.125,0.3125,0.0625,0.25,0.375},
{0.125,0.125,0.3125,0.1875,0.1875,0.375},
{-0.125,0.1875,0.3125,-0.0625,0.25,0.375},
{0.0625,0.1875,0.3125,0.125,0.25,0.375},
{-0.25,-0.0625,0.375,-0.1875,0.0,0.4375},
{0.1875,-0.0625,0.375,0.25,0.0,0.4375},
{-0.0625,0.25,0.375,0.0625,0.3125,0.5},
{-0.25,0.0,0.4375,-0.1875,0.1875,0.5},
{0.1875,0.0,0.4375,0.25,0.1875,0.5},
{-0.1875,0.1875,0.4375,-0.125,0.25,0.5},
{-0.0625,0.1875,0.4375,0.0625,0.25,0.5},
{0.125,0.1875,0.4375,0.1875,0.25,0.5},
{-0.125,0.25,0.4375,-0.0625,0.3125,0.5},
{0.0625,0.25,0.4375,0.125,0.3125,0.5},
},
},
-- node box {x=0, y=0, z=1}
node_box = {
type = "fixed",
fixed = {
{-0.25,-0.0625,-0.4375,-0.125,0.0625,-0.375},
{0.125,-0.0625,-0.4375,0.25,0.0625,-0.375},
{-0.0625,0.1875,-0.4375,0.0625,0.3125,-0.375},
{-0.25,-0.5,-0.375,-0.125,-0.4375,-0.3125},
{0.125,-0.5,-0.375,0.25,-0.4375,-0.3125},
{-0.25,-0.125,-0.375,-0.125,-0.0625,-0.3125},
{0.125,-0.125,-0.375,0.25,-0.0625,-0.3125},
{-0.25,0.0625,-0.375,-0.125,0.1875,-0.3125},
{0.125,0.0625,-0.375,0.25,0.1875,-0.3125},
{-0.125,0.1875,-0.375,-0.0625,0.25,-0.3125},
{0.0625,0.1875,-0.375,0.125,0.25,-0.3125},
{-0.25,-0.5,-0.3125,-0.1875,-0.375,-0.25},
{0.1875,-0.5,-0.3125,0.25,-0.375,-0.25},
{-0.1875,-0.4375,-0.3125,-0.125,-0.375,-0.25},
{0.125,-0.4375,-0.3125,0.1875,-0.375,-0.25},
{-0.25,-0.1875,-0.3125,-0.125,-0.125,-0.25},
{0.125,-0.1875,-0.3125,0.25,-0.125,-0.25},
{-0.0625,0.1875,-0.3125,0.0625,0.3125,-0.25},
{-0.25,-0.375,-0.25,-0.125,-0.3125,-0.1875},
{0.125,-0.375,-0.25,0.25,-0.3125,-0.1875},
{-0.25,-0.25,-0.25,-0.125,-0.1875,-0.1875},
{0.125,-0.25,-0.25,0.25,-0.1875,-0.1875},
{-0.25,-0.3125,-0.1875,-0.125,-0.25,-0.125},
{0.125,-0.3125,-0.1875,0.25,-0.25,-0.125},
{-0.0625,0.25,-0.1875,0.0625,0.3125,-0.125},
{-0.25,-0.25,-0.125,-0.125,-0.1875,-0.0625},
{0.125,-0.25,-0.125,0.25,-0.1875,-0.0625},
{-0.0625,0.1875,-0.125,0.0625,0.25,-0.0625},
{-0.0625,0.125,-0.0625,0.0625,0.1875,0.0},
{-0.0625,0.0625,0.0,0.0625,0.125,0.0625},
},
},

1
data/pig_skeleton.we Normal file

File diff suppressed because one or more lines are too long

113
data/reindeer_skeleton.lua Normal file
View File

@ -0,0 +1,113 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{-0.0625,0.375,-0.5,0.0625,0.5,-0.4375},
{-0.125,0.4375,-0.5,-0.0625,0.5,-0.25},
{0.0625,0.4375,-0.5,0.125,0.5,-0.25},
{-0.0625,0.375,-0.4375,0.0625,0.4375,0.0625},
{-0.125,0.375,-0.25,-0.0625,0.4375,0.0625},
{0.0625,0.375,-0.25,0.125,0.4375,0.0625},
{-0.1875,0.4375,-0.25,-0.125,0.5,0.0625},
{0.125,0.4375,-0.25,0.1875,0.5,0.0625},
{-0.0625,0.375,0.125,0.0625,0.4375,0.1875},
{-0.125,0.4375,0.125,-0.0625,0.5,0.1875},
{0.0625,0.4375,0.125,0.125,0.5,0.1875},
{-0.4375,-0.5,0.25,-0.375,-0.4375,0.4375},
{-0.3125,-0.5,0.25,-0.25,-0.4375,0.4375},
{0.25,-0.5,0.25,0.3125,-0.4375,0.4375},
{0.375,-0.5,0.25,0.4375,-0.4375,0.4375},
{-0.375,-0.0625,0.25,-0.3125,0.125,0.3125},
{0.3125,-0.0625,0.25,0.375,0.125,0.3125},
{-0.0625,0.25,0.25,0.0625,0.3125,0.3125},
{-0.1875,0.3125,0.25,-0.0625,0.375,0.3125},
{0.0625,0.3125,0.25,0.1875,0.375,0.3125},
{-0.25,0.375,0.25,-0.1875,0.5,0.3125},
{0.1875,0.375,0.25,0.25,0.5,0.3125},
{-0.0625,0.4375,0.25,0.0625,0.5,0.3125},
{-0.375,-0.5,0.3125,-0.3125,-0.4375,0.4375},
{0.3125,-0.5,0.3125,0.375,-0.4375,0.4375},
{-0.375,-0.1875,0.3125,-0.3125,0.0,0.375},
{0.3125,-0.1875,0.3125,0.375,0.0,0.375},
{-0.375,0.0625,0.3125,-0.3125,0.1875,0.375},
{0.3125,0.0625,0.3125,0.375,0.1875,0.375},
{-0.375,-0.4375,0.375,-0.3125,-0.375,0.5},
{0.3125,-0.4375,0.375,0.375,-0.375,0.5},
{-0.375,-0.3125,0.375,-0.3125,-0.125,0.4375},
{0.3125,-0.3125,0.375,0.375,-0.125,0.4375},
{-0.375,0.125,0.375,-0.3125,0.25,0.4375},
{0.3125,0.125,0.375,0.375,0.25,0.4375},
{-0.125,0.1875,0.375,0.125,0.25,0.4375},
{-0.25,0.25,0.375,-0.125,0.3125,0.4375},
{0.125,0.25,0.375,0.25,0.3125,0.4375},
{-0.3125,0.3125,0.375,-0.25,0.5,0.4375},
{0.25,0.3125,0.375,0.3125,0.5,0.4375},
{-0.375,0.4375,0.375,-0.3125,0.5,0.5},
{0.3125,0.4375,0.375,0.375,0.5,0.5},
{-0.375,-0.375,0.4375,-0.3125,-0.25,0.5},
{0.3125,-0.375,0.4375,0.375,-0.25,0.5},
{-0.375,0.1875,0.4375,-0.3125,0.3125,0.5},
{0.3125,0.1875,0.4375,0.375,0.3125,0.5},
{-0.375,0.375,0.4375,-0.3125,0.4375,0.5},
{0.3125,0.375,0.4375,0.375,0.4375,0.5},
},
},
-- node box {x=0, y=0, z=1}
node_box = {
type = "fixed",
fixed = {
{-0.125,0.1875,-0.5,0.125,0.25,-0.4375},
{-0.375,0.25,-0.5,-0.3125,0.4375,-0.4375},
{-0.25,0.25,-0.5,-0.125,0.3125,-0.4375},
{0.125,0.25,-0.5,0.25,0.3125,-0.4375},
{0.3125,0.25,-0.5,0.375,0.4375,-0.4375},
{-0.3125,0.3125,-0.5,-0.25,0.5,-0.4375},
{0.25,0.3125,-0.5,0.3125,0.5,-0.4375},
{-0.375,0.4375,-0.4375,-0.3125,0.5,-0.375},
{0.3125,0.4375,-0.4375,0.375,0.5,-0.375},
{-0.125,0.1875,-0.375,0.125,0.25,-0.3125},
{-0.25,0.25,-0.375,-0.125,0.3125,-0.3125},
{0.125,0.25,-0.375,0.25,0.3125,-0.3125},
{-0.3125,0.3125,-0.375,-0.25,0.5,-0.3125},
{0.25,0.3125,-0.375,0.3125,0.5,-0.3125},
{-0.125,0.1875,-0.25,-0.0625,0.25,-0.1875},
{0.0625,0.1875,-0.25,0.125,0.25,-0.1875},
{-0.25,0.25,-0.25,-0.125,0.3125,-0.1875},
{0.125,0.25,-0.25,0.25,0.3125,-0.1875},
{-0.3125,0.3125,-0.25,-0.25,0.5,-0.1875},
{0.25,0.3125,-0.25,0.3125,0.5,-0.1875},
{-0.375,-0.5,-0.125,-0.3125,-0.4375,0.0625},
{-0.25,-0.5,-0.125,-0.1875,-0.4375,0.0625},
{0.1875,-0.5,-0.125,0.25,-0.4375,0.0625},
{0.3125,-0.5,-0.125,0.375,-0.4375,0.0625},
{-0.3125,-0.5,-0.0625,-0.25,-0.4375,0.0625},
{0.25,-0.5,-0.0625,0.3125,-0.4375,0.0625},
{-0.3125,0.3125,-0.0625,-0.25,0.375,0.0625},
{0.25,0.3125,-0.0625,0.3125,0.375,0.0625},
{-0.3125,-0.4375,0.0,-0.25,-0.3125,0.0625},
{0.25,-0.4375,0.0,0.3125,-0.3125,0.0625},
{-0.3125,0.25,0.0,-0.25,0.3125,0.125},
{0.25,0.25,0.0,0.3125,0.3125,0.125},
{-0.3125,0.375,0.0,-0.25,0.4375,0.125},
{0.25,0.375,0.0,0.3125,0.4375,0.125},
{-0.3125,-0.375,0.0625,-0.25,-0.1875,0.125},
{0.25,-0.375,0.0625,0.3125,-0.1875,0.125},
{-0.3125,0.125,0.0625,-0.25,0.25,0.125},
{0.25,0.125,0.0625,0.3125,0.25,0.125},
{-0.3125,0.4375,0.0625,-0.25,0.5,0.1875},
{0.25,0.4375,0.0625,0.3125,0.5,0.1875},
{-0.3125,-0.4375,0.125,-0.25,-0.375,0.1875},
{0.25,-0.4375,0.125,0.3125,-0.375,0.1875},
{-0.3125,-0.25,0.125,-0.25,-0.0625,0.1875},
{0.25,-0.25,0.125,0.3125,-0.0625,0.1875},
{-0.3125,0.0,0.125,-0.25,0.1875,0.1875},
{0.25,0.0,0.125,0.3125,0.1875,0.1875},
{-0.1875,0.4375,0.125,-0.125,0.5,0.375},
{0.125,0.4375,0.125,0.1875,0.5,0.375},
{-0.3125,-0.125,0.1875,-0.25,0.0625,0.25},
{0.25,-0.125,0.1875,0.3125,0.0625,0.25},
{-0.3125,0.0625,0.25,-0.25,0.125,0.3125},
{0.25,0.0625,0.25,0.3125,0.125,0.3125},
{-0.0625,0.375,0.4375,0.0625,0.4375,0.5},
},
},

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,21 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{-0.0625,-0.375,-0.375,0.0,-0.25,-0.3125},
{-0.0625,-0.4375,-0.3125,0.0,-0.3125,-0.1875},
{-0.0625,-0.25,-0.3125,0.0,-0.1875,-0.1875},
{-0.0625,-0.3125,-0.25,0.0,-0.25,-0.1875},
{-0.0625,-0.375,-0.1875,0.0,-0.3125,0.25},
{-0.125,-0.5,-0.125,-0.0625,-0.375,-0.0625},
{0.0,-0.5,-0.125,0.0625,-0.375,-0.0625},
{-0.0625,-0.3125,-0.125,0.0,-0.1875,-0.0625},
{-0.125,-0.5,0.0,-0.0625,-0.375,0.0625},
{0.0,-0.5,0.0,0.0625,-0.375,0.0625},
{-0.0625,-0.3125,0.0,0.0,-0.1875,0.0625},
{-0.0625,-0.4375,0.125,0.0,-0.375,0.1875},
{-0.0625,-0.3125,0.125,0.0,-0.25,0.1875},
{-0.0625,-0.4375,0.25,0.0,-0.375,0.3125},
{-0.0625,-0.3125,0.25,0.0,-0.25,0.3125},
},
},

View File

@ -0,0 +1 @@
5:local _={};_[1]="wool:white";return {{y=0,z=6,param1=89,name=_[1],x=6},{y=0,z=8,param1=89,name=_[1],x=6},{y=1,z=6,param1=89,name=_[1],x=6},{y=1,z=8,param1=89,name=_[1],x=6},{y=1,z=3,param1=89,name=_[1],x=7},{y=1,z=4,param1=89,name=_[1],x=7},{y=1,z=10,param1=89,name=_[1],x=7},{y=1,z=12,param1=89,name=_[1],x=7},{y=2,z=2,param1=89,name=_[1],x=7},{y=2,z=3,param1=89,name=_[1],x=7},{y=2,z=4,param1=89,name=_[1],x=7},{y=2,z=5,param1=89,name=_[1],x=7},{y=2,z=6,param1=89,name=_[1],x=7},{y=2,z=7,param1=89,name=_[1],x=7},{y=2,z=8,param1=89,name=_[1],x=7},{y=2,z=9,param1=89,name=_[1],x=7},{y=2,z=10,param1=89,name=_[1],x=7},{y=2,z=11,param1=89,name=_[1],x=7},{y=3,z=2,param1=89,name=_[1],x=7},{y=3,z=4,param1=89,name=_[1],x=7},{y=3,z=6,param1=89,name=_[1],x=7},{y=3,z=8,param1=89,name=_[1],x=7},{y=3,z=10,param1=89,name=_[1],x=7},{y=3,z=12,param1=89,name=_[1],x=7},{y=4,z=3,param1=89,name=_[1],x=7},{y=4,z=4,param1=89,name=_[1],x=7},{y=4,z=6,param1=89,name=_[1],x=7},{y=4,z=8,param1=89,name=_[1],x=7},{y=0,z=6,param1=89,name=_[1],x=8},{y=0,z=8,param1=89,name=_[1],x=8},{y=1,z=6,param1=89,name=_[1],x=8},{y=1,z=8,param1=89,name=_[1],x=8}}

78
data/turkey_skeleton.lua Normal file
View File

@ -0,0 +1,78 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{-0.0625,0.1875,-0.4375,0.0625,0.25,-0.3125},
{-0.0625,0.3125,-0.4375,0.0625,0.375,-0.3125},
{-0.125,0.1875,-0.3125,-0.0625,0.25,-0.125},
{0.0625,0.1875,-0.3125,0.125,0.25,-0.125},
{-0.125,0.3125,-0.3125,-0.0625,0.375,-0.125},
{0.0625,0.3125,-0.3125,0.125,0.375,-0.125},
{-0.0625,0.375,-0.3125,0.0625,0.4375,-0.25},
{-0.0625,0.125,-0.25,0.0625,0.1875,-0.1875},
{-0.0625,0.4375,-0.25,0.0625,0.5,-0.125},
{-0.3125,-0.25,-0.1875,-0.1875,-0.1875,-0.125},
{0.1875,-0.25,-0.1875,0.3125,-0.1875,-0.125},
{-0.0625,0.0,-0.1875,0.0625,0.0625,-0.125},
{-0.125,0.375,-0.1875,-0.0625,0.4375,-0.125},
{0.0625,0.375,-0.1875,0.125,0.4375,-0.125},
{-0.3125,-0.3125,-0.125,-0.25,-0.1875,-0.0625},
{0.25,-0.3125,-0.125,0.3125,-0.1875,-0.0625},
{-0.1875,-0.25,-0.125,-0.125,-0.1875,-0.0625},
{-0.0625,-0.25,-0.125,0.0625,-0.1875,0.3125},
{0.125,-0.25,-0.125,0.1875,-0.1875,-0.0625},
{-0.0625,-0.125,-0.125,0.0625,-0.0625,-0.0625},
{-0.0625,0.125,-0.125,0.0625,0.1875,-0.0625},
{-0.125,0.25,-0.125,-0.0625,0.3125,-0.0625},
{0.0625,0.25,-0.125,0.125,0.3125,-0.0625},
{-0.0625,0.375,-0.125,0.0625,0.4375,-0.0625},
{-0.3125,-0.375,-0.0625,-0.25,-0.3125,0.0625},
{0.25,-0.375,-0.0625,0.3125,-0.3125,0.0625},
{-0.3125,-0.25,-0.0625,-0.25,-0.1875,0.0625},
{0.25,-0.25,-0.0625,0.3125,-0.1875,0.0625},
{-0.1875,-0.1875,-0.0625,-0.0625,-0.125,0.0},
{0.0625,-0.1875,-0.0625,0.1875,-0.125,0.0},
{-0.0625,0.0,-0.0625,0.0625,0.0625,0.0},
{-0.0625,0.25,-0.0625,0.0625,0.3125,0.0},
{-0.125,-0.1875,0.0,-0.0625,-0.0625,0.0625},
{0.0625,-0.1875,0.0,0.125,-0.0625,0.0625},
{-0.125,-0.1875,0.0625,-0.0625,-0.125,0.125},
{0.0625,-0.1875,0.0625,0.125,-0.125,0.125},
{-0.1875,-0.125,0.0625,-0.125,0.0625,0.125},
{0.125,-0.125,0.0625,0.1875,0.0625,0.125},
{-0.125,0.0625,0.0625,-0.0625,0.125,0.125},
{0.0625,0.0625,0.0625,0.125,0.125,0.125},
{-0.0625,0.125,0.0625,0.0625,0.1875,0.125},
{-0.375,-0.5,0.125,-0.3125,-0.4375,0.25},
{-0.25,-0.5,0.125,-0.1875,-0.4375,0.25},
{0.1875,-0.5,0.125,0.25,-0.4375,0.25},
{0.3125,-0.5,0.125,0.375,-0.4375,0.25},
{-0.3125,-0.25,0.125,-0.25,-0.125,0.1875},
{0.25,-0.25,0.125,0.3125,-0.125,0.1875},
{-0.3125,-0.3125,0.1875,-0.25,-0.25,0.25},
{0.25,-0.3125,0.1875,0.3125,-0.25,0.25},
{-0.125,-0.1875,0.1875,-0.0625,-0.125,0.25},
{0.0625,-0.1875,0.1875,0.125,-0.125,0.25},
{-0.3125,-0.125,0.1875,-0.25,-0.0625,0.25},
{-0.1875,-0.125,0.1875,-0.125,0.0625,0.25},
{0.125,-0.125,0.1875,0.1875,0.0625,0.25},
{0.25,-0.125,0.1875,0.3125,-0.0625,0.25},
{-0.125,0.0625,0.1875,-0.0625,0.125,0.25},
{0.0625,0.0625,0.1875,0.125,0.125,0.25},
{-0.0625,0.125,0.1875,0.0625,0.1875,0.25},
{-0.3125,-0.5,0.25,-0.25,-0.3125,0.3125},
{0.25,-0.5,0.25,0.3125,-0.3125,0.3125},
{-0.25,-0.0625,0.25,-0.1875,0.0,0.3125},
{0.1875,-0.0625,0.25,0.25,0.0,0.3125},
{-0.3125,-0.5,0.3125,-0.25,-0.4375,0.375},
{0.25,-0.5,0.3125,0.3125,-0.4375,0.375},
{-0.25,0.0,0.3125,-0.125,0.0625,0.375},
{0.125,0.0,0.3125,0.25,0.0625,0.375},
{-0.125,0.0625,0.3125,-0.0625,0.125,0.4375},
{0.0625,0.0625,0.3125,0.125,0.125,0.4375},
{-0.0625,0.125,0.3125,0.0625,0.1875,0.375},
{-0.1875,-0.0625,0.375,-0.125,0.0625,0.4375},
{0.125,-0.0625,0.375,0.1875,0.0625,0.4375},
{-0.0625,0.125,0.4375,0.0625,0.1875,0.5},
},
},

1
data/turkey_skeleton.we Normal file

File diff suppressed because one or more lines are too long

134
data/wolf_skeleton.lua Normal file
View File

@ -0,0 +1,134 @@
-- node box {x=0, y=0, z=0}
node_box = {
type = "fixed",
fixed = {
{-0.125,0.1875,-0.375,0.0625,0.25,-0.1875},
{-0.125,0.3125,-0.375,0.0625,0.375,-0.25},
{-0.125,0.375,-0.375,-0.0625,0.4375,-0.1875},
{0.0,0.375,-0.375,0.0625,0.4375,-0.1875},
{-0.0625,0.4375,-0.375,0.0,0.5,-0.1875},
{-0.125,0.3125,-0.25,-0.0625,0.375,-0.125},
{0.0,0.3125,-0.25,0.0625,0.375,-0.125},
{-0.125,0.25,-0.1875,0.0625,0.3125,-0.0625},
{-0.1875,0.3125,-0.1875,-0.125,0.4375,0.125},
{0.0625,0.3125,-0.1875,0.125,0.4375,0.125},
{-0.1875,0.4375,-0.125,-0.125,0.5,0.125},
{0.0625,0.4375,-0.125,0.125,0.5,0.125},
{-0.1875,0.25,-0.0625,-0.125,0.3125,0.0625},
{0.0625,0.25,-0.0625,0.125,0.3125,0.125},
{-0.125,0.3125,-0.0625,0.0625,0.375,0.0625},
{-0.25,-0.5,0.0,-0.1875,-0.4375,0.1875},
{0.125,-0.5,0.0,0.1875,-0.4375,0.1875},
{-0.3125,-0.5,0.0625,-0.25,-0.4375,0.1875},
{-0.1875,-0.5,0.0625,-0.125,-0.4375,0.1875},
{0.0625,-0.5,0.0625,0.125,-0.4375,0.1875},
{0.1875,-0.5,0.0625,0.25,-0.4375,0.1875},
{-0.125,0.25,0.0625,0.0625,0.3125,0.125},
{-0.25,-0.4375,0.1875,-0.1875,-0.3125,0.25},
{0.125,-0.4375,0.1875,0.1875,-0.3125,0.25},
{-0.25,0.0625,0.1875,-0.1875,0.25,0.25},
{0.125,0.0625,0.1875,0.1875,0.25,0.25},
{-0.0625,0.3125,0.1875,0.0,0.375,0.25},
{-0.125,0.375,0.1875,-0.0625,0.4375,0.25},
{0.0,0.375,0.1875,0.0625,0.4375,0.25},
{-0.0625,0.4375,0.1875,0.0,0.5,0.25},
{-0.25,-0.3125,0.25,-0.1875,-0.1875,0.3125},
{0.125,-0.3125,0.25,0.1875,-0.1875,0.3125},
{-0.25,-0.0625,0.25,-0.1875,0.0625,0.3125},
{0.125,-0.0625,0.25,0.1875,0.0625,0.3125},
{-0.25,0.125,0.25,-0.1875,0.3125,0.3125},
{0.125,0.125,0.25,0.1875,0.3125,0.3125},
{-0.25,-0.1875,0.3125,-0.1875,-0.0625,0.375},
{0.125,-0.1875,0.3125,0.1875,-0.0625,0.375},
{-0.125,0.0625,0.3125,0.0625,0.125,0.375},
{-0.1875,0.125,0.3125,-0.125,0.375,0.375},
{0.0625,0.125,0.3125,0.125,0.375,0.375},
{-0.25,0.1875,0.3125,-0.1875,0.3125,0.375},
{0.125,0.1875,0.3125,0.1875,0.3125,0.375},
{-0.0625,0.3125,0.3125,0.0,0.375,0.375},
{-0.125,0.375,0.3125,-0.0625,0.4375,0.375},
{0.0,0.375,0.3125,0.0625,0.4375,0.375},
{-0.0625,0.4375,0.3125,0.0,0.5,0.375},
{-0.3125,0.1875,0.375,-0.25,0.375,0.4375},
{0.1875,0.1875,0.375,0.25,0.375,0.4375},
{-0.125,0.0,0.4375,0.0625,0.0625,0.5},
{-0.1875,0.0625,0.4375,-0.125,0.125,0.5},
{0.0625,0.0625,0.4375,0.125,0.125,0.5},
{-0.25,0.125,0.4375,-0.1875,0.375,0.5},
{0.125,0.125,0.4375,0.1875,0.375,0.5},
{-0.3125,0.25,0.4375,-0.25,0.375,0.5},
{0.1875,0.25,0.4375,0.25,0.375,0.5},
{-0.0625,0.3125,0.4375,0.0,0.375,0.5},
{-0.1875,0.375,0.4375,-0.0625,0.4375,0.5},
{0.0,0.375,0.4375,0.125,0.4375,0.5},
{-0.0625,0.4375,0.4375,0.0,0.5,0.5},
},
},
-- node box {x=0, y=0, z=1}
node_box = {
type = "fixed",
fixed = {
{-0.125,0.0,-0.4375,0.0625,0.0625,-0.375},
{-0.1875,0.0625,-0.4375,-0.125,0.125,-0.375},
{0.0625,0.0625,-0.4375,0.125,0.125,-0.375},
{-0.25,0.125,-0.4375,-0.1875,0.375,-0.375},
{0.125,0.125,-0.4375,0.1875,0.375,-0.375},
{-0.0625,0.3125,-0.4375,0.0,0.375,-0.375},
{-0.1875,0.375,-0.4375,-0.0625,0.4375,-0.375},
{0.0,0.375,-0.4375,0.125,0.4375,-0.375},
{-0.0625,0.4375,-0.4375,0.0,0.5,-0.375},
{-0.125,0.0,-0.3125,0.0625,0.0625,-0.25},
{-0.1875,0.0625,-0.3125,-0.125,0.125,-0.25},
{0.0625,0.0625,-0.3125,0.125,0.125,-0.25},
{-0.25,0.125,-0.3125,-0.1875,0.375,-0.25},
{0.125,0.125,-0.3125,0.1875,0.375,-0.25},
{-0.0625,0.3125,-0.3125,0.0,0.375,-0.25},
{-0.1875,0.375,-0.3125,-0.0625,0.4375,-0.25},
{0.0,0.375,-0.3125,0.125,0.4375,-0.25},
{-0.0625,0.4375,-0.3125,0.0,0.5,-0.25},
{-0.25,-0.5,-0.25,-0.1875,-0.4375,0.0},
{0.125,-0.5,-0.25,0.1875,-0.4375,0.0},
{-0.3125,-0.5,-0.1875,-0.25,-0.4375,-0.0625},
{-0.1875,-0.5,-0.1875,-0.125,-0.4375,-0.0625},
{0.0625,-0.5,-0.1875,0.125,-0.4375,-0.0625},
{0.1875,-0.5,-0.1875,0.25,-0.4375,-0.0625},
{-0.125,-0.0625,-0.1875,0.0625,0.0,-0.125},
{-0.1875,0.0,-0.1875,-0.125,0.0625,-0.125},
{0.0625,0.0,-0.1875,0.125,0.0625,-0.125},
{-0.25,0.0625,-0.1875,-0.1875,0.3125,-0.125},
{0.125,0.0625,-0.1875,0.1875,0.3125,-0.125},
{-0.0625,0.25,-0.1875,0.0,0.3125,-0.125},
{-0.1875,0.3125,-0.1875,-0.0625,0.375,-0.125},
{0.0,0.3125,-0.1875,0.125,0.375,-0.125},
{-0.0625,0.375,-0.1875,0.0,0.4375,-0.125},
{-0.25,-0.3125,-0.0625,-0.1875,-0.1875,0.0},
{0.125,-0.3125,-0.0625,0.1875,-0.1875,0.0},
{-0.125,0.25,-0.0625,-0.0625,0.375,0.0},
{0.0,0.25,-0.0625,0.0625,0.375,0.0},
{-0.0625,0.3125,-0.0625,0.0,0.375,0.0},
{-0.25,-0.4375,0.0,-0.1875,-0.3125,0.0625},
{0.125,-0.4375,0.0,0.1875,-0.3125,0.0625},
{-0.25,-0.1875,0.0,-0.1875,-0.0625,0.0625},
{0.125,-0.1875,0.0,0.1875,-0.0625,0.0625},
{-0.1875,0.1875,0.0,-0.125,0.3125,0.125},
{0.0625,0.1875,0.0,0.125,0.3125,0.125},
{-0.125,0.3125,0.0,-0.0625,0.375,0.0625},
{0.0,0.3125,0.0,0.0625,0.375,0.0625},
{-0.25,-0.4375,0.0625,-0.1875,-0.375,0.125},
{0.125,-0.4375,0.0625,0.1875,-0.375,0.125},
{-0.25,-0.0625,0.0625,-0.1875,0.0625,0.125},
{0.125,-0.0625,0.0625,0.1875,0.0625,0.125},
{-0.1875,0.125,0.0625,-0.125,0.1875,0.1875},
{0.0625,0.125,0.0625,0.125,0.1875,0.1875},
{-0.0625,0.25,0.0625,0.0,0.3125,0.125},
{-0.25,0.0625,0.125,-0.1875,0.1875,0.1875},
{0.125,0.0625,0.125,0.1875,0.1875,0.1875},
{-0.1875,0.1875,0.125,-0.125,0.25,0.1875},
{0.0625,0.1875,0.125,0.125,0.25,0.1875},
{-0.0625,0.1875,0.1875,0.0,0.25,0.25},
{-0.0625,-0.3125,0.25,0.0,-0.25,0.3125},
{-0.0625,-0.1875,0.25,0.0,-0.125,0.3125},
{-0.0625,-0.0625,0.25,0.0,0.0,0.3125},
{-0.0625,0.0625,0.25,0.0,0.125,0.3125},
},
},

1
data/wolf_skeleton.we Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,39 @@
local S = minetest.get_translator("skeletons");
local register_fossilized_skeleton = minetest.settings:get_bool("skeletons_register_fossilized_skeleton", true)
local register_model_skeleton = minetest.settings:get_bool("skeletons_register_model_skeleton", true)
local precise_selection_boxes = minetest.settings:get_bool("skeletons_precise_selection_boxes", true)
local function choose_selection_box(box)
if precise_selection_boxes then
return box
else
local new_box = {
type = "fixed",
fixed = {
{0.5,0.5,0.5,-0.5,-0.5,-0.5}
}
}
for i = 1,3 do
for _,fixed in pairs(box.fixed) do
if fixed[i] < new_box.fixed[1][i] then
new_box.fixed[1][i] = fixed[i]
end
end
end
for i = 4,6 do
for _,fixed in pairs(box.fixed) do
if fixed[i] > new_box.fixed[1][i] then
new_box.fixed[1][i] = fixed[i]
end
end
end
return new_box
end
end
function skeletons.register_skeleton(name, desc, box, obj_file, tiles)
local node_def = {
drawtype = "nodebox",
@ -9,7 +42,7 @@ function skeletons.register_skeleton(name, desc, box, obj_file, tiles)
groups = {cracky=1},
-- the nodebox model comes from realtest
node_box = box,
selection_box = box,
selection_box = choose_selection_box(box),
is_ground_content = false,
}
if obj_file then
@ -17,7 +50,7 @@ function skeletons.register_skeleton(name, desc, box, obj_file, tiles)
node_def.node_box = nil;
node_def.mesh = obj_file;
end
node_def.description = S("Fresh").." "..desc;
node_def.description = S("Fresh").." "..desc;
node_def.tiles = {"skeletons_fresh_bone.png"};
if tiles then
node_def.tiles = tiles[1];
@ -30,25 +63,36 @@ function skeletons.register_skeleton(name, desc, box, obj_file, tiles)
if tiles then
node_def.tiles = tiles[2];
end
minetest.register_node("skeletons:fossil_"..name, table.copy(node_def))
node_def.description = S("Model of").." "..desc;
node_def.tiles = {"skeletons_model.png"}
if tiles then
node_def.tiles = tiles[3];
if register_fossilized_skeleton then
minetest.register_node("skeletons:fossil_"..name, table.copy(node_def))
node_def.description = S("Model of").." "..desc;
node_def.tiles = {"skeletons_model.png"}
if tiles then
node_def.tiles = tiles[3];
end
end
minetest.register_node("skeletons:model_"..name, table.copy(node_def))
node_def.description = S("Colored model of").." "..desc;
node_def.tiles = {"skeletons_model_colored.png"}
if tiles then
node_def.tiles = tiles[4];
if register_model_skeleton then
minetest.register_node("skeletons:model_"..name, table.copy(node_def))
node_def.description = S("Colored model of").." "..desc;
node_def.tiles = {"skeletons_model_colored.png"}
if tiles then
node_def.tiles = tiles[4];
end
minetest.register_node("skeletons:colored_model_"..name, table.copy(node_def))
end
minetest.register_node("skeletons:colored_model_"..name, table.copy(node_def))
end
function skeletons.register_skeleton_transform(origin, transformed, restorable)
local prefixes = {"fresh_", "fossil_", "model_", "colored_model_"};
local prefixes = {"fresh_"};
if register_fossilized_skeleton then
table.insert(prefixes, "fossil_")
end
if register_model_skeleton then
table.insert(prefixes, "model_")
table.insert(prefixes, "colored_model_")
end
for key, value in pairs(prefixes) do
for _, value in pairs(prefixes) do
minetest.register_craft({
type = "shapeless",
output = "skeletons:"..value..transformed,

View File

@ -1,5 +1,4 @@
skeletons = {};
local modname = minetest.get_current_modname();
@ -10,6 +9,14 @@ skeletons.have_animal = minetest.get_modpath("mobs_animal");
if (not skeletons.have_animal) then
skeletons.have_animal = minetest.get_modpath("hades_animals");
end
skeletons.have_horse = minetest.get_modpath("mob_horse");
if (not skeletons.have_horse) then
skeletons.have_horse = minetest.get_modpath("hades_horse");
end
skeletons.have_animalia = minetest.get_modpath("animalia");
if (not skeletons.have_animalia) then
skeletons.have_animalia = minetest.get_modpath("hades_animalia");
end
dofile(modpath.."/functions.lua")
@ -21,15 +28,23 @@ dofile(modpath.."/player/skulls.lua")
dofile(modpath.."/villager/villager_skeleton.lua")
dofile(modpath.."/mobs_animal/bunny_skeleton.lua")
dofile(modpath.."/mobs_animal/chicken_skeleton.lua")
dofile(modpath.."/mobs_animal/cow_skeleton.lua")
dofile(modpath.."/mobs_animal/kitten_skeleton.lua")
dofile(modpath.."/mobs_animal/panda_skeleton.lua")
dofile(modpath.."/mobs_animal/penguin_skeleton.lua")
dofile(modpath.."/mobs_animal/warthog_skeleton.lua")
dofile(modpath.."/mobs_animal/rat_skeleton.lua")
dofile(modpath.."/mobs_animal/sheep_skeleton.lua")
dofile(modpath.."/mob_horse/horse_skeleton.lua")
dofile(modpath.."/animals/bat_skeleton.lua")
dofile(modpath.."/animals/bird_skeleton.lua")
dofile(modpath.."/animals/bunny_skeleton.lua")
--dofile(modpath.."/animals/cat_skeleton.lua") -- included in kitten
dofile(modpath.."/animals/chicken_skeleton.lua")
dofile(modpath.."/animals/cow_skeleton.lua")
dofile(modpath.."/animals/frog_skeleton.lua")
dofile(modpath.."/animals/horse_skeleton.lua")
dofile(modpath.."/animals/kitten_skeleton.lua")
dofile(modpath.."/animals/panda_skeleton.lua")
dofile(modpath.."/animals/penguin_skeleton.lua")
dofile(modpath.."/animals/pig_skeleton.lua")
dofile(modpath.."/animals/rat_skeleton.lua")
dofile(modpath.."/animals/reindeer_skeleton.lua")
dofile(modpath.."/animals/sheep_skeleton.lua")
dofile(modpath.."/animals/tropical_fish_skeleton.lua")
dofile(modpath.."/animals/turkey_skeleton.lua")
dofile(modpath.."/animals/warthog_skeleton.lua")
dofile(modpath.."/animals/wolf_skeleton.lua")

View File

@ -1,3 +1,3 @@
name = skeletons
descriptions = Define skeletons nodes. Supports for mod bonemeal, basic support for mobs_animal.
optional_depends = bones, hades_bones, bonemeal, mobs_animal, hades_animals, mob_horse, hades_horse
optional_depends = bones, hades_bones, bonemeal, mobs_animal, hades_animals, mob_horse, hades_horse, animalia, hades_animalia

View File

@ -1,9 +1,9 @@
local S = minetest.get_translator("skeletons")
--local S = minetest.get_translator("skeletons")
local skulls_get_method = minetest.settings:get("skeletons_skulls_get_method") or "none"
local default_bones = minetest.get_modpath("bones")
--local default_bones = minetest.get_modpath("bones")
local hades_bones = minetest.get_modpath("hades_bones")
local bones_node_name = "bones:bones"
@ -20,12 +20,12 @@ if skulls_get_method=="none" then
items = {
{items = {"skeletons:fresh_player_skeleton_bottom", "skeletons:fresh_player_skeleton_top"}},
},
},
},
});
end
if hades_bones then
-- update bones callbacks for better fix
-- update bones callbacks for better fix
local bones_def = minetest.registered_nodes[bones_node_name];
local old_on_metadata_inventory_take = bones_def.on_metadata_inventory_take;
local old_on_punch = bones_def.on_punch;
@ -40,7 +40,7 @@ if hades_bones then
local drops = minetest.get_node_drops(bones_node_name, nil);
if drops then
for key, value in pairs(drops) do
for _, value in pairs(drops) do
local item_stack = ItemStack(value);
if inv:room_for_item("main", item_stack) then
inv:add_item("main", item_stack)
@ -66,10 +66,11 @@ if hades_bones then
else
-- default bones
local function bones_on_metadata_inventory_take (pos, listname, index, stack, player)
local function bones_on_metadata_inventory_take (pos, _listname, _index, _stack, player)
local meta = minetest.get_meta(pos)
if meta:get_inventory():is_empty("main") then
local drops = minetest.get_node_drops(bones_node_name, nil)
local player_inv = player:get_inventory()
for _,drop_item in pairs(drops) do
if player_inv:room_for_item("main", ItemStack(drop_item)) then
player_inv:add_item("main", ItemStack(drop_item))
@ -82,7 +83,11 @@ else
end
local function bones_on_punch(pos, node, player)
if not is_owner(pos, player:get_player_name()) then
local bones_owner = minetest.get_meta(pos):get_string("owner")
local player_name = player:get_player_name()
if (bones_owner ~= "")
and (bones_owner ~= player_name)
and (not minetest.check_player_privs(player_name, "protection_bypass")) then
return
end

View File

@ -457,11 +457,11 @@ for key, value in pairs(skulls) do
end
local node_box_top_skull = table.copy(node_box_top);
for index, box in pairs(value[1]) do
for _, box in pairs(value[1]) do
table.insert(node_box_top_skull.fixed, box)
end
local node_box_back_skull = table.copy(node_box_back);
for index, box in pairs(value[2]) do
for _, box in pairs(value[2]) do
table.insert(node_box_back_skull.fixed, box)
end

View File

@ -7,7 +7,7 @@ local skulls_get_method = minetest.settings:get("skeletons_skulls_get_method") o
local skull_reset_on_die = minetest.settings:get_bool("skeletons_skull_reset_on_die", true)
local skulls_enable_log = minetest.settings:get_bool("skeletons_skulls_enable_log", false)
local log = function (text)
local log = function (_text)
end
if (skulls_enable_log) then
log = function (text)
@ -51,7 +51,7 @@ if (skulls_get_method=="eat") then
meat_eat = 0,
};
minetest.register_on_item_eat(function(hp_change, replace_with_item, itemstack, user, pointed_thing)
minetest.register_on_item_eat(function(hp_change, _replace_with_item, itemstack, user, _pointed_thing)
local player_name = user:get_player_name();
if (player_name~="") then
local player_counters = storage:get_string(player_name);
@ -83,7 +83,7 @@ if (skulls_get_method=="eat") then
storage:set_string(player_name, minetest.serialize(player_counters))
end
end)
minetest.register_on_dieplayer(function(object, reason)
minetest.register_on_dieplayer(function(object, _reason)
local player_name = object:get_player_name();
if (player_name~="") then
-- get coutners
@ -107,7 +107,7 @@ if (skulls_get_method=="eat") then
if skull_reset_on_die then
log(player_name.." counters reseted.");
storage:set_string(player_name, minetest.serialize(counters))
end
end
end
end)
@ -124,12 +124,12 @@ if (skulls_get_method=="eat") then
elseif (skulls_get_method=="kills") then
-- get skulls by player kills
local skull_modern_kills = tonumber(minetest.settings:get("skeletons_skull_modern_kills")) or 10
local skull_gatherer_kills = tonumber(minetest.settings:get("skeletons_skull_gatherer_kills")) or 100
local skull_gatherer_kills = tonumber(minetest.settings:get("skeletons_skull_gatherer_kills")) or 100
local counters = {
kills = 0,
};
minetest.register_on_dieplayer(function(object, reason)
minetest.register_on_dieplayer(function(object, reason)
local player_name = object:get_player_name();
if (player_name~="") then
-- get coutners
@ -157,7 +157,7 @@ elseif (skulls_get_method=="kills") then
if skull_reset_on_die then
log(player_name.." counters reseted.");
storage:set_string(player_name, minetest.serialize(counters))
end
end
-- killer
if (reason.type == "punch") then
@ -197,7 +197,7 @@ elseif (skulls_get_method=="kills") then
elseif (skulls_get_method=="chance") then
-- get skulls by chance
local skull_modern_chance = tonumber(minetest.settings:get("skeletons_skull_modern_chance")) or 10
local skull_gatherer_chance = tonumber(minetest.settings:get("skeletons_skull_gatherer_chance")) or 100
local skull_gatherer_chance = tonumber(minetest.settings:get("skeletons_skull_gatherer_chance")) or 100
if skeletons.have_bones then
minetest.override_item("bones:bones", {
@ -212,7 +212,7 @@ elseif (skulls_get_method=="chance") then
{ items = {"skeletons:fresh_player_skeleton_top"},
rarity = 1},
},
},
},
});
else
minetest("warning", "[Mod] Skeletons: Dropping skulls by chance have no effect because bones mod has not been found.")

View File

@ -11,8 +11,8 @@ schema_file = open(sys.argv[1], "r");
schema = schema_file.read();
schema_file.close();
if schema.startswith("5:return {"):
schema = schema[9:];
if schema.startswith("5:"):
schema = schema[2:];
else:
print("schema_file format is not supported.")
exit();
@ -23,7 +23,8 @@ if (len(sys.argv)==4) and (sys.argv[3]=="usemtl"):
print("Use different boxes for different materials into one box.");
lua = lupa.LuaRuntime(unpack_returned_tuples=True)
schema = dict(lua.eval(schema))
lua.execute("function get_schema() {} end".format(schema))
schema = dict(lua.eval("get_schema()"))
min_x = None
max_x = None

View File

@ -11,8 +11,8 @@ schema_file = open(sys.argv[1], "r");
schema = schema_file.read();
schema_file.close();
if schema.startswith("5:return {"):
schema = schema[9:];
if schema.startswith("5:"):
schema = schema[2:];
else:
print("schema_file format is not supported.")
exit();
@ -28,7 +28,8 @@ for arg in range(3,len(sys.argv)):
print("Use raw faces without merging.");
lua = lupa.LuaRuntime(unpack_returned_tuples=True)
schema = dict(lua.eval(schema))
lua.execute("function get_schema() {} end".format(schema))
schema = dict(lua.eval("get_schema()"))
min_x = None
max_x = None

View File

@ -29,3 +29,10 @@ skeletons_skull_gatherer_chance (Chance to drop gatherer skull) int 100 0 100000
# Enable/disable reset of player skull counters when player die
skeletons_skull_reset_on_die (Reset skull counter when player die) bool true
# Enable/disable registration of fossilized skeletons
skeletons_register_fossilized_skeleton (Register fossilized skeleton) bool true
# Enable/disable registration of skeletons models
skeletons_register_model_skeleton (Register model of skeleton) bool true
# Enable/disable precise selection boxes for skeletons.
skeletons_precise_selection_boxes (Use precise selection boxes for skeletons) bool true