forked from mtcontrib/bonemeal
Compare commits
21 Commits
0a9668fff1
...
master
Author | SHA1 | Date | |
---|---|---|---|
57a018cbe4 | |||
c2d76b779d | |||
edeee0ffbd | |||
0d852bff0a | |||
2a4ddd96db | |||
09fa9d6251 | |||
53aefab9a2 | |||
a5421172d7 | |||
4f8ca6a0a5 | |||
c4ac6f8490 | |||
8e929e5a1c | |||
7c89cd6b70 | |||
862fd2bb1c | |||
2db3f4b026 | |||
6d21268470 | |||
10dbedd1e8 | |||
34e8c4a106 | |||
31cf1abfcd | |||
8b98f5e497 | |||
ef937049d2 | |||
6abbd5fb5e |
147
README.md
147
README.md
@ -1,9 +1,26 @@
|
|||||||
# Bonemeal
|
minetest mod Bonemeal
|
||||||
|
=====================
|
||||||
|
|
||||||
**Name**: `bonemeal`
|
FARM mod that helps and featured the farming to quickly grow samplings, crops, grass, etc
|
||||||
|
|
||||||
|
Information
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Bonemeal is crushed from bones found in dirt or by using player bones, Mulch is
|
||||||
|
made from a tree trunk surrounded by leaves and Fertiliser is a mix of both,
|
||||||
|
each of which can be used to quickly grow saplings, crops and grass/decoration,
|
||||||
|
papyrus on top of dirt and cactus on sand.
|
||||||
|
|
||||||
|
Support for ethereal saplings/crops, farming redo crops and moretrees saplings are included.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Technical info
|
||||||
|
|
||||||
|
This mod is named `bonemeal` and must be installed with such name.
|
||||||
|
|
||||||
This mod adds four new items into the game, bones which can be dug from normal
|
This mod adds four new items into the game, bones which can be dug from normal
|
||||||
dirt which can be made into bonemeal, mulch which is is crafted using a tree
|
dirt which can be cooked into bonemeal, mulch which is is crafted using a tree
|
||||||
and 8x leaves, and fertiliser which is a mixture of them both.
|
and 8x leaves, and fertiliser which is a mixture of them both.
|
||||||
|
|
||||||
Each item can be used on saplings and crops for a chance to grow them quicker
|
Each item can be used on saplings and crops for a chance to grow them quicker
|
||||||
@ -14,92 +31,170 @@ Mulch has a strength of 1, Bonemeal 2 and Fertiliser 3. This means the stronger
|
|||||||
the item, the more chance of growing saplings in low light, making crops sprout
|
the item, the more chance of growing saplings in low light, making crops sprout
|
||||||
quicker or simply decorate a larger area with grass and flowers.
|
quicker or simply decorate a larger area with grass and flowers.
|
||||||
|
|
||||||
The [`api.txt`](https://notabug.org/TenPlus1/bonemeal/src/master/api.txt)
|
#### Dependencies
|
||||||
document shows how to add your own saplings, crops and grasses to the list by
|
|
||||||
using one of the 3 commands included and the mod.lua file gives you many
|
Dependencies: default
|
||||||
examples by using some of the popular mods available.
|
|
||||||
|
Optional Dependencies: farming, ethereal, moretrees, lucky_block, moretrees, flowers, dye, ferns, dryplants, df_trees, df_farming, df_primordial_items, everness
|
||||||
|
|
||||||
|
Lucky Blocks: 6
|
||||||
|
|
||||||
|
#### API
|
||||||
|
|
||||||
|
The [`api.txt`](api.txt) document shows how to add your own saplings,
|
||||||
|
crops and grasses to the list by using one of the 3 commands included and
|
||||||
|
the [`mod.lua`](mod.lua) file gives you many examples by using some of the
|
||||||
|
popular mods available.
|
||||||
|
|
||||||
https://forum.minetest.net/viewtopic.php?f=9&t=16446
|
https://forum.minetest.net/viewtopic.php?f=9&t=16446
|
||||||
|
|
||||||
**Lucky Blocks**: 6
|
#### Nodes
|
||||||
|
|
||||||
|
| Node name | description | notes |
|
||||||
|
| ----------------------- | ------------ | --------------------------------------------------- |
|
||||||
|
| bonemeal:mulch | Mulch | fertilizer to make grow plants and seeds faster |
|
||||||
|
| bonemeal:bonemeal | Bone Meal | 2 x fertilizer to make grow plants and seeds faster |
|
||||||
|
| bonemeal:fertiliser | Fertiliser | 3 x fertilizer to make grow plants and seeds faster |
|
||||||
|
| bonemeal:bone | Bone | cook to made fertilizers, found into dirt rarelly |
|
||||||
|
| bone:bone | Player bones | cook to made fertilizers, found into dirt rarelly |
|
||||||
|
| bonemeal:gelatin_powder | Gelatin Powder | made from bones |
|
||||||
|
|
||||||
|
#### Crafts
|
||||||
|
|
||||||
|
* bonemeal:gelatin_powder 4
|
||||||
|
|
||||||
|
```
|
||||||
|
{"group:bone", "group:bone", "group:bone"},
|
||||||
|
{"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water"},
|
||||||
|
{"bucket:bucket_water", "default:torch", "bucket:bucket_water"}
|
||||||
|
```
|
||||||
|
|
||||||
|
* bonemeal:bonemeal 2
|
||||||
|
|
||||||
|
```
|
||||||
|
{{"group:bone"}}
|
||||||
|
```
|
||||||
|
|
||||||
|
* bonemeal:bonemeal 4
|
||||||
|
|
||||||
|
```
|
||||||
|
{{"bones:bones"}}
|
||||||
|
```
|
||||||
|
|
||||||
|
* bonemeal:bonemeal 2
|
||||||
|
|
||||||
|
```
|
||||||
|
{{"default:coral_skeleton"}}
|
||||||
|
```
|
||||||
|
|
||||||
|
* bonemeal:mulch 4
|
||||||
|
|
||||||
|
```
|
||||||
|
{"group:tree", "group:leaves", "group:leaves"},
|
||||||
|
{"group:leaves", "group:leaves", "group:leaves"},
|
||||||
|
{"group:leaves", "group:leaves", "group:leaves"}
|
||||||
|
```
|
||||||
|
|
||||||
|
* bonemeal:mulch
|
||||||
|
|
||||||
|
```
|
||||||
|
{"group:seed", "group:seed", "group:seed"},
|
||||||
|
{"group:seed", "group:seed", "group:seed"},
|
||||||
|
{"group:seed", "group:seed", "group:seed"}
|
||||||
|
```
|
||||||
|
|
||||||
|
* fertiliser 2
|
||||||
|
|
||||||
|
```
|
||||||
|
{{"bonemeal:bonemeal", "bonemeal:mulch"}}
|
||||||
|
```
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
### Version 0.1
|
#### Version 0.1
|
||||||
|
|
||||||
* Initial release
|
* Initial release
|
||||||
|
|
||||||
### Version 0.2
|
#### Version 0.2
|
||||||
|
|
||||||
* Added global `on_use` function for bonemeal growth
|
* Added global `on_use` function for bonemeal growth
|
||||||
|
|
||||||
### Version 0.3
|
#### Version 0.3
|
||||||
|
|
||||||
* Added strength to `on_use` global for new items (mulch and fertiliser)
|
* Added strength to `on_use` global for new items (mulch and fertiliser)
|
||||||
|
|
||||||
### Version 0.4
|
#### Version 0.4
|
||||||
|
|
||||||
* Added `Intllib` support and `fr.txt` file for French translation.
|
* Added `Intllib` support and `fr.txt` file for French translation.
|
||||||
|
|
||||||
### Version 0.5
|
#### Version 0.5
|
||||||
|
|
||||||
* Added support for default bush and acacia bush saplings
|
* Added support for default bush and acacia bush saplings
|
||||||
|
|
||||||
### Version 0.6
|
#### Version 0.6
|
||||||
|
|
||||||
* Using newer functions. This means Minetest 0.4.16 and above needed to run
|
* Using newer functions. This means Minetest 0.4.16 and above needed to run
|
||||||
|
|
||||||
### Version 0.7
|
#### Version 0.7
|
||||||
|
|
||||||
* Can be used on papyrus and cactus now
|
* Can be used on papyrus and cactus now
|
||||||
* Added coral recipe
|
* Added coral recipe
|
||||||
* API addition
|
* API addition
|
||||||
|
|
||||||
### Version 0.8
|
#### Version 0.8
|
||||||
|
|
||||||
* Added support for farming redo's new garlic
|
* Added support for farming redo's new garlic
|
||||||
* Added pepper and onion crops
|
* Added pepper and onion crops
|
||||||
|
|
||||||
### Version 0.9
|
#### Version 0.9
|
||||||
|
|
||||||
* Added support for farming redo's pea and beetroot crops
|
* Added support for farming redo's pea and beetroot crops
|
||||||
* Checks for `place_param`
|
* Checks for `place_param`
|
||||||
|
|
||||||
### Version 1.0
|
#### Version 1.0
|
||||||
|
|
||||||
* `add_deco()` now adds to existing item list while `set_deco()` replaces item
|
* `add_deco()` now adds to existing item list while `set_deco()` replaces item
|
||||||
list (thanks `h-v-smacker`)
|
list (thanks `h-v-smacker`)
|
||||||
|
|
||||||
### Version 1.1
|
#### Version 1.1
|
||||||
|
|
||||||
* Added `{can_bonemeal=1}` group for special nodes
|
* Added `{can_bonemeal=1}` group for special nodes
|
||||||
|
|
||||||
### Version 1.2
|
#### Version 1.2
|
||||||
|
|
||||||
* Added support for Minetest 5.0 cactus seedling, blueberry bush sapling and
|
* Added support for Minetest 5.0 cactus seedling, blueberry bush sapling and
|
||||||
emergent jungle tree saplings, additional flowers and pine bush sapling
|
emergent jungle tree saplings, additional flowers and pine bush sapling
|
||||||
|
|
||||||
### Version 1.3
|
#### Version 1.3
|
||||||
|
|
||||||
* Added ability to craft dye from mulch, bonemeal and fertiliser (thanks
|
* Added ability to craft dye from mulch, bonemeal and fertiliser (thanks
|
||||||
`orbea`)
|
`orbea`)
|
||||||
|
|
||||||
### Version 1.4
|
#### Version 1.4
|
||||||
|
|
||||||
* Added support for fern saplings from `plantlife` mod (thanks `nixnoxus`)
|
* Added support for fern saplings from `plantlife` mod (thanks `nixnoxus`)
|
||||||
|
|
||||||
### Version 1.5
|
#### Version 1.5
|
||||||
|
|
||||||
* Added support for farming redo's asparagus, eggplant, spinach
|
* Added support for farming redo's asparagus, eggplant, spinach
|
||||||
|
|
||||||
### Version 1.6
|
#### Version 1.6
|
||||||
|
|
||||||
* Added helper function for position and protection check
|
* Added helper function for position and protection check
|
||||||
* Added ginger support
|
* Added ginger support
|
||||||
* Added moretrees poplar sapling
|
* Added moretrees poplar sapling
|
||||||
|
|
||||||
### Version 1.7
|
#### Version 1.7
|
||||||
|
|
||||||
* Added farming redo's barley, hemp, rye, oat, mint, sunflower, rice seeds
|
* Added farming redo's barley, hemp, rye, oat, mint, sunflower, rice seeds
|
||||||
* Added Everness saplings
|
* Added Everness saplings
|
||||||
* Update readme
|
* Update readme (thanks mckaygerhard)
|
||||||
|
* Recipe changes, player bones craft into 2x bones, bones must be cooked to
|
||||||
|
give bonemeal
|
||||||
|
* Added bushes_classic support
|
||||||
|
|
||||||
|
## LICENSE
|
||||||
|
|
||||||
|
Licence: Code is MIT, Media is CC0
|
||||||
|
|
||||||
|
(c) Tenplus1
|
||||||
|
14
depends.txt
14
depends.txt
@ -1,14 +0,0 @@
|
|||||||
default
|
|
||||||
farming?
|
|
||||||
ethereal?
|
|
||||||
moretrees?
|
|
||||||
technic_worldgen?
|
|
||||||
lucky_block?
|
|
||||||
flowers?
|
|
||||||
dye?
|
|
||||||
ferns?
|
|
||||||
dryplants?
|
|
||||||
df_trees?
|
|
||||||
df_farming?
|
|
||||||
df_primordial_items?
|
|
||||||
everness?
|
|
@ -1 +0,0 @@
|
|||||||
Adds bone and bonemeal giving the ability to quickly grow plants and saplings.
|
|
162
init.lua
162
init.lua
@ -1,16 +1,31 @@
|
|||||||
|
|
||||||
bonemeal = {}
|
bonemeal = {
|
||||||
|
item_list = {
|
||||||
|
bucket_water = "bucket:bucket_water",
|
||||||
|
bucket_empty = "bucket:bucket_empty",
|
||||||
|
dirt = "default:dirt",
|
||||||
|
torch = "default:torch",
|
||||||
|
coral = "default:coral_skeleton"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local a = bonemeal.item_list
|
||||||
|
|
||||||
|
if minetest.get_modpath("mcl_core") then
|
||||||
|
|
||||||
|
a.bucket_water = "mcl_buckets:bucket_water"
|
||||||
|
a.bucket_empty = "mcl_buckets:bucker_empty"
|
||||||
|
a.dirt = "mcl_core:dirt"
|
||||||
|
a.torch = "mcl_torches:torch"
|
||||||
|
a.coral = "mcl_ocean:dead_horn_coral_block"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
local path = minetest.get_modpath("bonemeal")
|
local path = minetest.get_modpath("bonemeal")
|
||||||
local min, max, random = math.min, math.max, math.random
|
local min, max, random = math.min, math.max, math.random
|
||||||
|
|
||||||
|
|
||||||
-- translation support
|
-- translation support
|
||||||
local S = function(s) return s end -- default boilerplate function
|
local S = minetest.get_translator("bonemeal")
|
||||||
if minetest.get_translator ~= nil then
|
|
||||||
S = minetest.get_translator("bonemeal") -- 5.x translation function
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-- creative check
|
-- creative check
|
||||||
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
|
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
|
||||||
@ -18,103 +33,14 @@ 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
|
||||||
|
|
||||||
|
local crops = {}
|
||||||
-- default crops
|
local saplings = {}
|
||||||
local crops = {
|
local deco = {}
|
||||||
{"farming:cotton_", 8, "farming:seed_cotton"},
|
|
||||||
{"farming:wheat_", 8, "farming:seed_wheat"}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-- special pine check for nearby snow
|
|
||||||
local function pine_grow(pos)
|
|
||||||
|
|
||||||
if minetest.find_node_near(pos, 1,
|
|
||||||
{"default:snow", "default:snowblock", "default:dirt_with_snow"}) then
|
|
||||||
|
|
||||||
default.grow_new_snowy_pine_tree(pos)
|
|
||||||
else
|
|
||||||
default.grow_new_pine_tree(pos)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-- special function for cactus growth
|
|
||||||
local function cactus_grow(pos)
|
|
||||||
default.grow_cactus(pos, minetest.get_node(pos))
|
|
||||||
end
|
|
||||||
|
|
||||||
-- special function for papyrus growth
|
|
||||||
local function papyrus_grow(pos)
|
|
||||||
default.grow_papyrus(pos, minetest.get_node(pos))
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-- default saplings
|
|
||||||
local saplings = {
|
|
||||||
{"default:sapling", default.grow_new_apple_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:aspen_sapling", default.grow_new_aspen_tree, "soil"},
|
|
||||||
{"default:pine_sapling", pine_grow, "soil"},
|
|
||||||
{"default:bush_sapling", default.grow_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"},
|
|
||||||
{"default:cactus", cactus_grow, "sand"},
|
|
||||||
{"default:papyrus", papyrus_grow, "soil"}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- helper tables ( "" denotes a blank item )
|
|
||||||
local green_grass = {
|
|
||||||
"default:grass_2", "default:grass_3", "default:grass_4",
|
|
||||||
"default:grass_5", "", ""
|
|
||||||
}
|
|
||||||
|
|
||||||
local dry_grass = {
|
|
||||||
"default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4",
|
|
||||||
"default:dry_grass_5", "", ""
|
|
||||||
}
|
|
||||||
|
|
||||||
-- loads mods then add all in-game flowers except waterlily
|
|
||||||
local flowers = {}
|
|
||||||
|
|
||||||
minetest.after(0.1, function()
|
|
||||||
|
|
||||||
for node, def in pairs(minetest.registered_nodes) do
|
|
||||||
|
|
||||||
if def.groups
|
|
||||||
and def.groups.flower
|
|
||||||
and not node:find("waterlily")
|
|
||||||
and not node:find("xdecor:potted_")
|
|
||||||
and not node:find("df_farming:") then
|
|
||||||
flowers[#flowers + 1] = node
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
|
|
||||||
-- default biomes deco
|
|
||||||
local deco = {
|
|
||||||
{"default:dirt", green_grass, flowers},
|
|
||||||
{"default:dirt_with_grass", green_grass, flowers},
|
|
||||||
{"default:dry_dirt", dry_grass, {}},
|
|
||||||
{"default:dry_dirt_with_dry_grass", dry_grass, {}},
|
|
||||||
{"default:dirt_with_dry_grass", dry_grass, flowers},
|
|
||||||
{"default:sand", {}, {"default:dry_shrub", "", "", ""} },
|
|
||||||
{"default:desert_sand", {}, {"default:dry_shrub", "", "", ""} },
|
|
||||||
{"default:silver_sand", {}, {"default:dry_shrub", "", "", ""} },
|
|
||||||
{"default:dirt_with_rainforest_litter", {}, {"default:junglegrass", "", "", ""}}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- local functions
|
-- local functions
|
||||||
--
|
--
|
||||||
|
|
||||||
|
|
||||||
-- particles
|
-- particles
|
||||||
local function particle_effect(pos)
|
local function particle_effect(pos)
|
||||||
|
|
||||||
@ -160,7 +86,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
-- sapling check
|
-- sapling check
|
||||||
local function check_sapling(pos, sapling_node, light_ok)
|
local function check_sapling(pos, sapling_node, strength, light_ok)
|
||||||
|
|
||||||
-- what is sapling placed on?
|
-- what is sapling placed on?
|
||||||
local under = minetest.get_node({
|
local under = minetest.get_node({
|
||||||
@ -202,7 +128,9 @@ local function check_sapling(pos, sapling_node, light_ok)
|
|||||||
|
|
||||||
particle_effect(pos)
|
particle_effect(pos)
|
||||||
|
|
||||||
grow_tree(pos, saplings[n][2])
|
if math.random(5 - strength) == 1 then
|
||||||
|
grow_tree(pos, saplings[n][2])
|
||||||
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
@ -519,6 +447,14 @@ function bonemeal:on_use(pos, strength, node)
|
|||||||
|
|
||||||
particle_effect(pos)
|
particle_effect(pos)
|
||||||
|
|
||||||
|
return true
|
||||||
|
|
||||||
|
elseif node.name == "default:dry_dirt" and strength == 1 then
|
||||||
|
|
||||||
|
minetest.set_node(pos, {name = "default:dry_dirt_with_dry_grass"})
|
||||||
|
|
||||||
|
particle_effect(pos)
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -540,8 +476,7 @@ function bonemeal:on_use(pos, strength, node)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- check for sapling growth
|
-- check for sapling growth
|
||||||
if random(5 - strength) == 1
|
if check_sapling(pos, node.name, strength, light_ok) then
|
||||||
and check_sapling(pos, node.name, light_ok) then
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -654,31 +589,32 @@ minetest.register_craftitem("bonemeal:gelatin_powder", {
|
|||||||
-- 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 = {
|
||||||
{"group:bone", "group:bone", "group:bone"},
|
{"group:bone", "group:bone", "group:bone"},
|
||||||
{"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water"},
|
{a.bucket_water, a.bucket_water, a.bucket_water},
|
||||||
{"bucket:bucket_water", "default:torch", "bucket:bucket_water"}
|
{a.bucket_water, a.torch, a.bucket_water}
|
||||||
},
|
},
|
||||||
replacements = {
|
replacements = {
|
||||||
{"bucket:bucket_water", "bucket:bucket_empty 5"}
|
{a.bucket_water, a.bucket_empty .. " 5"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
-- bonemeal (from bone)
|
-- bonemeal (from bone)
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
type = "cooking",
|
||||||
output = "bonemeal:bonemeal 2",
|
output = "bonemeal:bonemeal 2",
|
||||||
recipe = {{"group:bone"}}
|
recipe = "group:bone",
|
||||||
|
cooktime = 4
|
||||||
})
|
})
|
||||||
|
|
||||||
-- bonemeal (from player bones)
|
-- bonemeal (from player bones)
|
||||||
if minetest.settings:get_bool("bonemeal.disable_deathbones_recipe") ~= true then
|
if minetest.settings:get_bool("bonemeal.disable_deathbones_recipe") ~= true then
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "bonemeal:bonemeal 4",
|
output = "bonemeal:bone 2",
|
||||||
recipe = {{"bones:bones"}}
|
recipe = {{"bones:bones"}}
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
@ -686,7 +622,7 @@ end
|
|||||||
-- bonemeal (from coral skeleton)
|
-- bonemeal (from coral skeleton)
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "bonemeal:bonemeal 2",
|
output = "bonemeal:bonemeal 2",
|
||||||
recipe = {{"default:coral_skeleton"}}
|
recipe = {{a.coral}}
|
||||||
})
|
})
|
||||||
|
|
||||||
-- mulch
|
-- mulch
|
||||||
@ -714,8 +650,8 @@ minetest.register_craft({
|
|||||||
recipe = {{"bonemeal:bonemeal", "bonemeal:mulch"}}
|
recipe = {{"bonemeal:bonemeal", "bonemeal:mulch"}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- NALC: add bones to dirt but without overriding a previous drop definition
|
||||||
-- add bones to dirt
|
-- from other mods.
|
||||||
local drop = minetest.registered_items["default:dirt"].drop
|
local drop = minetest.registered_items["default:dirt"].drop
|
||||||
if drop then
|
if drop then
|
||||||
table.insert(drop.items, 1, {items = {"bonemeal:bone"}, rarity = 30})
|
table.insert(drop.items, 1, {items = {"bonemeal:bone"}, rarity = 30})
|
||||||
@ -734,7 +670,7 @@ else
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
-- add support for other mods
|
-- add support for mods
|
||||||
dofile(path .. "/mods.lua")
|
dofile(path .. "/mods.lua")
|
||||||
|
|
||||||
-- lucky block support
|
-- lucky block support
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain:bonemeal
|
# textdomain:bonemeal
|
||||||
[MOD] bonemeal loaded=[MOD] bonemeal geladen
|
|
||||||
Bone=Knochen
|
Bone=Knochen
|
||||||
Bone Meal=Knochenmehl
|
Bone Meal=Knochenmehl
|
||||||
Fertiliser=Dünger
|
Fertiliser=Dünger
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain:bonemeal
|
# textdomain:bonemeal
|
||||||
#[MOD] bonemeal loaded=
|
|
||||||
#Bone=
|
#Bone=
|
||||||
#Bone Meal=
|
#Bone Meal=
|
||||||
#Fertiliser=
|
#Fertiliser=
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain:bonemeal
|
# textdomain:bonemeal
|
||||||
[MOD] bonemeal loaded=[MOD] bonemeal cargado
|
|
||||||
Bone=Hueso
|
Bone=Hueso
|
||||||
Bone Meal=Comida de hueso
|
Bone Meal=Comida de hueso
|
||||||
Fertiliser=Fertilizante
|
Fertiliser=Fertilizante
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain:bonemeal
|
# textdomain:bonemeal
|
||||||
[MOD] bonemeal loaded=[MOD] bonemeal chargé
|
|
||||||
Bone=Os
|
Bone=Os
|
||||||
Bone Meal=Poudre d'os
|
Bone Meal=Poudre d'os
|
||||||
Fertiliser=Engrais
|
Fertiliser=Engrais
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain:bonemeal
|
# textdomain:bonemeal
|
||||||
[MOD] bonemeal loaded=[MOD] bonemeal caricata
|
|
||||||
Bone=Ossa
|
Bone=Ossa
|
||||||
Bone Meal=Pasto osseo
|
Bone Meal=Pasto osseo
|
||||||
Fertiliser=Fertilizzante
|
Fertiliser=Fertilizzante
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain:bonemeal
|
# textdomain:bonemeal
|
||||||
[MOD] bonemeal loaded=[MOD] костная мука загружена
|
|
||||||
Bone=Кость
|
Bone=Кость
|
||||||
Bone Meal=Костная Мука
|
Bone Meal=Костная Мука
|
||||||
Fertiliser=Удобрение
|
Fertiliser=Удобрение
|
||||||
|
10
locale/bonemeal.uk.tr
Normal file
10
locale/bonemeal.uk.tr
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# textdomain: bonemeal
|
||||||
|
|
||||||
|
Bonemeal=Кісткове борошно
|
||||||
|
Adds bone and bonemeal giving the ability to quickly grow plants and saplings.=Додає кістки та кісткове борошно, що дає можливість швидко вирощувати рослини та саджанці.
|
||||||
|
|
||||||
|
Bone=Кістка
|
||||||
|
Bone Meal=Кісткове борошно
|
||||||
|
Fertiliser=Добриво
|
||||||
|
Gelatin Powder=Желатиновий порошок
|
||||||
|
Mulch=Мульча
|
4
mod.conf
4
mod.conf
@ -1,4 +1,4 @@
|
|||||||
name = bonemeal
|
name = bonemeal
|
||||||
depends = default
|
|
||||||
optional_depends = lucky_block, farming, ethereal, moretrees, technic_worldgen, flowers, dye, ferns, dryplants, df_trees, df_farming, df_primordial_items, everness
|
|
||||||
description = Adds bone and bonemeal giving the ability to quickly grow plants and saplings.
|
description = Adds bone and bonemeal giving the ability to quickly grow plants and saplings.
|
||||||
|
optional_depends = default, mcl_core, lucky_block, farming, ethereal, moretrees, technic_worldgen, flowers, dye, ferns, dryplants, df_trees, df_farming, df_primordial_items, everness
|
||||||
|
min_minetest_version = 5.0
|
||||||
|
154
mods.lua
154
mods.lua
@ -9,6 +9,99 @@ if minetest.get_modpath("animalmaterials") then
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
if minetest.get_modpath("default") then
|
||||||
|
|
||||||
|
-- saplings
|
||||||
|
|
||||||
|
local function pine_grow(pos)
|
||||||
|
|
||||||
|
if minetest.find_node_near(pos, 1,
|
||||||
|
{"default:snow", "default:snowblock", "default:dirt_with_snow"}) then
|
||||||
|
|
||||||
|
default.grow_new_snowy_pine_tree(pos)
|
||||||
|
else
|
||||||
|
default.grow_new_pine_tree(pos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function cactus_grow(pos)
|
||||||
|
default.grow_cactus(pos, minetest.get_node(pos))
|
||||||
|
end
|
||||||
|
|
||||||
|
local function papyrus_grow(pos)
|
||||||
|
default.grow_papyrus(pos, minetest.get_node(pos))
|
||||||
|
end
|
||||||
|
|
||||||
|
bonemeal:add_sapling({
|
||||||
|
{"default:sapling", default.grow_new_apple_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:aspen_sapling", default.grow_new_aspen_tree, "soil"},
|
||||||
|
{"default:pine_sapling", pine_grow, "soil"},
|
||||||
|
{"default:bush_sapling", default.grow_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"},
|
||||||
|
{"default:cactus", cactus_grow, "sand"},
|
||||||
|
{"default:papyrus", papyrus_grow, "soil"}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- decoration
|
||||||
|
|
||||||
|
local green_grass = {
|
||||||
|
"default:grass_2", "default:grass_3", "default:grass_4",
|
||||||
|
"default:grass_5", "", ""
|
||||||
|
}
|
||||||
|
|
||||||
|
local dry_grass = {
|
||||||
|
"default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4",
|
||||||
|
"default:dry_grass_5", "", ""
|
||||||
|
}
|
||||||
|
|
||||||
|
local flowers = {}
|
||||||
|
|
||||||
|
minetest.after(0.1, function()
|
||||||
|
|
||||||
|
for node, def in pairs(minetest.registered_nodes) do
|
||||||
|
|
||||||
|
if def.groups
|
||||||
|
and def.groups.flower
|
||||||
|
and not node:find("waterlily")
|
||||||
|
and not node:find("seaweed")
|
||||||
|
and not node:find("xdecor:potted_")
|
||||||
|
and not node:find("df_farming:") then
|
||||||
|
flowers[#flowers + 1] = node
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
bonemeal:add_deco({
|
||||||
|
{"default:dirt", bonemeal.green_grass, flowers},
|
||||||
|
{"default:dirt_with_grass", green_grass, flowers},
|
||||||
|
{"default:dry_dirt", dry_grass, {}},
|
||||||
|
{"default:dry_dirt_with_dry_grass", dry_grass, {}},
|
||||||
|
{"default:dirt_with_dry_grass", dry_grass, flowers},
|
||||||
|
{"default:sand", {}, {"default:dry_shrub", "", "", ""} },
|
||||||
|
{"default:desert_sand", {}, {"default:dry_shrub", "", "", ""} },
|
||||||
|
{"default:silver_sand", {}, {"default:dry_shrub", "", "", ""} },
|
||||||
|
{"default:dirt_with_rainforest_litter", {}, {"default:junglegrass", "", "", ""} },
|
||||||
|
{"default:dirt_with_coniferous_litter", {}, {"default:fern_1", "default:fern_2",
|
||||||
|
"default:fern_3", "", "", ""}}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
if farming then
|
||||||
|
|
||||||
|
bonemeal:add_crop({
|
||||||
|
{"farming:cotton_", 8, "farming:seed_cotton"},
|
||||||
|
{"farming:wheat_", 8, "farming:seed_wheat"}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
if farming and farming.mod and farming.mod == "redo" then
|
if farming and farming.mod and farming.mod == "redo" then
|
||||||
|
|
||||||
bonemeal:add_crop({
|
bonemeal:add_crop({
|
||||||
@ -71,6 +164,7 @@ if minetest.get_modpath("ethereal") then
|
|||||||
{"ethereal:banana_tree_sapling", ethereal.grow_banana_tree, "soil"},
|
{"ethereal:banana_tree_sapling", ethereal.grow_banana_tree, "soil"},
|
||||||
{"ethereal:frost_tree_sapling", ethereal.grow_frost_tree, "soil"},
|
{"ethereal:frost_tree_sapling", ethereal.grow_frost_tree, "soil"},
|
||||||
{"ethereal:mushroom_sapling", ethereal.grow_mushroom_tree, "soil"},
|
{"ethereal:mushroom_sapling", ethereal.grow_mushroom_tree, "soil"},
|
||||||
|
{"ethereal:mushroom_brown_sapling", ethereal.grow_mushroom_brown_tree, "soil"},
|
||||||
{"ethereal:willow_sapling", ethereal.grow_willow_tree, "soil"},
|
{"ethereal:willow_sapling", ethereal.grow_willow_tree, "soil"},
|
||||||
{"ethereal:redwood_sapling", ethereal.grow_redwood_tree, "soil"},
|
{"ethereal:redwood_sapling", ethereal.grow_redwood_tree, "soil"},
|
||||||
{"ethereal:giant_redwood_sapling", ethereal.grow_giant_redwood_tree, "soil"},
|
{"ethereal:giant_redwood_sapling", ethereal.grow_giant_redwood_tree, "soil"},
|
||||||
@ -79,7 +173,8 @@ if minetest.get_modpath("ethereal") then
|
|||||||
{"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"},
|
{"ethereal:birch_sapling", ethereal.grow_birch_tree, "soil"},
|
||||||
{"ethereal:sakura_sapling", ethereal.grow_sakura_tree, "soil"},
|
{"ethereal:sakura_sapling", ethereal.grow_sakura_tree, "soil"},
|
||||||
{"ethereal:lemon_tree_sapling", ethereal.grow_lemon_tree, "soil"},
|
{"ethereal:lemon_tree_sapling", ethereal.grow_lemon_tree, "soil"},
|
||||||
{"ethereal:olive_tree_sapling", ethereal.grow_olive_tree, "soil"}
|
{"ethereal:olive_tree_sapling", ethereal.grow_olive_tree, "soil"},
|
||||||
|
{"ethereal:basandra_bush_sapling", ethereal.grow_basandra_bush, "soil"}
|
||||||
})
|
})
|
||||||
|
|
||||||
local grass = {"default:grass_3", "default:grass_4", "default:grass_5", ""}
|
local grass = {"default:grass_3", "default:grass_4", "default:grass_5", ""}
|
||||||
@ -92,7 +187,8 @@ if minetest.get_modpath("ethereal") then
|
|||||||
"flowers:tulip", "flowers:viola", "ethereal:strawberry_7"}},
|
"flowers:tulip", "flowers:viola", "ethereal:strawberry_7"}},
|
||||||
{"ethereal:gray_dirt", {}, {"ethereal:snowygrass", "", ""}},
|
{"ethereal:gray_dirt", {}, {"ethereal:snowygrass", "", ""}},
|
||||||
{"ethereal:cold_dirt", {}, {"ethereal:snowygrass", "", ""}},
|
{"ethereal:cold_dirt", {}, {"ethereal:snowygrass", "", ""}},
|
||||||
{"ethereal:mushroom_dirt", {}, {"flowers:mushroom_red", "flowers:mushroom_brown", "", "", ""}},
|
{"ethereal:mushroom_dirt", {}, {"flowers:mushroom_red", "flowers:mushroom_brown",
|
||||||
|
"ethereal:spore_grass", "ethereal:spore_grass", "", "", ""}},
|
||||||
{"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, {}}
|
||||||
@ -200,29 +296,42 @@ end
|
|||||||
if minetest.get_modpath("df_trees") then
|
if minetest.get_modpath("df_trees") then
|
||||||
|
|
||||||
local function spore_tree_fix(pos)
|
local function spore_tree_fix(pos)
|
||||||
minetest.set_node(pos, {name = "air"})
|
minetest.remove_node(pos) ; df_trees.spawn_spore_tree(pos)
|
||||||
df_trees.spawn_spore_tree(pos)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local function fungiwood_fix(pos)
|
local function fungiwood_fix(pos)
|
||||||
minetest.set_node(pos, {name = "air"})
|
minetest.remove_node(pos) ; df_trees.spawn_fungiwood(pos)
|
||||||
df_trees.spawn_fungiwood(pos)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local function tunnel_fix(pos)
|
local function tunnel_fix(pos)
|
||||||
minetest.set_node(pos, {name = "air"})
|
minetest.remove_node(pos) ; df_trees.spawn_tunnel_tube(pos)
|
||||||
df_trees.spawn_tunnel_tube(pos)
|
end
|
||||||
|
|
||||||
|
local function black_cap_fix(pos)
|
||||||
|
minetest.remove_node(pos) ; df_trees.spawn_black_cap(pos)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function goblin_cap_fix(pos)
|
||||||
|
minetest.remove_node(pos) ; df_trees.spawn_goblin_cap(pos)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function tower_cap_fix(pos)
|
||||||
|
minetest.remove_node(pos) ; df_trees.spawn_tower_cap(pos)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function nether_cap_fix(pos)
|
||||||
|
minetest.remove_node(pos) ; df_trees.spawn_nether_cap(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
bonemeal:add_sapling({
|
bonemeal:add_sapling({
|
||||||
{"df_trees:black_cap_sapling", df_trees.spawn_black_cap, "soil", true},
|
{"df_trees:black_cap_sapling", black_cap_fix, "soil", true},
|
||||||
{"df_trees:fungiwood_sapling", fungiwood_fix, "soil", true},
|
{"df_trees:fungiwood_sapling", fungiwood_fix, "soil", true},
|
||||||
{"df_trees:goblin_cap_sapling", df_trees.spawn_goblin_cap, "soil", true},
|
{"df_trees:goblin_cap_sapling", goblin_cap_fix, "soil", true},
|
||||||
{"df_trees:spore_tree_sapling", spore_tree_fix, "soil", true},
|
{"df_trees:spore_tree_sapling", spore_tree_fix, "soil", true},
|
||||||
{"df_trees:tower_cap_sapling", df_trees.spawn_tower_cap, "soil", true},
|
{"df_trees:tower_cap_sapling", tower_cap_fix, "soil", true},
|
||||||
{"df_trees:tunnel_tube_sapling", tunnel_fix, "soil", true},
|
{"df_trees:tunnel_tube_sapling", tunnel_fix, "soil", true},
|
||||||
{"df_trees:nether_cap_sapling", df_trees.spawn_nether_cap, "group:nether_cap", true},
|
{"df_trees:nether_cap_sapling", nether_cap_fix, "group:nether_cap", true},
|
||||||
{"df_trees:nether_cap_sapling", df_trees.spawn_nether_cap, "group:cools_lava", true}
|
{"df_trees:nether_cap_sapling", nether_cap_fix, "group:cools_lava", true}
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -326,3 +435,22 @@ if minetest.get_modpath("everness") then
|
|||||||
{"everness:willow_tree_sapling", Everness.grow_willow_tree, "soil"}
|
{"everness:willow_tree_sapling", Everness.grow_willow_tree, "soil"}
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
if minetest.get_modpath("bushes_classic") then
|
||||||
|
|
||||||
|
local function grow_bush(pos)
|
||||||
|
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local bush_name = meta:get_string("bush_type")
|
||||||
|
|
||||||
|
-- only change if meta found
|
||||||
|
if meta and bush_name then
|
||||||
|
minetest.swap_node(pos, {name = "bushes:" .. bush_name .. "_bush"})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
bonemeal:add_sapling({
|
||||||
|
{"bushes:fruitless_bush", grow_bush, "soil"},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
Reference in New Issue
Block a user