Fix: Spawn von Reis im Wasser, Rosemary, Kohlrabi, Asparagus, Barley

This commit is contained in:
N-Nachtigal 2025-06-01 18:46:27 +02:00
parent 40d400da10
commit 4abaf27a17
6 changed files with 167 additions and 132 deletions

View file

@ -1333,8 +1333,8 @@ for biome,def in pairs(asuna.biomes) do
end end
-- Inject a Minetest decoration definition with feature group biome data -- Inject a Minetest decoration definition with feature group biome data
for feature,groups in pairs(asuna.features) do for feature, groups in pairs(asuna.features) do
for group,biomes in pairs(groups) do for group, biomes in pairs(groups) do
local surface_nodes = {} local surface_nodes = {}
local only_biomes = {} local only_biomes = {}
for _,biome in ipairs(biomes) do for _,biome in ipairs(biomes) do
@ -1354,7 +1354,7 @@ for feature,groups in pairs(asuna.features) do
end end
-- Inject a Minetest decoration definition with biome group data -- Inject a Minetest decoration definition with biome group data
for name,group in pairs(asuna.biome_groups) do for name, group in pairs(asuna.biome_groups) do
local surface_nodes = {} local surface_nodes = {}
local only_biomes = {} local only_biomes = {}
for _,biome in ipairs(group) do for _,biome in ipairs(group) do

View file

@ -1,4 +1,4 @@
minetest.register_decoration({ minetest.register_decoration(asuna.features.crops.asparagus.inject_decoration({
deco_type = "simple", deco_type = "simple",
place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter"}, place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter"},
spawn_by = {"default:tree", "default:aspen_tree", "default:jungletree"}, spawn_by = {"default:tree", "default:aspen_tree", "default:jungletree"},
@ -15,5 +15,4 @@ minetest.register_decoration({
y_min = 10, y_min = 10,
y_max = 120, y_max = 120,
decoration = "cucina_vegana:wild_asparagus", decoration = "cucina_vegana:wild_asparagus",
}) }))

View file

@ -2,7 +2,8 @@
********************************************** **********************************************
*** Kohlrabi redo *** *** Kohlrabi redo ***
********************************************** **********************************************
]]-- ]]
--
-- Load support for intllib. -- Load support for intllib.
local S = cucina_vegana.get_translator local S = cucina_vegana.get_translator
@ -13,141 +14,150 @@ local step = 6
local germ = tonumber(cucina_vegana.plant_settings.germ_launch) local germ = tonumber(cucina_vegana.plant_settings.germ_launch)
if germ == 0 then if germ == 0 then
germ = "_seed" germ = "_seed"
else else
germ = "_" .. germ germ = "_" .. germ
end end
-- kohlrabi -- kohlrabi
minetest.register_node("cucina_vegana:" .. pname .. "_seed", { minetest.register_node("cucina_vegana:" .. pname .. "_seed", {
description = dname .. " " .. S("Seed"), description = dname .. " " .. S("Seed"),
tiles = {"cucina_vegana_" .. pname .. "_seed.png"}, tiles = { "cucina_vegana_" .. pname .. "_seed.png" },
inventory_image = "cucina_vegana_" .. pname .. "_seed.png", inventory_image = "cucina_vegana_" .. pname .. "_seed.png",
wield_image = "cucina_vegana_" .. pname .. "_seed.png", wield_image = "cucina_vegana_" .. pname .. "_seed.png",
drawtype = "signlike", drawtype = "signlike",
minlight = cucina_vegana.plant_settings.kohlrabi_light, minlight = cucina_vegana.plant_settings.kohlrabi_light,
groups = {seed = 1, snappy = 3, attached_node = 1, dig_immediate=1, flammable = 4, growing = 1}, groups = { seed = 1, snappy = 3, attached_node = 1, dig_immediate = 1, flammable = 4, growing = 1 },
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
next_plant = {"cucina_vegana:" .. pname .. "_1"}, next_plant = { "cucina_vegana:" .. pname .. "_1" },
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "cucina_vegana:" .. pname .. germ) return farming.place_seed(itemstack, placer, pointed_thing, "cucina_vegana:" .. pname .. germ)
end, end,
on_timer = function(pos, elapsed) on_timer = function(pos, elapsed)
minetest.set_node(pos, { name = "cucina_vegana:" .. pname .. "_1", param2 = 1 }) minetest.set_node(pos, { name = "cucina_vegana:" .. pname .. "_1", param2 = 1 })
end, end,
}) })
-- kohlrabi definition -- kohlrabi definition
local crop_def = { local crop_def = {
description = dname .. S(" Crop"), description = dname .. S(" Crop"),
drawtype = "plantlike", drawtype = "plantlike",
tiles = {"cucina_vegana_" .. pname .. "_1.png"}, tiles = { "cucina_vegana_" .. pname .. "_1.png" },
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
walkable = false, walkable = false,
waving = 1, waving = 1,
buildable_to = true, buildable_to = true,
drop = "", drop = "",
minlight = cucina_vegana.plant_settings.kohlrabi_light, minlight = cucina_vegana.plant_settings.kohlrabi_light,
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
flammable = 4, snappy=3, dig_immediate=1, plant = 1, attached_node = 1, flammable = 4,
not_in_creative_inventory = 1, growing = 1 snappy = 3,
dig_immediate = 1,
plant = 1,
attached_node = 1,
not_in_creative_inventory = 1,
growing = 1,
},
sounds = default.node_sound_leaves_defaults(),
}
-- stage 1
minetest.register_node("cucina_vegana:" .. pname .. "_1", table.copy(crop_def))
-- stage 2
crop_def.tiles = { "cucina_vegana_" .. pname .. "_2.png" }
minetest.register_node("cucina_vegana:" .. pname .. "_2", table.copy(crop_def))
-- stage 3
crop_def.tiles = { "cucina_vegana_" .. pname .. "_3.png" }
minetest.register_node("cucina_vegana:" .. pname .. "_3", table.copy(crop_def))
-- stage 4
crop_def.tiles = { "cucina_vegana_" .. pname .. "_4.png" }
crop_def.drop = {
items = {
{ items = { "cucina_vegana:" .. pname .. "_seed" }, rarity = 2 },
},
}
minetest.register_node("cucina_vegana:" .. pname .. "_4", table.copy(crop_def))
-- stage 5
crop_def.tiles = { "cucina_vegana_" .. pname .. "_5.png" }
crop_def.drop = {
items = {
{ items = { "cucina_vegana:" .. pname .. "_seed" }, rarity = 1 },
{ items = { "cucina_vegana:" .. pname .. "_seed" }, rarity = 2 },
{ items = { "cucina_vegana:" .. pname .. "" }, rarity = 3 },
},
}
minetest.register_node("cucina_vegana:" .. pname .. "_5", table.copy(crop_def))
-- stage 6 (final)
crop_def.tiles = { "cucina_vegana_" .. pname .. "_" .. step .. ".png" }
crop_def.groups.growing = 0
crop_def.drop = {
items = {
{ items = { "cucina_vegana:" .. pname .. "" }, rarity = 1 },
{ items = { "cucina_vegana:" .. pname .. "" }, rarity = 2 },
{ items = { "cucina_vegana:" .. pname .. "" }, rarity = 3 },
{ items = { "cucina_vegana:" .. pname .. "_seed" }, rarity = 1 },
{ items = { "cucina_vegana:" .. pname .. "_seed" }, rarity = 1 },
{ items = { "cucina_vegana:" .. pname .. "_seed" }, rarity = 3 },
},
}
minetest.register_node("cucina_vegana:" .. pname .. "_" .. step, table.copy(crop_def))
-- Register for Mapgen
minetest.register_node("cucina_vegana:wild_" .. pname .. "", {
description = S("Wild ") .. dname .. "",
paramtype = "light",
walkable = false,
drop = {
items = {
{ items = { "cucina_vegana:" .. pname .. "_seed 3" } },
{ items = { "cucina_vegana:" .. pname .. "" } },
}, },
sounds = default.node_sound_leaves_defaults() },
} drawtype = "plantlike",
paramtype2 = "facedir",
-- stage 1 tiles = { "cucina_vegana_" .. pname .. "_5.png" },
minetest.register_node("cucina_vegana:" .. pname .. "_1", table.copy(crop_def)) groups = {
snappy = 3,
-- stage 2 dig_immediate = 1,
crop_def.tiles = {"cucina_vegana_" .. pname .. "_2.png"} flammable = 2,
minetest.register_node("cucina_vegana:" .. pname .. "_2", table.copy(crop_def)) plant = 1,
attached_node = 1,
-- stage 3 growing = 1,
crop_def.tiles = {"cucina_vegana_" .. pname .. "_3.png"} not_in_creative_inventory = 1,
minetest.register_node("cucina_vegana:" .. pname .. "_3", table.copy(crop_def)) },
sounds = default.node_sound_leaves_defaults(),
-- stage 4 selection_box = {
crop_def.tiles = {"cucina_vegana_" .. pname .. "_4.png"} type = "fixed",
crop_def.drop = { fixed = {
items = { { -0.5, -0.5, -0.5, 0.5, -0.35, 0.5 }, -- side f
{items = {"cucina_vegana:" .. pname .. "_seed"}, rarity = 2},
}
}
minetest.register_node("cucina_vegana:" .. pname .. "_4", table.copy(crop_def))
-- stage 5
crop_def.tiles = {"cucina_vegana_" .. pname .. "_5.png"}
crop_def.drop = {
items = {
{items = {"cucina_vegana:" .. pname .. "_seed"}, rarity = 1},
{items = {"cucina_vegana:" .. pname .. "_seed"}, rarity = 2},
{items = {"cucina_vegana:" .. pname .. ""}, rarity = 3}
}
}
minetest.register_node("cucina_vegana:" .. pname .. "_5", table.copy(crop_def))
-- stage 6 (final)
crop_def.tiles = {"cucina_vegana_" .. pname .. "_" .. step .. ".png"}
crop_def.groups.growing = 0
crop_def.drop = {
items = {
{items = {"cucina_vegana:" .. pname .. ""}, rarity = 1},
{items = {"cucina_vegana:" .. pname .. ""}, rarity = 2},
{items = {"cucina_vegana:" .. pname .. ""}, rarity = 3},
{items = {"cucina_vegana:" .. pname .. "_seed"}, rarity = 1},
{items = {"cucina_vegana:" .. pname .. "_seed"}, rarity = 1},
{items = {"cucina_vegana:" .. pname .. "_seed"}, rarity = 3},
}
}
minetest.register_node("cucina_vegana:" .. pname .. "_" .. step, table.copy(crop_def))
-- Register for Mapgen
minetest.register_node("cucina_vegana:wild_" .. pname .. "", {
description = S("Wild ") .. dname .. "",
paramtype = "light",
walkable = false,
drop = {
items = {
{items = {"cucina_vegana:" .. pname .. "_seed 3"}},
{items = {"cucina_vegana:" .. pname .. ""}},
}
},
drawtype = "plantlike",
paramtype2 = "facedir",
tiles = {"cucina_vegana_" .. pname .. "_5.png"},
groups = {snappy = 3, dig_immediate=1, flammable=2, plant=1, attached_node = 1,
growing = 1, not_in_creative_inventory = 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
},
}, },
}) },
})
if(cucina_vegana.plant_settings.bonemeal) then
table.insert(cucina_vegana.plant_settings.bonemeal_list,
{"cucina_vegana:" .. pname .. "_", step, "cucina_vegana:" .. pname .. "_seed"})
if cucina_vegana.plant_settings.bonemeal then
table.insert(
cucina_vegana.plant_settings.bonemeal_list,
{ "cucina_vegana:" .. pname .. "_", step, "cucina_vegana:" .. pname .. "_seed" }
)
end -- if(cucina_vegana.plant_settings.bonemeal end -- if(cucina_vegana.plant_settings.bonemeal
-- Register @ farming_nextgen -- Register @ farming_nextgen
if cucina_vegana.farming_ng then if cucina_vegana.farming_ng then
cucina_vegana.register_farming_ng(pname, step) cucina_vegana.register_farming_ng(pname, step)
end -- if(cucina_vegana.farming_ng end -- if(cucina_vegana.farming_ng
-- Register @ Signs_bot -- Register @ Signs_bot
if(cucina_vegana.signs_bot) then if cucina_vegana.signs_bot then
cucina_vegana.register_signs_bot(pname, 1, step) cucina_vegana.register_signs_bot(pname, 1, step)
end end

View file

@ -58,7 +58,7 @@ local crop_def = {
selection_box = farming.select, selection_box = farming.select,
groups = { groups = {
flammable = 4, snappy=3, dig_immediate=1, plant = 1, attached_node = 1, flammable = 4, snappy=3, dig_immediate=1, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1 not_in_creative_inventory = 1, growing = 1, food_rosemary = 1
}, },
sounds = default.node_sound_leaves_defaults() sounds = default.node_sound_leaves_defaults()
} }

View file

@ -30,8 +30,9 @@ if minetest.registered_nodes["default:dry_grass_1"] then
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {"farming:seed_barley"}, rarity = rarity_lookup[i]}, --{items = {"farming:seed_barley"}, rarity = rarity_lookup[i]},
{items = {"farming:seed_rye"}, rarity = rarity_lookup[i]}, {items = {"farming:seed_rye"}, rarity = rarity_lookup[i]},
{items = {"x_farming:seed_barley"}, rarity = 20},
{items = {"default:dry_grass_1"}} {items = {"default:dry_grass_1"}}
} }
} }
@ -48,7 +49,8 @@ if minetest.registered_nodes["default:junglegrass"] then
max_items = 1, max_items = 1,
items = { items = {
{items = {"farming:seed_cotton"}, rarity = 8}, {items = {"farming:seed_cotton"}, rarity = 8},
{items = {"farming:seed_rice"}, rarity = 8}, --{items = {"farming:seed_rice"}, rarity = 8},
{items = {"x_farming:seed_rice"}, rarity = 8},
{items = {"default:junglegrass"}} {items = {"default:junglegrass"}}
} }
} }

View file

@ -271,3 +271,27 @@ x_farming.register_bag('bag_rice_grains', {
bag_item = 'x_farming:rice_grains' bag_item = 'x_farming:rice_grains'
} }
}) })
minetest.register_decoration(asuna.features.crops.rice.inject_decoration({
deco_type = "simple",
sidelen = 8,
spawn_by = {"default:water_source", "default:river_water_source",
"default:water_flowing", "default:river_water_flowing", "default:papyrus", "default:jungletree"},
place_offset_y = -1,
noise_params = {
offset = -0.4125,
scale = 0.3575,
spread = {x = 14, y = 14, z = 14},
seed = 1112,
octaves = 2,
persist = 0.62,
lacunarity = 0.675,
},
flags = "place_center_x,place_center_z,force_placement",
y_max = 0,
y_min = 0,
decoration = {
"x_farming:rice_7",
"x_farming:rice_8",
},
}))