Modpack refactor (#4)
Split this mod into a set of sub-mods in a modpack, and in the process did a whole bunch of renovations. * updated Subterrane's API to allow for more patterned placement of things * added "warrens" * clean separation of flooded and non-flooded caverns * rearranged biomes to make cavern layers more distinct * added oil layer * added underworld layer
26
df_farming/LICENSE.txt
Normal file
@ -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.
|
54
df_farming/aliases.lua
Normal file
@ -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" )
|
131
df_farming/cave_wheat.lua
Normal file
@ -0,0 +1,131 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
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,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
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,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
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
|
||||
})
|
||||
|
||||
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},
|
||||
})
|
||||
|
||||
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_bread.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {flammable = 2, food = 5},
|
||||
})
|
||||
|
||||
if minetest.get_modpath("cottages") then
|
||||
cottages.handmill_product["df_farming:cave_wheat"] = "df_farming:cave_flour";
|
||||
else
|
||||
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"
|
||||
})
|
43
df_farming/config.lua
Normal file
@ -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.setting_getbool(CONFIG_FILE_PREFIX..name)
|
||||
elseif stype == "string" then
|
||||
value = minetest.setting_get(CONFIG_FILE_PREFIX..name)
|
||||
elseif stype == "int" or stype == "float" then
|
||||
value = tonumber(minetest.setting_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", 500, "Base plant growth time")
|
||||
|
||||
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")
|
98
df_farming/cooking.lua
Normal file
@ -0,0 +1,98 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local register_cooking_recipes = function(prefix, item, name, returns)
|
||||
minetest.register_craftitem("df_farming:"..item.."_biscuit", {
|
||||
description = S("@1 Biscuit", name),
|
||||
_doc_items_longdesc = df_farming.doc.biscuit_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.biscuit_usage,
|
||||
inventory_image = "dfcaverns_biscuit.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = {food = 4},
|
||||
})
|
||||
minetest.register_craftitem("df_farming:"..item.."_stew", {
|
||||
description = S("@1 Stew", name),
|
||||
_doc_items_longdesc = df_farming.doc.stew_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.stew_usage,
|
||||
inventory_image = "dfcaverns_stew.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
groups = {food = 6},
|
||||
})
|
||||
minetest.register_craftitem("df_farming:"..item.."_roast", {
|
||||
description = S("@1 Roast", name),
|
||||
_doc_items_longdesc = df_farming.doc.roast_desc,
|
||||
_doc_items_usagehelp = df_farming.doc.roast_usage,
|
||||
inventory_image = "dfcaverns_roast.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = {food = 8},
|
||||
})
|
||||
|
||||
minetest.register_alias("dfcaverns:"..item.."_biscuit", "df_farming:"..item.."_biscuit")
|
||||
minetest.register_alias("dfcaverns:"..item.."_stew", "df_farming:"..item.."_stew")
|
||||
minetest.register_alias("dfcaverns:"..item.."_roast", "df_farming:"..item.."_roast")
|
||||
|
||||
if minetest.get_modpath("simplecrafting_lib") then
|
||||
simplecrafting_lib.register("cooking", {
|
||||
input = {
|
||||
["group:dfcaverns_cookable"] = 1,
|
||||
[prefix..":"..item] = 1,
|
||||
},
|
||||
output = {
|
||||
["df_farming:"..item.."_biscuit"] = 1,
|
||||
},
|
||||
cooktime = 5.0,
|
||||
})
|
||||
simplecrafting_lib.register("cooking", {
|
||||
input = {
|
||||
["group:dfcaverns_cookable"] = 2,
|
||||
[prefix..":"..item] = 1,
|
||||
},
|
||||
output = {
|
||||
["df_farming:"..item.."_stew"] = 1,
|
||||
},
|
||||
cooktime = 10.0,
|
||||
})
|
||||
simplecrafting_lib.register("cooking", {
|
||||
input = {
|
||||
["group:dfcaverns_cookable"] = 3,
|
||||
[prefix..":"..item] = 1,
|
||||
},
|
||||
output = {
|
||||
["df_farming:"..item.."_roast"] = 1,
|
||||
},
|
||||
cooktime = 15.0,
|
||||
})
|
||||
else
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:"..item.."_biscuit",
|
||||
recipe = {"group:dfcaverns_cookable", prefix..":"..item},
|
||||
replacements = returns
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:"..item.."_stew",
|
||||
recipe = {"group:dfcaverns_cookable", "group:dfcaverns_cookable", prefix..":"..item},
|
||||
replacements = returns
|
||||
})
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:"..item.."_roast",
|
||||
recipe = {"group:dfcaverns_cookable", "group:dfcaverns_cookable", "group:dfcaverns_cookable", prefix..":"..item},
|
||||
replacements = returns
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
register_cooking_recipes("df_farming", "cave_flour", S("Cave Wheat Flour"))
|
||||
register_cooking_recipes("df_farming", "cave_wheat_seed", S("Cave Wheat Seed"))
|
||||
register_cooking_recipes("df_farming", "sweet_pod_seed", S("Sweet Pod Spore"))
|
||||
register_cooking_recipes("df_farming", "sugar", S("Sweet Pod Sugar"))
|
||||
register_cooking_recipes("group", "plump_helmet", S("Plump Helmet"))
|
||||
register_cooking_recipes("df_farming", "plump_helmet_spawn", S("Plump Helmet Spawn"))
|
||||
register_cooking_recipes("df_farming", "quarry_bush_leaves", S("Quarry Bush Leaf"))
|
||||
register_cooking_recipes("df_farming", "quarry_bush_seed", S("Rock Nut"))
|
||||
register_cooking_recipes("df_farming", "dimple_cup_seed", S("Dimple Cup Spore"))
|
||||
register_cooking_recipes("df_farming", "pig_tail_seed", S("Pig Tail Spore"))
|
||||
register_cooking_recipes("df_farming", "dwarven_syrup_bucket", S("Dwarven Syrup"), {{"df_farming:dwarven_syrup_bucket", "bucket:bucket_empty"}})
|
9
df_farming/depends.txt
Normal file
@ -0,0 +1,9 @@
|
||||
default
|
||||
farming?
|
||||
cottages?
|
||||
bucket?
|
||||
dynamic_liquid?
|
||||
wool?
|
||||
intllib?
|
||||
doc?
|
||||
simplecrafting_lib?
|
1
df_farming/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Adds farmable underground plants that die in sunlight. Also includes various cooking reactions.
|
73
df_farming/dimple_cup.lua
Normal file
@ -0,0 +1,73 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local dimple_grow_time = df_farming.config.plant_growth_time * df_farming.config.dimple_cup_delay_multiplier / 4
|
||||
|
||||
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,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, color_blue = 1, light_sensitive_fungus = 11, flower = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
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_4'},
|
||||
rarity = 7-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:dimple_cup_seed 1', 'df_farming:dimple_cup_4'},
|
||||
rarity = 5-number,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
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 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)
|
62
df_farming/doc.lua
Normal file
@ -0,0 +1,62 @@
|
||||
df_farming.doc = {}
|
||||
|
||||
if not minetest.get_modpath("doc") then
|
||||
return
|
||||
end
|
||||
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
df_farming.doc.biscuit_desc = S("A meal made from the admixture of two ingredients, biscuits keep well but are not a rich source of nutrients.")
|
||||
df_farming.doc.biscuit_usage = nil
|
||||
df_farming.doc.stew_desc = S("Stews mix three ingredients together. They're more wholesome than biscuits, packing more nutrition into a single serving.")
|
||||
df_farming.doc.stew_usage = nil
|
||||
df_farming.doc.roast_desc = S("Four finely minced ingredients combine into a roast, which serves as a full meal.")
|
||||
df_farming.doc.roast_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.")
|
18
df_farming/init.lua
Normal file
@ -0,0 +1,18 @@
|
||||
df_farming = {}
|
||||
|
||||
--grab a shorthand for the filepath of the mod
|
||||
local modpath = minetest.get_modpath(minetest.get_current_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")
|
45
df_farming/intllib.lua
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
-- Fallback functions for when `intllib` is not installed.
|
||||
-- Code released under Unlicense <http://unlicense.org>.
|
||||
|
||||
-- Get the latest version of this file at:
|
||||
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
|
||||
|
||||
local function format(str, ...)
|
||||
local args = { ... }
|
||||
local function repl(escape, open, num, close)
|
||||
if escape == "" then
|
||||
local replacement = tostring(args[tonumber(num)])
|
||||
if open == "" then
|
||||
replacement = replacement..close
|
||||
end
|
||||
return replacement
|
||||
else
|
||||
return "@"..open..num..close
|
||||
end
|
||||
end
|
||||
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
|
||||
end
|
||||
|
||||
local gettext, ngettext
|
||||
if minetest.get_modpath("intllib") then
|
||||
if intllib.make_gettext_pair then
|
||||
-- New method using gettext.
|
||||
gettext, ngettext = intllib.make_gettext_pair()
|
||||
else
|
||||
-- Old method using text files.
|
||||
gettext = intllib.Getter()
|
||||
end
|
||||
end
|
||||
|
||||
-- Fill in missing functions.
|
||||
|
||||
gettext = gettext or function(msgid, ...)
|
||||
return format(msgid, ...)
|
||||
end
|
||||
|
||||
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
|
||||
return format(n==1 and msgid or msgid_plural, ...)
|
||||
end
|
||||
|
||||
return gettext, ngettext
|
336
df_farming/locale/it.po
Normal file
@ -0,0 +1,336 @@
|
||||
# ITALIAN LOCALE FOR THE DFCAVERNS MODULE
|
||||
# Copyright (C) 2017 FaceDeer <derksenmobile@gmail.com>
|
||||
# This file is distributed under the same license as the DFCAVERNS package.
|
||||
# Hamlet <h4mlet@riseup.net>, 2017.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dfcaverns module's Italian locale\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-23 00:27-0700\n"
|
||||
"PO-Revision-Date: 2017-08-17 23:01+0100\n"
|
||||
"Last-Translator: H4mlet <h4mlet@riseup.net>\n"
|
||||
"Language-Team: ITALIANO\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.10\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: df_farming\cave_wheat.lua:10
|
||||
#: df_farming\cave_wheat.lua:70
|
||||
msgid "Cave Wheat"
|
||||
msgstr "Grano di caverna"
|
||||
|
||||
#: df_farming\cave_wheat.lua:62
|
||||
#: df_farming\cooking.lua:89
|
||||
msgid "Cave Wheat Seed"
|
||||
msgstr "Seme di grano di caverna"
|
||||
|
||||
#: df_farming\cave_wheat.lua:83
|
||||
#: df_farming\cooking.lua:88
|
||||
msgid "Cave Wheat Flour"
|
||||
msgstr "Farina di grano di caverna"
|
||||
|
||||
#: df_farming\cave_wheat.lua:91
|
||||
msgid "Dwarven Bread"
|
||||
msgstr "Pane nanico"
|
||||
|
||||
#: df_farming\cooking.lua:7
|
||||
msgid "@1 Biscuit"
|
||||
msgstr "Biscotto di @1"
|
||||
|
||||
#: df_farming\cooking.lua:15
|
||||
msgid "@1 Stew"
|
||||
msgstr "Stufato di @1"
|
||||
|
||||
#: df_farming\cooking.lua:23
|
||||
msgid "@1 Roast"
|
||||
msgstr "Arrosto di @1"
|
||||
|
||||
#: df_farming\cooking.lua:90
|
||||
msgid "Sweet Pod Spore"
|
||||
msgstr "Spora di baccello dolce"
|
||||
|
||||
#: df_farming\cooking.lua:91
|
||||
#: df_farming\sweet_pod.lua:84
|
||||
msgid "Sweet Pod Sugar"
|
||||
msgstr "Zucchero di baccello dolce"
|
||||
|
||||
#: df_farming\cooking.lua:92
|
||||
#: df_farming\plump_helmet.lua:92
|
||||
#: df_farming\plump_helmet.lua:129
|
||||
#: df_farming\plump_helmet.lua:164
|
||||
#: df_farming\plump_helmet.lua:199
|
||||
#: df_farming\plump_helmet.lua:251
|
||||
msgid "Plump Helmet"
|
||||
msgstr "Elmo rotondo"
|
||||
|
||||
#: df_farming\cooking.lua:93
|
||||
#: df_farming\plump_helmet.lua:61
|
||||
msgid "Plump Helmet Spawn"
|
||||
msgstr "Prole di elmo rotondo"
|
||||
|
||||
#: df_farming\cooking.lua:94
|
||||
msgid "Quarry Bush Leaf"
|
||||
msgstr "Foglia di cespuglio di cava"
|
||||
|
||||
#: df_farming\cooking.lua:95
|
||||
msgid "Rock Nut"
|
||||
msgstr "Noce di roccia"
|
||||
|
||||
#: df_farming\cooking.lua:96
|
||||
msgid "Dimple Cup Spore"
|
||||
msgstr "Spora di coppa increspata"
|
||||
|
||||
#: df_farming\cooking.lua:97
|
||||
#: df_farming\pig_tail.lua:62
|
||||
msgid "Pig Tail Spore"
|
||||
msgstr "Spora di coda di maiale"
|
||||
|
||||
#: df_farming\cooking.lua:98
|
||||
msgid "Dwarven Syrup"
|
||||
msgstr "Sciroppo nanico"
|
||||
|
||||
#: df_farming\dimple_cup.lua:10
|
||||
msgid "Dimple Cup"
|
||||
msgstr "Coppa increspata"
|
||||
|
||||
#: df_farming\dimple_cup.lua:56
|
||||
msgid "Dimple Cup Spores"
|
||||
msgstr "Spore di coppa increspata"
|
||||
|
||||
#: df_farming\doc.lua:11
|
||||
msgid ""
|
||||
"A meal made from the admixture of two ingredients, biscuits keep well but "
|
||||
"are not a rich source of nutrients."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:13
|
||||
msgid ""
|
||||
"Stews mix three ingredients together. They're more wholesome than biscuits, "
|
||||
"packing more nutrition into a single serving."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:15
|
||||
msgid ""
|
||||
"Four finely minced ingredients combine into a roast, which serves as a full "
|
||||
"meal."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:21
|
||||
msgid "Whatever this fungus was in life, it is now dead."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:22
|
||||
msgid ""
|
||||
"Dead fungus quickly decays into an unrecognizable mess. It can be used as "
|
||||
"weak fuel or terrible decor."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:24
|
||||
msgid ""
|
||||
"A species of lavender mushroom ubiquitous in caves that is most notable for "
|
||||
"the soft bioluminescence it produces."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:25
|
||||
msgid ""
|
||||
"This mushroom is inedible but continues producing modest levels of light "
|
||||
"long after it's picked."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:27
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:28
|
||||
msgid ""
|
||||
"Like its surface cousin, cave wheat produces grain that can be ground into a "
|
||||
"form of flour."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:29
|
||||
msgid "Cave wheat seed ground into a powder suitable for cooking."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:30
|
||||
msgid ""
|
||||
"When baked alone it forms an edible bread, but it combines well with other "
|
||||
"more flavorful ingredients."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:31
|
||||
msgid ""
|
||||
"Bread baked from cave wheat flour is tough and durable. A useful ration for "
|
||||
"long expeditions."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:32
|
||||
msgid "It's not tasty, but it keeps you going."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:34
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:35
|
||||
msgid ""
|
||||
"Dimple cups can be dried, ground, and processed to extract a deep blue dye."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:37
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:38
|
||||
msgid "Pig tail stalks can be processed to extract fibers useful as thread."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:39
|
||||
msgid "Threads of pig tail fiber."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:40
|
||||
msgid ""
|
||||
"A crafting item that can be woven into textiles and other similar items."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:43
|
||||
msgid ""
|
||||
"While they can be eaten fresh, they can be monotonous fare and are perhaps "
|
||||
"better appreciated as part of a more complex prepared dish."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:45
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:46
|
||||
msgid ""
|
||||
"Quarry bush leaves and nodules (called 'rock nuts') can be harvested and are "
|
||||
"edible with processing."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:47
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:48
|
||||
msgid "Quarry bush leaves can be used as an ingredient in foodstuffs."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:50
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:53
|
||||
msgid "When milled, sweet pods produce a granular sugary substance."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:55
|
||||
msgid "When dried in an oven, sweet pods produce a granular sugary substance."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:57
|
||||
msgid "Crushing them in a bucket squeezes out a flavorful syrup."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:59
|
||||
msgid "Sweet pod sugar has a pink tint to it."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:60
|
||||
msgid ""
|
||||
"Too sweet to be eaten directly, it makes an excellent ingredient in food "
|
||||
"recipes."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:61
|
||||
msgid "Sweet pod syrup is thick and flavorful."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:62
|
||||
msgid ""
|
||||
"Too strong and thick to drink straight, sweet pod syrup is useful in food "
|
||||
"recipes."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\pig_tail.lua:10
|
||||
msgid "Pig Tail"
|
||||
msgstr "Coda di maiale"
|
||||
|
||||
#: df_farming\pig_tail.lua:70
|
||||
msgid "Pig tail thread"
|
||||
msgstr "Filo di coda di maiale"
|
||||
|
||||
#: df_farming\plants.lua:10
|
||||
msgid "Dead Fungus"
|
||||
msgstr "Fungo morto"
|
||||
|
||||
#: df_farming\plants.lua:36
|
||||
msgid "Cavern Fungi"
|
||||
msgstr "Funghi di caverna"
|
||||
|
||||
#: df_farming\quarry_bush.lua:10
|
||||
msgid "Quarry Bush"
|
||||
msgstr "Cespuglio di cava"
|
||||
|
||||
#: df_farming\quarry_bush.lua:62
|
||||
msgid "Rock Nuts"
|
||||
msgstr "Noci di roccia"
|
||||
|
||||
#: df_farming\quarry_bush.lua:71
|
||||
msgid "Quarry Bush Leaves"
|
||||
msgstr "Foglie di cespuglio di cava"
|
||||
|
||||
#: df_farming\sweet_pod.lua:10
|
||||
msgid "Sweet Pod"
|
||||
msgstr "Baccello dolce"
|
||||
|
||||
#: df_farming\sweet_pod.lua:60
|
||||
msgid "Sweet Pod Spores"
|
||||
msgstr "Spore di baccello dolce"
|
||||
|
||||
#: df_farming\sweet_pod.lua:68
|
||||
msgid "Sweet Pods"
|
||||
msgstr "Baccelli dolci"
|
||||
|
||||
#: df_farming\sweet_pod.lua:107
|
||||
msgid "Dwarven Syrup Source"
|
||||
msgstr "Fonte di sciroppo nanico"
|
||||
|
||||
#: df_farming\sweet_pod.lua:155
|
||||
msgid "Flowing Dwarven Syrup"
|
||||
msgstr "Sciroppo nanico che scorre"
|
||||
|
||||
#: df_farming\sweet_pod.lua:208
|
||||
msgid "Dwarven Syrup Bucket"
|
||||
msgstr "Secchio di sciroppo nanico"
|
335
df_farming/locale/template.pot
Normal file
@ -0,0 +1,335 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-12-23 00:27-0700\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: df_farming\cave_wheat.lua:10
|
||||
#: df_farming\cave_wheat.lua:70
|
||||
msgid "Cave Wheat"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cave_wheat.lua:62
|
||||
#: df_farming\cooking.lua:89
|
||||
msgid "Cave Wheat Seed"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cave_wheat.lua:83
|
||||
#: df_farming\cooking.lua:88
|
||||
msgid "Cave Wheat Flour"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cave_wheat.lua:91
|
||||
msgid "Dwarven Bread"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:7
|
||||
msgid "@1 Biscuit"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:15
|
||||
msgid "@1 Stew"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:23
|
||||
msgid "@1 Roast"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:90
|
||||
msgid "Sweet Pod Spore"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:91
|
||||
#: df_farming\sweet_pod.lua:84
|
||||
msgid "Sweet Pod Sugar"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:92
|
||||
#: df_farming\plump_helmet.lua:92
|
||||
#: df_farming\plump_helmet.lua:129
|
||||
#: df_farming\plump_helmet.lua:164
|
||||
#: df_farming\plump_helmet.lua:199
|
||||
#: df_farming\plump_helmet.lua:251
|
||||
msgid "Plump Helmet"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:93
|
||||
#: df_farming\plump_helmet.lua:61
|
||||
msgid "Plump Helmet Spawn"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:94
|
||||
msgid "Quarry Bush Leaf"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:95
|
||||
msgid "Rock Nut"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:96
|
||||
msgid "Dimple Cup Spore"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:97
|
||||
#: df_farming\pig_tail.lua:62
|
||||
msgid "Pig Tail Spore"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\cooking.lua:98
|
||||
msgid "Dwarven Syrup"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\dimple_cup.lua:10
|
||||
msgid "Dimple Cup"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\dimple_cup.lua:56
|
||||
msgid "Dimple Cup Spores"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:11
|
||||
msgid ""
|
||||
"A meal made from the admixture of two ingredients, biscuits keep well but "
|
||||
"are not a rich source of nutrients."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:13
|
||||
msgid ""
|
||||
"Stews mix three ingredients together. They're more wholesome than biscuits, "
|
||||
"packing more nutrition into a single serving."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:15
|
||||
msgid ""
|
||||
"Four finely minced ingredients combine into a roast, which serves as a full "
|
||||
"meal."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:21
|
||||
msgid "Whatever this fungus was in life, it is now dead."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:22
|
||||
msgid ""
|
||||
"Dead fungus quickly decays into an unrecognizable mess. It can be used as "
|
||||
"weak fuel or terrible decor."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:24
|
||||
msgid ""
|
||||
"A species of lavender mushroom ubiquitous in caves that is most notable for "
|
||||
"the soft bioluminescence it produces."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:25
|
||||
msgid ""
|
||||
"This mushroom is inedible but continues producing modest levels of light "
|
||||
"long after it's picked."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:27
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:28
|
||||
msgid ""
|
||||
"Like its surface cousin, cave wheat produces grain that can be ground into a "
|
||||
"form of flour."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:29
|
||||
msgid "Cave wheat seed ground into a powder suitable for cooking."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:30
|
||||
msgid ""
|
||||
"When baked alone it forms an edible bread, but it combines well with other "
|
||||
"more flavorful ingredients."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:31
|
||||
msgid ""
|
||||
"Bread baked from cave wheat flour is tough and durable. A useful ration for "
|
||||
"long expeditions."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:32
|
||||
msgid "It's not tasty, but it keeps you going."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:34
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:35
|
||||
msgid ""
|
||||
"Dimple cups can be dried, ground, and processed to extract a deep blue dye."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:37
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:38
|
||||
msgid "Pig tail stalks can be processed to extract fibers useful as thread."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:39
|
||||
msgid "Threads of pig tail fiber."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:40
|
||||
msgid ""
|
||||
"A crafting item that can be woven into textiles and other similar items."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:42
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:43
|
||||
msgid ""
|
||||
"While they can be eaten fresh, they can be monotonous fare and are perhaps "
|
||||
"better appreciated as part of a more complex prepared dish."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:45
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:46
|
||||
msgid ""
|
||||
"Quarry bush leaves and nodules (called 'rock nuts') can be harvested and are "
|
||||
"edible with processing."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:47
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:48
|
||||
msgid "Quarry bush leaves can be used as an ingredient in foodstuffs."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:50
|
||||
msgid ""
|
||||
"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."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:53
|
||||
msgid "When milled, sweet pods produce a granular sugary substance."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:55
|
||||
msgid "When dried in an oven, sweet pods produce a granular sugary substance."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:57
|
||||
msgid "Crushing them in a bucket squeezes out a flavorful syrup."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:59
|
||||
msgid "Sweet pod sugar has a pink tint to it."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:60
|
||||
msgid ""
|
||||
"Too sweet to be eaten directly, it makes an excellent ingredient in food "
|
||||
"recipes."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:61
|
||||
msgid "Sweet pod syrup is thick and flavorful."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\doc.lua:62
|
||||
msgid ""
|
||||
"Too strong and thick to drink straight, sweet pod syrup is useful in food "
|
||||
"recipes."
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\pig_tail.lua:10
|
||||
msgid "Pig Tail"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\pig_tail.lua:70
|
||||
msgid "Pig tail thread"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\plants.lua:10
|
||||
msgid "Dead Fungus"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\plants.lua:36
|
||||
msgid "Cavern Fungi"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\quarry_bush.lua:10
|
||||
msgid "Quarry Bush"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\quarry_bush.lua:62
|
||||
msgid "Rock Nuts"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\quarry_bush.lua:71
|
||||
msgid "Quarry Bush Leaves"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\sweet_pod.lua:10
|
||||
msgid "Sweet Pod"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\sweet_pod.lua:60
|
||||
msgid "Sweet Pod Spores"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\sweet_pod.lua:68
|
||||
msgid "Sweet Pods"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\sweet_pod.lua:107
|
||||
msgid "Dwarven Syrup Source"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\sweet_pod.lua:155
|
||||
msgid "Flowing Dwarven Syrup"
|
||||
msgstr ""
|
||||
|
||||
#: df_farming\sweet_pod.lua:208
|
||||
msgid "Dwarven Syrup Bucket"
|
||||
msgstr ""
|
6
df_farming/locale/update.bat
Normal file
@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
|
||||
cd ..
|
||||
set LIST=
|
||||
for /r %%X in (*.lua) do set LIST=!LIST! %%X
|
||||
..\..\intllib\tools\xgettext.bat %LIST%
|
1
df_farming/mod.conf
Normal file
@ -0,0 +1 @@
|
||||
name = df_farming
|
117
df_farming/pig_tail.lua
Normal file
@ -0,0 +1,117 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
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,
|
||||
floodable = true,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
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 2'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:pig_tail_seed 1', 'df_farming:pig_tail_thread'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
{
|
||||
items = {'df_farming:pig_tail_seed'},
|
||||
rarity = 9-number,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
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 minetest.get_modpath("wool") then
|
||||
minetest.register_craft({
|
||||
output = "wool:white",
|
||||
recipe = {
|
||||
{"group:thread", "group:thread"},
|
||||
{"group:thread", "group:thread"},
|
||||
}
|
||||
})
|
||||
end
|
||||
if minetest.get_modpath("farming") then
|
||||
minetest.register_craft({
|
||||
output = "farming:string 2",
|
||||
recipe = {
|
||||
{"group:thread"},
|
||||
{"group:thread"},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "df_farming:pig_tail_thread",
|
||||
burntime = 1,
|
||||
})
|
||||
|
215
df_farming/plants.lua
Normal file
@ -0,0 +1,215 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
-- 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,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, flow_through = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0.0, 0.5},
|
||||
},
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
-- not DF canon
|
||||
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,
|
||||
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},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0.0, 0.5},
|
||||
},
|
||||
})
|
||||
|
||||
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 = {["default:dirt"] = true, ["df_farming:dirt_with_cave_moss"] = true, ["df_farming:cobble_with_floor_fungus"] = true}
|
||||
local growable = {["farming:soil_wet"] = true, ["default:dirt"] = true, ["df_farming:dirt_with_cave_moss"] = true, ["df_farming:cobble_with_floor_fungus"] = 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 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
|
||||
minetest.add_node(pt.above, {name = plantname, param2 = 1})
|
||||
df_farming.plant_timer(pt.above, plantname)
|
||||
if not minetest.setting_getbool("creative_mode") 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, flammable = 2, dfcaverns_cookable = 1, digtron_on_place=1},
|
||||
_dfcaverns_next_stage = stage_one,
|
||||
_dfcaverns_next_stage_time = grow_time,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
floodable = true,
|
||||
sunlight_propagates = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
|
||||
},
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
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)
|
||||
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
|
||||
|
||||
if df_farming.config.light_kills_fungus then
|
||||
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)
|
||||
local node_def = minetest.registered_nodes[node.name]
|
||||
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)
|
||||
if light_level and light_level > node_def.groups.light_sensitive_fungus then
|
||||
minetest.set_node(pos, {name=dead_node, param2 = node.param2})
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
322
df_farming/plump_helmet.lua
Normal file
@ -0,0 +1,322 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local displace_x = 0.125
|
||||
local displace_z = 0.125
|
||||
|
||||
local plump_helmet_grow_time = df_farming.config.plant_growth_time * df_farming.config.cave_wheat_delay_multiplier / 4
|
||||
|
||||
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
|
||||
minetest.add_node(pt.above, {name = plantname, param2 = math.random(0,3)})
|
||||
df_farming.plant_timer(pt.above, plantname)
|
||||
if not minetest.setting_getbool("creative_mode") 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, flammable = 2, plant = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, digtron_on_place=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,
|
||||
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},
|
||||
}
|
||||
},
|
||||
|
||||
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,
|
||||
})
|
||||
|
||||
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 = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, plump_helmet = 1, food = 1, digtron_on_place=1},
|
||||
_dfcaverns_next_stage = "df_farming:plump_helmet_2",
|
||||
_dfcaverns_next_stage_time = plump_helmet_grow_time,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
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
|
||||
}
|
||||
},
|
||||
|
||||
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),
|
||||
|
||||
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 = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, plump_helmet = 1, food = 2, digtron_on_place=1},
|
||||
_dfcaverns_next_stage = "df_farming:plump_helmet_3",
|
||||
_dfcaverns_next_stage_time = plump_helmet_grow_time,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = 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
|
||||
}
|
||||
},
|
||||
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),
|
||||
|
||||
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 = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, plump_helmet = 1, food = 3, digtron_on_place=1},
|
||||
_dfcaverns_next_stage = "df_farming:plump_helmet_4",
|
||||
_dfcaverns_next_stage_time = plump_helmet_grow_time,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = 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
|
||||
}
|
||||
},
|
||||
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),
|
||||
|
||||
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 = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, plump_helmet = 1, food = 4, digtron_on_place=1},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = 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
|
||||
}
|
||||
},
|
||||
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),
|
||||
})
|
||||
|
||||
-- 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 = {snappy = 3, flammable = 2, plant = 1, attached_node = 1, light_sensitive_fungus = 11, dfcaverns_cookable = 1, plump_helmet = 1, food = 4, digtron_on_place=1},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = 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
|
||||
}
|
||||
},
|
||||
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),
|
||||
})
|
||||
|
||||
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
|
||||
})
|
95
df_farming/quarry_bush.lua
Normal file
@ -0,0 +1,95 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
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,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
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
|
||||
})
|
8
df_farming/settingtypes.txt
Normal file
@ -0,0 +1,8 @@
|
||||
dfcaverns_plant_growth_time (Base plant growth timer interval) int 100
|
||||
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
|
247
df_farming/sweet_pod.lua
Normal file
@ -0,0 +1,247 @@
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
local sweet_pod_grow_time = df_farming.config.plant_growth_time * df_farming.config.sweet_pod_delay_multiplier / 6
|
||||
|
||||
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,
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
groups = {snappy = 3, flammable = 2, plant = 1, not_in_creative_inventory = 1, attached_node = 1, light_sensitive_fungus = 11},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
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},
|
||||
})
|
||||
|
||||
if minetest.get_modpath("cottages") then
|
||||
cottages.handmill_product["df_farming:sweet_pods"] = "df_farming:sugar";
|
||||
else
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 3,
|
||||
output = "df_farming:sugar",
|
||||
recipe = "df_farming:sweet_pods",
|
||||
})
|
||||
end
|
||||
|
||||
----------------------------------------------
|
||||
-- Syrup
|
||||
|
||||
if minetest.get_modpath("bucket") 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 = 3, flammable = 2},
|
||||
sounds = default.node_sound_water_defaults(),
|
||||
})
|
||||
|
||||
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 = 3, flammable = 2, not_in_creative_inventory = 1},
|
||||
sounds = default.node_sound_water_defaults(),
|
||||
})
|
||||
|
||||
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("simplecrafting_lib") then
|
||||
simplecrafting_lib.register("cooking", {
|
||||
input = {
|
||||
["bucket:bucket_empty"] = 1,
|
||||
["df_farming:sugar"] = 3,
|
||||
},
|
||||
output = {
|
||||
["df_farming:dwarven_syrup_bucket"] = 1,
|
||||
},
|
||||
cooktime = 5.0,
|
||||
})
|
||||
else
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "df_farming:dwarven_syrup_bucket",
|
||||
recipe = {"bucket: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
|
BIN
df_farming/textures/dfcaverns_biscuit.png
Normal file
After Width: | Height: | Size: 602 B |
BIN
df_farming/textures/dfcaverns_bread.png
Normal file
After Width: | Height: | Size: 533 B |
BIN
df_farming/textures/dfcaverns_bucket_dwarven_syrup.png
Normal file
After Width: | Height: | Size: 392 B |
BIN
df_farming/textures/dfcaverns_cave_wheat.png
Normal file
After Width: | Height: | Size: 398 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_1.png
Normal file
After Width: | Height: | Size: 173 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_2.png
Normal file
After Width: | Height: | Size: 218 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_3.png
Normal file
After Width: | Height: | Size: 282 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_4.png
Normal file
After Width: | Height: | Size: 321 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_5.png
Normal file
After Width: | Height: | Size: 367 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_6.png
Normal file
After Width: | Height: | Size: 392 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_7.png
Normal file
After Width: | Height: | Size: 406 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_8.png
Normal file
After Width: | Height: | Size: 441 B |
BIN
df_farming/textures/dfcaverns_cave_wheat_seed.png
Normal file
After Width: | Height: | Size: 242 B |
BIN
df_farming/textures/dfcaverns_dead_fungus.png
Normal file
After Width: | Height: | Size: 812 B |
BIN
df_farming/textures/dfcaverns_dimple_cup_1.png
Normal file
After Width: | Height: | Size: 422 B |
BIN
df_farming/textures/dfcaverns_dimple_cup_2.png
Normal file
After Width: | Height: | Size: 481 B |
BIN
df_farming/textures/dfcaverns_dimple_cup_3.png
Normal file
After Width: | Height: | Size: 703 B |
BIN
df_farming/textures/dfcaverns_dimple_cup_4.png
Normal file
After Width: | Height: | Size: 840 B |
BIN
df_farming/textures/dfcaverns_dimple_cup_seed.png
Normal file
After Width: | Height: | Size: 357 B |
BIN
df_farming/textures/dfcaverns_dwarven_syrup.png
Normal file
After Width: | Height: | Size: 632 B |
BIN
df_farming/textures/dfcaverns_dwarven_syrup_flowing_animated.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
df_farming/textures/dfcaverns_dwarven_syrup_source_animated.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
df_farming/textures/dfcaverns_flour.png
Normal file
After Width: | Height: | Size: 262 B |
BIN
df_farming/textures/dfcaverns_fungi.png
Normal file
After Width: | Height: | Size: 150 B |
BIN
df_farming/textures/dfcaverns_pig_tail_1.png
Normal file
After Width: | Height: | Size: 980 B |
BIN
df_farming/textures/dfcaverns_pig_tail_2.png
Normal file
After Width: | Height: | Size: 997 B |
BIN
df_farming/textures/dfcaverns_pig_tail_3.png
Normal file
After Width: | Height: | Size: 1002 B |
BIN
df_farming/textures/dfcaverns_pig_tail_4.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
df_farming/textures/dfcaverns_pig_tail_5.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
df_farming/textures/dfcaverns_pig_tail_6.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
df_farming/textures/dfcaverns_pig_tail_7.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
df_farming/textures/dfcaverns_pig_tail_8.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
df_farming/textures/dfcaverns_pig_tail_seed.png
Normal file
After Width: | Height: | Size: 349 B |
BIN
df_farming/textures/dfcaverns_pig_tail_thread.png
Normal file
After Width: | Height: | Size: 166 B |
BIN
df_farming/textures/dfcaverns_plump_helmet_cap.png
Normal file
After Width: | Height: | Size: 378 B |
BIN
df_farming/textures/dfcaverns_plump_helmet_stem.png
Normal file
After Width: | Height: | Size: 553 B |
BIN
df_farming/textures/dfcaverns_quarry_bush_1.png
Normal file
After Width: | Height: | Size: 455 B |
BIN
df_farming/textures/dfcaverns_quarry_bush_2.png
Normal file
After Width: | Height: | Size: 554 B |
BIN
df_farming/textures/dfcaverns_quarry_bush_3.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
df_farming/textures/dfcaverns_quarry_bush_4.png
Normal file
After Width: | Height: | Size: 817 B |
BIN
df_farming/textures/dfcaverns_quarry_bush_5.png
Normal file
After Width: | Height: | Size: 759 B |
BIN
df_farming/textures/dfcaverns_quarry_bush_leaves.png
Normal file
After Width: | Height: | Size: 829 B |
BIN
df_farming/textures/dfcaverns_roast.png
Normal file
After Width: | Height: | Size: 775 B |
BIN
df_farming/textures/dfcaverns_rock_nuts.png
Normal file
After Width: | Height: | Size: 482 B |
BIN
df_farming/textures/dfcaverns_stew.png
Normal file
After Width: | Height: | Size: 622 B |
BIN
df_farming/textures/dfcaverns_sugar.png
Normal file
After Width: | Height: | Size: 255 B |
BIN
df_farming/textures/dfcaverns_sweet_pod_1.png
Normal file
After Width: | Height: | Size: 630 B |
BIN
df_farming/textures/dfcaverns_sweet_pod_2.png
Normal file
After Width: | Height: | Size: 752 B |
BIN
df_farming/textures/dfcaverns_sweet_pod_3.png
Normal file
After Width: | Height: | Size: 837 B |
BIN
df_farming/textures/dfcaverns_sweet_pod_4.png
Normal file
After Width: | Height: | Size: 857 B |
BIN
df_farming/textures/dfcaverns_sweet_pod_5.png
Normal file
After Width: | Height: | Size: 888 B |
BIN
df_farming/textures/dfcaverns_sweet_pod_6.png
Normal file
After Width: | Height: | Size: 893 B |
BIN
df_farming/textures/dfcaverns_sweet_pod_seed.png
Normal file
After Width: | Height: | Size: 287 B |
BIN
df_farming/textures/dfcaverns_sweet_pods.png
Normal file
After Width: | Height: | Size: 975 B |
12
df_farming/textures/license.txt
Normal file
@ -0,0 +1,12 @@
|
||||
All textures not specifically listed here are created by FaceDeer and released under both the MIT license and under the Creative Commons CC0 license.
|
||||
|
||||
dfcaverns_dwarven_syrup_source_animated - derived from default
|
||||
dfcaverns_dwarven_syrup - derived from default
|
||||
dfcaverns_dwarven_syrup_flowing_animated - derived from default
|
||||
dfcaverns_fungi - copied from caverealms
|
||||
dfcaverns_cave_wheat - derived from farming wheat
|
||||
dfcaverns_flour - derived from farming
|
||||
dfcaverns_bread - derived from farming
|
||||
dfcaverns_pig_tail_thread - copied from farming
|
||||
dfcaverns_sugar - derived from farming
|
||||
dfcaverns_cave_wheat_seed, dfcaverns_pig_tail_seed - all derived from farming wheat seed
|