many worldgen mods and gonna try technic now
No files matched your search
@@ -0,0 +1,26 @@
|
||||
Dwarf Fortress is copyright 2018 by Tarn Adams. This mod uses no assets or other copyrighted materials from Dwarf Fortress.
|
||||
|
||||
Sounds and textures are under various licenses, see the license.txt file in the /sounds and /textures directories for details.
|
||||
|
||||
License for Code
|
||||
----------------
|
||||
|
||||
Copyright (C) 2018 FaceDeer
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,54 @@
|
||||
minetest.register_alias("dfcaverns:cave_wheat" , "df_farming:cave_wheat" )
|
||||
minetest.register_alias("dfcaverns:cave_flour" , "df_farming:cave_flour" )
|
||||
minetest.register_alias("dfcaverns:cave_bread" , "df_farming:cave_bread" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_thread" , "df_farming:pig_tail_thread" )
|
||||
minetest.register_alias("dfcaverns:quarry_bush_leaves" , "df_farming:quarry_bush_leaves" )
|
||||
minetest.register_alias("dfcaverns:sweet_pods" , "df_farming:sweet_pods" )
|
||||
minetest.register_alias("dfcaverns:sugar" , "df_farming:sugar" )
|
||||
minetest.register_alias("dfcaverns:dead_fungus" , "df_farming:dead_fungus" )
|
||||
minetest.register_alias("dfcaverns:cavern_fungi" , "df_farming:cavern_fungi" )
|
||||
minetest.register_alias("dfcaverns:plump_helmet_spawn" , "df_farming:plump_helmet_spawn" )
|
||||
minetest.register_alias("dfcaverns:plump_helmet_1" , "df_farming:plump_helmet_1" )
|
||||
minetest.register_alias("dfcaverns:plump_helmet_2" , "df_farming:plump_helmet_2" )
|
||||
minetest.register_alias("dfcaverns:plump_helmet_3" , "df_farming:plump_helmet_3" )
|
||||
minetest.register_alias("dfcaverns:plump_helmet_4" , "df_farming:plump_helmet_4" )
|
||||
minetest.register_alias("dfcaverns:plump_helmet_4_picked", "df_farming:plump_helmet_4_picked")
|
||||
minetest.register_alias("dfcaverns:cave_wheat_1" , "df_farming:cave_wheat_1" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_2" , "df_farming:cave_wheat_2" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_3" , "df_farming:cave_wheat_3" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_4" , "df_farming:cave_wheat_4" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_5" , "df_farming:cave_wheat_5" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_6" , "df_farming:cave_wheat_6" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_7" , "df_farming:cave_wheat_7" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_8" , "df_farming:cave_wheat_8" )
|
||||
minetest.register_alias("dfcaverns:cave_wheat_seed" , "df_farming:cave_wheat_seed" )
|
||||
minetest.register_alias("dfcaverns:dimple_cup_1" , "df_farming:dimple_cup_1" )
|
||||
minetest.register_alias("dfcaverns:dimple_cup_2" , "df_farming:dimple_cup_2" )
|
||||
minetest.register_alias("dfcaverns:dimple_cup_3" , "df_farming:dimple_cup_3" )
|
||||
minetest.register_alias("dfcaverns:dimple_cup_4" , "df_farming:dimple_cup_4" )
|
||||
minetest.register_alias("dfcaverns:dimple_cup_seed" , "df_farming:dimple_cup_seed" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_1" , "df_farming:pig_tail_1" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_2" , "df_farming:pig_tail_2" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_3" , "df_farming:pig_tail_3" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_4" , "df_farming:pig_tail_4" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_5" , "df_farming:pig_tail_5" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_6" , "df_farming:pig_tail_6" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_7" , "df_farming:pig_tail_7" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_8" , "df_farming:pig_tail_8" )
|
||||
minetest.register_alias("dfcaverns:pig_tail_seed" , "df_farming:pig_tail_seed" )
|
||||
minetest.register_alias("dfcaverns:quarry_bush_1" , "df_farming:quarry_bush_1" )
|
||||
minetest.register_alias("dfcaverns:quarry_bush_2" , "df_farming:quarry_bush_2" )
|
||||
minetest.register_alias("dfcaverns:quarry_bush_3" , "df_farming:quarry_bush_3" )
|
||||
minetest.register_alias("dfcaverns:quarry_bush_4" , "df_farming:quarry_bush_4" )
|
||||
minetest.register_alias("dfcaverns:quarry_bush_5" , "df_farming:quarry_bush_5" )
|
||||
minetest.register_alias("dfcaverns:quarry_bush_seed" , "df_farming:quarry_bush_seed" )
|
||||
minetest.register_alias("dfcaverns:sweet_pod_1" , "df_farming:sweet_pod_1" )
|
||||
minetest.register_alias("dfcaverns:sweet_pod_2" , "df_farming:sweet_pod_2" )
|
||||
minetest.register_alias("dfcaverns:sweet_pod_3" , "df_farming:sweet_pod_3" )
|
||||
minetest.register_alias("dfcaverns:sweet_pod_4" , "df_farming:sweet_pod_4" )
|
||||
minetest.register_alias("dfcaverns:sweet_pod_5" , "df_farming:sweet_pod_5" )
|
||||
minetest.register_alias("dfcaverns:sweet_pod_6" , "df_farming:sweet_pod_6" )
|
||||
minetest.register_alias("dfcaverns:sweet_pod_seed" , "df_farming:sweet_pod_seed" )
|
||||
minetest.register_alias("dfcaverns:dwarven_syrup_source" , "df_farming:dwarven_syrup_source" )
|
||||
minetest.register_alias("dfcaverns:dwarven_syrup_flowing", "df_farming:dwarven_syrup_flowing")
|
||||
minetest.register_alias("dfcaverns:dwarven_syrup_bucket" , "df_farming:dwarven_syrup_bucket" )
|
||||
@@ -0,0 +1,235 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local wheat_grow_time = df_farming.config.plant_growth_time * df_farming.config.cave_wheat_delay_multiplier / 8
|
||||
|
||||
local register_cave_wheat = function(number)
|
||||
local name = "df_farming:cave_wheat_"..tostring(number)
|
||||
local def = {
|
||||
description = S("Cave Wheat"),
|
||||
_doc_items_longdesc = df_farming.doc.cave_wheat_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.cave_wheat_usage,
|
||||
drawtype = "plantlike",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
tiles = {"dfcaverns_cave_wheat_"..tostring(number)..".png"},
|
||||
inventory_image = "dfcaverns_cave_wheat_"..tostring(number)..".png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, handy=1, swordy=1, hoey=1, destroy_by_lava_flow=1,dig_by_piston=1},
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-8/16, -8/16, -8/16, 8/16, -8/16 + 2*number/16, 8/16},
|
||||
},
|
||||
},
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, name, elapsed)
|
||||
end,
|
||||
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {'df_farming:cave_wheat_seed 2', 'df_farming:cave_wheat'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:cave_wheat_seed 1', 'df_farming:cave_wheat'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:cave_wheat_seed'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
}
|
||||
|
||||
if number < 8 then
|
||||
def._dfcaverns_next_stage_time = wheat_grow_time
|
||||
def._dfcaverns_next_stage = "df_farming:cave_wheat_"..tostring(number+1)
|
||||
end
|
||||
|
||||
minetest.register_node(name, def)
|
||||
end
|
||||
|
||||
for i = 1,8 do
|
||||
register_cave_wheat(i)
|
||||
end
|
||||
|
||||
local place_list = {
|
||||
minetest.get_content_id("df_farming:cave_wheat_1"),
|
||||
minetest.get_content_id("df_farming:cave_wheat_2"),
|
||||
minetest.get_content_id("df_farming:cave_wheat_3"),
|
||||
minetest.get_content_id("df_farming:cave_wheat_4"),
|
||||
minetest.get_content_id("df_farming:cave_wheat_5"),
|
||||
minetest.get_content_id("df_farming:cave_wheat_6"),
|
||||
minetest.get_content_id("df_farming:cave_wheat_7"),
|
||||
minetest.get_content_id("df_farming:cave_wheat_8"),
|
||||
}
|
||||
-- doesn't set the timer running, so plants placed by this method won't grow
|
||||
df_farming.spawn_cave_wheat_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = place_list[math.random(1,8)]
|
||||
param2_data[vi] = 3
|
||||
end
|
||||
|
||||
|
||||
df_farming.register_seed(
|
||||
"cave_wheat_seed",
|
||||
S("Cave Wheat Seed"),
|
||||
"dfcaverns_cave_wheat_seed.png",
|
||||
"df_farming:cave_wheat_1",
|
||||
wheat_grow_time,
|
||||
df_farming.doc.cave_wheat_desc,
|
||||
df_farming.doc.cave_wheat_usage)
|
||||
|
||||
minetest.register_craftitem("df_farming:cave_wheat", {
|
||||
description = S("Cave Wheat"),
|
||||
_doc_items_longdesc = df_farming.doc.cave_wheat_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.cave_wheat_usage,
|
||||
inventory_image = "dfcaverns_cave_wheat.png",
|
||||
stack_max = 99,
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:cave_wheat",
|
||||
burntime = 2
|
||||
})
|
||||
|
||||
-------------
|
||||
--- Flour and bread
|
||||
|
||||
minetest.register_craftitem("df_farming:cave_flour", {
|
||||
description = S("Cave Wheat Flour"),
|
||||
_doc_items_longdesc = df_farming.doc.cave_flour_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.cave_flour_usage,
|
||||
inventory_image = "dfcaverns_flour.png",
|
||||
groups = {flammable = 1, dfcaverns_cookable = 1, food_flour = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("df_farming:cave_bread", {
|
||||
description = S("Dwarven Bread"),
|
||||
_doc_items_longdesc = df_farming.doc.cave_bread_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.cave_bread_usage,
|
||||
inventory_image = "dfcaverns_prepared_food13x16.png",
|
||||
sound = {eat = {name = "df_farming_chomp_crunch", gain = 1.0}},
|
||||
on_use = minetest.item_eat(5),
|
||||
_hunger_ng = {satiates = 5},
|
||||
_mcl_saturation = 3,
|
||||
groups = {flammable = 2, food = 5, eatable=5},
|
||||
})
|
||||
|
||||
local recipe_registered = false
|
||||
if minetest.get_modpath("cottages") then
|
||||
cottages.handmill_product["df_farming:cave_wheat"] = "df_farming:cave_flour";
|
||||
recipe_registered = true
|
||||
end
|
||||
|
||||
if minetest.registered_items[df_dependencies.node_name_mortar_pestle] ~= nil then
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:cave_flour",
|
||||
recipe = {
|
||||
"df_farming:cave_wheat", "df_farming:cave_wheat", "df_farming:cave_wheat",
|
||||
"df_farming:cave_wheat", df_dependencies.node_name_mortar_pestle
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", df_dependencies.node_name_mortar_pestle}},
|
||||
})
|
||||
recipe_registered = true
|
||||
end
|
||||
|
||||
if not recipe_registered then
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:cave_flour",
|
||||
recipe = {"df_farming:cave_wheat", "df_farming:cave_wheat", "df_farming:cave_wheat", "df_farming:cave_wheat"}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 15,
|
||||
output = "df_farming:cave_bread",
|
||||
recipe = "df_farming:cave_flour"
|
||||
})
|
||||
|
||||
--------
|
||||
-- Straw
|
||||
|
||||
minetest.register_node("df_farming:cave_straw", {
|
||||
description = S("Cave Straw"),
|
||||
tiles = {"dfcaverns_cave_straw.png"},
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, flammable=4, straw=1, handy=1,hoey=1, compostability=85, flammable=2, fire_encouragement=60, fire_flammability=20, building_block=1, fall_damage_add_percent=-80, enderman_takable=1},
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "df_farming:cave_straw 3",
|
||||
recipe = {
|
||||
{"df_farming:cave_wheat", "df_farming:cave_wheat", "df_farming:cave_wheat"},
|
||||
{"df_farming:cave_wheat", "df_farming:cave_wheat", "df_farming:cave_wheat"},
|
||||
{"df_farming:cave_wheat", "df_farming:cave_wheat", "df_farming:cave_wheat"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "df_farming:cave_wheat 3",
|
||||
recipe = {
|
||||
{"df_farming:cave_straw"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
---------
|
||||
-- Trample support
|
||||
|
||||
if minetest.get_modpath("footprints") then
|
||||
minetest.register_node("df_farming:wheat_trampled", {
|
||||
description = S("Flattened Cave Wheat"),
|
||||
tiles = {"dfcaverns_cave_wheat_flattened.png"},
|
||||
inventory_image = "dfcaverns_cave_wheat_flattened.png",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
buildable_to = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -3 / 8, 0.5}
|
||||
},
|
||||
},
|
||||
groups = {snappy = 3, flammable = 2, attached_node = 1, handy=1, hoey=1, compostability=85, fire_encouragement=60, fire_flammability=20, fall_damage_add_percent=-30, destroy_by_lava_flow=1,dig_by_piston=1},
|
||||
drop = "",
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
footprints.register_trample_node("df_farming:cave_wheat_5", {
|
||||
trampled_node_name = "df_farming:wheat_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
footprints.register_trample_node("df_farming:cave_wheat_6", {
|
||||
trampled_node_name = "df_farming:wheat_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
footprints.register_trample_node("df_farming:cave_wheat_7", {
|
||||
trampled_node_name = "df_farming:wheat_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
footprints.register_trample_node("df_farming:cave_wheat_8", {
|
||||
trampled_node_name = "df_farming:wheat_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
end
|
||||
@@ -0,0 +1,43 @@
|
||||
local CONFIG_FILE_PREFIX = "dfcaverns_"
|
||||
|
||||
df_farming.config = {}
|
||||
|
||||
local print_settingtypes = false
|
||||
|
||||
local function setting(stype, name, default, description)
|
||||
local value
|
||||
if stype == "bool" then
|
||||
value = minetest.settings:get_bool(CONFIG_FILE_PREFIX..name, default)
|
||||
elseif stype == "string" then
|
||||
value = minetest.settings:get(CONFIG_FILE_PREFIX..name)
|
||||
elseif stype == "int" or stype == "float" then
|
||||
value = tonumber(minetest.settings:get(CONFIG_FILE_PREFIX..name))
|
||||
end
|
||||
if value == nil then
|
||||
value = default
|
||||
end
|
||||
df_farming.config[name] = value
|
||||
|
||||
if print_settingtypes then
|
||||
minetest.debug(CONFIG_FILE_PREFIX..name.." ("..description..") "..stype.." "..tostring(default))
|
||||
end
|
||||
end
|
||||
|
||||
local plants = {
|
||||
{name="cave_wheat", delay_multiplier=1},
|
||||
{name="dimple_cup", delay_multiplier=3},
|
||||
{name="pig_tail", delay_multiplier=1},
|
||||
{name="plump_helmet", delay_multiplier=3},
|
||||
{name="quarry_bush", delay_multiplier=2},
|
||||
{name="sweet_pod", delay_multiplier=2},
|
||||
}
|
||||
|
||||
--Plants
|
||||
|
||||
setting("int", "plant_growth_time", 3600, "Base plant growth time") -- 60 minutes
|
||||
|
||||
for _, plant in pairs(plants) do
|
||||
setting("float", plant.name.."_delay_multiplier", plant.delay_multiplier, plant.name.." growth delay multiplier")
|
||||
end
|
||||
|
||||
setting("bool", "light_kills_fungus", true, "Light kills fungus")
|
||||
@@ -0,0 +1,124 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local bucket_empty = df_dependencies.node_name_bucket_empty
|
||||
|
||||
local chomp = {eat = {name = "df_farming_chomp_crunch", gain = 1.0}}
|
||||
local crisp = {eat = {name = "df_farming_crisp_chew", gain = 1.0}}
|
||||
local gummy = {eat = {name = "df_farming_gummy_chew", gain = 1.0}}
|
||||
local mushy = {eat = {name = "df_farming_mushy_chew", gain = 1.0}}
|
||||
local soft = {eat = {name = "df_farming_soft_chew", gain = 1.0}}
|
||||
|
||||
local recipes = {
|
||||
{recipe = {"df_farming:cave_flour", "df_farming:cave_wheat_seed"}, name=S("Cave Wheat Flour Biscuit"), image="dfcaverns_prepared_food08x16.png", sound = crisp},
|
||||
{recipe = {"df_farming:cave_flour", "df_farming:cave_wheat_seed", "group:sugar"}, name=S("Cave Wheat Flour Bun"), image="dfcaverns_prepared_food11x16.png", sound = mushy},
|
||||
{recipe = {"df_farming:cave_flour", "group:food_flour", "df_farming:cave_wheat_seed", "df_farming:plump_helmet_spawn"}, name=S("Cave Wheat Flour Pancake"), image="dfcaverns_prepared_food07x16.png", sound = mushy},
|
||||
{recipe = {"df_farming:cave_wheat_seed", "group:plump_helmet"}, name=S("Cave Wheat Seed Loaf"), image="dfcaverns_prepared_food17x16.png", sound = crisp},
|
||||
{recipe = {"df_farming:cave_wheat_seed", "df_farming:cave_wheat_seed", "group:sugar"}, name=S("Cave Wheat Seed Puffs"), image="dfcaverns_prepared_food33x16.png", sound = soft},
|
||||
{recipe = {"df_farming:cave_wheat_seed", "df_farming:cave_wheat_seed", "df_farming:pig_tail_seed", "df_farming:plump_helmet_spawn"}, name=S("Cave Wheat Seed Risotto"), image="dfcaverns_prepared_food14x16.png", sound = gummy},
|
||||
{recipe = {"df_farming:sweet_pod_seed", "group:food_flour"}, name=S("Sweet Pod Spore Dumplings"), image="dfcaverns_prepared_food09x16.png", sound = mushy},
|
||||
{recipe = {"df_farming:sweet_pod_seed", "group:food_flour", "group:sugar"}, name=S("Sweet Pod Spore Single Crust Pie"), image="dfcaverns_prepared_food05x16.png", sound = mushy},
|
||||
{recipe = {"df_farming:sweet_pod_seed", "group:sugar", "group:food_flour", "df_farming:dwarven_syrup_bucket"}, replacements={{"df_farming:dwarven_syrup_bucket", bucket_empty}}, name=S("Sweet Pod Spore Brule"), image="dfcaverns_prepared_food22x16.png", sound = soft},
|
||||
{recipe = {"df_farming:sugar", "group:food_flour"}, name=S("Sweet Pod Sugar Cookie"), image="dfcaverns_prepared_food02x16.png", sound = crisp},
|
||||
{recipe = {"df_farming:sugar", "group:food_flour", "df_farming:quarry_bush_leaves"}, name=S("Sweet Pod Sugar Gingerbread"), image="dfcaverns_prepared_food21x16.png", sound = chomp},
|
||||
{recipe = {"df_farming:sugar", "group:sugar", "group:food_flour", "group:food_flour"}, name=S("Sweet Pod Sugar Roll"), image="dfcaverns_prepared_food25x16.png", sound = crisp},
|
||||
{recipe = {"group:plump_helmet", "group:plump_helmet"}, name=S("Plump Helmet Mince"), image="dfcaverns_prepared_food15x16.png", sound = mushy},
|
||||
{recipe = {"group:plump_helmet", "group:plump_helmet", "df_farming:quarry_bush_leaves"}, name=S("Plump Helmet Stalk Sausage"), image="dfcaverns_prepared_food18x16.png", sound = gummy},
|
||||
{recipe = {"group:plump_helmet", "group:food_flour", "df_farming:plump_helmet_spawn", "df_farming:quarry_bush_leaves"}, name=S("Plump Helmet Roast"), image="dfcaverns_prepared_food04x16.png", sound = mushy},
|
||||
{recipe = {"df_farming:plump_helmet_spawn", "group:plump_helmet"}, name=S("Plump Helmet Spawn Soup"), image="dfcaverns_prepared_food10x16.png", sound = gummy},
|
||||
{recipe = {"df_farming:plump_helmet_spawn", "df_farming:quarry_bush_seed", "group:plump_helmet"}, name=S("Plump Helmet Spawn Jambalaya"), image="dfcaverns_prepared_food01x16.png", sound = soft},
|
||||
{recipe = {"df_farming:plump_helmet_spawn", "df_farming:plump_helmet_spawn", "group:plump_helmet", "group:plump_helmet"}, name=S("Plump Helmet Sprout Stew"), image="dfcaverns_prepared_food26x16.png", sound = gummy},
|
||||
{recipe = {"df_farming:quarry_bush_leaves", "df_farming:cave_bread"}, name=S("Quarry Bush Leaf Spicy Bun"), image="dfcaverns_prepared_food23x16.png", sound = soft},
|
||||
{recipe = {"df_farming:quarry_bush_leaves", "group:food_flour", "group:plump_helmet"}, name=S("Quarry Bush Leaf Croissant"), image="dfcaverns_prepared_food29x16.png", sound = soft},
|
||||
{recipe = {"df_farming:quarry_bush_leaves", "group:plump_helmet", "group:plump_helmet", "group:plump_helmet"}, name=S("Stuffed Quarry Bush Leaf"), image="dfcaverns_prepared_food27x16.png", sound = chomp},
|
||||
{recipe = {"df_farming:quarry_bush_seed", "df_farming:cave_bread"}, name=S("Rock Nut Bread"), image="dfcaverns_prepared_food16x16.png", sound = soft},
|
||||
{recipe = {"df_farming:quarry_bush_seed", "group:food_flour", "group:sugar"}, name=S("Rock Nut Cookie"), image="dfcaverns_prepared_food07x16.png", sound = chomp},
|
||||
{recipe = {"df_farming:quarry_bush_seed", "group:sugar", "df_farming:sweet_pod_seed", "group:food_flour"}, name=S("Rock Nut Cake"), image="dfcaverns_prepared_food03x16.png", sound = soft},
|
||||
{recipe = {"df_farming:dimple_cup_seed", "group:food_flour"}, name=S("Dimple Cup Spore Flatbread"), image="dfcaverns_prepared_food12x16.png", sound = crisp},
|
||||
{recipe = {"df_farming:dimple_cup_seed", "group:food_flour", "group:sugar"}, name=S("Dimple Cup Spore Scone"), image="dfcaverns_prepared_food32x16.png", sound = chomp},
|
||||
{recipe = {"df_farming:dimple_cup_seed", "df_farming:sweet_pod_seed", "df_farming:quarry_bush_seed", "group:food_flour"}, name=S("Dimple Cup Spore Roll"), image="dfcaverns_prepared_food31x16.png", sound = soft},
|
||||
{recipe = {"df_farming:pig_tail_seed", "df_farming:cave_bread"}, name=S("Pig Tail Spore Sandwich"), image="dfcaverns_prepared_food20x16.png", sound = soft},
|
||||
{recipe = {"df_farming:pig_tail_seed", "df_farming:pig_tail_seed", "df_farming:dwarven_syrup_bucket"}, name=S("Pig Tail Spore Tofu"), replacements={{"df_farming:dwarven_syrup_bucket", bucket_empty}}, image="dfcaverns_prepared_food30x16.png", sound = gummy},
|
||||
{recipe = {"df_farming:pig_tail_seed", "df_farming:sweet_pod_seed", "group:food_flour", "group:food_flour"}, name=S("Pig Tail Spore Casserole"), image="dfcaverns_prepared_food34x16.png", sound = mushy},
|
||||
{recipe = {"df_farming:dwarven_syrup_bucket", "df_farming:dwarven_syrup_bucket"}, replacements={{"df_farming:dwarven_syrup_bucket", bucket_empty}, {"df_farming:dwarven_syrup_bucket", bucket_empty}}, name=S("Dwarven Syrup Taffy"), image="dfcaverns_prepared_food19x16.png", sound = gummy},
|
||||
{recipe = {"df_farming:dwarven_syrup_bucket", "group:sugar", "group:plump_helmet"}, replacements={{"df_farming:dwarven_syrup_bucket", bucket_empty}}, name=S("Dwarven Syrup Jellies"), image="dfcaverns_prepared_food06x16.png", sound = gummy},
|
||||
{recipe = {"df_farming:dwarven_syrup_bucket", "group:food_flour", "group:sugar", "df_farming:quarry_bush_seed"}, replacements={{"df_farming:dwarven_syrup_bucket", bucket_empty}}, name=S("Dwarven Syrup Delight"), image="dfcaverns_prepared_food24x16.png", sound = mushy},
|
||||
}
|
||||
|
||||
local complexity = {[2]={name="simple", value=4}, [3]={name="medium", value=6}, [4]={name="complex", value=8}}
|
||||
local alias_items = {}
|
||||
|
||||
-- validate the recipes.
|
||||
for index1 = 1, table.getn(recipes)-1 do
|
||||
for index2 = index1+1, table.getn(recipes) do
|
||||
local recipe1 = recipes[index1].recipe
|
||||
local recipe2 = recipes[index2].recipe
|
||||
local recipe1count = {}
|
||||
local recipe2count = {}
|
||||
for _, item in pairs(recipe1) do
|
||||
recipe1count[item] = (recipe1count[item] or 0) + 1
|
||||
end
|
||||
for _, item in pairs(recipe2) do
|
||||
recipe2count[item] = (recipe2count[item] or 0) + 1
|
||||
end
|
||||
local identical = true
|
||||
for key, val in pairs(recipe1count) do
|
||||
if recipe2count[key] ~= val then
|
||||
identical = false
|
||||
break
|
||||
end
|
||||
end
|
||||
for key, val in pairs(recipe2count) do
|
||||
if recipe1count[key] ~= val then
|
||||
identical = false
|
||||
break
|
||||
end
|
||||
end
|
||||
assert(not identical, "recipes " .. recipes[index1].name .. " and " .. recipes[index2].name .. " have identical ingredients!")
|
||||
end
|
||||
end
|
||||
local ingredient_count = {}
|
||||
--for _, recipe_entry in pairs(recipes) do
|
||||
-- for _, item in pairs(recipe_entry.recipe) do
|
||||
-- ingredient_count[item] = (ingredient_count[item] or 0) + 1
|
||||
-- end
|
||||
--end
|
||||
--minetest.debug(dump(ingredient_count))
|
||||
|
||||
for _, def in pairs(recipes) do
|
||||
local recipe_type = complexity[table.getn(def.recipe)]
|
||||
local _, item_name = string.match(def.recipe[1], "(.*):(.*)")
|
||||
local output = "df_farming:"..item_name.."_"..recipe_type.name.."_meal"
|
||||
alias_items[item_name] = true
|
||||
|
||||
minetest.register_craftitem(output, {
|
||||
description = def.name,
|
||||
_doc_items_longdesc = df_farming.doc[recipe_type.name.."_meal_desc"],
|
||||
_doc_items_usagehelp = df_farming.doc[recipe_type.name.."_meal_usage"],
|
||||
inventory_image = def.image,
|
||||
sound = def.sound,
|
||||
on_use = minetest.item_eat(recipe_type.value),
|
||||
groups = {food = recipe_type.value, eatable=recipe_type.value},
|
||||
_hunger_ng = {satiates = recipe_type.value},
|
||||
_mcl_saturation = recipe_type.value, -- TODO: make this more interesting
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = output,
|
||||
recipe = def.recipe,
|
||||
replacements = def.replacements
|
||||
})
|
||||
end
|
||||
|
||||
for item, _ in pairs(alias_items) do
|
||||
minetest.register_alias("dfcaverns:"..item.."_biscuit", "df_farming:"..item.."_simple_meal")
|
||||
minetest.register_alias("dfcaverns:"..item.."_stew", "df_farming:"..item.."_medium_meal")
|
||||
minetest.register_alias("dfcaverns:"..item.."_roast", "df_farming:"..item.."_complex_meal")
|
||||
minetest.register_alias("df_farming:"..item.."_biscuit", "df_farming:"..item.."_simple_meal")
|
||||
minetest.register_alias("df_farming:"..item.."_stew", "df_farming:"..item.."_medium_meal")
|
||||
minetest.register_alias("df_farming:"..item.."_roast", "df_farming:"..item.."_complex_meal")
|
||||
end
|
||||
|
||||
|
||||
-- dfcaverns_prepared_food28 is currently unused
|
||||
-- dfcaverns_prepared_food13 is used for dwarven bread
|
||||
@@ -0,0 +1,116 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local dimple_grow_time = df_farming.config.plant_growth_time * df_farming.config.dimple_cup_delay_multiplier / 4
|
||||
|
||||
local dimple_cup_groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, flower = 1, fire_encouragement=60,fire_flammability=100, compostability=70, handy=1,shearsy=1,hoey=1}
|
||||
|
||||
local register_dimple_cup = function(number)
|
||||
local name = "df_farming:dimple_cup_"..tostring(number)
|
||||
local def = {
|
||||
description = S("Dimple Cup"),
|
||||
_doc_items_longdesc = df_farming.doc.dimple_cup_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.dimple_cup_usage,
|
||||
drawtype = "plantlike",
|
||||
tiles = {"dfcaverns_dimple_cup_"..tostring(number)..".png"},
|
||||
inventory_image = "dfcaverns_dimple_cup_"..tostring(number)..".png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
floodable = true,
|
||||
is_ground_content = false,
|
||||
buildable_to = true,
|
||||
groups = dimple_cup_groups,
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-8/16, -8/16, -8/16, 8/16, -8/16 + 4*number/16, 8/16},
|
||||
},
|
||||
},
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, name, elapsed)
|
||||
end,
|
||||
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {'df_farming:dimple_cup_seed 2', 'df_farming:dimple_cup_harvested'},
|
||||
rarity = 7-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:dimple_cup_seed 1', 'df_farming:dimple_cup_harvested'},
|
||||
rarity = 5-number,
|
||||
},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
}
|
||||
|
||||
if number < 4 then
|
||||
def._dfcaverns_next_stage_time = dimple_grow_time
|
||||
def._dfcaverns_next_stage = "df_farming:dimple_cup_"..tostring(number+1)
|
||||
end
|
||||
|
||||
minetest.register_node(name, def)
|
||||
end
|
||||
|
||||
for i = 1,4 do
|
||||
register_dimple_cup(i)
|
||||
end
|
||||
|
||||
local dimple_cup_groups_harvested = {}
|
||||
for group, val in pairs(dimple_cup_groups) do
|
||||
dimple_cup_groups_harvested[group] = val
|
||||
end
|
||||
dimple_cup_groups_harvested.color_blue = 1
|
||||
dimple_cup_groups_harvested.basecolor_blue = 1
|
||||
dimple_cup_groups_harvested.excolor_blue = 1
|
||||
|
||||
local name = "df_farming:dimple_cup_harvested"
|
||||
local def = {
|
||||
description = S("Dimple Cup"),
|
||||
_doc_items_longdesc = df_farming.doc.dimple_cup_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.dimple_cup_usage,
|
||||
drawtype = "plantlike",
|
||||
tiles = {"dfcaverns_dimple_cup_4.png"},
|
||||
inventory_image = "dfcaverns_dimple_cup_4.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
floodable = true,
|
||||
is_ground_content = false,
|
||||
buildable_to = true,
|
||||
groups = dimple_cup_groups_harvested,
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-8/16, -8/16, -8/16, 8/16, -8/16 + 4*4/16, 8/16},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
}
|
||||
minetest.register_node(name, def)
|
||||
|
||||
local place_list = {
|
||||
minetest.get_content_id("df_farming:dimple_cup_1"),
|
||||
minetest.get_content_id("df_farming:dimple_cup_2"),
|
||||
minetest.get_content_id("df_farming:dimple_cup_3"),
|
||||
minetest.get_content_id("df_farming:dimple_cup_4"),
|
||||
}
|
||||
-- doesn't set the timer running, so plants placed by this method won't grow
|
||||
df_farming.spawn_dimple_cup_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = place_list[math.random(1,4)]
|
||||
param2_data[vi] = 0
|
||||
end
|
||||
|
||||
df_farming.register_seed(
|
||||
"dimple_cup_seed",
|
||||
S("Dimple Cup Spores"),
|
||||
"dfcaverns_dimple_cup_seed.png",
|
||||
"df_farming:dimple_cup_1",
|
||||
dimple_grow_time,
|
||||
df_farming.doc.dimple_cup_desc,
|
||||
df_farming.doc.dimple_cup_usage)
|
||||
@@ -0,0 +1,60 @@
|
||||
df_farming.doc = {}
|
||||
|
||||
if not minetest.get_modpath("doc") then
|
||||
return
|
||||
end
|
||||
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
df_farming.doc.simple_meal_desc = S("A meal made from the admixture of two ingredients, it keeps well but are not a rich source of nutrients.")
|
||||
df_farming.doc.simple_meal_usage = nil
|
||||
df_farming.doc.medium_meal_desc = S("A meal made from three ingredients mixed together. They're more wholesome, packing more nutrition into a single serving.")
|
||||
df_farming.doc.medium_meal_usage = nil
|
||||
df_farming.doc.complex_meal_desc = S("Four finely minced ingredients combine into a fine, full meal.")
|
||||
df_farming.doc.complex_meal_usage = nil
|
||||
|
||||
|
||||
-- Plants
|
||||
|
||||
df_farming.doc.dead_fungus_desc = S("Whatever this fungus was in life, it is now dead.")
|
||||
df_farming.doc.dead_fungus_usage = S("Dead fungus quickly decays into an unrecognizable mess. It can be used as weak fuel or terrible decor.")
|
||||
|
||||
df_farming.doc.cavern_fungi_desc = S("A species of lavender mushroom ubiquitous in caves that is most notable for the soft bioluminescence it produces.")
|
||||
df_farming.doc.cavern_fungi_usage = S("This mushroom is inedible but continues producing modest levels of light long after it's picked.")
|
||||
|
||||
df_farming.doc.cave_wheat_desc = S("Cave wheat is literally a breed of grain-producing grass that somehow lost its ability to photosynthesize and adapted to a more fungal style of life.")
|
||||
df_farming.doc.cave_wheat_usage = S("Like its surface cousin, cave wheat produces grain that can be ground into a form of flour.")
|
||||
df_farming.doc.cave_flour_desc = S("Cave wheat seed ground into a powder suitable for cooking.")
|
||||
df_farming.doc.cave_flour_usage = S("When baked alone it forms an edible bread, but it combines well with other more flavorful ingredients.")
|
||||
df_farming.doc.cave_bread_desc = S("Bread baked from cave wheat flour is tough and durable. A useful ration for long expeditions.")
|
||||
df_farming.doc.cave_bread_usage = S("It's not tasty, but it keeps you going.")
|
||||
|
||||
df_farming.doc.dimple_cup_desc = S("The distinctive midnight-blue caps of these mushrooms are inverted, exposing their gills to any breeze that might pass, and have dimpled edges that give them their name.")
|
||||
df_farming.doc.dimple_cup_usage = S("Dimple cups can be dried, ground, and processed to extract a deep blue dye.")
|
||||
|
||||
df_farming.doc.pig_tail_desc = S("Pig tails are a fibrous fungal growth that's most notable for its twisting stalks. In a mature stand of pig tails the helical stalks intertwine into a dense mesh.")
|
||||
df_farming.doc.pig_tail_usage = S("Pig tail stalks can be processed to extract fibers useful as thread.")
|
||||
df_farming.doc.pig_tail_thread_desc = S("Threads of pig tail fiber.")
|
||||
df_farming.doc.pig_tail_thread_usage = S("A crafting item that can be woven into textiles and other similar items.")
|
||||
|
||||
df_farming.doc.plump_helmet_desc = S("Plump helmets are a thick, fleshy mushroom that's edible picked straight from the ground. They form a staple diet for both lost cave explorers and the fauna that preys on them.")
|
||||
df_farming.doc.plump_helmet_usage = S("While they can be eaten fresh, they can be monotonous fare and are perhaps better appreciated as part of a more complex prepared dish.")
|
||||
|
||||
df_farming.doc.quarry_bush_desc = S("A rare breed of fungus from deep underground that produces a bushy cluster of rumpled gray 'blades'. The biological function of these blades is not known, as quarry bushes reproduce via hard-shelled nodules that grow down at the blade's base.")
|
||||
df_farming.doc.quarry_bush_usage = S("Quarry bush leaves and nodules (called 'rock nuts') can be harvested and are edible with processing.")
|
||||
df_farming.doc.quarry_bush_leaves_desc = S("The dried blades of a quarry bush add a welcome zing to recipes containing otherwise-bland subterranean foodstuffs, but they're too spicy to be eaten on their own.")
|
||||
df_farming.doc.quarry_bush_leaves_usage = S("Quarry bush leaves can be used as an ingredient in foodstuffs.")
|
||||
|
||||
df_farming.doc.sweet_pod_desc = S("Sweet pods grow in rich soil, and once they reach maturity they draw that supply of nutrients up to concentrate it in their fruiting bodies. They turn bright red when ripe and can be processed in a variety of ways to extract the sugars they contain.")
|
||||
|
||||
if minetest.get_modpath("cottages") then
|
||||
df_farming.doc.sweet_pod_usage = S("When milled, sweet pods produce a granular sugary substance.")
|
||||
else
|
||||
df_farming.doc.sweet_pod_usage = S("When dried in an oven, sweet pods produce a granular sugary substance.")
|
||||
end
|
||||
df_farming.doc.sweet_pod_usage = df_farming.doc.sweet_pod_usage .. " " .. S("Crushing them in a bucket squeezes out a flavorful syrup.")
|
||||
|
||||
df_farming.doc.sweet_pod_sugar_desc = S("Sweet pod sugar has a pink tint to it.")
|
||||
df_farming.doc.sweet_pod_sugar_usage = S("Too sweet to be eaten directly, it makes an excellent ingredient in food recipes.")
|
||||
df_farming.doc.sweet_pod_syrup_desc = S("Sweet pod syrup is thick and flavorful.")
|
||||
df_farming.doc.sweet_pod_syrup_usage = S("Too strong and thick to drink straight, sweet pod syrup is useful in food recipes.")
|
||||
@@ -0,0 +1,13 @@
|
||||
df_farming.growth_permitted = {}
|
||||
|
||||
local growable = {[df_dependencies.node_name_dirt_wet] = true, [df_dependencies.node_name_dirt] = true}
|
||||
local check_farm_plant_soil = function(pos)
|
||||
return growable[minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name]
|
||||
end
|
||||
|
||||
df_farming.growth_permitted["df_farming:cave_wheat_seed"] = check_farm_plant_soil
|
||||
df_farming.growth_permitted["df_farming:dimple_cup_seed"] = check_farm_plant_soil
|
||||
df_farming.growth_permitted["df_farming:pig_tail_seed"] = check_farm_plant_soil
|
||||
df_farming.growth_permitted["df_farming:quarry_bush_seed"] = check_farm_plant_soil
|
||||
df_farming.growth_permitted["df_farming:sweet_pod_seed"] = check_farm_plant_soil
|
||||
df_farming.growth_permitted["df_farming:plump_helmet_spawn"] = check_farm_plant_soil
|
||||
@@ -0,0 +1,19 @@
|
||||
df_farming = {}
|
||||
|
||||
local modname = minetest.get_current_modname()
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
--load companion lua files
|
||||
dofile(modpath.."/config.lua")
|
||||
dofile(modpath.."/doc.lua")
|
||||
dofile(modpath.."/aliases.lua")
|
||||
|
||||
dofile(modpath.."/plants.lua") -- general functions
|
||||
dofile(modpath.."/cave_wheat.lua")
|
||||
dofile(modpath.."/dimple_cup.lua")
|
||||
dofile(modpath.."/pig_tail.lua")
|
||||
dofile(modpath.."/plump_helmet.lua")
|
||||
dofile(modpath.."/quarry_bush.lua")
|
||||
dofile(modpath.."/sweet_pod.lua")
|
||||
dofile(modpath.."/cooking.lua")
|
||||
dofile(modpath.."/growth_conditions.lua")
|
||||
@@ -0,0 +1,234 @@
|
||||
# textdomain: df_farming
|
||||
|
||||
|
||||
### cave_wheat.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Straw=Höhlenstroh
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Wheat=Höhlenweizen
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Wheat Flour=Höhlenweizenmehl
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Wheat Seed=Höhlenweizensamen
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dwarven Bread=Zwergenbrot
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Flattened Cave Wheat=Abgeflachter Höhlenweizen
|
||||
|
||||
### cooking.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Wheat Flour Biscuit=Höhlenweizenmehlkeks
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Wheat Flour Bun=Höhlenweizenmehlbrötchen
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Wheat Flour Pancake=Höhlenweizenmehlpfannkuchen
|
||||
Cave Wheat Seed Loaf=
|
||||
Cave Wheat Seed Puffs=
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave Wheat Seed Risotto=Höhlenweizensamen-Risotto
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dimple Cup Spore Flatbread=Dimple Cup Spore Fladenbrot
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dimple Cup Spore Roll=Dimple Cup Sporenrolle
|
||||
Dimple Cup Spore Scone=
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dwarven Syrup Delight=Zwergensirup-Freude
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dwarven Syrup Jellies=Zwergsirupgelees
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dwarven Syrup Taffy=Zwergensirup Taffy
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig Tail Spore Casserole=Schweineschwanz-Sporenauflauf
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig Tail Spore Sandwich=Schweineschwanz-Sporensandwich
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig Tail Spore Tofu=Schweineschwanzsporentofu
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet Mince=Pralles Helmhackfleisch
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet Roast=Praller Helmbraten
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet Spawn Jambalaya=Praller Helmlaich Jambalaya
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet Spawn Soup=Pralle Helmlaichsuppe
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet Sprout Stew=Praller Helmsprosseneintopf
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet Stalk Sausage=Pralle Helmstielwurst
|
||||
Quarry Bush Leaf Croissant=
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Quarry Bush Leaf Spicy Bun=Steinbruch Bush Leaf Spicy Bun
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Rock Nut Bread=Steinnussbrot
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Rock Nut Cake=Steinnusskuchen
|
||||
Rock Nut Cookie=
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Stuffed Quarry Bush Leaf=Gefülltes Steinbruch-Buschblatt
|
||||
Sweet Pod Spore Brule=
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet Pod Spore Dumplings=Sweet Pod Sporenknödel
|
||||
Sweet Pod Spore Single Crust Pie=
|
||||
Sweet Pod Sugar Cookie=
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet Pod Sugar Gingerbread=Sweet Pod Sugar Lebkuchen
|
||||
Sweet Pod Sugar Roll=
|
||||
|
||||
### dimple_cup.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dimple Cup=Grübchen Tasse
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dimple Cup Spores=Grübchen Cup Sporen
|
||||
|
||||
### doc.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A crafting item that can be woven into textiles and other similar items.=Ein Handwerksgegenstand, der in Textilien und ähnliche Gegenstände eingewebt werden kann.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A meal made from the admixture of two ingredients, it keeps well but are not a rich source of nutrients.=Eine Mahlzeit, die aus der Beimischung von zwei Zutaten hergestellt wird. Sie ist gut haltbar, aber keine reichhaltige Nährstoffquelle.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A meal made from three ingredients mixed together. They're more wholesome, packing more nutrition into a single serving.=Eine Mahlzeit aus drei Zutaten gemischt. Sie sind gesünder und verpacken mehr Nahrung in einer einzigen Portion.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A rare breed of fungus from deep underground that produces a bushy cluster of rumpled gray 'blades'. The biological function of these blades is not known, as quarry bushes reproduce via hard-shelled nodules that grow down at the blade's base.=Eine seltene Pilzrasse aus dem tiefen Untergrund, die eine buschige Ansammlung zerknitterter grauer "Klingen" erzeugt. Die biologische Funktion dieser Klingen ist nicht bekannt, da sich Steinbruchbüsche über hartschalige Knötchen vermehren, die an der Klingenbasis nachwachsen.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A species of lavender mushroom ubiquitous in caves that is most notable for the soft bioluminescence it produces.=Eine in Höhlen allgegenwärtige Lavendelpilzart, die sich vor allem durch ihre weiche Biolumineszenz auszeichnet.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Bread baked from cave wheat flour is tough and durable. A useful ration for long expeditions.=Aus Höhlenweizenmehl gebackenes Brot ist zäh und haltbar. Ein nützliches Verhältnis für lange Expeditionen.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave wheat is literally a breed of grain-producing grass that somehow lost its ability to photosynthesize and adapted to a more fungal style of life.=Höhlenweizen ist buchstäblich eine Rasse von Getreide produzierendem Gras, das irgendwie seine Fähigkeit zur Photosynthese verloren hat und sich an einen eher pilzartigen Lebensstil anpasst.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave wheat seed ground into a powder suitable for cooking.=Den gemahlenen Weizensamen zu einem zum Kochen geeigneten Pulver aushöhlen.
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Crushing them in a bucket squeezes out a flavorful syrup.=Wenn man sie in einem Eimer zerquetscht, wird ein aromatischer Sirup herausgedrückt.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dead fungus quickly decays into an unrecognizable mess. It can be used as weak fuel or terrible decor.=Toter Pilz zerfällt schnell in ein nicht wiederzuerkennendes Chaos. Es kann als schwacher Kraftstoff oder schreckliches Dekor verwendet werden.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dimple cups can be dried, ground, and processed to extract a deep blue dye.=Grübchenbecher können getrocknet, gemahlen und verarbeitet werden, um einen tiefblauen Farbstoff zu extrahieren.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Four finely minced ingredients combine into a fine, full meal.=Vier fein gehackte Zutaten ergeben eine feine, vollständige Mahlzeit.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
It's not tasty, but it keeps you going.=Es ist nicht lecker, aber es hält dich am Laufen.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Like its surface cousin, cave wheat produces grain that can be ground into a form of flour.=Höhlenweizen produziert wie sein Cousin an der Oberfläche Getreide, das zu Mehl gemahlen werden kann.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig tail stalks can be processed to extract fibers useful as thread.=Schweineschwanzstiele können verarbeitet werden, um Fasern zu extrahieren, die als Faden nützlich sind.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig tails are a fibrous fungal growth that's most notable for its twisting stalks. In a mature stand of pig tails the helical stalks intertwine into a dense mesh.=Schweineschwänze sind ein faseriges Pilzwachstum, das sich vor allem durch seine verdrehten Stiele auszeichnet. In einem ausgewachsenen Schweineschwanzbestand verflechten sich die helikalen Stiele zu einem dichten Netz.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump helmets are a thick, fleshy mushroom that's edible picked straight from the ground. They form a staple diet for both lost cave explorers and the fauna that preys on them.=Pralle Helme sind dicke, fleischige Pilze, die essbar direkt vom Boden gepflückt werden. Sie bilden eine Grundnahrungsmittel sowohl für verlorene Höhlenforscher als auch für die Fauna, die ihnen nachjagt.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Quarry bush leaves and nodules (called 'rock nuts') can be harvested and are edible with processing.=Steinbruchbuschblätter und Knötchen (sogenannte Steinnüsse) können geerntet werden und sind bei der Verarbeitung essbar.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Quarry bush leaves can be used as an ingredient in foodstuffs.=Steinbruch Buschblätter können als Zutat in Lebensmitteln verwendet werden.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet pod sugar has a pink tint to it.=Süßer Schotenzucker hat eine rosa Tönung.
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet pod syrup is thick and flavorful.=Süßer Schotensirup ist dick und aromatisch.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet pods grow in rich soil, and once they reach maturity they draw that supply of nutrients up to concentrate it in their fruiting bodies. They turn bright red when ripe and can be processed in a variety of ways to extract the sugars they contain.=Süße Schoten wachsen auf reichem Boden und sobald sie reif sind, ziehen sie diese Nährstoffversorgung auf, um sie in ihren Fruchtkörpern zu konzentrieren. Sie werden im reifen Zustand leuchtend rot und können auf verschiedene Weise verarbeitet werden, um den darin enthaltenen Zucker zu extrahieren.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
The distinctive midnight-blue caps of these mushrooms are inverted, exposing their gills to any breeze that might pass, and have dimpled edges that give them their name.=Die markanten nachtblauen Kappen dieser Pilze sind umgedreht und setzen ihre Kiemen einer Brise aus, die vorbeiziehen könnte. Sie haben Noppenkanten, die ihnen ihren Namen geben.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
The dried blades of a quarry bush add a welcome zing to recipes containing otherwise-bland subterranean foodstuffs, but they're too spicy to be eaten on their own.=Die getrockneten Klingen eines Steinbruchstrauchs verleihen Rezepten mit ansonsten milden unterirdischen Lebensmitteln eine willkommene Note, aber sie sind zu scharf, um allein gegessen zu werden.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
This mushroom is inedible but continues producing modest levels of light long after it's picked.=Dieser Pilz ist ungenießbar, produziert aber noch lange nach seiner Ernte bescheidene Lichtmengen.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Threads of pig tail fiber.=Fäden aus Schweineschwanzfaser.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Too strong and thick to drink straight, sweet pod syrup is useful in food recipes.=Zu stark und zu dick, um gerade zu trinken, ist süßer Schotensirup in Lebensmittelrezepten nützlich.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Too sweet to be eaten directly, it makes an excellent ingredient in food recipes.=Zu süß, um direkt gegessen zu werden, ist eine hervorragende Zutat für Lebensmittelrezepte.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Whatever this fungus was in life, it is now dead.=Was auch immer dieser Pilz im Leben war, er ist jetzt tot.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
When baked alone it forms an edible bread, but it combines well with other more flavorful ingredients.=Wenn es alleine gebacken wird, bildet es ein essbares Brot, das sich jedoch gut mit anderen geschmackvolleren Zutaten kombinieren lässt.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
When dried in an oven, sweet pods produce a granular sugary substance.=Wenn süße Schoten im Ofen getrocknet werden, entsteht eine körnige zuckerhaltige Substanz.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
When milled, sweet pods produce a granular sugary substance.=Süße Schoten produzieren beim Mahlen eine körnige zuckerhaltige Substanz.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
While they can be eaten fresh, they can be monotonous fare and are perhaps better appreciated as part of a more complex prepared dish.=Während sie frisch gegessen werden können, können sie eintönig sein und werden vielleicht besser als Teil eines komplexeren zubereiteten Gerichts geschätzt.
|
||||
|
||||
|
||||
### pig_tail.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Flattened Pig Tail=Abgeflachter Schweineschwanz
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig Tail=Schweineschwanz
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig Tail Spore=Schweineschwanzspore
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig tail thread=Schweineschwanzfaden
|
||||
|
||||
### plants.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cavern Fungi=Höhlenpilze
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dead Fungus=Toter Pilz
|
||||
|
||||
### plump_helmet.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet=Praller Helm
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump Helmet Spawn=Praller Helmlaich
|
||||
|
||||
### quarry_bush.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Quarry Bush=Steinbruch Bush
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Quarry Bush Leaves=Steinbruch Bush Blätter
|
||||
Rock Nuts=
|
||||
|
||||
### sweet_pod.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dwarven Syrup Bucket=Zwergen-Sirup-Eimer
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dwarven Syrup Source=Zwergensirupquelle
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Flowing Dwarven Syrup=Fließender Zwergensirup
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet Pod=Süße Schote
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet Pod Spores=Süße Schotensporen
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet Pod Sugar=Süßer Schotenzucker
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet Pods=Süße Schoten
|
||||
@@ -0,0 +1,185 @@
|
||||
# textdomain: df_farming
|
||||
|
||||
|
||||
### cave_wheat.lua ###
|
||||
|
||||
Cave Straw=Grano di caverna
|
||||
Cave Wheat=Grano di caverna
|
||||
Cave Wheat Flour=Farina di grano di caverna
|
||||
Cave Wheat Seed=Seme di grano di caverna
|
||||
Dwarven Bread=Pane nanico
|
||||
Flattened Cave Wheat=Grano di caverna
|
||||
|
||||
### cooking.lua ###
|
||||
|
||||
Cave Wheat Flour Biscuit=Farina di grano di caverna
|
||||
Cave Wheat Flour Bun=Farina di grano di caverna
|
||||
Cave Wheat Flour Pancake=Farina di grano di caverna
|
||||
Cave Wheat Seed Loaf=Seme di grano di caverna
|
||||
Cave Wheat Seed Puffs=Seme di grano di caverna
|
||||
Cave Wheat Seed Risotto=Seme di grano di caverna
|
||||
Dimple Cup Spore Flatbread=Spora di coppa increspata
|
||||
Dimple Cup Spore Roll=Spora di coppa increspata
|
||||
Dimple Cup Spore Scone=Spora di coppa increspata
|
||||
Dwarven Syrup Delight=Secchio di sciroppo nanico
|
||||
Dwarven Syrup Jellies=Sciroppo nanico
|
||||
Dwarven Syrup Taffy=Sciroppo nanico
|
||||
Pig Tail Spore Casserole=Spora di coda di maiale
|
||||
Pig Tail Spore Sandwich=Spora di coda di maiale
|
||||
Pig Tail Spore Tofu=Spora di coda di maiale
|
||||
Plump Helmet Mince=Elmo rotondo
|
||||
Plump Helmet Roast=Elmo rotondo
|
||||
Plump Helmet Spawn Jambalaya=Prole di elmo rotondo
|
||||
Plump Helmet Spawn Soup=Prole di elmo rotondo
|
||||
Plump Helmet Sprout Stew=Prole di elmo rotondo
|
||||
Plump Helmet Stalk Sausage=Prole di elmo rotondo
|
||||
Quarry Bush Leaf Croissant=Foglia di cespuglio di cava
|
||||
Quarry Bush Leaf Spicy Bun=Foglia di cespuglio di cava
|
||||
Rock Nut Bread=Noce di roccia
|
||||
Rock Nut Cake=Noce di roccia
|
||||
Rock Nut Cookie=Noce di roccia
|
||||
Stuffed Quarry Bush Leaf=Foglia di cespuglio di cava
|
||||
Sweet Pod Spore Brule=Spora di baccello dolce
|
||||
Sweet Pod Spore Dumplings=Spore di baccello dolce
|
||||
Sweet Pod Spore Single Crust Pie=Spore di baccello dolce
|
||||
Sweet Pod Sugar Cookie=Zucchero di baccello dolce
|
||||
Sweet Pod Sugar Gingerbread=Zucchero di baccello dolce
|
||||
Sweet Pod Sugar Roll=Zucchero di baccello dolce
|
||||
|
||||
### dimple_cup.lua ###
|
||||
|
||||
Dimple Cup=Coppa increspata
|
||||
Dimple Cup Spores=Spore di coppa increspata
|
||||
|
||||
### doc.lua ###
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A crafting item that can be woven into textiles and other similar items.=Un oggetto di artigianato che può essere tessuto in tessuti e altri oggetti simili.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A meal made from the admixture of two ingredients, it keeps well but are not a rich source of nutrients.=Un pasto composto dalla miscela di due ingredienti, si conserva bene ma non è una ricca fonte di nutrienti.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A meal made from three ingredients mixed together. They're more wholesome, packing more nutrition into a single serving.=Un pasto composto da tre ingredienti mescolati insieme. Sono più sani e contengono più nutrimento in una singola porzione.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A rare breed of fungus from deep underground that produces a bushy cluster of rumpled gray 'blades'. The biological function of these blades is not known, as quarry bushes reproduce via hard-shelled nodules that grow down at the blade's base.=Una rara razza di fungo proveniente dal sottosuolo profondo che produce un folto gruppo di "lame" grigie spiegazzate. La funzione biologica di queste lame non è nota, poiché i cespugli di cava si riproducono tramite noduli a guscio duro che crescono alla base della lama.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
A species of lavender mushroom ubiquitous in caves that is most notable for the soft bioluminescence it produces.=Una specie di fungo lavanda onnipresente nelle grotte che è più notevole per la morbida bioluminescenza che produce.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Bread baked from cave wheat flour is tough and durable. A useful ration for long expeditions.=Il pane cotto dalla farina di grano di grotta è duro e durevole. Un rapporto utile per lunghe spedizioni.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave wheat is literally a breed of grain-producing grass that somehow lost its ability to photosynthesize and adapted to a more fungal style of life.=Il grano delle caverne è letteralmente una razza di erba che produce grano che in qualche modo ha perso la sua capacità di fotosintetizzare e adattata a uno stile di vita più fungino.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Cave wheat seed ground into a powder suitable for cooking.=Semi di grano di caverna macinati in una polvere adatta alla cottura.
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Crushing them in a bucket squeezes out a flavorful syrup.=Schiacciandoli in un secchio spreme uno sciroppo saporito.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dead fungus quickly decays into an unrecognizable mess. It can be used as weak fuel or terrible decor.=Il fungo morto decade rapidamente in un pasticcio irriconoscibile. Può essere usato come combustibile debole o arredamento terribile.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Dimple cups can be dried, ground, and processed to extract a deep blue dye.=Le coppe fossette possono essere asciugate, macinate e lavorate per estrarre un colorante blu intenso.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Four finely minced ingredients combine into a fine, full meal.=Quattro ingredienti finemente tritati si combinano in un fine pasto completo.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
It's not tasty, but it keeps you going.=Non è gustoso, ma ti fa andare avanti.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Like its surface cousin, cave wheat produces grain that can be ground into a form of flour.=Come il suo cugino di superficie, il grano delle caverne produce grano che può essere macinato in una forma di farina.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig tail stalks can be processed to extract fibers useful as thread.=Gli steli della coda di maiale possono essere lavorati per estrarre fibre utili come filo.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Pig tails are a fibrous fungal growth that's most notable for its twisting stalks. In a mature stand of pig tails the helical stalks intertwine into a dense mesh.=Le code di maiale sono una crescita fungina fibrosa che è più notevole per i suoi gambi contorti. In un gruppo maturo di code di maiale, gli steli elicoidali si intrecciano in una fitta rete.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Plump helmets are a thick, fleshy mushroom that's edible picked straight from the ground. They form a staple diet for both lost cave explorers and the fauna that preys on them.=I caschi paffuti sono un fungo spesso e carnoso che è commestibile raccolto direttamente da terra. Costituiscono una dieta base sia per gli esploratori di caverne perduti che per la fauna che li preda.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Quarry bush leaves and nodules (called 'rock nuts') can be harvested and are edible with processing.=Le foglie ei noduli di arbusti di cava (chiamati "noci di roccia") possono essere raccolti e sono commestibili con la lavorazione.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Quarry bush leaves can be used as an ingredient in foodstuffs.=Le foglie di cespuglio di cava possono essere utilizzate come ingrediente nei prodotti alimentari.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet pod sugar has a pink tint to it.=Lo zucchero di baccello dolce ha una sfumatura rosa.
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet pod syrup is thick and flavorful.=Lo sciroppo di baccello dolce è denso e saporito.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Sweet pods grow in rich soil, and once they reach maturity they draw that supply of nutrients up to concentrate it in their fruiting bodies. They turn bright red when ripe and can be processed in a variety of ways to extract the sugars they contain.=I baccelli dolci crescono in un terreno fertile e, una volta raggiunta la maturità, assorbono quella scorta di sostanze nutritive per concentrarla nei loro corpi fruttiferi. Diventano di un rosso brillante quando sono maturi e possono essere lavorati in vari modi per estrarre gli zuccheri che contengono.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
The distinctive midnight-blue caps of these mushrooms are inverted, exposing their gills to any breeze that might pass, and have dimpled edges that give them their name.=I caratteristici cappucci blu notte di questi funghi sono invertiti, esponendo le loro branchie a qualsiasi brezza che potrebbe passare, e hanno bordi increspati che danno loro il nome.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
The dried blades of a quarry bush add a welcome zing to recipes containing otherwise-bland subterranean foodstuffs, but they're too spicy to be eaten on their own.=Le lame essiccate di un cespuglio di cava aggiungono un tocco di benvenuto alle ricette che contengono cibi sotterranei altrimenti blandi, ma sono troppo piccanti per essere mangiati da soli.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
This mushroom is inedible but continues producing modest levels of light long after it's picked.=Questo fungo non è commestibile ma continua a produrre livelli modesti di luce molto tempo dopo essere stato raccolto.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Threads of pig tail fiber.=Fili di fibra di coda di maiale.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Too strong and thick to drink straight, sweet pod syrup is useful in food recipes.=Troppo forte e denso per essere bevuto liscio, lo sciroppo di baccelli dolce è utile nelle ricette alimentari.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Too sweet to be eaten directly, it makes an excellent ingredient in food recipes.=Troppo dolce per essere consumato direttamente, è un ottimo ingrediente nelle ricette alimentari.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
Whatever this fungus was in life, it is now dead.=Qualunque cosa fosse questo fungo in vita, ora è morto.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
When baked alone it forms an edible bread, but it combines well with other more flavorful ingredients.=Cotto da solo forma un pane commestibile, ma si abbina bene con altri ingredienti più saporiti.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
When dried in an oven, sweet pods produce a granular sugary substance.=Quando essiccati in un forno, i baccelli dolci producono una sostanza zuccherina granulare.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
When milled, sweet pods produce a granular sugary substance.=Quando vengono macinati, i baccelli dolci producono una sostanza zuccherina granulare.
|
||||
|
||||
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
|
||||
While they can be eaten fresh, they can be monotonous fare and are perhaps better appreciated as part of a more complex prepared dish.=Sebbene possano essere consumati freschi, possono essere piatti monotoni e forse sono meglio apprezzati come parte di un piatto preparato più complesso.
|
||||
|
||||
|
||||
### pig_tail.lua ###
|
||||
|
||||
Flattened Pig Tail=Coda di maiale
|
||||
Pig Tail=Coda di maiale
|
||||
Pig Tail Spore=Spora di coda di maiale
|
||||
Pig tail thread=Filo di coda di maiale
|
||||
|
||||
### plants.lua ###
|
||||
|
||||
Cavern Fungi=Funghi di caverna
|
||||
Dead Fungus=Fungo morto
|
||||
|
||||
### plump_helmet.lua ###
|
||||
|
||||
Plump Helmet=Elmo rotondo
|
||||
Plump Helmet Spawn=Prole di elmo rotondo
|
||||
|
||||
### quarry_bush.lua ###
|
||||
|
||||
Quarry Bush=Cespuglio di cava
|
||||
Quarry Bush Leaves=Foglie di cespuglio di cava
|
||||
Rock Nuts=Noci di roccia
|
||||
|
||||
### sweet_pod.lua ###
|
||||
|
||||
Dwarven Syrup Bucket=Secchio di sciroppo nanico
|
||||
Dwarven Syrup Source=Fonte di sciroppo nanico
|
||||
Flowing Dwarven Syrup=Sciroppo nanico che scorre
|
||||
Sweet Pod=Baccello dolce
|
||||
Sweet Pod Spores=Spore di baccello dolce
|
||||
Sweet Pod Sugar=Zucchero di baccello dolce
|
||||
Sweet Pods=Baccelli dolci
|
||||
@@ -0,0 +1,152 @@
|
||||
# textdomain: df_farming
|
||||
|
||||
|
||||
### cave_wheat.lua ###
|
||||
|
||||
Cave Straw=
|
||||
Cave Wheat=
|
||||
Cave Wheat Flour=
|
||||
Cave Wheat Seed=
|
||||
Dwarven Bread=
|
||||
Flattened Cave Wheat=
|
||||
|
||||
### cooking.lua ###
|
||||
|
||||
Cave Wheat Flour Biscuit=
|
||||
Cave Wheat Flour Bun=
|
||||
Cave Wheat Flour Pancake=
|
||||
Cave Wheat Seed Loaf=
|
||||
Cave Wheat Seed Puffs=
|
||||
Cave Wheat Seed Risotto=
|
||||
Dimple Cup Spore Flatbread=
|
||||
Dimple Cup Spore Roll=
|
||||
Dimple Cup Spore Scone=
|
||||
Dwarven Syrup Delight=
|
||||
Dwarven Syrup Jellies=
|
||||
Dwarven Syrup Taffy=
|
||||
Pig Tail Spore Casserole=
|
||||
Pig Tail Spore Sandwich=
|
||||
Pig Tail Spore Tofu=
|
||||
Plump Helmet Mince=
|
||||
Plump Helmet Roast=
|
||||
Plump Helmet Spawn Jambalaya=
|
||||
Plump Helmet Spawn Soup=
|
||||
Plump Helmet Sprout Stew=
|
||||
Plump Helmet Stalk Sausage=
|
||||
Quarry Bush Leaf Croissant=
|
||||
Quarry Bush Leaf Spicy Bun=
|
||||
Rock Nut Bread=
|
||||
Rock Nut Cake=
|
||||
Rock Nut Cookie=
|
||||
Stuffed Quarry Bush Leaf=
|
||||
Sweet Pod Spore Brule=
|
||||
Sweet Pod Spore Dumplings=
|
||||
Sweet Pod Spore Single Crust Pie=
|
||||
Sweet Pod Sugar Cookie=
|
||||
Sweet Pod Sugar Gingerbread=
|
||||
Sweet Pod Sugar Roll=
|
||||
|
||||
### dimple_cup.lua ###
|
||||
|
||||
Dimple Cup=
|
||||
Dimple Cup Spores=
|
||||
|
||||
### doc.lua ###
|
||||
|
||||
A crafting item that can be woven into textiles and other similar items.=
|
||||
|
||||
A meal made from the admixture of two ingredients, it keeps well but are not a rich source of nutrients.=
|
||||
|
||||
A meal made from three ingredients mixed together. They're more wholesome, packing more nutrition into a single serving.=
|
||||
|
||||
A rare breed of fungus from deep underground that produces a bushy cluster of rumpled gray 'blades'. The biological function of these blades is not known, as quarry bushes reproduce via hard-shelled nodules that grow down at the blade's base.=
|
||||
|
||||
A species of lavender mushroom ubiquitous in caves that is most notable for the soft bioluminescence it produces.=
|
||||
|
||||
Bread baked from cave wheat flour is tough and durable. A useful ration for long expeditions.=
|
||||
|
||||
Cave wheat is literally a breed of grain-producing grass that somehow lost its ability to photosynthesize and adapted to a more fungal style of life.=
|
||||
|
||||
Cave wheat seed ground into a powder suitable for cooking.=
|
||||
Crushing them in a bucket squeezes out a flavorful syrup.=
|
||||
|
||||
Dead fungus quickly decays into an unrecognizable mess. It can be used as weak fuel or terrible decor.=
|
||||
|
||||
Dimple cups can be dried, ground, and processed to extract a deep blue dye.=
|
||||
|
||||
Four finely minced ingredients combine into a fine, full meal.=
|
||||
|
||||
It's not tasty, but it keeps you going.=
|
||||
|
||||
Like its surface cousin, cave wheat produces grain that can be ground into a form of flour.=
|
||||
|
||||
Pig tail stalks can be processed to extract fibers useful as thread.=
|
||||
|
||||
Pig tails are a fibrous fungal growth that's most notable for its twisting stalks. In a mature stand of pig tails the helical stalks intertwine into a dense mesh.=
|
||||
|
||||
Plump helmets are a thick, fleshy mushroom that's edible picked straight from the ground. They form a staple diet for both lost cave explorers and the fauna that preys on them.=
|
||||
|
||||
Quarry bush leaves and nodules (called 'rock nuts') can be harvested and are edible with processing.=
|
||||
|
||||
Quarry bush leaves can be used as an ingredient in foodstuffs.=
|
||||
|
||||
Sweet pod sugar has a pink tint to it.=
|
||||
Sweet pod syrup is thick and flavorful.=
|
||||
|
||||
Sweet pods grow in rich soil, and once they reach maturity they draw that supply of nutrients up to concentrate it in their fruiting bodies. They turn bright red when ripe and can be processed in a variety of ways to extract the sugars they contain.=
|
||||
|
||||
The distinctive midnight-blue caps of these mushrooms are inverted, exposing their gills to any breeze that might pass, and have dimpled edges that give them their name.=
|
||||
|
||||
The dried blades of a quarry bush add a welcome zing to recipes containing otherwise-bland subterranean foodstuffs, but they're too spicy to be eaten on their own.=
|
||||
|
||||
This mushroom is inedible but continues producing modest levels of light long after it's picked.=
|
||||
|
||||
Threads of pig tail fiber.=
|
||||
|
||||
Too strong and thick to drink straight, sweet pod syrup is useful in food recipes.=
|
||||
|
||||
Too sweet to be eaten directly, it makes an excellent ingredient in food recipes.=
|
||||
|
||||
Whatever this fungus was in life, it is now dead.=
|
||||
|
||||
When baked alone it forms an edible bread, but it combines well with other more flavorful ingredients.=
|
||||
|
||||
When dried in an oven, sweet pods produce a granular sugary substance.=
|
||||
|
||||
When milled, sweet pods produce a granular sugary substance.=
|
||||
|
||||
While they can be eaten fresh, they can be monotonous fare and are perhaps better appreciated as part of a more complex prepared dish.=
|
||||
|
||||
|
||||
### pig_tail.lua ###
|
||||
|
||||
Flattened Pig Tail=
|
||||
Pig Tail=
|
||||
Pig Tail Spore=
|
||||
Pig tail thread=
|
||||
|
||||
### plants.lua ###
|
||||
|
||||
Cavern Fungi=
|
||||
Dead Fungus=
|
||||
|
||||
### plump_helmet.lua ###
|
||||
|
||||
Plump Helmet=
|
||||
Plump Helmet Spawn=
|
||||
|
||||
### quarry_bush.lua ###
|
||||
|
||||
Quarry Bush=
|
||||
Quarry Bush Leaves=
|
||||
Rock Nuts=
|
||||
|
||||
### sweet_pod.lua ###
|
||||
|
||||
Dwarven Syrup Bucket=
|
||||
Dwarven Syrup Source=
|
||||
Flowing Dwarven Syrup=
|
||||
Sweet Pod=
|
||||
Sweet Pod Spores=
|
||||
Sweet Pod Sugar=
|
||||
Sweet Pods=
|
||||
@@ -0,0 +1,4 @@
|
||||
name = df_farming
|
||||
description = Adds farmable underground plants that die in sunlight. Also includes various cooking reactions.
|
||||
depends = df_dependencies
|
||||
optional_depends = cottages, dynamic_liquid, doc, crafting, footprints, oil
|
||||
@@ -0,0 +1,163 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local pig_tail_grow_time = df_farming.config.plant_growth_time * df_farming.config.pig_tail_delay_multiplier / 8
|
||||
|
||||
local register_pig_tail = function(number)
|
||||
local name = "df_farming:pig_tail_"..tostring(number)
|
||||
local def = {
|
||||
description = S("Pig Tail"),
|
||||
_doc_items_longdesc = df_farming.doc.pig_tail_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.pig_tail_usage,
|
||||
drawtype = "plantlike",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 3,
|
||||
tiles = {"dfcaverns_pig_tail_"..tostring(number)..".png"},
|
||||
inventory_image = "dfcaverns_pig_tail_"..tostring(number)..".png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
floodable = true,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, fire_encouragement=60,fire_flammability=100, compostability=70, handy=1,shearsy=1,hoey=1, destroy_by_lava_flow=1,dig_by_piston=1},
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-8/16, -8/16, -8/16, 8/16, -8/16 + 2*number/16, 8/16},
|
||||
},
|
||||
},
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, name, elapsed)
|
||||
end,
|
||||
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
items = {'df_farming:pig_tail_seed 2', 'df_farming:pig_tail_thread 3'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:pig_tail_seed 1', 'df_farming:pig_tail_thread 2'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:pig_tail_seed'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
}
|
||||
|
||||
if number < 8 then
|
||||
def._dfcaverns_next_stage_time = pig_tail_grow_time
|
||||
def._dfcaverns_next_stage = "df_farming:pig_tail_"..tostring(number+1)
|
||||
end
|
||||
|
||||
minetest.register_node(name, def)
|
||||
end
|
||||
|
||||
for i = 1,8 do
|
||||
register_pig_tail(i)
|
||||
end
|
||||
|
||||
local place_list = {
|
||||
minetest.get_content_id("df_farming:pig_tail_1"),
|
||||
minetest.get_content_id("df_farming:pig_tail_2"),
|
||||
minetest.get_content_id("df_farming:pig_tail_3"),
|
||||
minetest.get_content_id("df_farming:pig_tail_4"),
|
||||
minetest.get_content_id("df_farming:pig_tail_5"),
|
||||
minetest.get_content_id("df_farming:pig_tail_6"),
|
||||
minetest.get_content_id("df_farming:pig_tail_7"),
|
||||
minetest.get_content_id("df_farming:pig_tail_8"),
|
||||
}
|
||||
-- doesn't set the timer running, so plants placed by this method won't grow
|
||||
df_farming.spawn_pig_tail_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = place_list[math.random(1,8)]
|
||||
param2_data[vi] = 3
|
||||
end
|
||||
|
||||
df_farming.register_seed(
|
||||
"pig_tail_seed",
|
||||
S("Pig Tail Spore"),
|
||||
"dfcaverns_pig_tail_seed.png",
|
||||
"df_farming:pig_tail_1",
|
||||
pig_tail_grow_time,
|
||||
df_farming.doc.pig_tail_desc,
|
||||
df_farming.doc.pig_tail_usage)
|
||||
|
||||
minetest.register_craftitem("df_farming:pig_tail_thread", {
|
||||
description = S("Pig tail thread"),
|
||||
_doc_items_longdesc = df_farming.doc.pig_tail_thread_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.pig_tail_thread_usage,
|
||||
inventory_image = "dfcaverns_pig_tail_thread.png",
|
||||
groups = {flammable = 1, thread = 1},
|
||||
})
|
||||
|
||||
if df_dependencies.node_name_wool_white then
|
||||
minetest.register_craft({
|
||||
output = df_dependencies.node_name_wool_white,
|
||||
recipe = {
|
||||
{"group:thread", "group:thread"},
|
||||
{"group:thread", "group:thread"},
|
||||
}
|
||||
})
|
||||
end
|
||||
if df_dependencies.node_name_string then
|
||||
minetest.register_craft({
|
||||
output = df_dependencies.node_name_string .. " 2",
|
||||
recipe = {
|
||||
{"group:thread"},
|
||||
{"group:thread"},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:pig_tail_thread",
|
||||
burntime = 1,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("footprints") then
|
||||
minetest.register_node("df_farming:pig_tail_trampled", {
|
||||
description = S("Flattened Pig Tail"),
|
||||
tiles = {"dfcaverns_pig_tail_flattened.png"},
|
||||
inventory_image = "dfcaverns_pig_tail_flattened.png",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
buildable_to = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -3 / 8, 0.5}
|
||||
},
|
||||
},
|
||||
groups = {snappy = 3, flammable = 2, attached_node = 1, handy=1, hoey=1, compostability=85, fire_encouragement=60, fire_flammability=20, fall_damage_add_percent=-30, destroy_by_lava_flow=1,dig_by_piston=1},
|
||||
drop = "",
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
footprints.register_trample_node("df_farming:pig_tail_5", {
|
||||
trampled_node_name = "df_farming:pig_tail_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
footprints.register_trample_node("df_farming:pig_tail_6", {
|
||||
trampled_node_name = "df_farming:pig_tail_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
footprints.register_trample_node("df_farming:pig_tail_7", {
|
||||
trampled_node_name = "df_farming:pig_tail_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
footprints.register_trample_node("df_farming:pig_tail_8", {
|
||||
trampled_node_name = "df_farming:pig_tail_trampled",
|
||||
randomize_trampled_param2 = true,
|
||||
})
|
||||
end
|
||||
@@ -0,0 +1,278 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- Plants
|
||||
|
||||
minetest.register_node("df_farming:dead_fungus", {
|
||||
description = S("Dead Fungus"),
|
||||
_doc_items_longdesc = df_farming.doc.dead_fungus_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.dead_fungus_usage,
|
||||
drawtype = "plantlike",
|
||||
tiles = {"dfcaverns_dead_fungus.png"},
|
||||
inventory_image = "dfcaverns_dead_fungus.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, flow_through = 1, fire_encouragement=60,fire_flammability=100,destroy_by_lava_flow=1,dig_by_piston=1, compostability=65, handy=1, hoey=1},
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0.0, 0.5},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:dead_fungus",
|
||||
burntime = 2
|
||||
})
|
||||
|
||||
local c_dead_fungus = minetest.get_content_id("df_farming:dead_fungus")
|
||||
df_farming.spawn_dead_fungus_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = c_dead_fungus
|
||||
param2_data[vi] = 0
|
||||
end
|
||||
|
||||
minetest.register_node("df_farming:cavern_fungi", {
|
||||
description = S("Cavern Fungi"),
|
||||
_doc_items_longdesc = df_farming.doc.cavern_fungi_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.cavern_fungi_usage,
|
||||
drawtype = "plantlike",
|
||||
tiles = {"dfcaverns_fungi.png"},
|
||||
inventory_image = "dfcaverns_fungi.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
light_source = 6,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, flow_through = 1, fire_encouragement=50,fire_flammability=60,destroy_by_lava_flow=1,dig_by_piston=1, compostability=65, handy=1, hoey=1},
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0.0, 0.5},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:cavern_fungi",
|
||||
burntime = 2
|
||||
})
|
||||
|
||||
local c_cavern_fungi = minetest.get_content_id("df_farming:cavern_fungi")
|
||||
df_farming.spawn_cavern_fungi_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = c_cavern_fungi
|
||||
param2_data[vi] = 0
|
||||
end
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
|
||||
local marginal = {[df_dependencies.node_name_dirt] = true}
|
||||
local growable = {[df_dependencies.node_name_dirt_wet] = true, [df_dependencies.node_name_dirt] = true}
|
||||
|
||||
df_farming.plant_timer = function(pos, plantname, elapsed)
|
||||
local next_stage_time = minetest.registered_nodes[plantname]._dfcaverns_next_stage_time
|
||||
if not next_stage_time then return end
|
||||
|
||||
next_stage_time = next_stage_time + math.random(next_stage_time * -0.1, next_stage_time * 0.1)
|
||||
local below = minetest.get_node(vector.add(pos, {x=0, y=-1, z=0}))
|
||||
if marginal[below.name] then
|
||||
next_stage_time = next_stage_time * 5
|
||||
end
|
||||
if elapsed ~= nil then
|
||||
minetest.get_node_timer(pos):set(next_stage_time, elapsed-next_stage_time)
|
||||
else
|
||||
minetest.get_node_timer(pos):start(next_stage_time)
|
||||
end
|
||||
end
|
||||
|
||||
local function copy_pointed_thing(pointed_thing)
|
||||
return {
|
||||
type = pointed_thing.type,
|
||||
above = pointed_thing.above and vector.copy(pointed_thing.above),
|
||||
under = pointed_thing.under and vector.copy(pointed_thing.under),
|
||||
ref = pointed_thing.ref,
|
||||
}
|
||||
end
|
||||
|
||||
local place_seed = function(itemstack, placer, pointed_thing, plantname)
|
||||
local pt = pointed_thing
|
||||
-- check if pointing at a node
|
||||
if not pt then
|
||||
return itemstack
|
||||
end
|
||||
if pt.type ~= "node" then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
local above = minetest.get_node(pt.above)
|
||||
|
||||
if minetest.is_protected(pt.under, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pt.under, placer:get_player_name())
|
||||
return
|
||||
end
|
||||
if minetest.is_protected(pt.above, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pt.above, placer:get_player_name())
|
||||
return
|
||||
end
|
||||
|
||||
-- return if any of the nodes is not registered
|
||||
if not minetest.registered_nodes[under.name] then
|
||||
return itemstack
|
||||
end
|
||||
if not minetest.registered_nodes[above.name] then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- check if pointing at the top of the node
|
||||
if pt.above.y ~= pt.under.y+1 then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- check if you can replace the node above the pointed node
|
||||
if not minetest.registered_nodes[above.name].buildable_to then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
local newnode= {name = itemstack:get_name(), param2 = 1, param1=0}
|
||||
local oldnode= minetest.get_node(pt.above)
|
||||
minetest.add_node(pt.above, {name = plantname, param2 = 1})
|
||||
|
||||
local growth_permitted_function = df_farming.growth_permitted[plantname]
|
||||
if not growth_permitted_function or growth_permitted_function(pt.above) then
|
||||
df_farming.plant_timer(pt.above, plantname)
|
||||
else
|
||||
minetest.get_node_timer(pt.above):stop() -- make sure no old timers are running on this node
|
||||
end
|
||||
|
||||
-- Run script hook
|
||||
local take_item = true
|
||||
for _, callback in ipairs(core.registered_on_placenodes) do
|
||||
-- Deepcopy pos, node and pointed_thing because callback can modify them
|
||||
local place_to_copy = vector.copy(pt.above)
|
||||
local newnode_copy = {name=newnode.name, param1=newnode.param1, param2=newnode.param2}
|
||||
local oldnode_copy = {name=oldnode.name, param1=oldnode.param1, param2=oldnode.param2}
|
||||
local pointed_thing_copy = copy_pointed_thing(pointed_thing)
|
||||
if callback(place_to_copy, newnode_copy, placer, oldnode_copy, itemstack, pointed_thing_copy) then
|
||||
take_item = false
|
||||
end
|
||||
end
|
||||
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
df_farming.register_seed = function(name, description, image, stage_one, grow_time, desc, usage)
|
||||
local def = {
|
||||
description = description,
|
||||
_doc_items_longdesc = desc,
|
||||
_doc_items_usagehelp = usage,
|
||||
tiles = {image},
|
||||
inventory_image = image,
|
||||
wield_image = image,
|
||||
drawtype = "signlike",
|
||||
paramtype2 = "wallmounted",
|
||||
groups = {seed = 1, snappy = 3, attached_node = 1, dfcaverns_cookable = 1, digtron_on_place=1,destroy_by_lava_flow=1,dig_by_piston=1, handy=1, hoey=1},
|
||||
_dfcaverns_next_stage = stage_one,
|
||||
_dfcaverns_next_stage_time = grow_time,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
floodable = true,
|
||||
sunlight_propagates = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return place_seed(itemstack, placer, pointed_thing, "df_farming:"..name)
|
||||
end,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, "df_farming:"..name, elapsed)
|
||||
end,
|
||||
|
||||
on_destruct = function(pos)
|
||||
minetest.get_node_timer(pos):stop()
|
||||
end,
|
||||
}
|
||||
|
||||
minetest.register_node("df_farming:"..name, def)
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:"..name,
|
||||
burntime = 1
|
||||
})
|
||||
end
|
||||
|
||||
df_farming.grow_underground_plant = function(pos, plant_name, elapsed)
|
||||
if df_farming.kill_if_sunlit(pos) then
|
||||
return
|
||||
end
|
||||
local node_def = minetest.registered_nodes[plant_name]
|
||||
local next_stage = node_def._dfcaverns_next_stage
|
||||
if next_stage then
|
||||
local soil = minetest.get_node(vector.add(pos, {x=0, y=-1, z=0})).name
|
||||
if growable[soil] then
|
||||
local next_def = minetest.registered_nodes[next_stage]
|
||||
local node = minetest.get_node(pos)
|
||||
minetest.swap_node(pos, {name=next_stage, param2 = next_def.place_param2 or node.param2})
|
||||
df_farming.plant_timer(pos, next_stage, elapsed)
|
||||
else
|
||||
df_farming.plant_timer(pos, plant_name) -- reset timer, check again later
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
df_farming.kill_if_sunlit = function(pos, node)
|
||||
return false
|
||||
end
|
||||
if df_farming.config.light_kills_fungus then
|
||||
local kill_if_sunlit = function(pos, node)
|
||||
if not node then
|
||||
node = minetest.get_node(pos)
|
||||
end
|
||||
local node_def = minetest.registered_nodes[node.name]
|
||||
local light_sensitive_fungus_level = node_def.groups.light_sensitive_fungus
|
||||
|
||||
-- This should never be the case, but I've received a report of it happening anyway in the ABM so guarding against it.
|
||||
if not light_sensitive_fungus_level then return false end
|
||||
|
||||
local dead_node = node_def._dfcaverns_dead_node or "df_farming:dead_fungus"
|
||||
-- 11 is the value adjacent to a torch
|
||||
local light_level = minetest.get_node_light(pos, 0.5) -- check at 0.5 to get how bright it would be here at noon,
|
||||
-- prevents fungus from growing on the surface world by happenstance
|
||||
if light_level and light_level > light_sensitive_fungus_level then
|
||||
minetest.set_node(pos, {name=dead_node, param2 = node.param2})
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
df_farming.kill_if_sunlit = kill_if_sunlit
|
||||
|
||||
minetest.register_abm({
|
||||
label = "df_farming:kill_light_sensitive_fungus",
|
||||
nodenames = {"group:light_sensitive_fungus"},
|
||||
catch_up = true,
|
||||
interval = 30,
|
||||
chance = 5,
|
||||
action = function(pos, node)
|
||||
kill_if_sunlit(pos, node)
|
||||
end
|
||||
})
|
||||
end
|
||||
@@ -0,0 +1,414 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local displace_x = 0.125
|
||||
local displace_z = 0.125
|
||||
|
||||
local plump_helmet_grow_time = df_farming.config.plant_growth_time * df_farming.config.plump_helmet_delay_multiplier / 4
|
||||
|
||||
local function copy_pointed_thing(pointed_thing)
|
||||
return {
|
||||
type = pointed_thing.type,
|
||||
above = pointed_thing.above and vector.copy(pointed_thing.above),
|
||||
under = pointed_thing.under and vector.copy(pointed_thing.under),
|
||||
ref = pointed_thing.ref,
|
||||
}
|
||||
end
|
||||
|
||||
local plump_helmet_on_place = function(itemstack, placer, pointed_thing, plantname)
|
||||
local pt = pointed_thing
|
||||
-- check if pointing at a node
|
||||
if not pt then
|
||||
return itemstack
|
||||
end
|
||||
if pt.type ~= "node" then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
local above = minetest.get_node(pt.above)
|
||||
|
||||
if minetest.is_protected(pt.under, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pt.under, placer:get_player_name())
|
||||
return
|
||||
end
|
||||
if minetest.is_protected(pt.above, placer:get_player_name()) then
|
||||
minetest.record_protection_violation(pt.above, placer:get_player_name())
|
||||
return
|
||||
end
|
||||
|
||||
-- return if any of the nodes is not registered
|
||||
if not minetest.registered_nodes[under.name] then
|
||||
return itemstack
|
||||
end
|
||||
if not minetest.registered_nodes[above.name] then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- check if pointing at the top of the node
|
||||
if pt.above.y ~= pt.under.y+1 then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- check if you can replace the node above the pointed node
|
||||
if not minetest.registered_nodes[above.name].buildable_to then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
local new_param2 = math.random(0,3)
|
||||
local newnode= {name = plantname, param2 = new_param2, param1=0}
|
||||
local oldnode= minetest.get_node(pt.above)
|
||||
minetest.add_node(pt.above, newnode)
|
||||
|
||||
local growth_permitted_function = df_farming.growth_permitted["df_farming:plump_helmet_spawn"] -- use the same permitted function for all plump helmets
|
||||
if not growth_permitted_function or growth_permitted_function(pt.above) then
|
||||
df_farming.plant_timer(pt.above, plantname)
|
||||
end
|
||||
|
||||
-- Run script hook
|
||||
local take_item = true
|
||||
for _, callback in ipairs(core.registered_on_placenodes) do
|
||||
-- Deepcopy pos, node and pointed_thing because callback can modify them
|
||||
local place_to_copy = vector.copy(pt.above)
|
||||
local newnode_copy = {name=newnode.name, param1=newnode.param1, param2=newnode.param2}
|
||||
local oldnode_copy = {name=oldnode.name, param1=oldnode.param1, param2=oldnode.param2}
|
||||
local pointed_thing_copy = copy_pointed_thing(pointed_thing)
|
||||
if callback(place_to_copy, newnode_copy, placer, oldnode_copy, itemstack, pointed_thing_copy) then
|
||||
take_item = false
|
||||
end
|
||||
end
|
||||
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
|
||||
minetest.register_node("df_farming:plump_helmet_spawn", {
|
||||
description = S("Plump Helmet Spawn"),
|
||||
_doc_items_longdesc = df_farming.doc.plump_helmet_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.plump_helmet_usage,
|
||||
tiles = {
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
},
|
||||
groups = {snappy = 3, plant = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, digtron_on_place=1, destroy_by_lava_flow=1,dig_by_piston=1, handy=1, hoey=1},
|
||||
_dfcaverns_next_stage = "df_farming:plump_helmet_1",
|
||||
_dfcaverns_next_stage_time = plump_helmet_grow_time,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
floodable = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.0625 + displace_x, -0.5, -0.125 + displace_z, 0.125 + displace_x, -0.375, 0.0625 + displace_z},
|
||||
}
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return plump_helmet_on_place(itemstack, placer, pointed_thing, "df_farming:plump_helmet_spawn")
|
||||
end,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, "df_farming:plump_helmet_spawn", elapsed)
|
||||
end,
|
||||
|
||||
on_destruct = function(pos)
|
||||
minetest.get_node_timer(pos):stop()
|
||||
end,
|
||||
})
|
||||
|
||||
local plump_helmet_groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, plump_helmet = 1, digtron_on_place=1, fire_encouragement=30,fire_flammability=100,destroy_by_lava_flow=1,dig_by_piston=1,compostability=65}
|
||||
local get_plump_helmet_groups = function(eatable)
|
||||
local ret = {}
|
||||
for key, val in pairs(plump_helmet_groups) do
|
||||
ret[key]=val
|
||||
end
|
||||
ret.eatable = eatable
|
||||
ret.food = eatable
|
||||
return ret
|
||||
end
|
||||
|
||||
minetest.register_node("df_farming:plump_helmet_1", {
|
||||
description = S("Plump Helmet"),
|
||||
_doc_items_longdesc = df_farming.doc.plump_helmet_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.plump_helmet_usage,
|
||||
tiles = {
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png^[lowpart:5:dfcaverns_plump_helmet_stem.png",
|
||||
},
|
||||
groups = get_plump_helmet_groups(1),
|
||||
_dfcaverns_next_stage = "df_farming:plump_helmet_2",
|
||||
_dfcaverns_next_stage_time = plump_helmet_grow_time,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
sound = {eat = {name = "df_farming_gummy_chew", gain = 1.0}},
|
||||
walkable = false,
|
||||
floodable = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.0625 + displace_x, -0.5, -0.125 + displace_z, 0.125 + displace_x, -0.25, 0.0625 + displace_z}, -- stalk
|
||||
{-0.125 + displace_x, -0.4375, -0.1875 + displace_z, 0.1875 + displace_x, -0.3125, 0.125 + displace_z}, -- cap
|
||||
}
|
||||
},
|
||||
_mcl_blast_resistance = 0.3,
|
||||
_mcl_hardness = 0.3,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return plump_helmet_on_place(itemstack, placer, pointed_thing, "df_farming:plump_helmet_1")
|
||||
end,
|
||||
|
||||
on_use = minetest.item_eat(1),
|
||||
_hunger_ng = {satiates = 1},
|
||||
_mcl_saturation = 0.5,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, "df_farming:plump_helmet_1", elapsed)
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("df_farming:plump_helmet_2", {
|
||||
description = S("Plump Helmet"),
|
||||
_doc_items_longdesc = df_farming.doc.plump_helmet_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.plump_helmet_usage,
|
||||
tiles = {
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png^[lowpart:15:dfcaverns_plump_helmet_stem.png",
|
||||
},
|
||||
groups = get_plump_helmet_groups(2),
|
||||
_dfcaverns_next_stage = "df_farming:plump_helmet_3",
|
||||
_dfcaverns_next_stage_time = plump_helmet_grow_time,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
sound = {eat = {name = "df_farming_gummy_chew", gain = 1.0}},
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
floodable = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.0625 + displace_x, -0.5, -0.125 + displace_z, 0.125 + displace_x, 0, 0.0625 + displace_z}, -- stalk
|
||||
{-0.125 + displace_x, -0.3125, -0.1875 + displace_z, 0.1875 + displace_x, -0.0625, 0.125 + displace_z}, -- cap
|
||||
}
|
||||
},
|
||||
_mcl_blast_resistance = 0.4,
|
||||
_mcl_hardness = 0.4,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return plump_helmet_on_place(itemstack, placer, pointed_thing, "df_farming:plump_helmet_2")
|
||||
end,
|
||||
|
||||
on_use = minetest.item_eat(2),
|
||||
_hunger_ng = {satiates = 2},
|
||||
_mcl_saturation = 0.7,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, "df_farming:plump_helmet_2", elapsed)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("df_farming:plump_helmet_3", {
|
||||
description = S("Plump Helmet"),
|
||||
_doc_items_longdesc = df_farming.doc.plump_helmet_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.plump_helmet_usage,
|
||||
tiles = {
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png^[lowpart:35:dfcaverns_plump_helmet_stem.png",
|
||||
},
|
||||
groups = get_plump_helmet_groups(3),
|
||||
_dfcaverns_next_stage = "df_farming:plump_helmet_4",
|
||||
_dfcaverns_next_stage_time = plump_helmet_grow_time,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
sound = {eat = {name = "df_farming_gummy_chew", gain = 1.0}},
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
floodable = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125 + displace_x, -0.5, -0.1875 + displace_z, 0.1875 + displace_x, 0.25, 0.125 + displace_z}, -- stalk
|
||||
{-0.1875 + displace_x, -0.125, -0.25 + displace_z, 0.25 + displace_x, 0.1875, 0.1875 + displace_z}, -- cap
|
||||
}
|
||||
},
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return plump_helmet_on_place(itemstack, placer, pointed_thing, "df_farming:plump_helmet_3")
|
||||
end,
|
||||
|
||||
on_use = minetest.item_eat(3),
|
||||
_hunger_ng = {satiates = 3},
|
||||
_mcl_saturation = 0.9,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, "df_farming:plump_helmet_3", elapsed)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("df_farming:plump_helmet_4", {
|
||||
description = S("Plump Helmet"),
|
||||
_doc_items_longdesc = df_farming.doc.plump_helmet_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.plump_helmet_usage,
|
||||
tiles = {
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png^[lowpart:40:dfcaverns_plump_helmet_stem.png",
|
||||
},
|
||||
groups = get_plump_helmet_groups(4),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
sound = {eat = {name = "df_farming_gummy_chew", gain = 1.0}},
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
floodable = false, -- I figure full grown plump helmets are sturdy enough to survive inundation
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125 + displace_x, -0.5, -0.1875 + displace_z, 0.1875 + displace_x, 0.375, 0.125 + displace_z}, -- stalk
|
||||
{-0.25 + displace_x, -0.0625, -0.3125 + displace_z, 0.3125 + displace_x, 0.25, 0.25 + displace_z}, -- cap
|
||||
{-0.1875 + displace_x, 0.25, -0.25 + displace_z, 0.25 + displace_x, 0.3125, 0.1875 + displace_z}, -- cap rounding
|
||||
}
|
||||
},
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
|
||||
drop = {
|
||||
max_items = 4,
|
||||
items = {
|
||||
{
|
||||
items = {'df_farming:plump_helmet_4_picked'},
|
||||
rarity = 1,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:plump_helmet_spawn'},
|
||||
rarity = 1,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:plump_helmet_spawn'},
|
||||
rarity = 2,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:plump_helmet_spawn'},
|
||||
rarity = 2,
|
||||
},
|
||||
},
|
||||
},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return plump_helmet_on_place(itemstack, placer, pointed_thing, "df_farming:plump_helmet_4")
|
||||
end,
|
||||
|
||||
on_use = minetest.item_eat(4),
|
||||
_hunger_ng = {satiates = 4},
|
||||
_mcl_saturation = 1,
|
||||
})
|
||||
|
||||
local picked_groups = {}
|
||||
for key, val in pairs(plump_helmet_groups) do
|
||||
picked_groups[key]=val
|
||||
picked_groups.eatable=4
|
||||
picked_groups.food=4
|
||||
end
|
||||
picked_groups.not_in_creative_inventory = nil
|
||||
-- Need a separate picked type to prevent it from giving infinite spawn by just placing and re-harvesting
|
||||
minetest.register_node("df_farming:plump_helmet_4_picked", {
|
||||
description = S("Plump Helmet"),
|
||||
_doc_items_longdesc = df_farming.doc.plump_helmet_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.plump_helmet_usage,
|
||||
tiles = {
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png",
|
||||
"dfcaverns_plump_helmet_cap.png^[lowpart:40:dfcaverns_plump_helmet_stem.png",
|
||||
},
|
||||
groups = picked_groups,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
sound = {eat = {name = "df_farming_gummy_chew", gain = 1.0}},
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
floodable = false,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125 + displace_x, -0.5, -0.1875 + displace_z, 0.1875 + displace_x, 0.375, 0.125 + displace_z}, -- stalk
|
||||
{-0.25 + displace_x, -0.0625, -0.3125 + displace_z, 0.3125 + displace_x, 0.25, 0.25 + displace_z}, -- cap
|
||||
{-0.1875 + displace_x, 0.25, -0.25 + displace_z, 0.25 + displace_x, 0.3125, 0.1875 + displace_z}, -- cap rounding
|
||||
}
|
||||
},
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return plump_helmet_on_place(itemstack, placer, pointed_thing, "df_farming:plump_helmet_4_picked")
|
||||
end,
|
||||
|
||||
on_use = minetest.item_eat(4),
|
||||
_hunger_ng = {satiates = 4},
|
||||
_mcl_saturation = 1,
|
||||
})
|
||||
|
||||
local place_list = {
|
||||
minetest.get_content_id("df_farming:plump_helmet_spawn"),
|
||||
minetest.get_content_id("df_farming:plump_helmet_1"),
|
||||
minetest.get_content_id("df_farming:plump_helmet_2"),
|
||||
minetest.get_content_id("df_farming:plump_helmet_3"),
|
||||
minetest.get_content_id("df_farming:plump_helmet_4"),
|
||||
}
|
||||
-- doesn't set the timer running, so plants placed by this method won't grow
|
||||
df_farming.spawn_plump_helmet_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = place_list[math.random(1,5)]
|
||||
param2_data[vi] = math.random(1,4)-1
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:plump_helmet_spawn",
|
||||
burntime = 1
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:plump_helmet_1",
|
||||
burntime = 1
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:plump_helmet_2",
|
||||
burntime = 2
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:plump_helmet_3",
|
||||
burntime = 3
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:plump_helmet_4",
|
||||
burntime = 4
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:plump_helmet_4_picked",
|
||||
burntime = 4
|
||||
})
|
||||
@@ -0,0 +1,102 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local quarry_grow_time = df_farming.config.plant_growth_time * df_farming.config.quarry_bush_delay_multiplier / 5
|
||||
|
||||
local register_quarry_bush = function(number)
|
||||
local name = "df_farming:quarry_bush_"..tostring(number)
|
||||
local def = {
|
||||
description = S("Quarry Bush"),
|
||||
_doc_items_longdesc = df_farming.doc.quarry_bush_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.quarry_bush_usage,
|
||||
drawtype = "plantlike",
|
||||
paramtype2 = "meshoptions",
|
||||
place_param2 = 4,
|
||||
tiles = {"dfcaverns_quarry_bush_"..tostring(number)..".png"},
|
||||
inventory_image = "dfcaverns_quarry_bush_"..tostring(number)..".png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, fire_encouragement=60,fire_flammability=100, compostability=50, handy=1,shearsy=1,hoey=1, destroy_by_lava_flow=1,dig_by_piston=1},
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-8/16, -8/16, -8/16, 8/16, -8/16 + (16/5)*number/16, 8/16},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, name, elapsed)
|
||||
end,
|
||||
|
||||
drop = {
|
||||
max_items = 2,
|
||||
items = {
|
||||
{
|
||||
items = {'df_farming:quarry_bush_seed 2', 'df_farming:quarry_bush_leaves 2'},
|
||||
rarity = 6-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:quarry_bush_seed 1', 'df_farming:quarry_bush_leaves'},
|
||||
rarity = 6-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:quarry_bush_seed'},
|
||||
rarity = 6-number,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
if number < 5 then
|
||||
def._dfcaverns_next_stage_time = quarry_grow_time
|
||||
def._dfcaverns_next_stage = "df_farming:quarry_bush_"..tostring(number+1)
|
||||
end
|
||||
|
||||
minetest.register_node(name, def)
|
||||
end
|
||||
|
||||
for i = 1,5 do
|
||||
register_quarry_bush(i)
|
||||
end
|
||||
|
||||
local place_list = {
|
||||
minetest.get_content_id("df_farming:quarry_bush_1"),
|
||||
minetest.get_content_id("df_farming:quarry_bush_2"),
|
||||
minetest.get_content_id("df_farming:quarry_bush_3"),
|
||||
minetest.get_content_id("df_farming:quarry_bush_4"),
|
||||
minetest.get_content_id("df_farming:quarry_bush_5"),
|
||||
}
|
||||
-- doesn't set the timer running, so plants placed by this method won't grow
|
||||
df_farming.spawn_quarry_bush_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = place_list[math.random(1,5)]
|
||||
param2_data[vi] = 4
|
||||
end
|
||||
|
||||
df_farming.register_seed(
|
||||
"quarry_bush_seed",
|
||||
S("Rock Nuts"),
|
||||
"dfcaverns_rock_nuts.png",
|
||||
"df_farming:quarry_bush_1",
|
||||
quarry_grow_time,
|
||||
df_farming.doc.quarry_bush_desc,
|
||||
df_farming.doc.quarry_bush_usage
|
||||
)
|
||||
|
||||
minetest.register_craftitem("df_farming:quarry_bush_leaves", {
|
||||
description = S("Quarry Bush Leaves"),
|
||||
_doc_items_longdesc = df_farming.doc.quarry_bush_leaves_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.quarry_bush_leaves_usage,
|
||||
inventory_image = "dfcaverns_quarry_bush_leaves.png",
|
||||
groups = {dfcaverns_cookable = 1},
|
||||
stack_max = 99,
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:quarry_bush_leaves",
|
||||
burntime = 4
|
||||
})
|
||||
@@ -0,0 +1,8 @@
|
||||
dfcaverns_plant_growth_time (Base plant growth timer interval) int 3600
|
||||
dfcaverns_cave_wheat_delay_multiplier (cave_wheat growth delay multiplier) float 1
|
||||
dfcaverns_dimple_cup_delay_multiplier (dimple_cup growth delay multiplier) float 3
|
||||
dfcaverns_pig_tail_delay_multiplier (pig_tail growth delay multiplier) float 1
|
||||
dfcaverns_plump_helmet_delay_multiplier (plump_helmet growth delay multiplier) float 3
|
||||
dfcaverns_quarry_bush_delay_multiplier (quarry_bush growth delay multiplier) float 2
|
||||
dfcaverns_sweet_pod_delay_multiplier (sweet_pod growth delay multiplier) float 2
|
||||
dfcaverns_light_kills_fungus (Light kills fungus) bool true
|
||||
@@ -0,0 +1,5 @@
|
||||
df_farming_gummy_chew 1,2 and 3 are from https://freesound.org/people/Breviceps/sounds/447916/ by Breviceps under the CC0 public domain license
|
||||
df_farming_chomp_crunch are from https://freesound.org/people/bbrocer/sounds/382650/ by bbrocer under the CC0 public domain license
|
||||
df_farming_crisp_chew 1 and 2 are from https://freesound.org/people/InspectorJ/sounds/412068/ by InspectorJ under the CC-BY-SA 3.0 license
|
||||
df_farming_soft_chew 1, 2, 3 and 4 are from https://freesound.org/people/miekyj/sounds/326464/ by miekyj under the CC0 public domain license
|
||||
df_farming_mushy_chew 1, 2 and 3 are from https://freesound.org/people/nickyg11p/sounds/390800/ by nickyg11p under the CC0 public domain license
|
||||
@@ -0,0 +1,278 @@
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local sweet_pod_grow_time = df_farming.config.plant_growth_time * df_farming.config.sweet_pod_delay_multiplier / 6
|
||||
|
||||
local syrup_sound = df_dependencies.sound_water()
|
||||
if minetest.get_modpath("oil") then
|
||||
syrup_sound.footstep = {name = "oil_oil_footstep", gain = 0.2}
|
||||
end
|
||||
|
||||
local register_sweet_pod = function(number)
|
||||
local name = "df_farming:sweet_pod_"..tostring(number)
|
||||
local def = {
|
||||
description = S("Sweet Pod"),
|
||||
_doc_items_longdesc = df_farming.doc.sweet_pod_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.sweet_pod_usage,
|
||||
drawtype = "plantlike",
|
||||
tiles = {"dfcaverns_sweet_pod_"..tostring(number)..".png"},
|
||||
inventory_image = "dfcaverns_sweet_pod_"..tostring(number)..".png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, fire_encouragement=60,fire_flammability=100, compostability=70, handy=1,shearsy=1,hoey=1, destroy_by_lava_flow=1,dig_by_piston=1},
|
||||
sounds = df_dependencies.sound_leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-8/16, -8/16, -8/16, 8/16, -8/16 + (16/6)*number/16, 8/16},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
df_farming.grow_underground_plant(pos, name, elapsed)
|
||||
end,
|
||||
|
||||
drop = {
|
||||
max_items = 2,
|
||||
items = {
|
||||
{
|
||||
items = {'df_farming:sweet_pod_seed 2', 'df_farming:sweet_pods 2'},
|
||||
rarity = 7-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:sweet_pod_seed', 'df_farming:sweet_pods'},
|
||||
rarity = 7-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:sweet_pod_seed'},
|
||||
rarity = 7-number,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
if number < 6 then
|
||||
def._dfcaverns_next_stage = "df_farming:sweet_pod_"..tostring(number+1)
|
||||
def._dfcaverns_next_stage_time = sweet_pod_grow_time
|
||||
end
|
||||
|
||||
minetest.register_node(name, def)
|
||||
end
|
||||
|
||||
for i = 1,6 do
|
||||
register_sweet_pod(i)
|
||||
end
|
||||
|
||||
local place_list = {
|
||||
minetest.get_content_id("df_farming:sweet_pod_1"),
|
||||
minetest.get_content_id("df_farming:sweet_pod_2"),
|
||||
minetest.get_content_id("df_farming:sweet_pod_3"),
|
||||
minetest.get_content_id("df_farming:sweet_pod_4"),
|
||||
minetest.get_content_id("df_farming:sweet_pod_5"),
|
||||
minetest.get_content_id("df_farming:sweet_pod_6"),
|
||||
}
|
||||
-- doesn't set the timer running, so plants placed by this method won't grow
|
||||
df_farming.spawn_sweet_pod_vm = function(vi, area, data, param2_data)
|
||||
data[vi] = place_list[math.random(1,8)]
|
||||
param2_data[vi] = 0
|
||||
end
|
||||
|
||||
df_farming.register_seed(
|
||||
"sweet_pod_seed",
|
||||
S("Sweet Pod Spores"),
|
||||
"dfcaverns_sweet_pod_seed.png",
|
||||
"df_farming:sweet_pod_1",
|
||||
sweet_pod_grow_time,
|
||||
df_farming.doc.sweet_pod_desc,
|
||||
df_farming.doc.sweet_pod_usage)
|
||||
|
||||
minetest.register_craftitem("df_farming:sweet_pods", {
|
||||
description = S("Sweet Pods"),
|
||||
_doc_items_longdesc = df_farming.doc.sweet_pod_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.sweet_pod_usage,
|
||||
inventory_image = "dfcaverns_sweet_pods.png",
|
||||
stack_max = 99,
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:sweet_pods",
|
||||
burntime = 4
|
||||
})
|
||||
|
||||
---------------------------------------------
|
||||
-- Sugar
|
||||
|
||||
minetest.register_craftitem("df_farming:sugar", {
|
||||
description = S("Sweet Pod Sugar"),
|
||||
_doc_items_longdesc = df_farming.doc.sweet_pod_sugar_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.sweet_pod_sugar_usage,
|
||||
inventory_image = "dfcaverns_sugar.png",
|
||||
groups = {dfcaverns_cookable = 1, sugar = 1, food_sugar = 1},
|
||||
})
|
||||
|
||||
local recipe_registered = false
|
||||
|
||||
if minetest.get_modpath("cottages") then
|
||||
cottages.handmill_product["df_farming:sweet_pods"] = "df_farming:sugar";
|
||||
recipe_registered = true
|
||||
end
|
||||
|
||||
if minetest.registered_items[df_dependencies.node_name_mortar_pestle] ~= nil then
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:sugar",
|
||||
recipe = {
|
||||
"df_farming:sweet_pods", df_dependencies.node_name_mortar_pestle
|
||||
},
|
||||
replacements = {{"group:food_mortar_pestle", df_dependencies.node_name_mortar_pestle}},
|
||||
})
|
||||
recipe_registered = true
|
||||
end
|
||||
|
||||
if not recipe_registered then
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 3,
|
||||
output = "df_farming:sugar",
|
||||
recipe = "df_farming:sweet_pods",
|
||||
})
|
||||
end
|
||||
|
||||
----------------------------------------------
|
||||
-- Syrup
|
||||
|
||||
if df_dependencies.bucket_register_liquid then
|
||||
minetest.register_node("df_farming:dwarven_syrup_source", {
|
||||
description = S("Dwarven Syrup Source"),
|
||||
_doc_items_longdesc = df_farming.doc.sweet_pod_syrup_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.sweet_pod_syrup_usage,
|
||||
drawtype = "liquid",
|
||||
tiles = {
|
||||
{
|
||||
name = "dfcaverns_dwarven_syrup_source_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 2.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
special_tiles = {
|
||||
{
|
||||
name = "dfcaverns_dwarven_syrup_source_animated.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 2.0,
|
||||
},
|
||||
backface_culling = false,
|
||||
},
|
||||
},
|
||||
alpha = 204,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "df_farming:dwarven_syrup_flowing",
|
||||
liquid_alternative_source = "df_farming:dwarven_syrup_source",
|
||||
liquid_viscosity = 7,
|
||||
liquid_renewable = false,
|
||||
liquid_range = 2,
|
||||
post_effect_color = {a = 204, r = 179, g = 131, b = 88},
|
||||
groups = {liquid = 1, flammable = -1, dig_by_piston=1, fire_encouragement=5},
|
||||
sounds = syrup_sound,
|
||||
_mcl_blast_resistance = 100,
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
|
||||
minetest.register_node("df_farming:dwarven_syrup_flowing", {
|
||||
description = S("Flowing Dwarven Syrup"),
|
||||
_doc_items_longdesc = df_farming.doc.sweet_pod_syrup_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.sweet_pod_syrup_usage,
|
||||
drawtype = "flowingliquid",
|
||||
tiles = {"dfcaverns_dwarven_syrup.png"},
|
||||
special_tiles = {
|
||||
{
|
||||
name = "dfcaverns_dwarven_syrup_flowing_animated.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 0.8,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "dfcaverns_dwarven_syrup_flowing_animated.png",
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 0.8,
|
||||
},
|
||||
},
|
||||
},
|
||||
alpha = 204,
|
||||
paramtype = "light",
|
||||
paramtype2 = "flowingliquid",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquidtype = "flowing",
|
||||
liquid_alternative_flowing = "df_farming:dwarven_syrup_flowing",
|
||||
liquid_alternative_source = "df_farming:dwarven_syrup_source",
|
||||
liquid_viscosity = 7,
|
||||
liquid_renewable = false,
|
||||
liquid_range = 2,
|
||||
post_effect_color = {a = 204, r = 179, g = 131, b = 88},
|
||||
groups = {liquid = 1, flammable = -1, not_in_creative_inventory = 1, dig_by_piston=1, fire_encouragement = 5},
|
||||
sounds = syrup_sound,
|
||||
_mcl_blast_resistance = 100,
|
||||
_mcl_hardness = -1,
|
||||
})
|
||||
|
||||
df_dependencies.bucket_register_liquid(
|
||||
"df_farming:dwarven_syrup_source",
|
||||
"df_farming:dwarven_syrup_flowing",
|
||||
"df_farming:dwarven_syrup_bucket",
|
||||
"dfcaverns_bucket_dwarven_syrup.png",
|
||||
S("Dwarven Syrup Bucket")
|
||||
)
|
||||
|
||||
if minetest.get_modpath("crafting") then
|
||||
simplecrafting_lib.register("furnace", {
|
||||
input = {
|
||||
[df_dependencies.node_name_bucket_empty] = 1,
|
||||
["df_farming:sugar"] = 3,
|
||||
["simplecrafting_lib:heat"] = 5,
|
||||
},
|
||||
output = "df_farming:dwarven_syrup_bucket",
|
||||
})
|
||||
else
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:dwarven_syrup_bucket",
|
||||
recipe = {df_dependencies.node_name_bucket_empty, "df_farming:sugar", "df_farming:sugar", "df_farming:sugar"},
|
||||
})
|
||||
end
|
||||
|
||||
if minetest.get_modpath("dynamic_liquid") then
|
||||
dynamic_liquid.liquid_abm("df_farming:dwarven_syrup_source", "df_farming:dwarven_syrup_flowing", 5)
|
||||
end
|
||||
end
|
||||
|
After Width: | Height: | Size: 219 B |
|
After Width: | Height: | Size: 838 B |
|
After Width: | Height: | Size: 205 B |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 142 B |
|
After Width: | Height: | Size: 173 B |
|
After Width: | Height: | Size: 185 B |
|
After Width: | Height: | Size: 207 B |
|
After Width: | Height: | Size: 226 B |
|
After Width: | Height: | Size: 254 B |
|
After Width: | Height: | Size: 208 B |
|
After Width: | Height: | Size: 189 B |
|
After Width: | Height: | Size: 141 B |
|
After Width: | Height: | Size: 810 B |
|
After Width: | Height: | Size: 380 B |
|
After Width: | Height: | Size: 427 B |
|
After Width: | Height: | Size: 633 B |
|
After Width: | Height: | Size: 802 B |
|
After Width: | Height: | Size: 172 B |
|
After Width: | Height: | Size: 250 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 150 B |
|
After Width: | Height: | Size: 503 B |
|
After Width: | Height: | Size: 518 B |
|
After Width: | Height: | Size: 528 B |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 574 B |
|
After Width: | Height: | Size: 595 B |
|
After Width: | Height: | Size: 613 B |
|
After Width: | Height: | Size: 614 B |
|
After Width: | Height: | Size: 693 B |
|
After Width: | Height: | Size: 228 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 283 B |
|
After Width: | Height: | Size: 553 B |
|
After Width: | Height: | Size: 535 B |
|
After Width: | Height: | Size: 676 B |
|
After Width: | Height: | Size: 564 B |
|
After Width: | Height: | Size: 970 B |
|
After Width: | Height: | Size: 641 B |
|
After Width: | Height: | Size: 450 B |
|
After Width: | Height: | Size: 835 B |
|
After Width: | Height: | Size: 536 B |
|
After Width: | Height: | Size: 512 B |
|
After Width: | Height: | Size: 826 B |
|
After Width: | Height: | Size: 919 B |
|
After Width: | Height: | Size: 919 B |
|
After Width: | Height: | Size: 792 B |
|
After Width: | Height: | Size: 553 B |
|
After Width: | Height: | Size: 418 B |
|
After Width: | Height: | Size: 479 B |
|
After Width: | Height: | Size: 594 B |
|
After Width: | Height: | Size: 326 B |
|
After Width: | Height: | Size: 328 B |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 548 B |
|
After Width: | Height: | Size: 557 B |
|
After Width: | Height: | Size: 568 B |
|
After Width: | Height: | Size: 411 B |
|
After Width: | Height: | Size: 667 B |
|
After Width: | Height: | Size: 444 B |
|
After Width: | Height: | Size: 371 B |