329 lines
7.3 KiB
Lua
329 lines
7.3 KiB
Lua
--[[
|
|
**********************************************
|
|
*** Soy ***
|
|
**********************************************
|
|
|
|
If you want use Soy with farming_redo from TenPlus, then set
|
|
|
|
farming_default = false
|
|
|
|
else true.
|
|
|
|
if you want to add a Recipt to get additional Soy-Seeds, then set
|
|
|
|
additional_seed = true
|
|
|
|
else false.
|
|
|
|
]]--
|
|
local farming_default = true
|
|
|
|
-- looking if farming_redo is activ?
|
|
if(farming.mod ~= nil and farming.mod == "redo") then
|
|
|
|
farming_default = false
|
|
|
|
end
|
|
|
|
|
|
-- Switch true to use the Recipe for additional Seeds.
|
|
local additional_seeds = true
|
|
|
|
if (farming_default) then
|
|
|
|
print("[MOD] " .. minetest.get_current_modname() .. " set to default mode.")
|
|
-- Soy
|
|
farming.register_plant("soy:soy", {
|
|
description = "Soy Beans",
|
|
inventory_image = "soy_seed.png",
|
|
steps = 8,
|
|
minlight = 12,
|
|
maxlight = default.LIGHT_MAX,
|
|
fertility = {"grassland"},
|
|
groups = {flammable = 4},
|
|
})
|
|
|
|
-- Register for Mapgen
|
|
minetest.register_node("soy:wild_soy", {
|
|
description = "Wild Soy",
|
|
paramtype = "light",
|
|
walkable = false,
|
|
drop = {
|
|
items = {
|
|
{items = {"soy:seed_soy 3"}},
|
|
{items = {"soy:soy"}},
|
|
}
|
|
},
|
|
drawtype = "plantlike",
|
|
paramtype2 = "facedir",
|
|
tiles = {"soy_soy_8.png"},
|
|
groups = {chopspy=2, oddly_breakable_by_hand=3, flammable=2, plant=1},
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.5, 0.5, -0.35, 0.5}, -- side f
|
|
},
|
|
},
|
|
})
|
|
|
|
-- Crafting Recipe to get additional Seeds (Default: additional_seed = false).
|
|
if(additional_seeds) then
|
|
|
|
minetest.register_craft({
|
|
output = "soy:seed_soy 4",
|
|
recipe = {
|
|
{"soy:soy"}
|
|
}
|
|
})
|
|
|
|
end -- if(additional_seeds)
|
|
|
|
else
|
|
|
|
print("[MOD] " .. minetest.get_current_modname() .. " set to redo mode.")
|
|
minetest.register_node("soy:seed", {
|
|
description = "Soy Seed",
|
|
tiles = {"soy_seed.png"},
|
|
inventory_image = "soy_seed.png",
|
|
wield_image = "soy_seed.png",
|
|
drawtype = "signlike",
|
|
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4},
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
walkable = false,
|
|
sunlight_propagates = true,
|
|
selection_box = farming.select,
|
|
on_place = function(itemstack, placer, pointed_thing)
|
|
return farming.place_seed(itemstack, placer, pointed_thing, "soy:soy_1")
|
|
end,
|
|
})
|
|
|
|
minetest.register_craftitem("soy:soy", {
|
|
description = "Soy Bean",
|
|
inventory_image = "soy_soy.png",
|
|
groups = {flammable = 4},
|
|
})
|
|
|
|
-- Soy definition
|
|
local crop_def = {
|
|
drawtype = "plantlike",
|
|
tiles = {"soy_soy_1.png"},
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
walkable = false,
|
|
buildable_to = true,
|
|
drop = "",
|
|
selection_box = farming.select,
|
|
groups = {
|
|
snappy = 3, flammable = 4, plant = 1, attached_node = 1,
|
|
not_in_creative_inventory = 1, growing = 1
|
|
},
|
|
sounds = default.node_sound_leaves_defaults()
|
|
}
|
|
|
|
-- stage 1
|
|
minetest.register_node("soy:soy_1", table.copy(crop_def))
|
|
|
|
-- stage 2
|
|
crop_def.tiles = {"soy_soy_2.png"}
|
|
minetest.register_node("soy:soy_2", table.copy(crop_def))
|
|
|
|
-- stage 3
|
|
crop_def.tiles = {"soy_soy_3.png"}
|
|
minetest.register_node("soy:soy_3", table.copy(crop_def))
|
|
|
|
-- stage 4
|
|
crop_def.tiles = {"soy_soy_4.png"}
|
|
minetest.register_node("soy:soy_4", table.copy(crop_def))
|
|
|
|
-- stage 5
|
|
crop_def.tiles = {"soy_soy_5.png"}
|
|
crop_def.drop = {
|
|
items = {
|
|
{items = {"soy:seed"}, rarity = 1},
|
|
}
|
|
}
|
|
minetest.register_node("soy:soy_5", table.copy(crop_def))
|
|
|
|
-- stage 6
|
|
crop_def.tiles = {"soy_soy_6.png"}
|
|
crop_def.drop = {
|
|
items = {
|
|
{items = {"soy:seed"}, rarity = 1},
|
|
{items = {"soy:soy"}, rarity = 2},
|
|
}
|
|
}
|
|
minetest.register_node("soy:soy_6", table.copy(crop_def))
|
|
|
|
-- stage 7
|
|
crop_def.tiles = {"soy_soy_7.png"}
|
|
crop_def.drop = {
|
|
items = {
|
|
{items = {"soy:soy"}, rarity = 1},
|
|
{items = {"soy:soy"}, rarity = 2},
|
|
{items = {"soy:seed"}, rarity = 1},
|
|
{items = {"soy:seed"}, rarity = 2},
|
|
}
|
|
}
|
|
minetest.register_node("soy:soy_7", table.copy(crop_def))
|
|
|
|
-- stage 8 (final)
|
|
crop_def.tiles = {"soy_soy_8.png"}
|
|
crop_def.groups.growing = 0
|
|
crop_def.drop = {
|
|
items = {
|
|
{items = {"soy:soy"}, rarity = 1},
|
|
{items = {"soy:soy"}, rarity = 2},
|
|
{items = {"soy:soy"}, rarity = 3},
|
|
{items = {"soy:seed"}, rarity = 1},
|
|
{items = {"soy:seed"}, rarity = 2},
|
|
{items = {"soy:seed"}, rarity = 3},
|
|
}
|
|
}
|
|
minetest.register_node("soy:soy_8", table.copy(crop_def))
|
|
|
|
-- Register for Mapgen
|
|
minetest.register_node("soy:wild_soy", {
|
|
description = "Wild Soy",
|
|
paramtype = "light",
|
|
walkable = false,
|
|
drop = {
|
|
items = {
|
|
{items = {"soy:seed 3"}},
|
|
{items = {"soy:soy"}},
|
|
}
|
|
},
|
|
drawtype = "plantlike",
|
|
paramtype2 = "facedir",
|
|
tiles = {"soy_soy_8.png"},
|
|
groups = {chopspy=2, oddly_breakable_by_hand=3, flammable=2, plant=1},
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.5, 0.5, -0.35, 0.5}, -- side f
|
|
},
|
|
},
|
|
})
|
|
|
|
-- Crafting Recipe to get additional Seeds (Default: additional_seed = false).
|
|
if(additional_seeds) then
|
|
|
|
minetest.register_craft({
|
|
output = "soy:seed 4",
|
|
recipe = {
|
|
{"soy:soy"}
|
|
}
|
|
})
|
|
|
|
end -- if(additional_seeds)
|
|
|
|
end -- if( default ....)
|
|
|
|
|
|
minetest.register_decoration({
|
|
deco_type = "simple",
|
|
place_on = {"default:dirt_with_grass"},
|
|
sidelen = 16,
|
|
noise_params = {
|
|
offset = 0,
|
|
scale = 0.004,
|
|
spread = {x = 100, y = 100, z = 100},
|
|
seed = 7133,
|
|
octaves = 3,
|
|
persist = 0.6
|
|
},
|
|
y_min = 10,
|
|
y_max = 90,
|
|
decoration = "soy:wild_soy",
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "soy:soy",
|
|
burntime = 1,
|
|
})
|
|
|
|
minetest.register_craftitem("soy:tofu", {
|
|
description = "Tofu",
|
|
inventory_image = "soy_tofu.png",
|
|
groups = {flammable = 1, food = 1, eatable = 1},
|
|
on_use = minetest.item_eat(2),
|
|
})
|
|
|
|
minetest.register_craftitem("soy:milk", {
|
|
description = "Soy Milk",
|
|
inventory_image = "soy_milk.png",
|
|
groups = {flammable = 1, food = 1, food_milk = 1, eatable = 1},
|
|
on_use = minetest.item_eat(1, "vessels:drinking_glass"),
|
|
})
|
|
|
|
minetest.register_craftitem("soy:tofu_cooked", {
|
|
description = "Tofu (cooked)",
|
|
inventory_image = "soy_tofu_cooked.png",
|
|
groups = {flammable = 1, food = 1, eatable = 1},
|
|
on_use = minetest.item_eat(3),
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "soy:tofu",
|
|
recipe = {
|
|
{"soy:soy", "soy:soy", "soy:soy"},
|
|
{"soy:soy", "soy:soy", "soy:soy"},
|
|
{"soy:soy", "soy:soy", "soy:soy"},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "soy:milk",
|
|
recipe = {
|
|
{"soy:soy", "soy:soy", "soy:soy"},
|
|
{"", "soy:soy", ""},
|
|
{"", "vessels:drinking_glass", ""},
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "soy:tofu_cooked",
|
|
recipe = "soy:tofu",
|
|
cooktime = 5,
|
|
})
|
|
|
|
-- *** Additional Recipes with other Mods
|
|
|
|
if minetest.get_modpath("mobs") then
|
|
|
|
minetest.register_craft({
|
|
output = "mobs:meat_raw",
|
|
recipe = {
|
|
{"soy:tofu", "soy:tofu", "soy:tofu"}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mobs:chicken_raw",
|
|
recipe = {
|
|
{"", "", "soy:tofu"},
|
|
{"", "soy:tofu", ""},
|
|
{"soy:tofu", "", ""},
|
|
}
|
|
})
|
|
|
|
end -- if mobs
|
|
|
|
if minetest.get_modpath("animalmaterials") then
|
|
|
|
minetest.register_craft({
|
|
output = "animalmaterials:milk",
|
|
recipe = {
|
|
{"soy:milk", "soy:milk", "soy:milk"},
|
|
{"", "vessels:glass_bottle", ""}
|
|
},
|
|
replacements = {{"soy:milk", "vessels:drinking_glass"}}
|
|
})
|
|
|
|
end -- if animalmaterials
|
|
|
|
print("[MOD] " .. minetest.get_current_modname() .. " loaded.") |