1
0
mirror of https://codeberg.org/tenplus1/farming.git synced 2025-06-29 23:01:00 +02:00

separate food /non-food items from crop files, tidy code

This commit is contained in:
tenplus1
2024-08-11 15:38:55 +01:00
parent cdac09a8f4
commit a9a1b720a3
57 changed files with 3691 additions and 3271 deletions

View File

@ -1,15 +1,8 @@
local S = farming.translate
local a = farming.recipe_items
local S = minetest.get_translator("farming")
-- sunflower
minetest.register_craftitem("farming:sunflower", {
description = S("Sunflower"),
inventory_image = "farming_sunflower.png",
groups = {flammable = 2}
})
-- seed
-- sunflower seeds
minetest.register_node("farming:seed_sunflower", {
description = S("Sunflower Seeds"),
tiles = {"farming_sunflower_seeds.png"},
@ -28,9 +21,11 @@ minetest.register_node("farming:seed_sunflower", {
sunlight_propagates = true,
selection_box = farming.select,
next_plant = "farming:sunflower_1",
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:seed_sunflower")
end,
on_timer = function(pos, elapsed)
minetest.set_node(pos, {name = "farming:sunflower_1", param2 = 1})
end
@ -38,89 +33,23 @@ minetest.register_node("farming:seed_sunflower", {
minetest.register_alias("farming:sunflower_seeds", "farming:seed_sunflower")
-- item
minetest.register_craftitem("farming:sunflower", {
description = S("Sunflower"),
inventory_image = "farming_sunflower.png",
groups = {flammable = 2}
})
-- turn item into seeds
minetest.register_craft({
output = "farming:seed_sunflower 5",
recipe = {{"farming:sunflower"}}
})
-- sunflower seeds (toasted)
minetest.register_craftitem("farming:sunflower_seeds_toasted", {
description = S("Toasted Sunflower Seeds"),
inventory_image = "farming_sunflower_seeds_toasted.png",
groups = {
food_sunflower_seeds_toasted = 1, compostability = 65
},
on_use = minetest.item_eat(1)
})
-- crop definition
farming.add_eatable("farming:sunflower_seeds_toasted", 1)
minetest.register_craft({
type = "cooking",
cooktime = 10,
output = "farming:sunflower_seeds_toasted",
recipe = "farming:seed_sunflower"
})
-- sunflower oil
minetest.register_node("farming:sunflower_oil", {
description = S("Bottle of Sunflower Oil"),
drawtype = "plantlike",
tiles = {"farming_sunflower_oil.png"},
inventory_image = "farming_sunflower_oil.png",
wield_image = "farming_sunflower_oil.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {
food_oil = 1, vessel = 1, dig_immediate = 3, attached_node = 1,
flammable = 2, compostability = 65
},
sounds = farming.node_sound_glass_defaults()
})
minetest.register_craft( {
output = "farming:sunflower_oil",
recipe = {
{"group:food_sunflower_seeds", "group:food_sunflower_seeds", "group:food_sunflower_seeds"},
{"group:food_sunflower_seeds", "group:food_sunflower_seeds", "group:food_sunflower_seeds"},
{"group:food_sunflower_seeds", a.glass_bottle, "group:food_sunflower_seeds"}
}
})
minetest.register_craft({
type = "fuel",
recipe = "farming:sunflower_oil",
burntime = 30,
replacements = {{"farming:sunflower_oil", a.glass_bottle}}
})
-- sunflower seed bread
minetest.register_craftitem("farming:sunflower_bread", {
description = S("Sunflower Seed Bread"),
inventory_image = "farming_sunflower_bread.png",
on_use = minetest.item_eat(8),
groups = {food_bread = 1}
})
farming.add_eatable("farming:sunflower_bread", 8)
minetest.register_craft({
output = "farming:sunflower_bread",
recipe = {
{
"group:food_sunflower_seeds_toasted",
"group:food_bread",
"group:food_sunflower_seeds_toasted"
}
}
})
-- sunflower definition
local def = {
drawtype = "plantlike",
tiles = {"farming_sunflower_1.png"},
@ -141,34 +70,42 @@ local def = {
}
-- stage 1
minetest.register_node("farming:sunflower_1", table.copy(def))
-- stage 2
def.tiles = {"farming_sunflower_2.png"}
minetest.register_node("farming:sunflower_2", table.copy(def))
-- stage 3
def.tiles = {"farming_sunflower_3.png"}
minetest.register_node("farming:sunflower_3", table.copy(def))
-- stage 4
def.tiles = {"farming_sunflower_4.png"}
minetest.register_node("farming:sunflower_4", table.copy(def))
-- stage 5
def.tiles = {"farming_sunflower_5.png"}
minetest.register_node("farming:sunflower_5", table.copy(def))
-- stage 6
def.tiles = {"farming_sunflower_6.png"}
def.visual_scale = 1.9
minetest.register_node("farming:sunflower_6", table.copy(def))
-- stage 7
def.tiles = {"farming_sunflower_7.png"}
minetest.register_node("farming:sunflower_7", table.copy(def))
-- stage 8 (final)
def.tiles = {"farming_sunflower_8.png"}
def.groups.growing = nil
def.selection_box = farming.select_final
@ -181,6 +118,7 @@ def.drop = {
minetest.register_node("farming:sunflower_8", table.copy(def))
-- add to registered_plants
farming.registered_plants["farming:sunflower"] = {
crop = "farming:sunflower",
seed = "farming:seed_sunflower",
@ -190,6 +128,7 @@ farming.registered_plants["farming:sunflower"] = {
}
-- mapgen
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "mcl_core:dirt_with_grass"},