271 lines
11 KiB
Lua
271 lines
11 KiB
Lua
local function capitalize(s)
|
|
return s:sub(1,1):upper()..s:sub(2)
|
|
end
|
|
|
|
local function makebeetexture(body1,body2,outline,color1,color2)
|
|
return body1.."^("..body1.."^[makealpha:0,0,0^[colorize:"..color1..":255)^"..body2.."^("..outline.."^[colorize:"..color2..":255)"
|
|
end
|
|
|
|
local function printbeestats(itemstack, user, pointed_thing)
|
|
local meta = itemstack:get_meta()
|
|
local name = itemstack:get_name()
|
|
minetest.chat_send_player(user:get_player_name(), "Name: "..string.sub(string.match(name, ":.*"),2).."\nGenes:"..string.gsub(meta:get_string("genes"), "return", "") )
|
|
--minetest.chat_send_player(user:get_player_name(), "Name:"..string.sub(string.match(name, ":.*"),2)..", Active:"..minetest.deserialize(meta:get_string("genes"))["type_gene"][1]..", Inactive:"..minetest.deserialize(meta:get_string("genes"))["type_gene"][2])
|
|
end
|
|
|
|
local function register_bee(name, color1, color2)
|
|
minetest.register_craftitem("forestry_bees:"..name.."_princess", {
|
|
description = capitalize(name).." Princess",
|
|
inventory_image = makebeetexture("body1.png",
|
|
"princess.body2.png",
|
|
"princess.outline.png",color1,color2),
|
|
on_use = printbeestats,
|
|
groups = {bee_princess=1, bee_monarch=1},
|
|
})
|
|
minetest.register_craftitem("forestry_bees:"..name.."_drone", {
|
|
description = capitalize(name).." Drone",
|
|
inventory_image = makebeetexture("body1.png",
|
|
"drone.body2.png",
|
|
"drone.outline.png",color1,color2),
|
|
on_use = printbeestats,
|
|
groups = {bee_drone=1},
|
|
})
|
|
minetest.register_craftitem("forestry_bees:"..name.."_queen", {
|
|
description = capitalize(name).." Queen",
|
|
inventory_image = makebeetexture("body1.png",
|
|
"queen.body2.png",
|
|
"queen.outline.png",color1,color2),
|
|
on_use = printbeestats,
|
|
groups = {bee_queen=1, bee_monarch=1},
|
|
})
|
|
end
|
|
|
|
--Here we register nodes
|
|
minetest.register_node("forestry_bees:forest_beehive", {
|
|
description = "Forest Beehive",
|
|
tiles = {
|
|
"forestry_bees_forest_beehive_top.png",
|
|
"forestry_bees_forest_beehive_top.png",
|
|
"forestry_bees_forest_beehive_side.png",
|
|
"forestry_bees_forest_beehive_side.png",
|
|
"forestry_bees_forest_beehive_side.png",
|
|
"forestry_bees_forest_beehive_side.png",
|
|
},
|
|
groups = {scoopy = 1},
|
|
diggable = true,
|
|
drop = {
|
|
max_items = 3,
|
|
items = {
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("princess", forestry_bees.return_all_genes_double("forest"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("drone", forestry_bees.return_all_genes_double("forest"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {"forestry_bees:honey_comb"}}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("forestry_bees:meadow_beehive", {
|
|
description = "Meadow Beehive",
|
|
tiles = {
|
|
"forestry_bees_meadow_beehive_top.png",
|
|
"forestry_bees_meadow_beehive_top.png",
|
|
"forestry_bees_meadow_beehive_side.png",
|
|
"forestry_bees_meadow_beehive_side.png",
|
|
"forestry_bees_meadow_beehive_side.png",
|
|
"forestry_bees_meadow_beehive_side.png",
|
|
},
|
|
groups = {scoopy = 1},
|
|
diggable = true,
|
|
drop = {
|
|
max_items = 3,
|
|
items = {
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("princess", forestry_bees.return_all_genes_double("meadows"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("drone", forestry_bees.return_all_genes_double("meadows"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {"forestry_bees:honey_comb"}}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("forestry_bees:modest_beehive", {
|
|
description = "Modest Beehive",
|
|
tiles = {
|
|
"forestry_bees_modest_beehive_top.png",
|
|
"forestry_bees_modest_beehive_top.png",
|
|
"forestry_bees_modest_beehive_side.png",
|
|
"forestry_bees_modest_beehive_side.png",
|
|
"forestry_bees_modest_beehive_side.png",
|
|
"forestry_bees_modest_beehive_side.png",
|
|
},
|
|
groups = {scoopy = 1},
|
|
diggable = true,
|
|
drop = {
|
|
max_items = 3,
|
|
items = {
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("princess", forestry_bees.return_all_genes_double("modest"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("drone", forestry_bees.return_all_genes_double("modest"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {"forestry_bees:parched_comb"}}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("forestry_bees:tropical_beehive", {
|
|
description = "Tropical Beehive",
|
|
tiles = {
|
|
"forestry_bees_tropical_beehive_top.png",
|
|
"forestry_bees_tropical_beehive_top.png",
|
|
"forestry_bees_tropical_beehive_side.png",
|
|
"forestry_bees_tropical_beehive_side.png",
|
|
"forestry_bees_tropical_beehive_side.png",
|
|
"forestry_bees_tropical_beehive_side.png",
|
|
},
|
|
groups = {scoopy = 1},
|
|
diggable = true,
|
|
drop = {
|
|
max_items = 3,
|
|
items = {
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("princess", forestry_bees.return_all_genes_double("tropical"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("drone", forestry_bees.return_all_genes_double("tropical"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {"forestry_bees:silky_comb"}}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("forestry_bees:wintry_beehive", {
|
|
description = "Wintry Beehive",
|
|
tiles = {
|
|
"forestry_bees_wintry_beehive_top.png",
|
|
"forestry_bees_wintry_beehive_top.png",
|
|
"forestry_bees_wintry_beehive_side.png",
|
|
"forestry_bees_wintry_beehive_side.png",
|
|
"forestry_bees_wintry_beehive_side.png",
|
|
"forestry_bees_wintry_beehive_side.png",
|
|
},
|
|
groups = {scoopy = 1},
|
|
diggable = true,
|
|
drop = {
|
|
max_items = 3,
|
|
items = {
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("princess", forestry_bees.return_all_genes_double("wintry"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("drone", forestry_bees.return_all_genes_double("wintry"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {"forestry_bees:frozen_comb"}}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("forestry_bees:marshy_beehive", {
|
|
description = "Marshy Beehive",
|
|
tiles = {
|
|
"forestry_bees_marshy_beehive_top.png",
|
|
"forestry_bees_marshy_beehive_top.png",
|
|
"forestry_bees_marshy_beehive_side.png",
|
|
"forestry_bees_marshy_beehive_side.png",
|
|
"forestry_bees_marshy_beehive_side.png",
|
|
"forestry_bees_marshy_beehive_side.png",
|
|
},
|
|
groups = {scoopy = 1},
|
|
diggable = true,
|
|
drop = {
|
|
max_items = 3,
|
|
items = {
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("princess", forestry_bees.return_all_genes_double("marshy"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {forestry_bees.Bee("drone", forestry_bees.return_all_genes_double("marshy"))}},
|
|
{tool_groups = {"scoop_tool"}, rarity = 2, items = {"forestry_bees:mossy_comb"}}
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
minetest.register_tool("forestry_bees:scoop", {
|
|
description = "Scoop",
|
|
inventory_image = "forestry_bees_scoop.png",
|
|
groups = {scoop_tool = 1},
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.5,
|
|
max_drop_level = 1,
|
|
groupcaps = {
|
|
scoopy = {
|
|
maxlevel = 1,
|
|
uses = 10,
|
|
times = { [1]=1, [2]=1, [3]=1 }
|
|
},
|
|
},
|
|
},
|
|
})
|
|
--mundane branch
|
|
register_bee("forest","#ffdc16","#19d0ec")
|
|
register_bee("meadows","#ffdc16","#ef131e")
|
|
register_bee("modest","#ffdc16","#c5be86")
|
|
register_bee("tropical","#ffdc16","#378020")
|
|
register_bee("wintry","#ffdc16","#a0ffc8")
|
|
register_bee("marshy","#ffdc16","#546626")
|
|
--common branch
|
|
register_bee("common","#ffdc16","#b2b2b2")
|
|
register_bee("cultivated","#ffdc16","#5734ec")
|
|
--noble branch
|
|
register_bee("noble","#ffdc16","#ec9a19")
|
|
register_bee("majestic","#ffdc16","#7f0000")
|
|
register_bee("imperial","#ffdc16","#a3e02f")
|
|
--industrious branch
|
|
register_bee("diligent","#ffdc16","#c219ec")
|
|
register_bee("unweary","#ffdc16","#19ec5a")
|
|
register_bee("industrious","#ffdc16","#ffffff")
|
|
---heroic branch
|
|
---infernal branch
|
|
--- austere branch
|
|
---end branch
|
|
---tropical branch
|
|
---frozen branch
|
|
---festive branch
|
|
--agrarian branch
|
|
register_bee("rural","#ffdc16","#feff8f")
|
|
|
|
minetest.register_craftitem("forestry_bees:honey_comb", {
|
|
description = "Honey Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#ffa12b:155)^(bee_combs.1.png^[colorize:#e8d56a:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:parched_comb", {
|
|
description = "Parched Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#ffff00:155)^(bee_combs.1.png^[colorize:#dcbe13:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:silky_comb", {
|
|
description = "Silky Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#ddff00:155)^(bee_combs.1.png^[colorize:#508907:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:frozen_comb", {
|
|
description = "Frozen Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#a0ffff:155)^(bee_combs.1.png^[colorize:#f9ffff:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:mossy_comb", {
|
|
description = "Mossy Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#7e9939:155)^(bee_combs.1.png^[colorize:#2a3313:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:dripping_comb", {
|
|
description = "Dripping Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#ffff00:155)^(bee_combs.1.png^[colorize:#dc7613:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:stringy_comb", {
|
|
description = "Stringy Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#bda93e:155)^(bee_combs.1.png^[colorize:#c8be67:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:wheaten_comb", {
|
|
description = "Wheaten Comb",
|
|
groups = {comb = 1},
|
|
inventory_image = "(bee_combs.0.png^[colorize:#ffffff:155)^(bee_combs.1.png^[colorize:#feff8f:255)"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:royal_jelly", {
|
|
description = "Royal Jelly",
|
|
groups = {comb = 1},
|
|
inventory_image = "royal_jelly.png"
|
|
})
|
|
minetest.register_craftitem("forestry_bees:pollen_cluster", {
|
|
description = "Pollen Cluster",
|
|
groups = {comb = 1},
|
|
inventory_image = "(pollen.0.png^[colorize:#a28a25:155)^(pollen.1.png^[colorize:#a28a25:255)"
|
|
})
|