mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2025-06-28 14:36:20 +02:00
Squashed commit of the following:
commit0a61781b99
Author: FaceDeer <derksenmobile@gmail.com> Date: Mon Aug 1 14:50:07 2022 -0600 add an additional check to ensure old timers don't cause inappropriate growth commit1d7b6010c3
Author: FaceDeer <derksenmobile@gmail.com> Date: Mon Aug 1 13:21:29 2022 -0600 stop timers when seeds are picked up commitc8fa25ccd7
Author: FaceDeer <derksenmobile@gmail.com> Date: Mon Aug 1 13:05:24 2022 -0600 fix replacements for dwarven syrup taffy recipe commit4de45bb6d7
Author: FaceDeer <derksenmobile@gmail.com> Date: Mon Aug 1 11:09:48 2022 -0600 account for some additional mod dependencies commit83ea06bbaa
Author: FaceDeer <derksenmobile@gmail.com> Date: Mon Aug 1 11:09:14 2022 -0600 update cooking recipes to be more specific. commit302da3ec51
Author: FaceDeer <derksenmobile@gmail.com> Date: Fri Jul 29 17:12:59 2022 -0600 add location logging for debugging purposes commit11667e184e
Author: FaceDeer <derksenmobile@gmail.com> Date: Sun Jul 24 16:54:21 2022 -0600 add checks for submods being present the df_trees and df_farming checks are likely redundant, but if primordial layers are disabled someone might not have df_primordial_items installed. commit5906308d87
Author: FaceDeer <derksenmobile@gmail.com> Date: Sun Jul 24 16:49:23 2022 -0600 add config settings for biome restrictions, vastly reduce copy and paste in code commite52820c282
Author: FaceDeer <derksenmobile@gmail.com> Date: Sat Jul 23 20:45:26 2022 -0600 add initial stab at growing conditions - biome restrictions for trees commit7b99556df9
Author: FaceDeer <derksenmobile@gmail.com> Date: Sat Jul 23 12:08:41 2022 -0600 adding biome API. Not yet tested. commitbf82b3b3fe
Author: FaceDeer <derksenmobile@gmail.com> Date: Fri Jul 22 21:22:37 2022 -0600 added stubs for growth permission for farming plants commit46765df3ef
Author: FaceDeer <derksenmobile@gmail.com> Date: Fri Jul 22 18:36:45 2022 -0600 initial work for restricted plant growth. split out growth conditions for trees, and reworked torchspine to not use ABMs while I was at it.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
---------------------------------------------------------------------------------------
|
||||
-- Glownode and stalk
|
||||
|
@ -2,7 +2,7 @@ if not minetest.get_modpath("doc") then
|
||||
return
|
||||
end
|
||||
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
df_primordial_items.doc.big_mushroom_desc = S("Compared to the behemoths found elsewhere in the deep places of the world, the giant mushrooms of the primordial jungles are on the smaller side - often overwhelmed by the green plants that grow in the mysterious light below. Still, they can become substantial resources.")
|
||||
df_primordial_items.doc.big_mushroom_usage = S("The soft flesh of these large mushrooms is much less woody than other giant mushrooms, making it ill-suited to structural use. This makes it rather more nutritious, however.")
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_craftitem("df_primordial_items:primordial_fruit", {
|
||||
description = S("Primordial Fruit"),
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
-----------------------------------------------------------------------------------------------
|
||||
-- Plants
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
------------------------------------------------------------------------------------
|
||||
-- Nodes
|
||||
@ -307,12 +307,11 @@ minetest.register_node("df_primordial_items:fern_sapling", {
|
||||
use_texture_alpha = "clip",
|
||||
sunlight_propagates = true,
|
||||
on_construct = function(pos)
|
||||
if minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") == 0 then
|
||||
return
|
||||
if df_primordial_items.giant_fern_growth_permitted(pos) then
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
minetest.get_node_timer(pos):stop()
|
||||
|
@ -1,6 +1,6 @@
|
||||
-- This file defines a type of root-like growth that spreads over the surface of the ground in a random web-like pattern
|
||||
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
-- hub_thickness -- the bit in the middle that's seen at the ends and corners of long hypha runs
|
||||
-- connector_thickness
|
||||
@ -320,7 +320,9 @@ minetest.register_node("df_primordial_items:giant_hypha_apical_meristem", {
|
||||
_dfcaverns_dead_node = "df_primordial_items:giant_hypha_root",
|
||||
sounds = df_trees.node_sound_tree_soft_fungus_defaults(),
|
||||
on_construct = function(pos)
|
||||
minetest.get_node_timer(pos):start(math.random(min_growth_delay, max_growth_delay))
|
||||
if df_primordial_items.giant_mycelium_growth_permitted(pos) then
|
||||
minetest.get_node_timer(pos):start(math.random(min_growth_delay, max_growth_delay))
|
||||
end
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
minetest.get_node_timer(pos):stop()
|
||||
|
@ -2,7 +2,6 @@ df_primordial_items = {}
|
||||
df_primordial_items.doc = {}
|
||||
|
||||
local modname = minetest.get_current_modname()
|
||||
df_primordial_items.S = minetest.get_translator(modname)
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
dofile(modpath.."/dependencies.lua")
|
||||
@ -15,4 +14,5 @@ dofile(modpath.."/fungal_nodes.lua")
|
||||
dofile(modpath.."/ceiling_fungus.lua")
|
||||
dofile(modpath.."/primordial_mushroom.lua")
|
||||
dofile(modpath.."/giant_mycelium.lua")
|
||||
dofile(modpath.."/edibles.lua")
|
||||
dofile(modpath.."/edibles.lua")
|
||||
dofile(modpath.."/sapling_growth_conditions.lua")
|
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
-- Big jungle mushroom
|
||||
@ -109,12 +109,11 @@ minetest.register_node("df_primordial_items:jungle_mushroom_sapling", {
|
||||
sunlight_propagates = true,
|
||||
|
||||
on_construct = function(pos)
|
||||
if minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") == 0 then
|
||||
return
|
||||
if df_primordial_items.jungle_mushroom_growth_permitted(pos) then
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
minetest.get_node_timer(pos):stop()
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
----------------------------------------------------
|
||||
-- Ferns
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
-- Leaves
|
||||
minetest.register_node("df_primordial_items:jungle_leaves", {
|
||||
@ -237,12 +237,11 @@ minetest.register_node("df_primordial_items:jungletree_sapling", {
|
||||
use_texture_alpha = "clip",
|
||||
sunlight_propagates = true,
|
||||
on_construct = function(pos)
|
||||
if minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") == 0 then
|
||||
return
|
||||
if df_primordial_items.jungletree_growth_permitted(pos) then
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
minetest.get_node_timer(pos):stop()
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_primordial_items.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_node("df_primordial_items:mushroom_trunk", {
|
||||
description = S("Primordial Mushroom Trunk"),
|
||||
@ -750,12 +750,11 @@ minetest.register_node("df_primordial_items:mush_sapling", {
|
||||
use_texture_alpha = "clip",
|
||||
sunlight_propagates = true,
|
||||
on_construct = function(pos)
|
||||
if minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") == 0 then
|
||||
return
|
||||
if df_primordial_items.primordial_mushroom_growth_permitted(pos) then
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
df_trees.config.tree_min_growth_delay,
|
||||
df_trees.config.tree_max_growth_delay))
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
minetest.get_node_timer(pos):stop()
|
||||
|
22
df_primordial_items/sapling_growth_conditions.lua
Normal file
22
df_primordial_items/sapling_growth_conditions.lua
Normal file
@ -0,0 +1,22 @@
|
||||
-- these methods should indicate whether a sapling placed at pos should bother attempting to grow.
|
||||
-- check soil conditions and biome here, for example.
|
||||
|
||||
df_primordial_items.giant_fern_growth_permitted = function(pos)
|
||||
return minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") > 0
|
||||
end
|
||||
|
||||
df_primordial_items.giant_mycelium_growth_permitted = function(pos)
|
||||
return true
|
||||
end
|
||||
|
||||
df_primordial_items.jungle_mushroom_growth_permitted = function(pos)
|
||||
return minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") > 0
|
||||
end
|
||||
|
||||
df_primordial_items.jungletree_growth_permitted = function(pos)
|
||||
return minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") > 0
|
||||
end
|
||||
|
||||
df_primordial_items.primordial_mushroom_growth_permitted = function(pos)
|
||||
return minetest.get_item_group(minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name, "soil") > 0
|
||||
end
|
Reference in New Issue
Block a user