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
-- Inject a Minetest decoration definition with feature group biome data
for feature,groups in pairs(asuna.features) do
for group,biomes in pairs(groups) do
for feature, groups in pairs(asuna.features) do
for group, biomes in pairs(groups) do
local surface_nodes = {}
local only_biomes = {}
for _,biome in ipairs(biomes) do
@ -1354,7 +1354,7 @@ for feature,groups in pairs(asuna.features) do
end
-- 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 only_biomes = {}
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",
place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter"},
spawn_by = {"default:tree", "default:aspen_tree", "default:jungletree"},
@ -15,5 +15,4 @@ minetest.register_decoration({
y_min = 10,
y_max = 120,
decoration = "cucina_vegana:wild_asparagus",
})
}))

View file

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

View file

@ -58,7 +58,7 @@ local crop_def = {
selection_box = farming.select,
groups = {
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()
}

View file

@ -30,8 +30,9 @@ if minetest.registered_nodes["default:dry_grass_1"] then
drop = {
max_items = 1,
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 = {"x_farming:seed_barley"}, rarity = 20},
{items = {"default:dry_grass_1"}}
}
}
@ -48,7 +49,8 @@ if minetest.registered_nodes["default:junglegrass"] then
max_items = 1,
items = {
{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"}}
}
}

View file

@ -270,4 +270,28 @@ x_farming.register_bag('bag_rice_grains', {
_custom = {
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",
},
}))