Charakterbewegungen hinzugefügt, Deko hinzugefügt, Kochrezepte angepasst
This commit is contained in:
parent
95945c0306
commit
a0c893ca0b
1124 changed files with 64294 additions and 763 deletions
179
mods/potted_farming/nodes.lua
Normal file
179
mods/potted_farming/nodes.lua
Normal file
|
@ -0,0 +1,179 @@
|
|||
local pf = potted_farming
|
||||
local S = pf.S
|
||||
local max_uses = pf.watering_can_max_uses
|
||||
|
||||
-- Pot to plant
|
||||
minetest.register_node(pf.modname .. ":pot_with_soil", {
|
||||
description = S("Pot with Soil"),
|
||||
|
||||
tiles = {
|
||||
"pot_with_soil_top.png",
|
||||
"pot_with_soil_bottom.png",
|
||||
"pot_with_soil_side.png",
|
||||
"pot_with_soil_side.png",
|
||||
"pot_with_soil_side.png",
|
||||
"pot_with_soil_side.png"
|
||||
},
|
||||
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
|
||||
groups = {oddly_breakable_by_hand = 4, crumbly = 1, cracky = 1, attached_node = 1},
|
||||
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.1875, -0.5, -0.1875, 0.1875, -0.1875, 0.1875}, -- base_center
|
||||
{-0.25, -0.375, -0.125, -0.1875, -0.1875, 0.125}, -- base1
|
||||
{-0.125, -0.375, 0.1875, 0.125, -0.1875, 0.25}, -- base2
|
||||
{0.1875, -0.375, -0.125, 0.25, -0.1875, 0.125}, -- base3
|
||||
{-0.125, -0.375, -0.25, 0.125, -0.1875, -0.1875}, -- base4
|
||||
}
|
||||
},
|
||||
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.1875, 0.25}, -- selection
|
||||
}
|
||||
},
|
||||
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.1875, 0.25}, -- selection
|
||||
}
|
||||
},
|
||||
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
if player:is_player() and itemstack:is_empty() == false then
|
||||
local itemname = itemstack:get_name()
|
||||
local acceptable, type, plant = pf.is_acceptable_source(itemname)
|
||||
local step = "1"
|
||||
if type == "fruit_tree" then step = "sapling" end
|
||||
if acceptable then
|
||||
local n = math.random(1, 3)
|
||||
minetest.sound_play("dirt-0".. n, {pos=pos, gain=1.2})
|
||||
minetest.set_node(pos, {name = pf.modname .. ":pot_with_".. plant .. "_" .. step})
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
||||
on_rotate = function(pos, node)
|
||||
return false
|
||||
end,
|
||||
|
||||
}) -- minetest.register_node(pot
|
||||
|
||||
local pot_with_shrub = {
|
||||
description = S("Pot with Shrub"),
|
||||
groups = {flammable = 2, crumbly = 1, cracky = 1, attached_node = 1, not_in_creative_inventory = 1},
|
||||
tiles = {
|
||||
"pot_with_soil_top.png",
|
||||
"pot_with_soil_bottom.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_shrub.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_shrub.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_shrub.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_shrub.png"
|
||||
|
||||
}, -- tiles
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
walkable = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.1875, -0.5, -0.1875, 0.1875, -0.1875, 0.1875}, -- base_center
|
||||
{-0.25, -0.375, -0.125, -0.1875, -0.1875, 0.125}, -- base1
|
||||
{-0.125, -0.375, 0.1875, 0.125, -0.1875, 0.25}, -- base2
|
||||
{0.1875, -0.375, -0.125, 0.25, -0.1875, 0.125}, -- base3
|
||||
{-0.125, -0.375, -0.25, 0.125, -0.1875, -0.1875}, -- base4
|
||||
{-0.5, -0.5, 0, 0.5, 0.5, 0}, -- plant1X
|
||||
{0, -0.5, -0.5, 0, 0.5, 0.5}, -- plant2Z
|
||||
|
||||
} -- fixed
|
||||
|
||||
}, -- node_box
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}, -- selection
|
||||
|
||||
}
|
||||
|
||||
}, -- selection_box
|
||||
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, 0.5, 0.25}, -- selection
|
||||
|
||||
}
|
||||
|
||||
}, -- collsion_box
|
||||
|
||||
drop = {
|
||||
items = {
|
||||
{items = {pf.modname .. ":pot_with_soil"} },
|
||||
{items = {"default:stick"} },
|
||||
|
||||
}, -- items
|
||||
|
||||
}, -- drop
|
||||
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
if player:is_player() then
|
||||
local itemname = itemstack:get_name()
|
||||
if itemstack:is_empty() == false and itemname == pf.modname .. ":watering_can" then
|
||||
local nodepos = pos
|
||||
local possible_leaf_pos = vector.add(nodepos, vector.new(0, 1, 0))
|
||||
local possible_leaf = minetest.get_node(possible_leaf_pos)
|
||||
|
||||
local fruit_name = nil
|
||||
for k, v in pairs(pf.fruit_tree_list) do
|
||||
if possible_leaf.name == pf.modname ..":".. k .."_leaves_3" then
|
||||
fruit_name = k
|
||||
end
|
||||
end -- fruit_tree_list iteration
|
||||
|
||||
if fruit_name ~= nil then
|
||||
itemstack = pf.add_watering_can_wear(itemstack)
|
||||
|
||||
local n = math.random(3, 4)
|
||||
minetest.sound_play("water-splash-0".. n, {pos=nodepos, gain=1.2})
|
||||
minetest.swap_node(possible_leaf_pos, {name = pf.modname .. ":".. fruit_name .."_leaves_1", param2 = 2})
|
||||
|
||||
end -- if node above is ANY thirsty leaves
|
||||
|
||||
end -- itemstack is watering_can
|
||||
|
||||
end -- player is a player
|
||||
return itemstack
|
||||
|
||||
end, -- on_rightclick
|
||||
-- no further action is required, the leaves should fall on their own, as they too are an attached_node
|
||||
|
||||
on_rotate = function(pos, node)
|
||||
return false
|
||||
end,
|
||||
|
||||
} -- pot_with_shrub table
|
||||
|
||||
minetest.register_node(pf.modname ..":pot_with_shrub", table.copy(pot_with_shrub) )
|
||||
|
||||
-- different shrub for a different plant, that differes only in texture
|
||||
-- unfortunately i have to make another node just for this difference
|
||||
|
||||
pot_with_shrub.description = S("Pot with Plantain")
|
||||
pot_with_shrub.tiles = {
|
||||
"pot_with_soil_top.png",
|
||||
"pot_with_soil_bottom.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_plantain.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_plantain.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_plantain.png",
|
||||
"pot_with_soil_side.png^" .. pf.modname .. "_plantain.png"
|
||||
|
||||
} -- plantain tiles
|
||||
|
||||
minetest.register_node(pf.modname ..":pot_with_plantain", table.copy(pot_with_shrub) )
|
Loading…
Add table
Add a link
Reference in a new issue