add files
This commit is contained in:
parent
45ea215c53
commit
1f63dfcad2
1
depends.txt
Executable file
1
depends.txt
Executable file
@ -0,0 +1 @@
|
||||
default
|
175
init.lua
Executable file
175
init.lua
Executable file
@ -0,0 +1,175 @@
|
||||
-- add bones to dirt
|
||||
minetest.override_item("default:dirt", {
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {'bone:bone', 'default:dirt'},
|
||||
rarity = 7,
|
||||
},
|
||||
{
|
||||
items = {'default:dirt'},
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
-- add bones to dirt with grass
|
||||
minetest.override_item("default:dirt_with_grass", {
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {'bone:bone', 'default:dirt'},
|
||||
rarity = 7,
|
||||
},
|
||||
{
|
||||
items = {'default:dirt'},
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
-- bone item
|
||||
minetest.register_craftitem("bone:bone", {
|
||||
description = "Bone",
|
||||
inventory_image = "bone_bone.png",
|
||||
})
|
||||
|
||||
-- bonemeal recipe
|
||||
minetest.register_craft({
|
||||
output = 'bone:bonemeal 5',
|
||||
recipe = {{'bone:bone'}},
|
||||
})
|
||||
|
||||
-- apple tree definition
|
||||
local apple_tree = {
|
||||
axiom = "FFFFFAFFBF",
|
||||
rules_a = "[&&&FFFFF&&FFFF][&&&++++FFFFF&&FFFF][&&&----FFFFF&&FFFF]",
|
||||
rules_b = "[&&&++FFFFF&&FFFF][&&&--FFFFF&&FFFF][&&&------FFFFF&&FFFF]",
|
||||
trunk = "default:tree",
|
||||
leaves = "default:leaves",
|
||||
angle = 30,
|
||||
iterations = 2,
|
||||
random_level = 0,
|
||||
trunk_type = "single",
|
||||
thin_branches = true,
|
||||
fruit_chance = 10,
|
||||
fruit="default:apple"
|
||||
}
|
||||
|
||||
local n
|
||||
local n2
|
||||
local pos
|
||||
local plant_tab = {}
|
||||
local rnd_max = 5
|
||||
|
||||
minetest.after(0.5, function()
|
||||
plant_tab[0] = "air"
|
||||
plant_tab[1] = "default:grass_1"
|
||||
plant_tab[2] = "default:grass_2"
|
||||
plant_tab[3] = "default:grass_3"
|
||||
plant_tab[4] = "default:grass_4"
|
||||
plant_tab[5] = "default:grass_5"
|
||||
|
||||
if minetest.get_modpath("flowers") ~= nil then
|
||||
rnd_max = 11
|
||||
plant_tab[6] = "flowers:dandelion_white"
|
||||
plant_tab[7] = "flowers:dandelion_yellow"
|
||||
plant_tab[8] = "flowers:geranium"
|
||||
plant_tab[9] = "flowers:rose"
|
||||
plant_tab[10] = "flowers:tulip"
|
||||
plant_tab[11] = "flowers:viola"
|
||||
end
|
||||
|
||||
end)
|
||||
|
||||
local function duengen(pointed_thing)
|
||||
|
||||
pos = pointed_thing.under
|
||||
n = minetest.get_node(pos)
|
||||
if n.name == "" then return end
|
||||
local stage = ""
|
||||
|
||||
-- grow sapling into tree
|
||||
if n.name == "default:sapling" then
|
||||
minetest.set_node(pos, {name="air"})
|
||||
if minetest.get_mapgen_params().mgname == "v6" then
|
||||
default.grow_tree(pos, math.random(1, 4) == 1)
|
||||
else
|
||||
default.grow_new_apple_tree(pos)
|
||||
end
|
||||
|
||||
-- grow wheat
|
||||
elseif string.find(n.name, "farming:wheat_") ~= nil then
|
||||
stage = string.sub(n.name, 15)
|
||||
if stage == "3" then
|
||||
minetest.set_node(pos, {name="farming:wheat"})
|
||||
elseif math.random(1,5) < 3 then
|
||||
minetest.set_node(pos, {name="farming:wheat"})
|
||||
else
|
||||
minetest.set_node(pos, {name="farming:wheat_"..math.random(2,3)})
|
||||
end
|
||||
|
||||
-- grow cotton
|
||||
elseif string.find(n.name, "farming:cotton_") ~= nil then
|
||||
stage = tonumber(string.sub(n.name, 16))
|
||||
if stage == 1 then
|
||||
minetest.set_node(pos, {name="farming:cotton_"..math.random(stage, 2)})
|
||||
else
|
||||
minetest.set_node(pos, {name="farming:cotton"})
|
||||
end
|
||||
|
||||
-- grow pumpkin
|
||||
elseif string.find(n.name, "farming:pumpkin_") ~= nil then
|
||||
stage = tonumber(string.sub(n.name, 17))
|
||||
if stage == 1 then
|
||||
minetest:set_node(pos, {name="farming:pumpkin_"..math.random(stage, 2)})
|
||||
else
|
||||
minetest:set_node(pos, {name="farming:pumpkin"})
|
||||
end
|
||||
|
||||
-- grow grass and flowers
|
||||
elseif n.name == "default:dirt_with_grass" then
|
||||
for i = -2, 3, 1 do
|
||||
for j = -3, 2, 1 do
|
||||
pos = pointed_thing.above
|
||||
pos = {x = pos.x + i, y = pos.y, z = pos.z + j}
|
||||
n = minetest.get_node(pos)
|
||||
n2 = minetest.get_node({x = pos.x, y = pos.y-1, z = pos.z})
|
||||
|
||||
if n.name ~= ""
|
||||
and n.name == "air"
|
||||
and n2.name == "default:dirt_with_grass" then
|
||||
if math.random(0,5) > 3 then
|
||||
minetest.set_node(pos,
|
||||
{name=plant_tab[math.random(0, rnd_max)]})
|
||||
else
|
||||
minetest.set_node(pos,
|
||||
{name=plant_tab[math.random(0, 5)]})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- bonemeal item
|
||||
minetest.register_craftitem("bone:bonemeal", {
|
||||
description = "Bone Meal",
|
||||
inventory_image = "bone_bonemeal.png",
|
||||
liquids_pointable = false,
|
||||
stack_max = 99,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if pointed_thing.type == "node" then
|
||||
if not minetest.setting_getbool("creative_mode") then
|
||||
local item = user:get_wielded_item()
|
||||
item:take_item()
|
||||
user:set_wielded_item(item)
|
||||
end
|
||||
duengen(pointed_thing)
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
})
|
BIN
textures/bone_bone.png
Executable file
BIN
textures/bone_bone.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 149 B |
BIN
textures/bone_bonemeal.png
Executable file
BIN
textures/bone_bonemeal.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 186 B |
Loading…
x
Reference in New Issue
Block a user