Compare commits

...

2 Commits

Author SHA1 Message Date
trans_soup 1d1065069c use new utility function for registering soy items. 2023-07-17 00:03:57 +02:00
trans_soup d78db87afa add registration of farming items to utility mod. 2023-07-17 00:03:20 +02:00
4 changed files with 72 additions and 16 deletions

View File

@ -1,18 +1,11 @@
local modname = minetest.get_current_modname()
minetest.register_craftitem(modname .. ":soy", {
description = "Soy Beans",
groups = {
craftitem = 1,
food = 1,
eatable = 1,
mcl_vegan.register_plant_items(modname, "soy", {
seed = "soy",
descriptions = {
base = "Soy Bean",
},
_mcl_saturation = 0.0,
inventory_image = modname .. "_soy.png",
on_place = function (item_stack, placer, pointed_thing)
return mcl_farming:place_seed(item_stack, placer, pointed_thing, modname .. ":soy_1")
end,
on_secondary_use = minetest.item_eat(1),
food_strength = 1.0,
})
minetest.register_craftitem(modname .. ":tofu_raw", {

View File

@ -0,0 +1,62 @@
local registered_plant_items = {}
mcl_vegan.registered_plant_items = registered_plant_items
function mcl_vegan.register_plant_items (own_mod_name, base_name, def)
def.own_mod_name = own_mod_name
def.base_name = base_name
local full_base_name = own_mod_name .. ":" .. base_name
registered_plant_items[full_base_name] = def
local seed = def.seed
local full_seed = own_mod_name .. ":" .. seed
local descriptions = def.descriptions
-- 0 means inedible
if def.food_strength == nil then def.food_strength = 0 end
local food_strength = def.food_strength
local on_secondary_use = nil
if food_strength > 0 then
on_secondary_use = minetest.item_eat(food_strength)
end
local plant_seed = function (item_stack, placer, pointed_thing)
return mcl_farming:place_seed(item_stack, placer, pointed_thing, full_base_name .. "_1")
end
local on_place = nil
if seed == base_name then
on_place = plant_seed
elseif food_strength > 0 then
on_place = on_secondary_use
end
minetest.register_craftitem(full_base_name, {
description = descriptions.base,
groups = {
craftitem = 1,
food = 1,
eatable = food_strength,
},
_mcl_saturation = food_strength,
inventory_image = own_mod_name .. "_" .. base_name .. ".png",
on_place = on_place,
on_secondary_use = on_secondary_use
})
if seed ~= base_name then
minetest.register_craftitem(full_seed, {
description = descriptions.seed,
groups = {
craftitem = 1,
},
inventory_image = modname .. "_" .. seed .. ".png",
on_place = plant_seed,
})
end
end

View File

@ -1,5 +1,5 @@
local registered_plants = {}
mcl_vegan.registered_plants = registered_plants
local registered_plant_nodes = {}
mcl_vegan.registered_plant_nodes = registered_plant_nodes
local grasses = {
"mcl_flowers:tallgrass",
@ -14,7 +14,7 @@ function mcl_vegan.register_basic_plant (own_mod_name, base_name, def)
local full_base_name = own_mod_name .. ":" .. base_name
registered_plants[full_base_name] = def
registered_plant_nodes[full_base_name] = def
local seed = own_mod_name .. ":" .. def.seed
local descriptions = def.descriptions

View File

@ -9,5 +9,6 @@ end
rawset(_G, "include", include)
include("debug")
include("farming")
include("farming_node")
include("farming_item")
include("drops")