Compare commits

...

33 Commits

Author SHA1 Message Date
93a46c05a6 Merge remote-tracking branch 'upstream/master' 2020-11-10 20:00:23 +01:00
77c02f1b7a added recipe 9x seed = 1x mulch 2020-11-10 18:00:11 +00:00
afc6d7ef12 Merge remote-tracking branch 'upstream/master' 2020-08-30 12:51:47 +02:00
130fffbf97 mt5.x translations added/updated (thanks dacmot) 2020-08-30 08:12:21 +01:00
b604ca39da Merge remote-tracking branch 'upstream/master' 2020-08-04 20:48:01 +02:00
a5a4798aed rename creative check function 2020-08-03 20:27:47 +01:00
97f4b11110 Merge remote-tracking branch 'upstream/master' 2020-07-17 22:45:16 +02:00
ebbec592bf fix loaded translations 2020-07-08 21:10:36 +01:00
19df0b4036 add locales for minetest 5.x translation 2020-07-08 21:06:13 +01:00
e6eaea544c update translation check, added spanish and italian locale 2020-07-08 14:05:34 +01:00
e4a0a9bfe9 add cabbage support 2020-07-01 19:23:47 +01:00
7053e44ea4 Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-06-16 21:21:14 +02:00
bf7d9d6652 added farming redo's mint onto list 2020-05-27 11:07:55 +01:00
ea34f9cc99 make bones a little more rare when digging dirt 2020-05-20 12:58:34 +01:00
1402047c2e update depends.txt 2020-05-04 20:53:14 +01:00
93f7eb44d6 can craft dye from mulch, bonemeal, fertiliser 2020-05-04 20:52:27 +01:00
48718b60f7 added {bone=1} group to item and recipes 2020-05-03 20:48:12 +01:00
9c335b0029 fix strength bug 2020-04-06 09:44:51 +01:00
e017406a10 added new param2 checks 2020-02-14 18:21:56 +00:00
2b5decbc50 code tweaks 2020-02-14 11:13:49 +00:00
f639917a98 Code tweaked and tidied thanks to MoNTE48 2020-01-25 10:02:51 +00:00
43fd151357 Modifie drop de l'os dans la terre sans supprimer les autres drops 2020-01-04 16:55:07 +01:00
f3ad4abff1 add additional nil checks for servers with luajit issues 2019-11-26 12:34:53 +00:00
c621448df3 nil checks for grass and decoration lists 2019-10-05 10:12:10 +01:00
5949d15726 added nil fallback 2019-09-30 09:06:12 +01:00
1299f39126 fix flowers addition :) 2019-03-25 20:32:13 +00:00
363ec856ee added 5.0 pine bush sapling and additional flowers 2019-03-24 20:37:06 +00:00
5384fc7924 added support for minetest 5.0's new saplings 2019-03-22 17:38:10 +00:00
cff3fc378b added {can_bonemeal=1} group for special node usage 2019-03-07 16:38:42 +00:00
a4c4716c36 bonemeal on dirt/sand only works for that type at one time 2019-03-07 16:02:51 +00:00
797bae9c46 added support for sakura tree in ethereal 2019-02-16 12:24:04 +00:00
54b856158c add support for caverealms mushroom sapling 2019-01-07 10:02:44 +00:00
9bc52e2042 now works with oats, rye and rice plants 2019-01-06 10:27:35 +00:00
17 changed files with 787 additions and 632 deletions

View File

@ -30,5 +30,8 @@ Changelog:
- 0.8 - Added support for farming redo's new garlic, pepper and onion crops - 0.8 - Added support for farming redo's new garlic, pepper and onion crops
- 0.9 - Added support for farming redo's pea and beetroot crops, checks for place_param - 0.9 - Added support for farming redo's pea and beetroot crops, checks for place_param
- 1.0 - add_deco() now adds to existing item list while set_deco() replaces item list (thanks h-v-smacker) - 1.0 - add_deco() now adds to existing item list while set_deco() replaces item list (thanks h-v-smacker)
- 1.1 - Added {can_bonemeal=1} group for special nodes
- 1.2 - Added support for minetest 5.0 cactus seedling, blueberry bush sapling and emergent jungle tree saplings, additional flowers and pine bush sapling.
- 1.3 - Ability to craft dye from mulch, bonemeal and fertiliser (thanks orbea)
Lucky Blocks: 6 Lucky Blocks: 6

View File

@ -5,3 +5,5 @@ ethereal?
moretrees? moretrees?
technic_worldgen? technic_worldgen?
lucky_block? lucky_block?
flowers?
dye?

196
init.lua
View File

@ -1,14 +1,18 @@
bonemeal = {} bonemeal = {}
local path = minetest.get_modpath("bonemeal")
local min, max, random = math.min, math.max, math.random
-- Load support for intllib. -- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname()) local S = minetest.get_translator and minetest.get_translator("bonemeal") or
local S, NS = dofile(MP .. "/intllib.lua") dofile(path .. "/intllib.lua")
-- creative check -- creative check
local creative_mode_cache = minetest.settings:get_bool("creative_mode") local creative_mode_cache = minetest.settings:get_bool("creative_mode")
function is_creative(name) function bonemeal.is_creative(name)
return creative_mode_cache or minetest.check_player_privs(name, {creative = true}) return creative_mode_cache or minetest.check_player_privs(name, {creative = true})
end end
@ -16,7 +20,7 @@ end
-- default crops -- default crops
local crops = { local crops = {
{"farming:cotton_", 8, "farming:seed_cotton"}, {"farming:cotton_", 8, "farming:seed_cotton"},
{"farming:wheat_", 8, "farming:seed_wheat"}, {"farming:wheat_", 8, "farming:seed_wheat"}
} }
@ -37,11 +41,15 @@ end
local saplings = { local saplings = {
{"default:sapling", default.grow_new_apple_tree, "soil"}, {"default:sapling", default.grow_new_apple_tree, "soil"},
{"default:junglesapling", default.grow_new_jungle_tree, "soil"}, {"default:junglesapling", default.grow_new_jungle_tree, "soil"},
{"default:emergent_jungle_sapling", default.grow_new_emergent_jungle_tree, "soil"},
{"default:acacia_sapling", default.grow_new_acacia_tree, "soil"}, {"default:acacia_sapling", default.grow_new_acacia_tree, "soil"},
{"default:aspen_sapling", default.grow_new_aspen_tree, "soil"}, {"default:aspen_sapling", default.grow_new_aspen_tree, "soil"},
{"default:pine_sapling", pine_grow, "soil"}, {"default:pine_sapling", pine_grow, "soil"},
{"default:bush_sapling", default.grow_bush, "soil"}, {"default:bush_sapling", default.grow_bush, "soil"},
{"default:acacia_bush_sapling", default.grow_acacia_bush, "soil"}, {"default:acacia_bush_sapling", default.grow_acacia_bush, "soil"},
{"default:large_cactus_seedling", default.grow_large_cactus, "sand"},
{"default:blueberry_bush_sapling", default.grow_blueberry_bush, "soil"},
{"default:pine_bush_sapling", default.grow_pine_bush, "soil"}
} }
-- helper tables ( "" denotes a blank item ) -- helper tables ( "" denotes a blank item )
@ -55,18 +63,23 @@ local dry_grass = {
"default:dry_grass_5", "", "" "default:dry_grass_5", "", ""
} }
local flowers = { -- add all in-game flowers except waterlily
"flowers:dandelion_white", "flowers:dandelion_yellow", "flowers:geranium", local flowers = {}
"flowers:rose", "flowers:tulip", "flowers:viola", ""
} for node, def in pairs(minetest.registered_nodes) do
if def.groups.flower and not node:find("waterlily") then
flowers[#flowers + 1] = node
end
end
-- add additional bakedclay flowers if enabled -- add additional bakedclay flowers if enabled
if minetest.get_modpath("bakedclay") then if minetest.get_modpath("bakedclay") then
flowers[7] = "bakedclay:delphinium" flowers[#flowers + 1] = "bakedclay:delphinium"
flowers[8] = "bakedclay:thistle" flowers[#flowers + 1] = "bakedclay:thistle"
flowers[9] = "bakedclay:lazarus" flowers[#flowers + 1] = "bakedclay:lazarus"
flowers[10] = "bakedclay:mannagrass" flowers[#flowers + 1] = "bakedclay:mannagrass"
flowers[11] = "" flowers[#flowers + 1] = ""
end end
-- default biomes deco -- default biomes deco
@ -78,7 +91,9 @@ local deco = {
} }
----- local functions --
-- local functions
--
-- particles -- particles
@ -97,7 +112,7 @@ local function particle_effect(pos)
maxexptime = 1, maxexptime = 1,
minsize = 1, minsize = 1,
maxsize = 3, maxsize = 3,
texture = "bonemeal_particle.png", texture = "bonemeal_particle.png"
}) })
end end
@ -181,7 +196,7 @@ local function check_crops(pos, nodename, strength)
-- grow registered crops -- grow registered crops
for n = 1, #crops do for n = 1, #crops do
if string.find(nodename, crops[n][1]) if nodename:find(crops[n][1])
or nodename == crops[n][3] then or nodename == crops[n][3] then
-- separate mod and node name -- separate mod and node name
@ -190,7 +205,7 @@ local function check_crops(pos, nodename, strength)
-- get stage number or set to 0 for seed -- get stage number or set to 0 for seed
stage = tonumber( crop:split("_")[2] ) or 0 stage = tonumber( crop:split("_")[2] ) or 0
stage = math.min(stage + strength, crops[n][2]) stage = min(stage + strength, crops[n][2])
-- check for place_param setting -- check for place_param setting
nod = crops[n][1] .. stage nod = crops[n][1] .. stage
@ -202,11 +217,8 @@ local function check_crops(pos, nodename, strength)
particle_effect(pos) particle_effect(pos)
return return
end end
end end
end end
@ -215,13 +227,24 @@ local function check_soil(pos, nodename, strength)
-- set radius according to strength -- set radius according to strength
local side = strength - 1 local side = strength - 1
local tall = math.max(strength - 2, 0) local tall = max(strength - 2, 0)
local floor
local groups = minetest.registered_items[nodename]
and minetest.registered_items[nodename].groups or {}
-- only place decoration on one type of surface
if groups.soil then
floor = {"group:soil"}
elseif groups.sand then
floor = {"group:sand"}
else
floor = {nodename}
end
-- get area of land with free space above -- get area of land with free space above
local dirt = minetest.find_nodes_in_area_under_air( local dirt = minetest.find_nodes_in_area_under_air(
{x = pos.x - side, y = pos.y - tall, z = pos.z - side}, {x = pos.x - side, y = pos.y - tall, z = pos.z - side},
{x = pos.x + side, y = pos.y + tall, z = pos.z + side}, {x = pos.x + side, y = pos.y + tall, z = pos.z + side}, floor)
{"group:soil", "group:sand"})
-- set default grass and decoration -- set default grass and decoration
local grass = green_grass local grass = green_grass
@ -242,21 +265,36 @@ local function check_soil(pos, nodename, strength)
-- loop through soil -- loop through soil
for _, n in pairs(dirt) do for _, n in pairs(dirt) do
if random(5) == 5 then
if decor and #decor > 0 then
-- place random decoration (rare)
local dnum = #decor or 1
nod = decor[random(dnum)] or ""
end
else
if grass and #grass > 0 then
-- place random grass (common)
local dgra = #grass or 1
nod = #grass > 0 and grass[random(dgra)] or ""
end
end
pos2 = n pos2 = n
pos2.y = pos2.y + 1 pos2.y = pos2.y + 1
if math.random(1, 5) == 5 then if nod and nod ~= "" then
-- place random decoration (rare)
nod = decor[math.random(1, #decor)] or "" -- get crop param2 value
else def = minetest.registered_nodes[nod]
-- place random grass (common) def = def and def.place_param2
nod = #grass > 0 and grass[math.random(1, #grass)] or ""
-- if param2 not preset then get from existing node
if not def then
local node = minetest.get_node_or_nil(pos2)
def = node and node.param2 or 0
end end
if nod and nod ~= "" then
def = minetest.registered_nodes[nod]
def = def and def.place_param2 or 0
minetest.set_node(pos2, {name = nod, param2 = def}) minetest.set_node(pos2, {name = nod, param2 = def})
end end
@ -275,7 +313,7 @@ end
function bonemeal:add_sapling(list) function bonemeal:add_sapling(list)
for n = 1, #list do for n = 1, #list do
table.insert(saplings, list[n]) saplings[#saplings + 1] = list[n]
end end
end end
@ -286,7 +324,7 @@ end
function bonemeal:add_crop(list) function bonemeal:add_crop(list)
for n = 1, #list do for n = 1, #list do
table.insert(crops, list[n]) crops[#crops + 1] = list[n]
end end
end end
@ -306,11 +344,11 @@ function bonemeal:add_deco(list)
if list[l][1] == deco[n][1] then if list[l][1] == deco[n][1] then
-- adding grass types -- adding grass types
for _,extra in ipairs(list[l][2]) do for _, extra in pairs(list[l][2]) do
if extra ~= "" then if extra ~= "" then
for __,entry in ipairs(deco[n][2]) do for _, entry in pairs(deco[n][2]) do
if extra == entry then if extra == entry then
extra = false extra = false
@ -320,7 +358,7 @@ function bonemeal:add_deco(list)
end end
if extra then if extra then
table.insert(deco[n][2], extra) deco[n][2][#deco[n][2] + 1] = extra
end end
end end
@ -329,7 +367,7 @@ function bonemeal:add_deco(list)
if extra ~= "" then if extra ~= "" then
for __,entry in ipairs(deco[n][3]) do for __, entry in pairs(deco[n][3]) do
if extra == entry then if extra == entry then
extra = false extra = false
@ -339,7 +377,7 @@ function bonemeal:add_deco(list)
end end
if extra then if extra then
table.insert(deco[n][3], extra) deco[n][3][#deco[n][3] + 1] = extra
end end
end end
@ -349,7 +387,7 @@ function bonemeal:add_deco(list)
end end
if list[l] then if list[l] then
table.insert(deco, list[l]) deco[#deco + 1] = list[l]
end end
end end
end end
@ -373,7 +411,7 @@ function bonemeal:set_deco(list)
end end
if list[l] then if list[l] then
table.insert(deco, list[l]) deco[#deco + 1] = list[l]
end end
end end
end end
@ -392,27 +430,27 @@ function bonemeal:on_use(pos, strength, node)
-- make sure strength is between 1 and 4 -- make sure strength is between 1 and 4
strength = strength or 1 strength = strength or 1
strength = math.max(strength, 1) strength = max(strength, 1)
strength = math.min(strength, 4) strength = min(strength, 4)
-- papyrus and cactus -- papyrus and cactus
if node.name == "default:papyrus" then if node.name == "default:papyrus" then
default.grow_papyrus(pos, node) default.grow_papyrus(pos, node)
particle_effect(pos) particle_effect(pos)
return return
elseif node.name == "default:cactus" then elseif node.name == "default:cactus" then
default.grow_cactus(pos, node) default.grow_cactus(pos, node)
particle_effect(pos) particle_effect(pos)
return return
end end
-- grow grass and flowers -- grow grass and flowers
if minetest.get_item_group(node.name, "soil") > 0 if minetest.get_item_group(node.name, "soil") > 0
or minetest.get_item_group(node.name, "sand") > 0 then or minetest.get_item_group(node.name, "sand") > 0
or minetest.get_item_group(node.name, "can_bonemeal") > 0 then
check_soil(pos, node.name, strength) check_soil(pos, node.name, strength)
return return
end end
@ -424,7 +462,7 @@ function bonemeal:on_use(pos, strength, node)
-- check for tree growth if pointing at sapling -- check for tree growth if pointing at sapling
if minetest.get_item_group(node.name, "sapling") > 0 if minetest.get_item_group(node.name, "sapling") > 0
and math.random(1, (5 - strength)) == 1 then and random(5 - strength) == 1 then
check_sapling(pos, node.name) check_sapling(pos, node.name)
return return
end end
@ -434,7 +472,9 @@ function bonemeal:on_use(pos, strength, node)
end end
----- items --
-- items
--
-- mulch (strength 1) -- mulch (strength 1)
@ -455,7 +495,7 @@ minetest.register_craftitem("bonemeal:mulch", {
end end
-- take item if not in creative -- take item if not in creative
if not is_creative(user:get_player_name()) then if not bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item() itemstack:take_item()
end end
@ -463,7 +503,7 @@ minetest.register_craftitem("bonemeal:mulch", {
bonemeal:on_use(pointed_thing.under, 1) bonemeal:on_use(pointed_thing.under, 1)
return itemstack return itemstack
end, end
}) })
@ -485,7 +525,7 @@ minetest.register_craftitem("bonemeal:bonemeal", {
end end
-- take item if not in creative -- take item if not in creative
if not is_creative(user:get_player_name()) then if not bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item() itemstack:take_item()
end end
@ -493,7 +533,7 @@ minetest.register_craftitem("bonemeal:bonemeal", {
bonemeal:on_use(pointed_thing.under, 2) bonemeal:on_use(pointed_thing.under, 2)
return itemstack return itemstack
end, end
}) })
@ -515,7 +555,7 @@ minetest.register_craftitem("bonemeal:fertiliser", {
end end
-- take item if not in creative -- take item if not in creative
if not is_creative(user:get_player_name()) then if not bonemeal.is_creative(user:get_player_name()) then
itemstack:take_item() itemstack:take_item()
end end
@ -523,7 +563,7 @@ minetest.register_craftitem("bonemeal:fertiliser", {
bonemeal:on_use(pointed_thing.under, 3) bonemeal:on_use(pointed_thing.under, 3)
return itemstack return itemstack
end, end
}) })
@ -531,50 +571,54 @@ minetest.register_craftitem("bonemeal:fertiliser", {
minetest.register_craftitem("bonemeal:bone", { minetest.register_craftitem("bonemeal:bone", {
description = S("Bone"), description = S("Bone"),
inventory_image = "bonemeal_bone.png", inventory_image = "bonemeal_bone.png",
groups = {bone = 1}
}) })
-- gelatin powder -- gelatin powder
minetest.register_craftitem("bonemeal:gelatin_powder", { minetest.register_craftitem("bonemeal:gelatin_powder", {
description = S("Gelatin Powder"), description = S("Gelatin Powder"),
inventory_image = "bonemeal_gelatin_powder.png", inventory_image = "bonemeal_gelatin_powder.png",
groups = {food_gelatin = 1, flammable = 2}, groups = {food_gelatin = 1, flammable = 2}
}) })
--- crafting recipes --
-- crafting recipes
--
-- gelatin powder -- gelatin powder
minetest.register_craft({ minetest.register_craft({
output = "bonemeal:gelatin_powder 4", output = "bonemeal:gelatin_powder 4",
recipe = { recipe = {
{"bonemeal:bone", "bonemeal:bone", "bonemeal:bone"}, {"group:bone", "group:bone", "group:bone"},
{"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water"}, {"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water"},
{"bucket:bucket_water", "default:torch", "bucket:bucket_water"}, {"bucket:bucket_water", "default:torch", "bucket:bucket_water"},
}, },
replacements = { replacements = {
{"bucket:bucket_water", "bucket:bucket_empty 5"}, {"bucket:bucket_water", "bucket:bucket_empty 5"},
}, }
}) })
-- bonemeal (from bone) -- bonemeal (from bone)
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "bonemeal:bonemeal 2", output = "bonemeal:bonemeal 2",
recipe = {"bonemeal:bone"}, recipe = {"group:bone"}
}) })
-- bonemeal (from player bones) -- bonemeal (from player bones)
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "bonemeal:bonemeal 4", output = "bonemeal:bonemeal 4",
recipe = {"bones:bones"}, recipe = {"bones:bones"}
}) })
-- bonemeal (from coral skeleton) -- bonemeal (from coral skeleton)
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "bonemeal:bonemeal 2", output = "bonemeal:bonemeal 2",
recipe = {"default:coral_skeleton"}, recipe = {"default:coral_skeleton"}
}) })
-- mulch -- mulch
@ -585,37 +629,47 @@ minetest.register_craft({
"group:tree", "group:leaves", "group:leaves", "group:tree", "group:leaves", "group:leaves",
"group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves", "group:leaves",
"group:leaves", "group:leaves", "group:leaves" "group:leaves", "group:leaves", "group:leaves"
}, }
})
minetest.register_craft({
type = "shapeless",
output = "bonemeal:mulch",
recipe = {
"group:seed", "group:seed", "group:seed",
"group:seed", "group:seed", "group:seed",
"group:seed", "group:seed", "group:seed"
}
}) })
-- fertiliser -- fertiliser
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "bonemeal:fertiliser 2", output = "bonemeal:fertiliser 2",
recipe = {"bonemeal:bonemeal", "bonemeal:mulch"}, recipe = {"bonemeal:bonemeal", "bonemeal:mulch"}
}) })
-- add bones to dirt -- add bones to dirt
minetest.override_item("default:dirt", { local drop = minetest.registered_items["default:dirt"].drop
if drop then
table.insert(drop.items, 1, {items = {"bonemeal:bone"}, rarity = 30})
else
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{ {
items = {"bonemeal:bone"}, items = {"bonemeal:bone"},
rarity = 30, rarity = 40
}, },
{ {
items = {"default:dirt"}, items = {"default:dirt"}
} }
} }
}, }
}) end
-- add support for other mods -- add support for other mods
local path = minetest.get_modpath("bonemeal")
dofile(path .. "/mods.lua") dofile(path .. "/mods.lua")
dofile(path .. "/lucky_block.lua") dofile(path .. "/lucky_block.lua")

7
locale/bonemeal.en.tr Normal file
View File

@ -0,0 +1,7 @@
# textdomain:bonemeal
#[MOD] bonemeal loaded=
#Bone=
#Bone Meal=
#Fertiliser=
#Gelatin Powder=
#Mulch=

7
locale/bonemeal.es.tr Normal file
View File

@ -0,0 +1,7 @@
# textdomain:bonemeal
[MOD] bonemeal loaded=[MOD] bonemeal cargado
Bone=Hueso
Bone Meal=Comida de hueso
Fertiliser=Fertilizante
#Gelatin Powder=
Mulch=Mantillo

7
locale/bonemeal.fr.tr Normal file
View File

@ -0,0 +1,7 @@
# textdomain:bonemeal
[MOD] bonemeal loaded=[MOD] bonemeal chargé
Bone=Os
Bone Meal=Poudre d'os
Fertiliser=Engrais
Gelatin Powder=Poudre de gélatine
Mulch=Paillis

7
locale/bonemeal.it.tr Normal file
View File

@ -0,0 +1,7 @@
# textdomain:bonemeal
[MOD] bonemeal loaded=[MOD] bonemeal caricata
Bone=Ossa
Bone Meal=Pasto osseo
Fertiliser=Fertilizzante
#Gelatin Powder=
Mulch=Pacciame

7
locale/bonemeal.ru.tr Normal file
View File

@ -0,0 +1,7 @@
# textdomain:bonemeal
[MOD] bonemeal loaded=[MOD] костная мука загружена
Bone=Кость
Bone Meal=Костная Мука
Fertiliser=Удобрение
#Gelatin Powder=
Mulch=Мульча

7
locale/es.txt Normal file
View File

@ -0,0 +1,7 @@
# init.lua
Mulch = Mantillo
Bone Meal = Comida de hueso
Fertiliser = Fertilizante
Bone = Hueso
[MOD] bonemeal loaded = [MOD] bonemeal cargado

7
locale/it.txt Normal file
View File

@ -0,0 +1,7 @@
# init.lua
Mulch = Pacciame
Bone Meal = Pasto osseo
Fertiliser = Fertilizzante
Bone = Ossa
[MOD] bonemeal loaded = [MOD] bonemeal caricata

7
locale/ru.txt Normal file
View File

@ -0,0 +1,7 @@
# init.lua
Mulch = Мульча
Bone Meal = Костная Мука
Fertiliser = Удобрение
Bone = Кость
[MOD] bonemeal loaded = [MOD] костная мука загружена

View File

@ -4,4 +4,4 @@ Mulch =
Bone Meal = Bone Meal =
Fertiliser = Fertiliser =
Bone = Bone =
[bonemeal] loaded = [MOD] bonemeal loaded =

View File

@ -5,7 +5,7 @@ if minetest.get_modpath("animalmaterials") then
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "bonemeal:bonemeal 2", output = "bonemeal:bonemeal 2",
recipe = {"animalmaterials:bone"}, recipe = {"animalmaterials:bone"}
}) })
end end
@ -36,6 +36,11 @@ if farming and farming.mod and farming.mod == "redo" then
{"farming:pineapple_", 8}, {"farming:pineapple_", 8},
{"farming:pea_", 5}, {"farming:pea_", 5},
{"farming:beetroot_", 5}, {"farming:beetroot_", 5},
{"farming:rye_", 8},
{"farming:oat_", 8},
{"farming:rice_", 8},
{"farming:mint_", 4},
{"farming:cabbage_", 6}
}) })
end end
@ -44,7 +49,7 @@ if minetest.get_modpath("ethereal") then
bonemeal:add_crop({ bonemeal:add_crop({
{"ethereal:strawberry_", 8}, {"ethereal:strawberry_", 8},
{"ethereal:onion_", 5}, {"ethereal:onion_", 5}
}) })
bonemeal:add_sapling({ bonemeal:add_sapling({
@ -60,6 +65,7 @@ if minetest.get_modpath("ethereal") then
{"ethereal:orange_tree_sapling", ethereal.grow_orange_tree, "soil"}, {"ethereal:orange_tree_sapling", ethereal.grow_orange_tree, "soil"},
{"ethereal:bamboo_sprout", ethereal.grow_bamboo_tree, "soil"}, {"ethereal:bamboo_sprout", ethereal.grow_bamboo_tree, "soil"},
{"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"}, {"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"},
{"ethereal:sakura_sapling", ethereal.grow_sakura_tree, "soil"}
}) })
local grass = {"default:grass_3", "default:grass_4", "default:grass_5", ""} local grass = {"default:grass_3", "default:grass_4", "default:grass_5", ""}
@ -75,7 +81,7 @@ if minetest.get_modpath("ethereal") then
{"ethereal:mushroom_dirt", {}, {"flowers:mushroom_red", "flowers:mushroom_brown", "", "", ""}}, {"ethereal:mushroom_dirt", {}, {"flowers:mushroom_red", "flowers:mushroom_brown", "", "", ""}},
{"ethereal:jungle_dirt", grass, {"default:junglegrass", "", "", ""}}, {"ethereal:jungle_dirt", grass, {"default:junglegrass", "", "", ""}},
{"ethereal:grove_dirt", grass, {"ethereal:fern", "", "", ""}}, {"ethereal:grove_dirt", grass, {"ethereal:fern", "", "", ""}},
{"ethereal:bamboo_dirt", grass, {}}, {"ethereal:bamboo_dirt", grass, {}}
}) })
end end
@ -111,12 +117,46 @@ if minetest.get_modpath("moretrees") then
{"moretrees:poplar_sapling", moretrees.spawn_poplar_object, "soil"}, {"moretrees:poplar_sapling", moretrees.spawn_poplar_object, "soil"},
{"moretrees:willow_sapling", moretrees.spawn_willow_object, "soil"}, {"moretrees:willow_sapling", moretrees.spawn_willow_object, "soil"},
{"moretrees:rubber_tree_sapling", moretrees.spawn_rubber_tree_object, "soil"}, {"moretrees:rubber_tree_sapling", moretrees.spawn_rubber_tree_object, "soil"},
{"moretrees:fir_sapling", fir_grow, "soil"}, {"moretrees:fir_sapling", fir_grow, "soil"}
}) })
elseif minetest.get_modpath("technic_worldgen") then elseif minetest.get_modpath("technic_worldgen") then
bonemeal:add_sapling({ bonemeal:add_sapling({
{"moretrees:rubber_tree_sapling", technic.rubber_tree_model, "soil"}, {"moretrees:rubber_tree_sapling", technic.rubber_tree_model, "soil"}
}) })
end end
if minetest.get_modpath("caverealms") then
local fil = minetest.get_modpath("caverealms") .. "/schematics/shroom.mts"
local add_shroom = function(pos)
minetest.swap_node(pos, {name = "air"})
minetest.place_schematic(
{x = pos.x - 5, y = pos.y, z = pos.z - 5}, fil, 0, nil, false)
end
bonemeal:add_sapling({
{"caverealms:mushroom_sapling", add_shroom, "soil"}
})
end
if minetest.get_modpath("dye") then
local bonemeal_dyes = {
bonemeal = "white", fertiliser = "green", mulch = "brown"}
for mat, dye in pairs(bonemeal_dyes) do
minetest.register_craft({
output = "dye:" .. dye .. " 4",
recipe = {
{"bonemeal:" .. mat}
},
})
end
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

After

Width:  |  Height:  |  Size: 182 B