diff --git a/minetestforfun_game/mods/default/README.txt b/minetestforfun_game/mods/default/README.txt index 5e726eeb..4150203e 100755 --- a/minetestforfun_game/mods/default/README.txt +++ b/minetestforfun_game/mods/default/README.txt @@ -24,7 +24,6 @@ Copyright (C) 2010-2012 celeron55, Perttu Ahola Cisoun's WTFPL texture pack: default_jungletree.png - default_jungletree_top.png default_lava.png default_leaves.png default_sapling.png @@ -57,11 +56,11 @@ VanessaE (WTFPL): default_nc_front.png default_nc_rb.png default_nc_side.png - default_grass_*.png default_desert_sand.png default_desert_stone.png default_desert_stone_brick.png default_sand.png + default_jungletree_top.png Calinou (CC BY-SA): default_brick.png @@ -78,7 +77,6 @@ Jordach (CC BY-SA 3.0): PilzAdam (WTFPL): default_jungleleaves.png default_junglesapling.png - default_junglewood.png default_obsidian_glass.png default_obsidian_shard.png default_mineral_gold.png @@ -93,7 +91,6 @@ InfinityProject (WTFPL): Splizard (CC BY-SA 3.0): default_snow.png default_snow_side.png - default_ice.png default_pine_sapling.png Zeg9 (CC BY-SA 3.0): @@ -104,7 +101,7 @@ Zeg9 (CC BY-SA 3.0): default_gold_block.png paramat (CC BY-SA 3.0): - wieldhand.png, based on character.png by Jordach (CC BY-SA 3.0) + wieldhand.png, derived from character.png by Jordach (CC BY-SA 3.0) default_pinetree.png default_pinetree_top.png default_pinewood.png @@ -113,6 +110,15 @@ paramat (CC BY-SA 3.0): default_river_water.png default_river_water_source_animated.png default_river_water_flowing_animated.png + default_acacia_leaves.png + default_acacia_sapling.png + default_acacia_tree.png + default_acacia_tree_top.png + default_acacia_wood.png + default_dry_grass.png + default_dry_grass_side.png + default_dry_grass_*.png + default_junglewood.png, derived from a texture by BlockMen (CC BY-SA 3.0) brunob.santos (CC BY-SA 4.0): default_desert_cobble.png @@ -125,7 +131,6 @@ BlockMen (CC BY-SA 3.0): default_gold_ingot.png default_tool_steelsword.png default_diamond.png - default_diamond_block.png default_book.png default_tool_*.png default_lava_source_animated.png @@ -152,6 +157,21 @@ Philipbenr (CC BY-SA 3.0): default_grass.png default_grass_side.png +Gambit (WTFPL): + default_bronze_ingot.png + default_copper_ingot.png + default_copper_lump.png + default_iron_lump.png + default_gold_lump.png + default_clay_lump.png + default_coal.png + default_grass_*.png + default_paper.png + default_diamond_block.png + +asl97 (WTFPL): + default_ice.png + Glass breaking sounds (CC BY 3.0): 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ 2: http://www.freesound.org/people/Tomlija/sounds/97669/ @@ -191,14 +211,3 @@ Mito551 (sounds) (CC BY-SA): default_dirt_footstep.1.ogg default_dirt_footstep.2.ogg default_glass_footstep.ogg - -Gambit (WTFPL): - default_bronze_ingot.png - default_copper_ingot.png - default_copper_lump.png - default_iron_lump.png - default_gold_lump.png - default_clay_lump.png - default_coal.png - default_grass_*.png - default_paper.png diff --git a/minetestforfun_game/mods/default/aliases.lua b/minetestforfun_game/mods/default/aliases.lua index 9c9d7974..5150e0c2 100755 --- a/minetestforfun_game/mods/default/aliases.lua +++ b/minetestforfun_game/mods/default/aliases.lua @@ -68,5 +68,9 @@ minetest.register_alias("steel_ingot", "default:steel_ingot") minetest.register_alias("clay_brick", "default:clay_brick") minetest.register_alias("snow", "default:snow") +-- Aliases for corrected pine node names +minetest.register_alias("default:pinetree", "default:pine_tree") +minetest.register_alias("default:pinewood", "default:pine_wood") + -- Mese now comes in the form of blocks, ore, crystal and fragments -minetest.register_alias("default:mese", "default:mese_block") \ No newline at end of file +minetest.register_alias("default:mese", "default:mese_block") diff --git a/minetestforfun_game/mods/default/crafting.lua b/minetestforfun_game/mods/default/crafting.lua index 2c40170e..b7d95d15 100755 --- a/minetestforfun_game/mods/default/crafting.lua +++ b/minetestforfun_game/mods/default/crafting.lua @@ -22,9 +22,16 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:pinewood 4', + output = 'default:pine_wood 4', recipe = { - {'default:pinetree'}, + {'default:pine_tree'}, + } +}) + +minetest.register_craft({ + output = 'default:acacia_wood 4', + recipe = { + {'default:acacia_tree'}, } }) @@ -435,15 +442,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:sword_nyan", - recipe = { - {"default:nyancat"}, - {"default:nyancat"}, - {"group:stick"}, - } -}) - minetest.register_craft({ output = 'default:sword_diamond', recipe = { @@ -462,6 +460,15 @@ minetest.register_craft({ -- Ultimate Warrior weapon } }) +minetest.register_craft({ + output = "default:sword_nyan", + recipe = { + {"default:nyancat"}, + {"default:nyancat"}, + {"group:stick"}, + } +}) + minetest.register_craft({ output = 'default:rail 16', recipe = { @@ -1018,7 +1025,7 @@ minetest.register_craft({ minetest.register_craft({ type = "fuel", - recipe = "default:sapling", + recipe = "group:sapling", burntime = 10, }) @@ -1040,12 +1047,6 @@ minetest.register_craft({ burntime = 370, }) -minetest.register_craft({ - type = "fuel", - recipe = "default:junglesapling", - burntime = 10, -}) - minetest.register_craft({ type = "fuel", recipe = "default:grass_1", @@ -1054,7 +1055,7 @@ minetest.register_craft({ minetest.register_craft({ type = "fuel", - recipe = "default:pine_sapling", - burntime = 10, + recipe = "default:dry_grass_1", + burntime = 2, }) diff --git a/minetestforfun_game/mods/default/functions.lua b/minetestforfun_game/mods/default/functions.lua index 56ab9f86..a69a6b30 100755 --- a/minetestforfun_game/mods/default/functions.lua +++ b/minetestforfun_game/mods/default/functions.lua @@ -165,42 +165,22 @@ local del1 = 0 local count = 0 default.cool_lava_source = function(pos) - local del2 = tonumber(os.clock()) - if del2-del1 < 0.1 - and count > 1 then - cool_wf_vm(pos, "default:lava_source", "default:obsidian_cooled") - count = 0 - else - minetest.set_node(pos, {name = "default:obsidian_cooled"}) - minetest.sound_play("default_cool_lava", {pos = pos, gain = 0.2}) - if del2-del1 < 0.1 then - count = count + 1 - end - end - del1 = del2 + minetest.set_node(pos, {name = "default:obsidian"}) + minetest.sound_play("default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.25}) end default.cool_lava_flowing = function(pos) - local del2 = tonumber(os.clock()) - if del2-del1 < 0.1 - and count > 1 then - cool_wf_vm(pos, "default:lava_flowing", "default:cobble_cooled") - count = 0 - else - minetest.set_node(pos, {name = "default:cobble_cooled"}) - minetest.sound_play("default_cool_lava", {pos = pos, gain = 0.2}) - if del2-del1 < 0.1 then - count = count + 1 - end - end - del1 = del2 + minetest.set_node(pos, {name = "default:stone"}) + minetest.sound_play("default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.25}) end minetest.register_abm({ nodenames = {"default:lava_flowing"}, neighbors = {"group:water"}, - interval = 2, - chance = 1, + interval = 1, + chance = 2, action = function(...) default.cool_lava_flowing(...) end, @@ -209,8 +189,8 @@ minetest.register_abm({ minetest.register_abm({ nodenames = {"default:lava_source"}, neighbors = {"group:water"}, - interval = 2, - chance = 1, + interval = 1, + chance = 2, action = function(...) default.cool_lava_source(...) end, @@ -224,12 +204,11 @@ minetest.register_abm({ -- wrapping the functions in abm action is necessary to make overriding them possible function default.grow_cactus(pos, node) - if node.param2 >= 4 then + if node.param2 ~= 0 then return end pos.y = pos.y - 1 - local name = minetest.get_node(pos).name --MFF - if minetest.get_item_group(name, "sand") == 0 and name ~= "watershed:drygrass" then --MFF + if minetest.get_item_group(minetest.get_node(pos).name, "sand") == 0 then return end pos.y = pos.y + 1 @@ -249,7 +228,7 @@ end function default.grow_papyrus(pos, node) pos.y = pos.y - 1 local name = minetest.get_node(pos).name - if name ~= "default:dirt_with_grass" and name ~= "default:dirt" and name ~= "default:sand" and name ~= "default:desert_sand" then --MFF + if name ~= "default:dirt_with_grass" and name ~= "default:dirt" then return end if not minetest.find_node_near(pos, 3, {"group:water"}) then @@ -406,6 +385,7 @@ minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack if newnode.name ~= "default:torch" or minetest.get_item_group(oldnode.name, "water") == 0 then return end + minetest.remove_node(pos, newnode) minetest.set_node(pos, oldnode) minetest.add_item(pos, "default:torch") end) @@ -436,9 +416,9 @@ minetest.register_abm({ }) minetest.register_abm({ - nodenames = {"default:dirt_with_grass"}, - interval = 30, - chance = 2, + nodenames = {"default:dirt_with_grass", "default:dirt_with_dry_grass"}, + interval = 2, + chance = 20, action = function(pos, node) local above = {x = pos.x, y = pos.y + 1, z = pos.z} local name = minetest.get_node(above).name diff --git a/minetestforfun_game/mods/default/mapgen.lua b/minetestforfun_game/mods/default/mapgen.lua index 84137892..c73213a7 100755 --- a/minetestforfun_game/mods/default/mapgen.lua +++ b/minetestforfun_game/mods/default/mapgen.lua @@ -2,7 +2,6 @@ -- Aliases for map generator outputs -- - minetest.register_alias("mapgen_stone", "default:stone") minetest.register_alias("mapgen_dirt", "default:dirt") minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") @@ -19,15 +18,19 @@ minetest.register_alias("mapgen_snow", "default:snow") minetest.register_alias("mapgen_ice", "default:ice") minetest.register_alias("mapgen_sandstone", "default:sandstone") +-- Flora + minetest.register_alias("mapgen_tree", "default:tree") minetest.register_alias("mapgen_leaves", "default:leaves") minetest.register_alias("mapgen_apple", "default:apple") minetest.register_alias("mapgen_jungletree", "default:jungletree") minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves") minetest.register_alias("mapgen_junglegrass", "default:junglegrass") -minetest.register_alias("mapgen_pinetree", "default:pinetree") +minetest.register_alias("mapgen_pine_tree", "default:pine_tree") minetest.register_alias("mapgen_pine_needles", "default:pine_needles") +-- Dungeons + minetest.register_alias("mapgen_stone_with_iron", "default:stone_with_iron") minetest.register_alias("mapgen_mese", "default:mese") minetest.register_alias("mapgen_stone_with_coal", "default:stone_with_coal") @@ -43,11 +46,14 @@ minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstonebr -- Register ores -- - +-- All mapgens except singlenode -- Blob ore first to avoid other ores inside blobs function default.register_ores() - minetest.register_ore({ + + -- Clay + + minetest.register_ore({ ore_type = "blob", ore = "default:clay", wherein = {"default:sand"}, @@ -66,7 +72,9 @@ function default.register_ores() }, }) - minetest.register_ore({ + -- Sand + + minetest.register_ore({ ore_type = "blob", ore = "default:sand", wherein = {"default:stone"}, @@ -85,6 +93,8 @@ function default.register_ores() }, }) + -- Dirt + minetest.register_ore({ ore_type = "blob", ore = "default:dirt", @@ -104,6 +114,8 @@ function default.register_ores() }, }) + -- Gravel + minetest.register_ore({ ore_type = "blob", ore = "default:gravel", @@ -123,6 +135,8 @@ function default.register_ores() }, }) + -- Coal + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_coal", @@ -157,6 +171,8 @@ function default.register_ores() flags = "absheight", }) + -- Iron + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_iron", @@ -203,6 +219,8 @@ function default.register_ores() flags = "absheight", }) + --Mese + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_mese", @@ -321,6 +339,8 @@ function default.register_ores() flags = "absheight", }) + -- Gold + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_gold", @@ -345,6 +365,8 @@ function default.register_ores() flags = "absheight", }) + -- Diamond + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_diamond", @@ -369,6 +391,8 @@ function default.register_ores() flags = "absheight", }) + -- Copper + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_copper", @@ -609,12 +633,155 @@ end -- Register biomes -- +-- All mapgens except mgv6 and singlenode function default.register_biomes() minetest.clear_registered_biomes() + -- Permanent ice + minetest.register_biome({ - name = "default:grassland", + name = "glacier", + node_dust = "default:snowblock", + node_top = "default:snowblock", + depth_top = 1, + node_filler = "default:snowblock", + depth_filler = 3, + node_stone = "default:ice", + node_water_top = "default:ice", + depth_water_top = 10, + --node_water = "", + y_min = -8, + y_max = 31000, + heat_point = -5, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "glacier_ocean", + node_dust = "default:snowblock", + node_top = "default:gravel", + depth_top = 1, + node_filler = "default:gravel", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = -9, + heat_point = -5, + humidity_point = 50, + }) + + -- Cold + + minetest.register_biome({ + name = "tundra", + node_dust = "default:snow", + node_top = "default:dirt_with_snow", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 0, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 2, + y_max = 31000, + heat_point = 20, + humidity_point = 30, + }) + + minetest.register_biome({ + name = "tundra_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 1, + heat_point = 20, + humidity_point = 30, + }) + + minetest.register_biome({ + name = "taiga", + node_dust = "default:snow", + node_top = "default:snowblock", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 2, + y_max = 31000, + heat_point = 20, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "taiga_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 1, + heat_point = 20, + humidity_point = 70, + }) + + -- Cool + + minetest.register_biome({ + name = "stone_grassland", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 0, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 6, + y_max = 31000, + heat_point = 45, + humidity_point = 30, + }) + + minetest.register_biome({ + name = "stone_grassland_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 5, + heat_point = 45, + humidity_point = 30, + }) + + minetest.register_biome({ + name = "coniferous_forest", --node_dust = "", node_top = "default:dirt_with_grass", depth_top = 1, @@ -624,8 +791,235 @@ function default.register_biomes() --node_water_top = "", --depth_water_top = , --node_water = "", - y_min = -31000, + y_min = 6, y_max = 31000, + heat_point = 45, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "coniferous_forest_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 5, + heat_point = 45, + humidity_point = 70, + }) + + -- Warm + + minetest.register_biome({ + name = "sandstone_grassland", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 0, + node_stone = "default:sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 6, + y_max = 31000, + heat_point = 70, + humidity_point = 30, + }) + + minetest.register_biome({ + name = "sandstone_grassland_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + node_stone = "default:sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 5, + heat_point = 70, + humidity_point = 30, + }) + + minetest.register_biome({ + name = "deciduous_forest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 6, + y_max = 31000, + heat_point = 70, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "deciduous_forest_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 5, + heat_point = 70, + humidity_point = 70, + }) + + -- Hot + + minetest.register_biome({ + name = "desert", + --node_dust = "", + node_top = "default:desert_sand", + depth_top = 1, + node_filler = "default:desert_sand", + depth_filler = 1, + node_stone = "default:desert_stone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 1, + y_max = 31000, + heat_point = 95, + humidity_point = 10, + }) + + minetest.register_biome({ + name = "desert_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + node_stone = "default:desert_stone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 0, + heat_point = 95, + humidity_point = 10, + }) + + minetest.register_biome({ + name = "savanna", + --node_dust = "", + node_top = "default:dirt_with_dry_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 5, + y_max = 31000, + heat_point = 95, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "savanna_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = 4, + heat_point = 95, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "rainforest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 1, + y_max = 31000, + heat_point = 95, + humidity_point = 90, + }) + + minetest.register_biome({ + name = "rainforest_swamp", + --node_dust = "", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = 0, + y_max = 0, + heat_point = 95, + humidity_point = 90, + }) + + minetest.register_biome({ + name = "rainforest_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 2, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -112, + y_max = -1, + heat_point = 95, + humidity_point = 90, + }) + + -- Underground + + minetest.register_biome({ + name = "underground", + --node_dust = "", + --node_top = "", + depth_top = 0, + --node_filler = "", + depth_filler = -4, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + y_min = -31000, + y_max = -113, heat_point = 50, humidity_point = 50, node_underwater = "default:sand", @@ -637,11 +1031,13 @@ end -- --- Register mgv6 decorations +-- Register decorations -- +-- Mgv6 function default.register_mgv6_decorations() + minetest.clear_registered_decorations() -- Papyrus @@ -661,7 +1057,7 @@ function default.register_mgv6_decorations() y_max = 1, decoration = "default:papyrus", height = 2, - height_max = 4, + height_max = 4, spawn_by = "default:water_source", num_spawn_by = 1, }) @@ -687,7 +1083,7 @@ function default.register_mgv6_decorations() height_max = 4, }) - -- Grasses + -- Long grasses for length = 1, 5 do minetest.register_decoration({ @@ -745,91 +1141,96 @@ function default.register_mgv6_decorations() }) end +-- All mapgens except mgv6 and singlenode --- --- Register decorations --- - - -function default.register_decorations() - - -- Flowers - +local function register_grass_decoration(offset, scale, length) minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + place_on = {"default:dirt_with_grass", "default:sand"}, sidelen = 16, noise_params = { - offset = -0.02, - scale = 0.03, + offset = offset, + scale = scale, spread = {x = 100, y = 100, z = 100}, seed = 436, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = { + "stone_grassland", "stone_grassland_ocean", + "sandstone_grassland", "sandstone_grassland_ocean", + "deciduous_forest", "deciduous_forest_ocean", + "coniferous_forest", "coniferous_forest_ocean", + }, + y_min = 5, y_max = 31000, - decoration = "flowers:rose", + decoration = "default:grass_"..length, }) +end +local function register_dry_grass_decoration(offset, scale, length) minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + place_on = {"default:dirt_with_dry_grass"}, sidelen = 16, noise_params = { - offset = -0.02, - scale = 0.03, + offset = offset, + scale = scale, spread = {x = 100, y = 100, z = 100}, seed = 19822, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, + biomes = {"savana"}, y_min = -31000, y_max = 31000, - decoration = "flowers:tulip", + decoration = "default:dry_grass_"..length, }) +end + +function default.register_decorations() + minetest.clear_registered_decorations() + + -- Apple tree minetest.register_decoration({ - deco_type = "simple", + deco_type = "schematic", place_on = {"default:dirt_with_grass"}, sidelen = 16, noise_params = { - offset = -0.02, - scale = 0.03, + offset = offset, + scale = scale, spread = {x = 100, y = 100, z = 100}, seed = 1220999, octaves = 3, - persist = 0.6 + persist = 0.66 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"deciduous_forest"}, + y_min = 6, y_max = 31000, - decoration = "flowers:dandelion_yellow", + schematic = minetest.get_modpath("default").."/schematics/apple_tree.mts", + flags = "place_center_x, place_center_z", }) - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = -0.02, - scale = 0.03, - spread = {x = 100, y = 100, z = 100}, - seed = 36662, - octaves = 3, - persist = 0.6 - }, - biomes = {"default:grassland"}, - y_min = -31000, - y_max = 31000, - decoration = "flowers:geranium", - }) + -- Jungle tree minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + deco_type = "schematic", + place_on = {"default:dirt_with_grass", "default:dirt"}, + sidelen = 80, + fill_ratio = 0.09, + biomes = {"rainforest", "rainforest_swamp"}, + y_min = 0, + y_max = 31000, + schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts", + flags = "place_center_x, place_center_z", + }) + + -- Taiga and temperate forest pine tree + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:snowblock", "default:dirt_with_grass"}, sidelen = 16, noise_params = { offset = -0.02, @@ -837,38 +1238,43 @@ function default.register_decorations() spread = {x = 100, y = 100, z = 100}, seed = 1133, octaves = 3, - persist = 0.6 + persist = 0.66 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"taiga", "coniferous_forest"}, + y_min = 2, y_max = 31000, - decoration = "flowers:viola", + schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts", + flags = "place_center_x, place_center_z", }) + -- Acacia tree + minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, + deco_type = "schematic", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 80, noise_params = { - offset = -0.02, - scale = 0.03, - spread = {x = 100, y = 100, z = 100}, - seed = 73133, + offset = 0, + scale = 0.003, + spread = {x=250, y=250, z=250}, + seed = 2, octaves = 3, - persist = 0.6 + persist = 0.66 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"savanna"}, + y_min = 6, y_max = 31000, - decoration = "flowers:dandelion_white", + schematic = minetest.get_modpath("default").."/schematics/acacia_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", }) - -- Grasses + -- Large cactus minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, + deco_type = "schematic", + place_on = {"default:desert_sand"}, + sidelen = 80, noise_params = { offset = 0.04, scale = 0.08, @@ -877,114 +1283,113 @@ function default.register_decorations() octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"desert"}, + y_min = 2, y_max = 31000, - decoration = "default:grass_1", + schematic = minetest.get_modpath("default").."/schematics/large_cactus.mts", + flags = "place_center_x", + rotation = "random", }) + -- Cactus + minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, + place_on = {"default:desert_sand"}, + sidelen = 80, noise_params = { - offset = 0.02, - scale = 0.08, - spread = {x = 100, y = 100, z = 100}, - seed = 66440, + offset = -0.0005, + scale = 0.0015, + spread = {x=200, y=200, z=200}, + seed = 230, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"desert"}, + y_min = 2, y_max = 31000, - decoration = "default:grass_2", + decoration = "default:cactus", + height = 2, + height_max = 5, }) + -- Papyrus + + minetest.register_decoration({ + deco_type = "schematic", + place_on = {"default:sand"}, + sidelen = 16, + noise_params = { + offset = -0.3, + scale = 0.7, + spread = {x=200, y=200, z=200}, + seed = 354, + octaves = 3, + persist = 0.7 + }, + biomes = {"savanna_ocean", "desert_ocean"}, + y_min = 0, + y_max = 0, + schematic = minetest.get_modpath("default").."/schematics/papyrus.mts", + }) + + -- Grasses + + register_grass_decoration(-0.03, 0.09, 5) + register_grass_decoration(-0.015, 0.075, 4) + register_grass_decoration(0, 0.06, 3) + register_grass_decoration(0.015, 0.045, 2) + register_grass_decoration(0.03, 0.03, 1) + + -- Dry grasses + + register_dry_grass_decoration(0.01, 0.05, 5) + register_dry_grass_decoration(0.03, 0.03, 4) + register_dry_grass_decoration(0.05, 0.01, 3) + register_dry_grass_decoration(0.07, -0.01, 2) + register_dry_grass_decoration(0.09, -0.03, 1) + + -- Junglegrass + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, + sidelen = 80, + fill_ratio = 0.1, + biomes = {"rainforest"}, + y_min = 1, + y_max = 31000, + decoration = "default:junglegrass", + }) + + -- Dry shrub + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:desert_sand", "default:dirt_with_snow"}, sidelen = 16, noise_params = { offset = 0, - scale = 0.08, - spread = {x = 100, y = 100, z = 100}, - seed = 66440, + scale = 0.02, + spread = {x=200, y=200, z=200}, + seed = 329, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"desert", "tundra"}, + y_min = 2, y_max = 31000, - decoration = "default:grass_3", - }) - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = -0.02, - scale = 0.08, - spread = {x = 100, y = 100, z = 100}, - seed = 66440, - octaves = 3, - persist = 0.6 - }, - biomes = {"default:grassland"}, - y_min = -31000, - y_max = 31000, - decoration = "default:grass_4", - }) - - minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = -0.04, - scale = 0.08, - spread = {x = 100, y = 100, z = 100}, - seed = 66440, - octaves = 3, - persist = 0.6 - }, - biomes = {"default:grassland"}, - y_min = -31000, - y_max = 31000, - decoration = "default:grass_5", + decoration = "default:dry_shrub", }) end -- --- Detect mapgen to select functions +-- Generate nyan cats -- +-- All mapgens except singlenode --- Mods using singlenode mapgen can call these functions to enable --- the use of minetest.generate_ores or minetest.generate_decorations - -local mg_params = minetest.get_mapgen_params() -if mg_params.mgname == "v5" then - default.register_biomes() - default.register_ores() -elseif mg_params.mgname == "v6" then - default.register_mgv6_decorations() - default.register_ores() -elseif mg_params.mgname == "v7" then - default.register_biomes() - default.register_decorations() -end - - --- --- Generate nyan cats in all mapgens --- - - --- facedir: 0/1/2/3 (head node facedir value) --- length: length of rainbow tail function default.make_nyancat(pos, facedir, length) local tailvec = {x = 0, y = 0, z = 0} if facedir == 0 then @@ -996,7 +1401,6 @@ function default.make_nyancat(pos, facedir, length) elseif facedir == 3 then tailvec.x = -1 else - --print("default.make_nyancat(): Invalid facedir: "+dump(facedir)) facedir = 0 tailvec.z = 1 end @@ -1009,9 +1413,7 @@ function default.make_nyancat(pos, facedir, length) end end - function default.generate_nyancats(minp, maxp, seed) - if minp.y < -19600 then return end -- no generate in nether local height_min = -30000 local height_max = 30000 if maxp.y < height_min or minp.y > height_max then @@ -1034,4 +1436,21 @@ function default.generate_nyancats(minp, maxp, seed) end -minetest.register_on_generated(default.generate_nyancats) +-- +-- Detect mapgen to select functions +-- + +-- Mods using singlenode mapgen can call these functions to enable +-- the use of minetest.generate_ores or minetest.generate_decorations + +local mg_params = minetest.get_mapgen_params() +if mg_params.mgname == "v6" then + default.register_ores() + default.register_mgv6_decorations() + minetest.register_on_generated(default.generate_nyancats) +elseif mg_params.mgname ~= "singlenode" then + default.register_ores() + default.register_biomes() + default.register_decorations() + minetest.register_on_generated(default.generate_nyancats) +end diff --git a/minetestforfun_game/mods/default/nodes.lua b/minetestforfun_game/mods/default/nodes.lua index 34acebef..4f93fc36 100755 --- a/minetestforfun_game/mods/default/nodes.lua +++ b/minetestforfun_game/mods/default/nodes.lua @@ -1,5 +1,15 @@ -- mods/default/nodes.lua + +--[[ Node name convention: + +Although many node names are in combined-word form, the required form for new +node names is words separated by underscores. If both forms are used in written +language (for example pinewood and pine wood) the underscore form should be used. + +--]] + + --[[ Index: Stone @@ -28,6 +38,7 @@ Soft / Non-Stone default:dirt default:dirt_with_grass +default:dirt_with_dry_grass default:dirt_with_grass_footsteps default:dirt_with_snow @@ -59,11 +70,16 @@ default:junglewood default:jungleleaves default:junglesapling -default:pinetree -default:pinewood +default:pine_tree +default:pine_wood default:pine_needles default:pine_sapling +default:acacia_tree +default:acacia_wood +default:acacia_leaves +default:acacia_sapling + default:cherry_tree default:cherry_log default:cherry_plank @@ -104,12 +120,19 @@ default:cactus default:papyrus default:dry_shrub default:junglegrass + default:grass_1 default:grass_2 default:grass_3 default:grass_4 default:grass_5 +default:dry_grass_1 +default:dry_grass_2 +default:dry_grass_3 +default:dry_grass_4 +default:dry_grass_5 + Liquids ------- (1. Source 2. Flowing) @@ -331,6 +354,19 @@ minetest.register_node("default:dirt_with_grass", { }), }) +minetest.register_node("default:dirt_with_dry_grass", { + description = "Dirt with Dry Grass", + tiles = {"default_dry_grass.png", + "default_dirt.png", + "default_dirt.png^default_dry_grass_side.png" + }, + groups = {crumbly = 3, soil = 1}, + drop = 'default:dirt', + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.4}, + }), +}) + minetest.register_node("default:dirt_with_grass_footsteps", { description = "Dirt with Grass and Footsteps", tiles = {"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, @@ -455,19 +491,19 @@ minetest.register_node("default:snow", { node_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.5+2/16, 0.5}, + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, }, }, groups = {crumbly=3,falling_node=1, melts = 1, float = 1}, sounds = default.node_sound_dirt_defaults({ - footstep = {name="default_snow_footstep", gain=0.25}, - dug = {name="default_snow_footstep", gain=0.75}, + footstep = {name = "default_snow_footstep", gain = 0.25}, + dug = {name = "default_snow_footstep", gain = 0.75}, }), on_construct = function(pos) pos.y = pos.y - 1 if minetest.get_node(pos).name == "default:dirt_with_grass" then - minetest.set_node(pos, {name="default:dirt_with_snow"}) + minetest.set_node(pos, {name = "default:dirt_with_snow"}) end end, }) @@ -553,6 +589,7 @@ minetest.register_node("default:leaves", { waving = 1, visual_scale = 1.3, tiles = {"default_leaves.png"}, + special_tiles = {"default_leaves_simple.png"}, paramtype = "light", walkable = false, is_ground_content = false, @@ -633,6 +670,7 @@ minetest.register_node("default:jungleleaves", { drawtype = "allfaces_optional", waving = 1, tiles = {"default_jungleleaves.png"}, + special_tiles = {"default_jungleleaves_simple.png"}, paramtype = "light", is_ground_content = false, walkable = false, @@ -676,22 +714,23 @@ minetest.register_node("default:junglesapling", { -minetest.register_node("default:pinetree", { +minetest.register_node("default:pine_tree", { description = "Pine Tree", - tiles = {"default_pinetree_top.png", "default_pinetree_top.png", "default_pinetree.png"}, + tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png", + "default_pine_tree.png"}, paramtype2 = "facedir", is_ground_content = false, - groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) -minetest.register_node("default:pinewood", { - description = "Pinewood Planks", - tiles = {"default_pinewood.png"}, +minetest.register_node("default:pine_wood", { + description = "Pine Wood Planks", + tiles = {"default_pine_wood.png"}, is_ground_content = false, - groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, sounds = default.node_sound_wood_defaults(), }) @@ -703,20 +742,12 @@ minetest.register_node("default:pine_needles",{ waving = 1, paramtype = "light", is_ground_content = false, - groups = {snappy=3, leafdecay=3, flammable=2, leaves=1}, + groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, drop = { max_items = 1, items = { - { - -- player will get sapling with 1/20 chance - items = {"default:pine_sapling"}, - rarity = 20, - }, - { - -- player will get leaves only if he get no saplings, - -- this is because max_items is 1 - items = {"default:pine_needles"}, - } + {items = {"default:pine_sapling"}, rarity = 20}, + {items = {"default:pine_needles"}} } }, sounds = default.node_sound_leaves_defaults(), @@ -732,13 +763,74 @@ minetest.register_node("default:pine_sapling", { inventory_image = "default_pine_sapling.png", wield_image = "default_pine_sapling.png", paramtype = "light", + sunlight_propagates = true, walkable = false, is_ground_content = true, selection_box = { type = "fixed", fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} }, - groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1}, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, + sounds = default.node_sound_leaves_defaults(), +}) + +minetest.register_node("default:acacia_tree", { + description = "Acacia Tree", + tiles = {"default_acacia_tree_top.png", "default_acacia_tree_top.png", + "default_acacia_tree.png"}, + paramtype2 = "facedir", + is_ground_content = false, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + + on_place = minetest.rotate_node +}) + +minetest.register_node("default:acacia_wood", { + description = "Acacia Wood Planks", + tiles = {"default_acacia_wood.png"}, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_node("default:acacia_leaves", { + description = "Acacia Leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tiles = {"default_acacia_leaves.png"}, + paramtype = "light", + is_ground_content = false, + groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1}, + drop = { + max_items = 1, + items = { + {items = {"default:acacia_sapling"}, rarity = 20}, + {items = {"default:acacia_leaves"}} + } + }, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = default.after_place_leaves, +}) + +minetest.register_node("default:acacia_sapling", { + description = "Acacia Tree Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"default_acacia_sapling.png"}, + inventory_image = "default_acacia_sapling.png", + wield_image = "default_acacia_sapling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy = 2, dig_immediate = 3, flammable = 2, + attached_node = 1, sapling = 1}, sounds = default.node_sound_leaves_defaults(), }) @@ -1208,6 +1300,54 @@ for i=2,5 do }) end +minetest.register_node("default:dry_grass_1", { + description = "Dry Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_dry_grass_1.png"}, + inventory_image = "default_dry_grass_3.png", + wield_image = "default_dry_grass_3.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=3,flora=1,attached_node=1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + + on_place = function(itemstack, placer, pointed_thing) + -- place a random dry grass node + local stack = ItemStack("default:dry_grass_"..math.random(1,5)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack("default:dry_grass_1 "..itemstack:get_count()-(1-ret:get_count())) + end, +}) + +for i=2,5 do + minetest.register_node("default:dry_grass_"..i, { + description = "Dry Grass", + drawtype = "plantlike", + waving = 1, + tiles = {"default_dry_grass_"..i..".png"}, + inventory_image = "default_dry_grass_"..i..".png", + wield_image = "default_dry_grass_"..i..".png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy=3,flammable=3,flora=1,attached_node=1,not_in_creative_inventory=1}, + drop = "default:dry_grass_1", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}, + }, + }) +end + -- -- Liquids -- diff --git a/minetestforfun_game/mods/default/schematics/acacia_tree.mts b/minetestforfun_game/mods/default/schematics/acacia_tree.mts new file mode 100644 index 00000000..43e7867a Binary files /dev/null and b/minetestforfun_game/mods/default/schematics/acacia_tree.mts differ diff --git a/minetestforfun_game/mods/default/schematics/apple_tree.mts b/minetestforfun_game/mods/default/schematics/apple_tree.mts new file mode 100644 index 00000000..a75fa106 Binary files /dev/null and b/minetestforfun_game/mods/default/schematics/apple_tree.mts differ diff --git a/minetestforfun_game/mods/default/schematics/jungle_tree.mts b/minetestforfun_game/mods/default/schematics/jungle_tree.mts new file mode 100644 index 00000000..329364a8 Binary files /dev/null and b/minetestforfun_game/mods/default/schematics/jungle_tree.mts differ diff --git a/minetestforfun_game/mods/default/schematics/large_cactus.mts b/minetestforfun_game/mods/default/schematics/large_cactus.mts new file mode 100644 index 00000000..b71077b3 Binary files /dev/null and b/minetestforfun_game/mods/default/schematics/large_cactus.mts differ diff --git a/minetestforfun_game/mods/default/schematics/papyrus.mts b/minetestforfun_game/mods/default/schematics/papyrus.mts new file mode 100644 index 00000000..a3b67776 Binary files /dev/null and b/minetestforfun_game/mods/default/schematics/papyrus.mts differ diff --git a/minetestforfun_game/mods/default/schematics/pine_tree.mts b/minetestforfun_game/mods/default/schematics/pine_tree.mts new file mode 100644 index 00000000..9eb63027 Binary files /dev/null and b/minetestforfun_game/mods/default/schematics/pine_tree.mts differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_leaves.png b/minetestforfun_game/mods/default/textures/default_acacia_leaves.png new file mode 100644 index 00000000..626e1b30 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_acacia_leaves.png differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_sapling.png b/minetestforfun_game/mods/default/textures/default_acacia_sapling.png new file mode 100644 index 00000000..07170a03 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_acacia_sapling.png differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_tree.png b/minetestforfun_game/mods/default/textures/default_acacia_tree.png new file mode 100644 index 00000000..169823d4 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_acacia_tree.png differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_tree_top.png b/minetestforfun_game/mods/default/textures/default_acacia_tree_top.png new file mode 100644 index 00000000..2cf5ef0b Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_acacia_tree_top.png differ diff --git a/minetestforfun_game/mods/default/textures/default_acacia_wood.png b/minetestforfun_game/mods/default/textures/default_acacia_wood.png new file mode 100644 index 00000000..b5abf1e9 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_acacia_wood.png differ diff --git a/minetestforfun_game/mods/default/textures/default_brick_normal.png b/minetestforfun_game/mods/default/textures/default_brick_normal.png new file mode 100644 index 00000000..99474392 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_brick_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_cobble_normal.png b/minetestforfun_game/mods/default/textures/default_cobble_normal.png new file mode 100644 index 00000000..37de21e1 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_cobble_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_desert_sand_normal.png b/minetestforfun_game/mods/default/textures/default_desert_sand_normal.png new file mode 100644 index 00000000..b0b79320 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_desert_sand_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_desert_stone_normal.png b/minetestforfun_game/mods/default/textures/default_desert_stone_normal.png new file mode 100644 index 00000000..e245682e Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_desert_stone_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass.png b/minetestforfun_game/mods/default/textures/default_dry_grass.png new file mode 100644 index 00000000..03455c3f Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_dry_grass.png differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_1.png b/minetestforfun_game/mods/default/textures/default_dry_grass_1.png new file mode 100644 index 00000000..5cf68a3b Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_dry_grass_1.png differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_2.png b/minetestforfun_game/mods/default/textures/default_dry_grass_2.png new file mode 100644 index 00000000..c925aceb Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_dry_grass_2.png differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_3.png b/minetestforfun_game/mods/default/textures/default_dry_grass_3.png new file mode 100644 index 00000000..4e4d84e4 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_dry_grass_3.png differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_4.png b/minetestforfun_game/mods/default/textures/default_dry_grass_4.png new file mode 100644 index 00000000..d315849e Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_dry_grass_4.png differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_5.png b/minetestforfun_game/mods/default/textures/default_dry_grass_5.png new file mode 100644 index 00000000..871d04cc Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_dry_grass_5.png differ diff --git a/minetestforfun_game/mods/default/textures/default_dry_grass_side.png b/minetestforfun_game/mods/default/textures/default_dry_grass_side.png new file mode 100644 index 00000000..27f4d960 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_dry_grass_side.png differ diff --git a/minetestforfun_game/mods/default/textures/default_jungleleaves_simple.png b/minetestforfun_game/mods/default/textures/default_jungleleaves_simple.png new file mode 100644 index 00000000..689195f7 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_jungleleaves_simple.png differ diff --git a/minetestforfun_game/mods/default/textures/default_leaves_simple.png b/minetestforfun_game/mods/default/textures/default_leaves_simple.png new file mode 100644 index 00000000..e492a32e Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_leaves_simple.png differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_coal_normal.png b/minetestforfun_game/mods/default/textures/default_mineral_coal_normal.png new file mode 100644 index 00000000..8d685f99 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_mineral_coal_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_copper_normal.png b/minetestforfun_game/mods/default/textures/default_mineral_copper_normal.png new file mode 100644 index 00000000..a6d17959 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_mineral_copper_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_diamond_normal.png b/minetestforfun_game/mods/default/textures/default_mineral_diamond_normal.png new file mode 100644 index 00000000..8d685f99 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_mineral_diamond_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_gold_normal.png b/minetestforfun_game/mods/default/textures/default_mineral_gold_normal.png new file mode 100644 index 00000000..8d685f99 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_mineral_gold_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_iron_normal.png b/minetestforfun_game/mods/default/textures/default_mineral_iron_normal.png new file mode 100644 index 00000000..72fc6c18 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_mineral_iron_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_mineral_mese_normal.png b/minetestforfun_game/mods/default/textures/default_mineral_mese_normal.png new file mode 100644 index 00000000..8229c685 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_mineral_mese_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_pinetree.png b/minetestforfun_game/mods/default/textures/default_pine_tree.png similarity index 100% rename from minetestforfun_game/mods/default/textures/default_pinetree.png rename to minetestforfun_game/mods/default/textures/default_pine_tree.png diff --git a/minetestforfun_game/mods/default/textures/default_pine_tree_top.png b/minetestforfun_game/mods/default/textures/default_pine_tree_top.png new file mode 100755 index 00000000..9e2f8647 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_pine_tree_top.png differ diff --git a/minetestforfun_game/mods/default/textures/default_pine_wood.png b/minetestforfun_game/mods/default/textures/default_pine_wood.png new file mode 100755 index 00000000..42252961 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_pine_wood.png differ diff --git a/minetestforfun_game/mods/default/textures/default_pinetree_top.png b/minetestforfun_game/mods/default/textures/default_pinetree_top.png deleted file mode 100755 index 394cc326..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_pinetree_top.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_pinewood.png b/minetestforfun_game/mods/default/textures/default_pinewood.png deleted file mode 100755 index 1285fd05..00000000 Binary files a/minetestforfun_game/mods/default/textures/default_pinewood.png and /dev/null differ diff --git a/minetestforfun_game/mods/default/textures/default_sand_normal.png b/minetestforfun_game/mods/default/textures/default_sand_normal.png new file mode 100644 index 00000000..0258decc Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_sand_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_sandstone_brick_normal.png b/minetestforfun_game/mods/default/textures/default_sandstone_brick_normal.png new file mode 100644 index 00000000..9ef5865b Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_sandstone_brick_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_stone_brick_normal.png b/minetestforfun_game/mods/default/textures/default_stone_brick_normal.png new file mode 100644 index 00000000..893714f7 Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_stone_brick_normal.png differ diff --git a/minetestforfun_game/mods/default/textures/default_stone_normal.png b/minetestforfun_game/mods/default/textures/default_stone_normal.png new file mode 100644 index 00000000..03665bda Binary files /dev/null and b/minetestforfun_game/mods/default/textures/default_stone_normal.png differ diff --git a/minetestforfun_game/mods/default/trees.lua b/minetestforfun_game/mods/default/trees.lua index ae534ed1..4e8b7769 100755 --- a/minetestforfun_game/mods/default/trees.lua +++ b/minetestforfun_game/mods/default/trees.lua @@ -1,7 +1,9 @@ -- --- Grow trees +-- Grow trees from saplings -- +-- 'Can grow' function + local random = math.random local function can_grow(pos) @@ -17,10 +19,12 @@ local function can_grow(pos) return true end --- Sapling ABMs + +-- Sapling ABM minetest.register_abm({ - nodenames = {"default:sapling"}, + nodenames = {"default:sapling", "default:junglesapling", + "default:pine_sapling", "default:acacia_sapling"}, interval = 10, chance = 50, action = function(pos, node) @@ -28,43 +32,45 @@ minetest.register_abm({ return end - minetest.log("action", "A sapling grows into a tree at ".. + local mapgen = minetest.get_mapgen_params().mgname + if node.name == "default:sapling" then + minetest.log("action", "A sapling grows into a tree at ".. minetest.pos_to_string(pos)) - default.grow_tree(pos, random(1, 4) == 1) - end -}) - -minetest.register_abm({ - nodenames = {"default:junglesapling"}, - interval = 11, - chance = 50, - action = function(pos, node) - if not can_grow(pos) then - return + if mapgen == "v6" then + default.grow_tree(pos, random(1, 4) == 1) + else + default.grow_new_apple_tree(pos) + end + elseif node.name == "default:junglesapling" then + minetest.log("action", "A jungle sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + if mapgen == "v6" then + default.grow_jungle_tree(pos) + else + default.grow_new_jungle_tree(pos) + end + elseif node.name == "default:pine_sapling" then + minetest.log("action", "A pine sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + if mapgen == "v6" then + default.grow_pine_tree(pos) + else + default.grow_new_pine_tree(pos) + end + elseif node.name == "default:acacia_sapling" then + minetest.log("action", "An acacia sapling grows into a tree at ".. + minetest.pos_to_string(pos)) + default.grow_new_acacia_tree(pos) end - - minetest.log("action", "A jungle sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_jungle_tree(pos) end }) -minetest.register_abm({ - nodenames = {"default:pine_sapling"}, - interval = 12, - chance = 50, - action = function(pos, node) - if not can_grow(pos) then - return - end - minetest.log("action", "A pine sapling grows into a tree at ".. - minetest.pos_to_string(pos)) - default.grow_pine_tree(pos) - end -}) +-- +-- Tree generation +-- --- Appletree, jungletree function +-- Apple tree and jungle tree trunk and leaves function local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid, height, size, iters, is_apple_tree) @@ -74,11 +80,11 @@ local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid, local c_apple = minetest.get_content_id("default:apple") -- Trunk - for y_dist = 0, height - 1 do - local vi = a:index(x, y + y_dist, z) + data[a:index(x, y, z)] = tree_cid -- Force-place lowest trunk node to replace sapling + for yy = y + 1, y + height - 1 do + local vi = a:index(x, yy, z) local node_id = data[vi] - if y_dist == 0 or node_id == c_air or node_id == c_ignore - or node_id == leaves_cid then + if node_id == c_air or node_id == c_ignore or node_id == leaves_cid then data[vi] = tree_cid end end @@ -123,7 +129,8 @@ local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid, end end --- Appletree + +-- Apple tree function default.grow_tree(pos, is_apple_tree, bad) --[[ @@ -155,7 +162,8 @@ function default.grow_tree(pos, is_apple_tree, bad) vm:update_map() end --- Jungletree + +-- Jungle tree function default.grow_jungle_tree(pos, bad) --[[ @@ -206,16 +214,19 @@ function default.grow_jungle_tree(pos, bad) vm:update_map() end --- Pinetree from mg mapgen mod, design by sfan5, pointy top added by paramat + +-- Pine tree from mg mapgen mod, design by sfan5, pointy top added by paramat local function add_pine_needles(data, vi, c_air, c_ignore, c_snow, c_pine_needles) - if data[vi] == c_air or data[vi] == c_ignore or data[vi] == c_snow then + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore or node_id == c_snow then data[vi] = c_pine_needles end end local function add_snow(data, vi, c_air, c_ignore, c_snow) - if data[vi] == c_air or data[vi] == c_ignore then + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore then data[vi] = c_snow end end @@ -226,7 +237,7 @@ function default.grow_pine_tree(pos) local c_air = minetest.get_content_id("air") local c_ignore = minetest.get_content_id("ignore") - local c_pinetree = minetest.get_content_id("default:pinetree") + local c_pine_tree = minetest.get_content_id("default:pine_tree") local c_pine_needles = minetest.get_content_id("default:pine_needles") local c_snow = minetest.get_content_id("default:snow") local c_snowblock = minetest.get_content_id("default:snowblock") @@ -240,16 +251,14 @@ function default.grow_pine_tree(pos) local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp}) local data = vm:get_data() - -- Scan for snow nodes near sapling + -- Scan for snow nodes near sapling to enable snow on branches local snow = false for yy = y - 1, y + 1 do for zz = z - 1, z + 1 do local vi = a:index(x - 1, yy, zz) for xx = x - 1, x + 1 do local nodid = data[vi] - if nodid == c_snow - or nodid == c_snowblock - or nodid == c_dirtsnow then + if nodid == c_snow or nodid == c_snowblock or nodid == c_dirtsnow then snow = true end vi = vi + 1 @@ -266,7 +275,7 @@ function default.grow_pine_tree(pos) for xx = x - dev, x + dev do if random() < 0.95 - dev * 0.05 then add_pine_needles(data, vi, c_air, c_ignore, c_snow, - c_pine_needles) + c_pine_needles) if snow then add_snow(data, via, c_air, c_ignore, c_snow) end @@ -280,9 +289,9 @@ function default.grow_pine_tree(pos) -- Centre top nodes add_pine_needles(data, a:index(x, maxy + 1, z), c_air, c_ignore, c_snow, - c_pine_needles) + c_pine_needles) add_pine_needles(data, a:index(x, maxy + 2, z), c_air, c_ignore, c_snow, - c_pine_needles) -- Paramat added a pointy top node + c_pine_needles) -- Paramat added a pointy top node if snow then add_snow(data, a:index(x, maxy + 3, z), c_air, c_ignore, c_snow) end @@ -301,7 +310,7 @@ function default.grow_pine_tree(pos) local via = a:index(xi, yy + 1, zz) for xx = xi, xi + 1 do add_pine_needles(data, vi, c_air, c_ignore, c_snow, - c_pine_needles) + c_pine_needles) if snow then add_snow(data, via, c_air, c_ignore, c_snow) end @@ -319,7 +328,7 @@ function default.grow_pine_tree(pos) for xx = x - dev, x + dev do if random() < 0.95 - dev * 0.05 then add_pine_needles(data, vi, c_air, c_ignore, c_snow, - c_pine_needles) + c_pine_needles) if snow then add_snow(data, via, c_air, c_ignore, c_snow) end @@ -332,9 +341,14 @@ function default.grow_pine_tree(pos) end -- Trunk - for yy = y, maxy do + data[a:index(x, y, z)] = c_pine_tree -- Force-place lowest trunk node to replace sapling + for yy = y + 1, maxy do local vi = a:index(x, yy, z) - data[vi] = c_pinetree + local node_id = data[vi] + if node_id == c_air or node_id == c_ignore or + node_id == c_pine_needles or node_id == c_snow then + data[vi] = c_pine_tree + end end vm:set_data(data) @@ -342,24 +356,49 @@ function default.grow_pine_tree(pos) vm:update_map() end +-- New apple tree + +function default.grow_new_apple_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/apple_tree.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, 0, nil, false) +end + + +-- New jungle tree + +function default.grow_new_jungle_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, 0, nil, false) +end + + +-- New pine tree + +function default.grow_new_pine_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/pine_tree.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, 0, nil, false) +end + + +-- New acacia tree + +function default.grow_new_acacia_tree(pos) + local path = minetest.get_modpath("default") .. "/schematics/acacia_tree.mts" + minetest.place_schematic({x = pos.x - 4, y = pos.y - 1, z = pos.z - 4}, + path, random, nil, false) +end + -- From BFD: minetest.register_node("default:mg_cherry_sapling", { description = "Impossible to get node.", - visual_scale = 1.0, - inventory_image = "default_cherry_sapling.png", - wield_image = "default_cherry_sapling.png", - drawtype = "plantlike", + drawtype = "airlike", paramtype = "light", - tiles = {"default_cherry_sapling.png"}, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy=2, dig_immediate=3, not_in_creative_inventory=1, attached_node=1}, - drop = "default:cherry_sapling", - sounds = default.node_sound_leaves_defaults(), + tiles = {"xfences_space.png"}, + groups = {not_in_creative_inventory=1}, }) local c_mg_cherry_sapling = minetest.get_content_id("default:mg_cherry_sapling") diff --git a/minetestforfun_game/mods/doors/init.lua b/minetestforfun_game/mods/doors/init.lua index 39e67c13..136717ca 100755 --- a/minetestforfun_game/mods/doors/init.lua +++ b/minetestforfun_game/mods/doors/init.lua @@ -129,7 +129,7 @@ function doors.register_door(name, def) local function on_rightclick(pos, dir, check_name, replace, replace_dir, params) pos.y = pos.y+dir - if not minetest.get_node(pos).name == check_name then + if minetest.get_node(pos).name ~= check_name then return end local p2 = minetest.get_node(pos).param2 diff --git a/minetestforfun_game/mods/flowers/README.txt b/minetestforfun_game/mods/flowers/README.txt index 04f96d99..f83abcda 100755 --- a/minetestforfun_game/mods/flowers/README.txt +++ b/minetestforfun_game/mods/flowers/README.txt @@ -14,3 +14,9 @@ http://sam.zoy.org/wtfpl/COPYING for more details. License of media (textures and sounds) -------------------------------------- WTFPL + +Gambit (WTFPL): + flowers_mushroom_*.png + +DanDuncombe (WTFPL): + flowers_spores_*.png diff --git a/minetestforfun_game/mods/flowers/init.lua b/minetestforfun_game/mods/flowers/init.lua index b8b3721b..ee6f6c1c 100755 --- a/minetestforfun_game/mods/flowers/init.lua +++ b/minetestforfun_game/mods/flowers/init.lua @@ -1,21 +1,33 @@ -- Minetest 0.4 mod: default -- See README.txt for licensing and other information. + -- Namespace for functions + flowers = {} + -- Map Generation -dofile(minetest.get_modpath("flowers").."/mapgen.lua") + +dofile(minetest.get_modpath("flowers") .. "/mapgen.lua") + + +-- +-- Flowers +-- -- Aliases for original flowers mod -minetest.register_alias("flowers:flower_dandelion_white", "flowers:dandelion_white") -minetest.register_alias("flowers:flower_dandelion_yellow", "flowers:dandelion_yellow") -minetest.register_alias("flowers:flower_geranium", "flowers:geranium") + minetest.register_alias("flowers:flower_rose", "flowers:rose") minetest.register_alias("flowers:flower_tulip", "flowers:tulip") +minetest.register_alias("flowers:flower_dandelion_yellow", "flowers:dandelion_yellow") +minetest.register_alias("flowers:flower_geranium", "flowers:geranium") minetest.register_alias("flowers:flower_viola", "flowers:viola") +minetest.register_alias("flowers:flower_dandelion_white", "flowers:dandelion_white") + + +-- Flower registration --- Flower registration function local function add_simple_flower(name, desc, box, f_groups) -- Common flowers' groups f_groups.snappy = 3 @@ -24,10 +36,10 @@ local function add_simple_flower(name, desc, box, f_groups) f_groups.flora = 1 f_groups.attached_node = 1 - minetest.register_node("flowers:"..name.."", { + minetest.register_node("flowers:" .. name, { description = desc, drawtype = "plantlike", - tiles = { "flowers_" .. name .. ".png" }, + tiles = {"flowers_" .. name .. ".png"}, inventory_image = "flowers_" .. name .. ".png", wield_image = "flowers_" .. name .. ".png", sunlight_propagates = true, @@ -43,14 +55,13 @@ local function add_simple_flower(name, desc, box, f_groups) }) end --- Registrations using the function above flowers.datas = { - {"dandelion_yellow", "Yellow Dandelion", { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, {color_yellow=1}}, - {"geranium", "Blue Geranium", { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, {color_blue=1}}, - {"rose", "Rose", { -0.15, -0.5, -0.15, 0.15, 0.3, 0.15 }, {color_red=1}}, - {"tulip", "Orange Tulip", { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, {color_orange=1}}, - {"dandelion_white", "White dandelion", { -0.5, -0.5, -0.5, 0.5, -0.2, 0.5 }, {color_white=1}}, - {"viola", "Viola", { -0.5, -0.5, -0.5, 0.5, -0.2, 0.5 }, {color_violet=1}} + {"rose", "Rose", {-0.15, -0.5, -0.15, 0.15, 0.3, 0.15}, {color_red = 1}}, + {"tulip", "Orange Tulip", {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_orange = 1}}, + {"dandelion_yellow", "Yellow Dandelion", {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_yellow = 1}}, + {"geranium", "Blue Geranium", {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_blue = 1}}, + {"viola", "Viola", {-0.5, -0.5, -0.5, 0.5, -0.2, 0.5}, {color_violet = 1}}, + {"dandelion_white", "White dandelion", {-0.5, -0.5, -0.5, 0.5, -0.2, 0.5}, {color_white = 1}} } for _,item in pairs(flowers.datas) do @@ -81,6 +92,8 @@ minetest.register_node("flowers:lily_pad", { }, }) +-- Flower spread + minetest.register_abm({ nodenames = {"group:flora"}, neighbors = {"default:dirt_with_grass", "default:desert_sand"}, @@ -91,7 +104,7 @@ minetest.register_abm({ local under = minetest.get_node(pos) pos.y = pos.y + 1 if under.name == "default:desert_sand" then - minetest.set_node(pos, {name="default:dry_shrub"}) + minetest.set_node(pos, {name = "default:dry_shrub"}) elseif under.name ~= "default:dirt_with_grass" then return end @@ -101,8 +114,8 @@ minetest.register_abm({ return end - local pos0 = {x=pos.x-4,y=pos.y-4,z=pos.z-4} - local pos1 = {x=pos.x+4,y=pos.y+4,z=pos.z+4} + local pos0 = {x = pos.x - 4, y = pos.y - 4, z = pos.z - 4} + local pos1 = {x = pos.x + 4, y = pos.y + 4, z = pos.z + 4} if #minetest.find_nodes_in_area(pos0, pos1, "group:flora_block") > 0 then return end @@ -121,8 +134,127 @@ minetest.register_abm({ return end if minetest.get_node(seedling).name == "air" then - minetest.set_node(seedling, {name=node.name}) + minetest.set_node(seedling, {name = node.name}) end end end, }) + + +-- +-- Mushrooms +-- + +local mushrooms_datas = { + {"brown", 2}, + {"red", -6} +} + +for _, m in pairs(mushrooms_datas) do + local name, nut = m[1], m[2] + + -- Register fertile mushrooms + + -- These are placed by mapgen and the growing ABM. + -- These drop an infertile mushroom, and 0 to 3 spore + -- nodes with an average of 1.25 per mushroom, for + -- a slow multiplication of mushrooms when farming. + + minetest.register_node("flowers:mushroom_fertile_" .. name, { + description = string.sub(string.upper(name), 0, 1) .. + string.sub(name, 2) .. " Fertile Mushroom", + tiles = {"flowers_mushroom_" .. name .. ".png"}, + inventory_image = "flowers_mushroom_" .. name .. ".png", + wield_image = "flowers_mushroom_" .. name .. ".png", + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, attached_node = 1, + not_in_creative_inventory = 1}, + drop = { + items = { + {items = {"flowers:mushroom_" .. name}}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 4}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 2}, + {items = {"flowers:mushroom_spores_" .. name}, rarity = 2} + } + }, + sounds = default.node_sound_leaves_defaults(), + on_use = minetest.item_eat(nut), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + } + }) + + -- Register infertile mushrooms + + -- These do not drop spores, to avoid the use of repeated digging + -- and placing of a single mushroom to generate unlimited spores. + + minetest.register_node("flowers:mushroom_" .. name, { + description = string.sub(string.upper(name), 0, 1) .. + string.sub(name, 2) .. " Mushroom", + tiles = {"flowers_mushroom_" .. name .. ".png"}, + inventory_image = "flowers_mushroom_" .. name .. ".png", + wield_image = "flowers_mushroom_" .. name .. ".png", + drawtype = "plantlike", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, flammable = 3, attached_node = 1}, + sounds = default.node_sound_leaves_defaults(), + on_use = minetest.item_eat(nut), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + } + }) + + -- Register mushroom spores + + minetest.register_node("flowers:mushroom_spores_" .. name, { + description = string.sub(string.upper(name), 0, 1) .. + string.sub(name, 2) .. " Mushroom Spores", + drawtype = "signlike", + tiles = {"flowers_mushroom_spores_" .. name .. ".png"}, + inventory_image = "flowers_mushroom_spores_" .. name .. ".png", + wield_image = "flowers_mushroom_spores_" .. name .. ".png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + selection_box = { + type = "wallmounted", + }, + groups = {dig_immediate = 3, attached_node = 1}, + }) +end + + +-- Register growing ABM + +minetest.register_abm({ + nodenames = {"flowers:mushroom_spores_brown", "flowers:mushroom_spores_red"}, + interval = 11, + chance = 50, + action = function(pos, node) + local node_under = minetest.get_node_or_nil({x = pos.x, + y = pos.y - 1, z = pos.z}) + if not node_under then + return + end + if minetest.get_item_group(node_under.name, "soil") ~= 0 and + minetest.get_node_light(pos, nil) <= 13 then + if node.name == "flowers:mushroom_spores_brown" then + minetest.set_node(pos, {name = "flowers:mushroom_fertile_brown"}) + elseif node.name == "flowers:mushroom_spores_red" then + minetest.set_node(pos, {name = "flowers:mushroom_fertile_red"}) + end + end + end +}) diff --git a/minetestforfun_game/mods/flowers/mapgen.lua b/minetestforfun_game/mods/flowers/mapgen.lua index 79b89d01..ce436568 100755 --- a/minetestforfun_game/mods/flowers/mapgen.lua +++ b/minetestforfun_game/mods/flowers/mapgen.lua @@ -1,4 +1,8 @@ -local function register_flower(name) +-- +-- Mgv6 +-- + +local function register_mgv6_flower(name) minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, @@ -17,15 +21,102 @@ local function register_flower(name) }) end -function flowers.register_mgv6_decorations() - register_flower("rose") - register_flower("tulip") - register_flower("dandelion_yellow") - register_flower("geranium") - register_flower("viola") - register_flower("dandelion_white") +local function register_mgv6_mushroom(name) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.04, + spread = {x=100, y=100, z=100}, + seed = 7133, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 30, + decoration = "flowers:"..name, + spawn_by = "default:tree", + num_spawn_by = 1, + }) end +function flowers.register_mgv6_decorations() + register_mgv6_flower("rose") + register_mgv6_flower("tulip") + register_mgv6_flower("dandelion_yellow") + register_mgv6_flower("geranium") + register_mgv6_flower("viola") + register_mgv6_flower("dandelion_white") + + register_mgv6_mushroom("mushroom_fertile_brown") + register_mgv6_mushroom("mushroom_fertile_red") +end + + +-- +-- All other biome API mapgens +-- + +local function register_flower(seed, name) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = -0.02, + scale = 0.03, + spread = {x=200, y=200, z=200}, + seed = seed, + octaves = 3, + persist = 0.6 + }, + biomes = { + "stone_grassland", + "sandstone_grassland", + "deciduous_forest", + "coniferous_forest", + }, + y_min = 6, + y_max = 31000, + decoration = "flowers:"..name, + }) +end + +local function register_mushroom(name) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.006, + spread = {x=200, y=200, z=200}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"deciduous_forest", "coniferous_forest"}, + y_min = 6, + y_max = 31000, + decoration = "flowers:"..name, + }) +end + +function flowers.register_decorations() + register_flower(436, "rose") + register_flower(19822, "tulip") + register_flower(1220999, "dandelion_yellow") + register_flower(36662, "geranium") + register_flower(1133, "viola") + register_flower(73133, "dandelion_white") + + register_mushroom("mushroom_fertile_brown") + register_mushroom("mushroom_fertile_red") +end + + minetest.register_decoration({ deco_type = "simple", place_on = {"default:water_source"}, @@ -78,10 +169,16 @@ minetest.register_decoration({ }) --- Enable in mapgen v6 only +-- +-- Detect mapgen to select functions +-- +-- Mods using singlenode mapgen can call these functions to enable +-- the use of minetest.generate_ores or minetest.generate_decorations +-- Enable in mapgen v6 only local mg_params = minetest.get_mapgen_params() if mg_params.mgname == "v6" then flowers.register_mgv6_decorations() +elseif mg_params.mgname ~= "singlenode" then + flowers.register_decorations() end - diff --git a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_brown.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_brown.png new file mode 100644 index 00000000..33ffcd47 Binary files /dev/null and b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_brown.png differ diff --git a/minetestforfun_game/mods/flowers/textures/flowers_mushroom_red.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_red.png new file mode 100644 index 00000000..a68f5d50 Binary files /dev/null and b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_red.png differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_spore_brown.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_brown.png old mode 100755 new mode 100644 similarity index 100% rename from mods/plantlife_modpack/mushroom/textures/mushroom_spore_brown.png rename to minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_brown.png diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_spore_red.png b/minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_red.png old mode 100755 new mode 100644 similarity index 100% rename from mods/plantlife_modpack/mushroom/textures/mushroom_spore_red.png rename to minetestforfun_game/mods/flowers/textures/flowers_mushroom_spores_red.png diff --git a/minetestforfun_game/mods/stairs/depends.txt b/minetestforfun_game/mods/stairs/depends.txt index 4ad96d51..d77ba253 100755 --- a/minetestforfun_game/mods/stairs/depends.txt +++ b/minetestforfun_game/mods/stairs/depends.txt @@ -1 +1,2 @@ default +farming diff --git a/minetestforfun_game/mods/stairs/init.lua b/minetestforfun_game/mods/stairs/init.lua index f49e4f5b..97649079 100755 --- a/minetestforfun_game/mods/stairs/init.lua +++ b/minetestforfun_game/mods/stairs/init.lua @@ -1,14 +1,25 @@ -- Minetest 0.4 mod: stairs -- See README.txt for licensing and other information. + +-- Global namespace for functions + stairs = {} + +-- Get setting for replace ABM + +local replace = minetest.setting_getbool("enable_stairs_replace_abm") + + +-- Register stairs. -- Node will be called stairs:stair_ + function stairs.register_stair(subname, recipeitem, groups, images, description, sounds) minetest.register_node(":stairs:stair_" .. subname, { description = description, drawtype = "mesh", - mesh = "stairs.obj", + mesh = "stairs_stair.obj", tiles = images, paramtype = "light", paramtype2 = "facedir", @@ -48,7 +59,7 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, param2 = minetest.dir_to_facedir(dir) end - if p0.y-1 == p1.y then + if p0.y - 1 == p1.y then param2 = param2 + 20 if param2 == 21 then param2 = 23 @@ -62,10 +73,12 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, }) -- for replace ABM - minetest.register_node(":stairs:stair_" .. subname.."upside_down", { - replace_name = "stairs:stair_" .. subname, - groups = {slabs_replace=1}, - }) + if replace then + minetest.register_node(":stairs:stair_" .. subname .. "upside_down", { + replace_name = "stairs:stair_" .. subname, + groups = {slabs_replace = 1}, + }) + end minetest.register_craft({ output = 'stairs:stair_' .. subname .. ' 6', @@ -87,7 +100,10 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, }) end + +-- Register slabs. -- Node will be called stairs:slab_ + function stairs.register_slab(subname, recipeitem, groups, images, description, sounds) minetest.register_node(":stairs:slab_" .. subname, { description = description, @@ -120,7 +136,8 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, local n0_is_upside_down = (n0.name == "stairs:slab_" .. subname and n0.param2 >= 20) - if n0.name == "stairs:slab_" .. subname and not n0_is_upside_down and p0.y+1 == p1.y then + if n0.name == "stairs:slab_" .. subname and not n0_is_upside_down and + p0.y + 1 == p1.y then slabpos = p0 slabnode = n0 elseif n1.name == "stairs:slab_" .. subname then @@ -136,7 +153,8 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, pointed_thing.above = slabpos local success - fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) + fakestack, success = minetest.item_place(fakestack, placer, + pointed_thing) -- If the item was taken from the fake stack, decrement original if success then itemstack:set_count(fakestack:get_count()) @@ -148,7 +166,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, end -- Upside down slabs - if p0.y-1 == p1.y then + if p0.y - 1 == p1.y then -- Turn into full block if pointing at a existing slab if n0_is_upside_down then -- Remove the slab at the position of the slab @@ -159,7 +177,8 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, pointed_thing.above = p0 local success - fakestack, success = minetest.item_place(fakestack, placer, pointed_thing) + fakestack, success = minetest.item_place(fakestack, placer, + pointed_thing) -- If the item was taken from the fake stack, decrement original if success then itemstack:set_count(fakestack:get_count()) @@ -175,7 +194,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, end -- If pointing at the side of a upside down slab - if n0_is_upside_down and p0.y+1 ~= p1.y then + if n0_is_upside_down and p0.y + 1 ~= p1.y then param2 = 20 end @@ -184,10 +203,12 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, }) -- for replace ABM - minetest.register_node(":stairs:slab_" .. subname.."upside_down", { - replace_name = "stairs:slab_"..subname, - groups = {slabs_replace=1}, - }) + if replace then + minetest.register_node(":stairs:slab_" .. subname .. "upside_down", { + replace_name = "stairs:slab_".. subname, + groups = {slabs_replace = 1}, + }) + end minetest.register_craft({ output = 'stairs:slab_' .. subname .. ' 6', @@ -197,127 +218,180 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, }) end --- Replace old "upside_down" nodes with new param2 versions -minetest.register_abm({ - nodenames = {"group:slabs_replace"}, - interval = 1, - chance = 1, - action = function(pos, node) - node.name = minetest.registered_nodes[node.name].replace_name - node.param2 = node.param2 + 20 - if node.param2 == 21 then - node.param2 = 23 - elseif node.param2 == 23 then - node.param2 = 21 - end - minetest.set_node(pos, node) - end, -}) +-- Optionally replace old "upside_down" nodes with new param2 versions. +-- Disabled by default. + +if replace then + minetest.register_abm({ + nodenames = {"group:slabs_replace"}, + interval = 8, + chance = 1, + action = function(pos, node) + node.name = minetest.registered_nodes[node.name].replace_name + node.param2 = node.param2 + 20 + if node.param2 == 21 then + node.param2 = 23 + elseif node.param2 == 23 then + node.param2 = 21 + end + minetest.set_node(pos, node) + end, + }) +end + + +-- Stair/slab registration function. -- Nodes will be called stairs:{stair,slab}_ -function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds) + +function stairs.register_stair_and_slab(subname, recipeitem, groups, images, + desc_stair, desc_slab, sounds) stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds) stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds) end + +-- Register default stairs and slabs + stairs.register_stair_and_slab("wood", "default:wood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, {"default_wood.png"}, "Wooden Stair", "Wooden Slab", default.node_sound_wood_defaults()) +stairs.register_stair_and_slab("junglewood", "default:junglewood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_junglewood.png"}, + "Junglewood Stair", + "Junglewood Slab", + default.node_sound_wood_defaults()) + +stairs.register_stair_and_slab("pine_wood", "default:pine_wood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_pine_wood.png"}, + "Pine Wood Stair", + "Pine Wood Slab", + default.node_sound_wood_defaults()) + +stairs.register_stair_and_slab("acacia_wood", "default:acacia_wood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_acacia_wood.png"}, + "Acacia Wood Stair", + "Acacia Wood Slab", + default.node_sound_wood_defaults()) + stairs.register_stair_and_slab("stone", "default:stone", - {cracky=3}, + {cracky = 3}, {"default_stone.png"}, "Stone Stair", "Stone Slab", default.node_sound_stone_defaults()) stairs.register_stair_and_slab("cobble", "default:cobble", - {cracky=3}, + {cracky = 3}, {"default_cobble.png"}, "Cobblestone Stair", "Cobblestone Slab", default.node_sound_stone_defaults()) +stairs.register_stair_and_slab("stonebrick", "default:stonebrick", + {cracky = 3}, + {"default_stone_brick.png"}, + "Stone Brick Stair", + "Stone Brick Slab", + default.node_sound_stone_defaults()) + stairs.register_stair_and_slab("desert_stone", "default:desert_stone", - {cracky=3}, + {cracky = 3}, {"default_desert_stone.png"}, "Desertstone Stair", "Desertstone Slab", default.node_sound_stone_defaults()) stairs.register_stair_and_slab("desert_cobble", "default:desert_cobble", - {cracky=3}, + {cracky = 3}, {"default_desert_cobble.png"}, "Desert Cobblestone Stair", "Desert Cobblestone Slab", default.node_sound_stone_defaults()) stairs.register_stair_and_slab("desert_stonebrick", "default:desert_stonebrick", - {cracky=3}, + {cracky = 3}, {"default_desert_stone_brick.png"}, "Desert Stone Brick Stair", "Desert Stone Brick Slab", default.node_sound_stone_defaults()) -stairs.register_stair_and_slab("brick", "default:brick", - {cracky=3}, - {"default_brick.png"}, - "Brick Stair", - "Brick Slab", - default.node_sound_stone_defaults()) - stairs.register_stair_and_slab("sandstone", "default:sandstone", - {crumbly=1,cracky=3}, + {crumbly = 2, cracky = 2}, {"default_sandstone.png"}, "Sandstone Stair", "Sandstone Slab", default.node_sound_stone_defaults()) stairs.register_stair_and_slab("sandstonebrick", "default:sandstonebrick", - {crumbly=2,cracky=2}, + {crumbly = 2, cracky = 2}, {"default_sandstone_brick.png"}, "Sandstone Brick Stair", "Sandstone Brick Slab", default.node_sound_stone_defaults()) -stairs.register_stair_and_slab("junglewood", "default:junglewood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_junglewood.png"}, - "Junglewood Stair", - "Junglewood Slab", - default.node_sound_wood_defaults()) - -stairs.register_stair_and_slab("stonebrick", "default:stonebrick", - {cracky=3}, - {"default_stone_brick.png"}, - "Stone Brick Stair", - "Stone Brick Slab", - default.node_sound_stone_defaults()) - -stairs.register_stair_and_slab("pinewood", "default:pinewood", - {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3}, - {"default_pinewood.png"}, - "Pinewood Stair", - "Pinewood Slab", - default.node_sound_wood_defaults()) - stairs.register_stair_and_slab("obsidian", "default:obsidian", - {cracky=1,level=2}, + {cracky = 1, level = 2}, {"default_obsidian.png"}, "Obsidian Stair", "Obsidian Slab", default.node_sound_stone_defaults()) stairs.register_stair_and_slab("obsidianbrick", "default:obsidianbrick", - {cracky=1,level=2}, + {cracky = 1, level = 2}, {"default_obsidian_brick.png"}, "Obsidian Brick Stair", "Obsidian Brick Slab", default.node_sound_stone_defaults()) +stairs.register_stair_and_slab("brick", "default:brick", + {cracky = 3}, + {"default_brick.png"}, + "Brick Stair", + "Brick Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("straw", "farming:straw", + {snappy = 3, flammable = 4}, + {"farming_straw.png"}, + "Straw Stair", + "Straw Slab", + default.node_sound_leaves_defaults()) + +stairs.register_stair_and_slab("steelblock", "default:steelblock", + {cracky = 1, level = 2}, + {"default_steel_block.png"}, + "Steel Block Stair", + "Steel Block Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("copperblock", "default:copperblock", + {cracky = 1, level = 2}, + {"default_copper_block.png"}, + "Copper Block Stair", + "Copper Block Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("bronzeblock", "default:bronzeblock", + {cracky = 1, level = 2}, + {"default_bronze_block.png"}, + "Bronze Block Stair", + "Bronze Block Slab", + default.node_sound_stone_defaults()) + +stairs.register_stair_and_slab("goldblock", "default:goldblock", + {cracky = 1}, + {"default_gold_block.png"}, + "Gold Block Stair", + "Gold Block Slab", + default.node_sound_stone_defaults()) -- From BFD: stairs.register_stair_and_slab("cherry_wood", "default:cherry_plank", diff --git a/minetestforfun_game/mods/xpanes/init.lua b/minetestforfun_game/mods/xpanes/init.lua index 6228e068..2ecf2ea8 100755 --- a/minetestforfun_game/mods/xpanes/init.lua +++ b/minetestforfun_game/mods/xpanes/init.lua @@ -185,7 +185,7 @@ xpanes.register_pane("bar", { textures = {"xpanes_bar.png","xpanes_bar.png","xpanes_space.png"}, inventory_image = "xpanes_bar.png", wield_image = "xpanes_bar.png", - groups = {cracky=3, pane=1}, + groups = {cracky=3, pane=1}, -- //MFF sounds = default.node_sound_stone_defaults(), recipe = { {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, diff --git a/mods/moretrees/biome_defs.lua b/mods/moretrees/biome_defs.lua index 6f3bf0d2..34d8e4e8 100755 --- a/mods/moretrees/biome_defs.lua +++ b/mods/moretrees/biome_defs.lua @@ -118,18 +118,24 @@ moretrees.rubber_tree_biome = { } moretrees.jungletree_biome = { - surface = "default:dirt_with_grass", - avoid_nodes = moretrees.avoidnodes, - avoid_radius = 5, + surface = { + "default:dirt", + "default:dirt_with_grass", + "woodsoils:dirt_with_leaves_1", + "woodsoils:grass_with_leaves_1", + "woodsoils:grass_with_leaves_2" + }, + avoid_nodes = {"moretrees:jungletree_trunk"}, + max_count = 12, + avoid_radius = 3, + rarity = 85, seed_diff = 329, - min_elevation = -5, - max_elevation = 10, - temp_min = 0.25, - near_nodes = {"default:water_source"}, - near_nodes_size = 20, - near_nodes_count = 7, - rarity = 10, - max_count = 10, + min_elevation = 1, + near_nodes = {"default:jungletree"}, + near_nodes_size = 6, + near_nodes_vertical = 2, + near_nodes_count = 1, + plantlife_limit = -0.9, } moretrees.spruce_biome = { @@ -180,4 +186,3 @@ moretrees.fir_biome_snow = { delete_above = true, spawn_replace_node = true } - diff --git a/mods/moretrees/default_settings.txt b/mods/moretrees/default_settings.txt index cd9017ad..438e8a6a 100755 --- a/mods/moretrees/default_settings.txt +++ b/mods/moretrees/default_settings.txt @@ -38,18 +38,6 @@ moretrees.plantlike_leaves = false moretrees.enable_leafdecay = true --- Enable this one if you want this mod's leafdecay code to affect the old --- default trees too; this setting is independent of the one above. You'll --- want to manually disable the default leafdecay code in minetest_game if --- you enable this, otherwise you'll have two sets of leaf decay code running --- at the same time, which will just waste CPU for no benefit. - -moretrees.enable_default_leafdecay = true - --- Enable this one for default *jungle* leaves - -moretrees.enable_default_jungle_leafdecay = true - -- Enable this if you want moretrees to redefine default apples so that they -- fall when leaves decay/are dug. @@ -61,10 +49,6 @@ moretrees.leafdecay_delay = 2 moretrees.leafdecay_chance = 100 moretrees.leafdecay_radius = 5 -moretrees.default_jungle_leafdecay_delay = 2 -moretrees.default_jungle_leafdecay_chance = 100 -moretrees.default_jungle_leafdecay_radius = 5 - moretrees.palm_leafdecay_radius = 15 moretrees.default_leafdecay_delay = 3 diff --git a/mods/moretrees/init.lua b/mods/moretrees/init.lua index bc2ec386..6771f0b9 100755 --- a/mods/moretrees/init.lua +++ b/mods/moretrees/init.lua @@ -13,8 +13,7 @@ -- by RealBadAngel. -- -- License: WTFPL for all parts (code and textures, including those copied --- from the jungletree and conifers mods) except the default jungle tree trunk --- texture, which is CC-By-SA. +-- from the the old jungletree and conifers mods). moretrees = {} @@ -120,14 +119,13 @@ else moretrees.spawn_rubber_tree_object = moretrees.rubber_tree_model moretrees.spawn_willow_object = moretrees.willow_model moretrees.spawn_acacia_object = moretrees.acacia_model - moretrees.spawn_birch_object = "moretrees:grow_birch" - moretrees.spawn_spruce_object = "moretrees:grow_spruce" - moretrees.spawn_jungletree_object = "moretrees:grow_jungletree" - moretrees.spawn_fir_object = "moretrees:grow_fir" - moretrees.spawn_fir_snow_object = "moretrees:grow_fir_snow" + moretrees.spawn_birch_object = "moretrees.grow_birch" + moretrees.spawn_spruce_object = "moretrees.grow_spruce" + moretrees.spawn_jungletree_object = "moretrees.grow_jungletree" + moretrees.spawn_fir_object = "moretrees.grow_fir" + moretrees.spawn_fir_snow_object = "moretrees.grow_fir_snow" end - if moretrees.enable_beech then biome_lib:register_generate_plant(moretrees.beech_biome, moretrees.spawn_beech_object) end @@ -185,7 +183,7 @@ end -- Code to spawn a birch tree -function moretrees:grow_birch(pos) +function moretrees.grow_birch(pos) minetest.remove_node(pos) if math.random(1,2) == 1 then minetest.spawn_tree(pos, moretrees.birch_model1) @@ -196,7 +194,7 @@ end -- Code to spawn a spruce tree -function moretrees:grow_spruce(pos) +function moretrees.grow_spruce(pos) minetest.remove_node(pos) if math.random(1,2) == 1 then minetest.spawn_tree(pos, moretrees.spruce_model1) @@ -221,7 +219,7 @@ moretrees.ct_rules_b1 = "[-FBf][+FBf]" moretrees.ct_rules_a2 = "FF[FF][&&-FBF][&&+FBF][&&---FBF][&&+++FBF]F/A" moretrees.ct_rules_b2 = "[-fB][+fB]" -function moretrees:grow_jungletree(pos) +function moretrees.grow_jungletree(pos) local r1 = math.random(2) local r2 = math.random(3) if r1 == 1 then @@ -261,7 +259,7 @@ end -- code to spawn fir trees -function moretrees:grow_fir(pos) +function moretrees.grow_fir(pos) if math.random(2) == 1 then moretrees.fir_model.leaves="moretrees:fir_leaves" else @@ -288,7 +286,7 @@ end -- same thing, but a smaller version that grows only in snow biomes -function moretrees:grow_fir_snow(pos) +function moretrees.grow_fir_snow(pos) if math.random(2) == 1 then moretrees.fir_model.leaves="moretrees:fir_leaves" else diff --git a/mods/moretrees/leafdecay.lua b/mods/moretrees/leafdecay.lua index efcbccbd..86acf408 100755 --- a/mods/moretrees/leafdecay.lua +++ b/mods/moretrees/leafdecay.lua @@ -19,7 +19,7 @@ end if moretrees.enable_leafdecay then for i in ipairs(moretrees.treelist) do local treename = moretrees.treelist[i][1] - if treename ~= "jungletree" and treename ~= "fir" and treename ~= "palm" then + if treename ~= "jungletree" and treename ~= "pine" and treename ~= "acacia" and treename ~= "fir" and treename ~= "palm" then minetest.register_abm({ nodenames = "moretrees:"..treename.."_leaves", interval = moretrees.leafdecay_delay, @@ -35,11 +35,11 @@ if moretrees.enable_leafdecay then end minetest.register_abm({ - nodenames = {"moretrees:jungletree_leaves_red","moretrees:jungletree_leaves_green","moretrees:jungletree_leaves_yellow"}, + nodenames = {"default:jungleleaves", "moretrees:jungletree_leaves_red", "moretrees:jungletree_leaves_yellow"}, interval = moretrees.leafdecay_delay, chance = moretrees.leafdecay_chance, action = function(pos, node, active_object_count, active_object_count_wider) - if minetest.find_node_near(pos, moretrees.leafdecay_radius, {"ignore", "default:jungletree", "moretrees:jungletree_trunk"}) then return end + if minetest.find_node_near(pos, moretrees.leafdecay_radius, {"ignore", "default:jungletree"}) then return end process_drops(pos, node.name) minetest.remove_node(pos) nodeupdate(pos) @@ -71,21 +71,6 @@ if moretrees.enable_leafdecay then }) end -if moretrees.enable_default_leafdecay then - - minetest.register_abm({ - nodenames = "default:leaves", - interval = moretrees.default_leafdecay_delay, - chance = moretrees.default_leafdecay_chance, - action = function(pos, node, active_object_count, active_object_count_wider) - if minetest.find_node_near(pos, moretrees.default_leafdecay_radius, { "ignore", "default:tree" }) then return end - process_drops(pos, node.name) - minetest.remove_node(pos) - nodeupdate(pos) - end - }) -end - -- Decay apple tree blossoms from nature_classic mod if minetest.get_modpath("nature_classic") then minetest.register_abm({ @@ -100,18 +85,3 @@ if minetest.get_modpath("nature_classic") then end }) end - -if moretrees.enable_default_jungle_leafdecay then - minetest.register_abm({ - nodenames = "default:jungleleaves", - interval = moretrees.default_jungle_leafdecay_delay, - chance = moretrees.default_jungle_leafdecay_chance, - action = function(pos, node, active_object_count, active_object_count_wider) - if minetest.find_node_near(pos, moretrees.default_jungle_leafdecay_radius, { "ignore", "default:jungletree" }) then return end - process_drops(pos, node.name) - minetest.remove_node(pos) - nodeupdate(pos) - end - }) -end - diff --git a/mods/moretrees/locale/de.txt b/mods/moretrees/locale/de.txt index b01b1db2..cab8d6f4 100755 --- a/mods/moretrees/locale/de.txt +++ b/mods/moretrees/locale/de.txt @@ -65,7 +65,6 @@ Spruce Cone = Fichtenzapfen Pine Cone = Kiefernzapfen Fir Cone = Tannenzapfen Jungle Sapling = Tropenbaumsetzling -Jungle Tree Leaves (Green) = Tropenbaumlaub (gruen) Jungle Tree Leaves (Yellow) = Tropenbaumlaub (gelb) Jungle Tree Leaves (Red) = Tropenbaumlaub (rot) Douglas Fir Leaves (Bright) = Douglasiennadeln (breit) diff --git a/mods/moretrees/locale/template.txt b/mods/moretrees/locale/template.txt index 5f4bc327..8c167f51 100755 --- a/mods/moretrees/locale/template.txt +++ b/mods/moretrees/locale/template.txt @@ -65,7 +65,6 @@ Spruce Cone = Pine Cone = Fir Cone = Jungle Sapling = -Jungle Tree Leaves (Green) = Jungle Tree Leaves (Yellow) = Jungle Tree Leaves (Red) = Douglas Fir Leaves (Bright) = diff --git a/mods/moretrees/node_defs.lua b/mods/moretrees/node_defs.lua index ab0ecfd8..35956712 100755 --- a/mods/moretrees/node_defs.lua +++ b/mods/moretrees/node_defs.lua @@ -5,17 +5,18 @@ moretrees.avoidnodes = {} moretrees.treelist = { {"beech", "Beech Tree"}, {"apple_tree", "Apple Tree"}, - {"oak", "Oak Tree", "acorn", "Acorn", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, + {"oak", "Oak Tree", "acorn", "Acorn", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, {"sequoia", "Giant Sequoia"}, {"birch", "Birch Tree"}, - {"palm", "Palm Tree", "coconut", "Coconut", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 1.0 }, - {"spruce", "Spruce Tree", "spruce_cone", "Spruce Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, - {"pine", "Pine Tree", "pine_cone", "Pine Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, + {"palm", "Palm Tree", "coconut", "Coconut", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 1.0 }, + {"spruce", "Spruce Tree", "spruce_cone", "Spruce Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, {"willow", "Willow Tree"}, - {"acacia", "Acacia Tree"}, {"rubber_tree", "Rubber Tree"}, - {"jungletree", "Jungle Tree"}, - {"fir", "Douglas Fir", "fir_cone", "Fir Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, + {"fir", "Douglas Fir", "fir_cone", "Fir Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, + + {"jungletree", "Jungle Tree", nil, nil, nil, nil, "default_junglesapling.png" }, + {"pine", "Pine Tree", "pine_cone", "Pine Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8, "default_pine_sapling.png" }, + {"acacia", "Acacia Tree", nil, nil, nil, nil, "default_acacia_sapling.png" }, } local dirs1 = { 21, 20, 23, 22, 21 } @@ -75,9 +76,10 @@ for i in ipairs(moretrees.treelist) do local fruitdesc = moretrees.treelist[i][4] local selbox = moretrees.treelist[i][5] local vscale = moretrees.treelist[i][6] + local saptext = moretrees.treelist[i][7] or "moretrees_"..treename.."_sapling.png" if treename ~= "jungletree" -- the default game provides jungle tree, acacia, and pine trunk/planks nodes. --- and treename ~= "acacia" UNCOMMENT WHEN ACACIA IS MERGED FROM MT_GAME + and treename ~= "acacia" and treename ~= "pine" then minetest.register_node("moretrees:"..treename.."_trunk", { @@ -105,8 +107,8 @@ for i in ipairs(moretrees.treelist) do minetest.register_node("moretrees:"..treename.."_sapling", { description = S(treedesc.." Sapling"), drawtype = "plantlike", - tiles = {"moretrees_"..treename.."_sapling.png"}, - inventory_image = "moretrees_"..treename.."_sapling.png", + tiles = {saptext}, + inventory_image = saptext, paramtype = "light", paramtype2 = "waving", walkable = false, @@ -118,28 +120,10 @@ for i in ipairs(moretrees.treelist) do sounds = default.node_sound_defaults(), }) - minetest.register_node("moretrees:"..treename.."_sapling_ongen", { - description = S(treedesc.." Sapling"), - drawtype = "plantlike", - tiles = {"moretrees_"..treename.."_sapling.png"}, - inventory_image = "moretrees_"..treename.."_sapling.png", - paramtype = "light", - paramtype2 = "waving", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,not_in_creative_inventory=1,sapling=1}, - sounds = default.node_sound_defaults(), - drop = "moretrees:"..treename.."_sapling" - }) - -- player will get a sapling with 1/100 chance -- player will get leaves only if he/she gets no saplings, -- this is because max_items is 1 - local droprarity = 100 if treename == "palm" then @@ -183,7 +167,7 @@ for i in ipairs(moretrees.treelist) do stairsplus:register_all( "moretrees", treename.."_trunk", - "moretrees:"..treename.."_trunk", + "moretrees:"..treename.."_trunk", { groups = { snappy=1, choppy=2, oddly_breakable_by_hand=1, flammable=2, not_in_creative_inventory=1 }, tiles = { @@ -235,6 +219,23 @@ for i in ipairs(moretrees.treelist) do end end + minetest.register_node("moretrees:"..treename.."_sapling_ongen", { + description = S(treedesc.." Sapling"), + drawtype = "plantlike", + tiles = {saptext}, + inventory_image = saptext, + paramtype = "light", + paramtype2 = "waving", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} + }, + groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,not_in_creative_inventory=1,sapling=1}, + sounds = default.node_sound_defaults(), + drop = "moretrees:"..treename.."_sapling" + }) + if fruit then minetest.register_node("moretrees:"..fruit, { description = S(fruitdesc), @@ -276,46 +277,9 @@ end -- Extra nodes for jungle trees: -minetest.register_node("moretrees:jungletree_sapling", { - description = S("Jungle Sapling"), - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_junglesapling.png"}, - inventory_image = "default_junglesapling.png", - wield_image = "default_junglesapling.png", - paramtype = "light", - paramtype2 = "waving", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,sapling=1}, - sounds = default.node_sound_leaves_defaults(), -}) - -minetest.register_node("moretrees:jungletree_sapling_ongen", { - description = S("Jungle Sapling"), - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {"default_junglesapling.png"}, - inventory_image = "default_junglesapling.png", - wield_image = "default_junglesapling.png", - paramtype = "light", - paramtype2 = "waving", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} - }, - groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1,not_in_creative_inventory=1,sapling=1}, - sounds = default.node_sound_leaves_defaults(), - drop = "moretrees:jungletree_sapling" -}) - -local jungleleaves = {"green","yellow","red"} -local jungleleavesnames = {"Green", "Yellow", "Red"} -for color = 1, 3 do +local jungleleaves = {"yellow","red"} +local jungleleavesnames = {"Yellow", "Red"} +for color = 1, #jungleleaves do local leave_name = "moretrees:jungletree_leaves_"..jungleleaves[color] local moretrees_leaves_inventory_image = nil @@ -338,7 +302,7 @@ for color = 1, 3 do drop = { max_items = 1, items = { - {items = {'moretrees:jungletree_sapling'}, rarity = 100 }, + {items = {"default:junglesapling"}, rarity = 100 }, {items = {"moretrees:jungletree_leaves_"..jungleleaves[color]} } } }, @@ -380,15 +344,16 @@ if moretrees.enable_redefine_apple then end table.insert(moretrees.avoidnodes, "default:jungletree") -table.insert(moretrees.avoidnodes, "moretrees:jungletree_trunk") +table.insert(moretrees.avoidnodes, "default:pine_tree") +table.insert(moretrees.avoidnodes, "default:acacia_tree") table.insert(moretrees.avoidnodes, "moretrees:fir_trunk") table.insert(moretrees.avoidnodes, "default:tree") if moretrees.spawn_saplings then table.insert(moretrees.avoidnodes, "snow:sapling_pine") table.insert(moretrees.avoidnodes, "default:junglesapling") - table.insert(moretrees.avoidnodes, "moretrees:jungle_tree_sapling") - table.insert(moretrees.avoidnodes, "moretrees:jungle_tree_sapling_ongen") + table.insert(moretrees.avoidnodes, "default:pine_sapling") + table.insert(moretrees.avoidnodes, "default:acacia_sapling") end -- "empty" (tapped) rubber tree nodes @@ -418,45 +383,56 @@ minetest.register_abm({ end, }) --- For compatibility with old nodes and recently-changed nodes. +-- To get Moretrees to generate its own jungle trees among the default mapgen +-- we need our own copy of that node, which moretrees will match against. -minetest.register_alias("technic:rubber_tree_full", "moretrees:rubber_tree_trunk") -minetest.register_alias("farming_plus:rubber_tree_full", "moretrees:rubber_tree_trunk") -minetest.register_alias("farming:rubber_tree_full", "moretrees:rubber_tree_trunk") +local jungle_tree = moretrees.clone_node("default:jungletree") +minetest.register_node("moretrees:jungletree_trunk", jungle_tree) -minetest.register_alias("technic:rubber_leaves", "moretrees:rubber_tree_leaves") -minetest.register_alias("farming_plus:rubber_leaves", "moretrees:rubber_tree_leaves") -minetest.register_alias("farming:rubber_leaves", "moretrees:rubber_tree_leaves") +-- For compatibility with old nodes, recently-changed nodes, and default nodes -minetest.register_alias("technic:rubber_tree_sapling", "moretrees:rubber_tree_sapling") -minetest.register_alias("farming_plus:rubber_sapling", "moretrees:rubber_tree_sapling") -minetest.register_alias("farming:rubber_sapling", "moretrees:rubber_tree_sapling") +minetest.register_alias("technic:rubber_tree_full", "moretrees:rubber_tree_trunk") +minetest.register_alias("farming_plus:rubber_tree_full", "moretrees:rubber_tree_trunk") +minetest.register_alias("farming:rubber_tree_full", "moretrees:rubber_tree_trunk") -minetest.register_alias("default:junglesapling","moretrees:jungletree_sapling") -minetest.register_alias("moretrees:jungletree_trunk_sideways", "moreblocks:horizontal_jungle_tree") -minetest.register_alias("moretrees:jungletree_trunk", "default:jungletree") -minetest.register_alias("moretrees:jungletree_planks", "default:junglewood") +minetest.register_alias("technic:rubber_leaves", "moretrees:rubber_tree_leaves") +minetest.register_alias("farming_plus:rubber_leaves", "moretrees:rubber_tree_leaves") +minetest.register_alias("farming:rubber_leaves", "moretrees:rubber_tree_leaves") -minetest.register_alias("jungletree:leaves_green", "moretrees:jungletree_leaves_green") -minetest.register_alias("jungletree:leaves_red", "moretrees:jungletree_leaves_red") -minetest.register_alias("jungletree:leaves_yellow", "moretrees:jungletree_leaves_yellow") +minetest.register_alias("technic:rubber_tree_sapling", "moretrees:rubber_tree_sapling") +minetest.register_alias("farming_plus:rubber_sapling", "moretrees:rubber_tree_sapling") +minetest.register_alias("farming:rubber_sapling", "moretrees:rubber_tree_sapling") -minetest.register_alias("moretrees:conifer_trunk", "moretrees:fir_trunk") -minetest.register_alias("moretrees:conifer_trunk_sideways", "moretrees:fir_trunk_sideways") -minetest.register_alias("moretrees:conifer_leaves", "moretrees:fir_leaves") -minetest.register_alias("moretrees:conifer_leaves_bright", "moretrees:fir_leaves_bright") -minetest.register_alias("moretrees:conifer_sapling", "moretrees:fir_sapling") +minetest.register_alias("moretrees:conifer_trunk", "moretrees:fir_trunk") +minetest.register_alias("moretrees:conifer_trunk_sideways", "moretrees:fir_trunk_sideways") +minetest.register_alias("moretrees:conifer_leaves", "moretrees:fir_leaves") +minetest.register_alias("moretrees:conifer_leaves_bright", "moretrees:fir_leaves_bright") +minetest.register_alias("moretrees:conifer_sapling", "moretrees:fir_sapling") -minetest.register_alias("conifers:trunk", "moretrees:fir_trunk") -minetest.register_alias("conifers:trunk_reversed", "moretrees:fir_trunk_sideways") -minetest.register_alias("conifers:leaves", "moretrees:fir_leaves") -minetest.register_alias("conifers:leaves_special", "moretrees:fir_leaves_bright") -minetest.register_alias("conifers:sapling", "moretrees:fir_sapling") +minetest.register_alias("conifers:trunk", "moretrees:fir_trunk") +minetest.register_alias("conifers:trunk_reversed", "moretrees:fir_trunk_sideways") +minetest.register_alias("conifers:leaves", "moretrees:fir_leaves") +minetest.register_alias("conifers:leaves_special", "moretrees:fir_leaves_bright") +minetest.register_alias("conifers:sapling", "moretrees:fir_sapling") -minetest.register_alias("moretrees:pine_trunk", "default:pinetree") -minetest.register_alias("moretrees:pine_planks", "default:pinewood") -minetest.register_alias("moretrees:pine_sapling", "default:pine_sapling") -minetest.register_alias("moretrees:pine_leaves", "default:pine_needles") +minetest.register_alias("moretrees:jungletree_sapling", "default:junglesapling") +minetest.register_alias("moretrees:jungletree_trunk_sideways", "moreblocks:horizontal_jungle_tree") +minetest.register_alias("moretrees:jungletree_planks", "default:junglewood") +minetest.register_alias("moretrees:jungletree_leaves_green", "default:jungletree_leaves") + +minetest.register_alias("jungletree:leaves_green", "default:jungleleaves") +minetest.register_alias("jungletree:leaves_red", "moretrees:jungletree_leaves_red") +minetest.register_alias("jungletree:leaves_yellow", "moretrees:jungletree_leaves_yellow") + +minetest.register_alias("moretrees:acacia_trunk", "default:acacia_tree") +minetest.register_alias("moretrees:acacia_planks", "default:acacia_wood") +minetest.register_alias("moretrees:acacia_sapling", "default:acacia_sapling") +minetest.register_alias("moretrees:acacia_leaves", "default:acacia_leaves") + +minetest.register_alias("moretrees:pine_trunk", "default:pinetree") +minetest.register_alias("moretrees:pine_planks", "default:pinewood") +minetest.register_alias("moretrees:pine_sapling", "default:pine_sapling") +minetest.register_alias("moretrees:pine_leaves", "default:pine_needles") -- Overriding moretrees' palm leaves: minetest.override_item("moretrees:palm_leaves",{walkable = false}) diff --git a/mods/moretrees/saplings.lua b/mods/moretrees/saplings.lua index b34db92a..2b40b752 100755 --- a/mods/moretrees/saplings.lua +++ b/mods/moretrees/saplings.lua @@ -78,7 +78,7 @@ biome_lib:grow_plants({ biome_lib:grow_plants({ grow_delay = moretrees.sapling_interval, grow_chance = moretrees.sapling_chance, - grow_plant = "moretrees:jungletree_sapling", + grow_plant = "default:junglesapling", grow_nodes = moretrees.jungletree_biome.surface, grow_function = "moretrees:grow_jungletree" }) diff --git a/mods/moretrees/textures/moretrees_acacia_leaves.png b/mods/moretrees/textures/moretrees_acacia_leaves.png deleted file mode 100755 index 73a89510..00000000 Binary files a/mods/moretrees/textures/moretrees_acacia_leaves.png and /dev/null differ diff --git a/mods/moretrees/textures/moretrees_acacia_sapling.png b/mods/moretrees/textures/moretrees_acacia_sapling.png deleted file mode 100755 index 94f6afb8..00000000 Binary files a/mods/moretrees/textures/moretrees_acacia_sapling.png and /dev/null differ diff --git a/mods/moretrees/textures/moretrees_acacia_trunk.png b/mods/moretrees/textures/moretrees_acacia_trunk.png deleted file mode 100755 index 7e609958..00000000 Binary files a/mods/moretrees/textures/moretrees_acacia_trunk.png and /dev/null differ diff --git a/mods/moretrees/textures/moretrees_acacia_trunk_top.png b/mods/moretrees/textures/moretrees_acacia_trunk_top.png deleted file mode 100755 index 858a8a80..00000000 Binary files a/mods/moretrees/textures/moretrees_acacia_trunk_top.png and /dev/null differ diff --git a/mods/moretrees/textures/moretrees_acacia_wood.png b/mods/moretrees/textures/moretrees_acacia_wood.png deleted file mode 100755 index cf0b5918..00000000 Binary files a/mods/moretrees/textures/moretrees_acacia_wood.png and /dev/null differ diff --git a/mods/moretrees/tree_models.lua b/mods/moretrees/tree_models.lua index f1cf5a51..34430573 100755 --- a/mods/moretrees/tree_models.lua +++ b/mods/moretrees/tree_models.lua @@ -144,8 +144,8 @@ moretrees.pine_model={ rules_b="[&&&TTT[++^Fdd][--&Fdd]//dd[+^d][--&Fd]]", rules_c="/", rules_d="F", - trunk="moretrees:pine_trunk", - leaves="moretrees:pine_leaves", + trunk="default:pine_tree", + leaves="default:pine_needles", angle=30, iterations=2, random_level=0, @@ -191,8 +191,8 @@ moretrees.acacia_model={ .."GGfffff--G--" .."ffffGGG", rules_c = "/", - trunk="moretrees:acacia_trunk", - leaves="moretrees:acacia_leaves", + trunk="default:acacia_tree", + leaves="default:acacia_leaves", angle=45, iterations=3, random_level=0, @@ -217,8 +217,8 @@ moretrees.jungletree_model={ axiom=nil, rules_a=nil, rules_b=nil, - trunk="default:jungletree", - leaves="moretrees:jungletree_leaves_green", + trunk="moretrees:jungletree_trunk", + leaves="default:jungleleaves", leaves2=nil, leaves2_chance=nil, angle=45, diff --git a/mods/plantlife_modpack/3dmushrooms/depends.txt b/mods/plantlife_modpack/3dmushrooms/depends.txt new file mode 100644 index 00000000..abb01ae5 --- /dev/null +++ b/mods/plantlife_modpack/3dmushrooms/depends.txt @@ -0,0 +1,2 @@ +default +flowers diff --git a/mods/plantlife_modpack/3dmushrooms/init.lua b/mods/plantlife_modpack/3dmushrooms/init.lua new file mode 100644 index 00000000..b32b47bc --- /dev/null +++ b/mods/plantlife_modpack/3dmushrooms/init.lua @@ -0,0 +1,68 @@ + +-- 3D Mushroom mod by VanessaE +-- +-- License: WTFPL for everything. + +mushroom = {} + +minetest.override_item("flowers:mushroom_fertile_brown", { + drawtype = "mesh", + mesh = "3dmushrooms.obj", + tiles = {"3dmushrooms_brown.png"}, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + }, + inventory_image = "3dmushrooms_brown_inv.png" +}) + +minetest.override_item("flowers:mushroom_brown", { + drawtype = "mesh", + mesh = "3dmushrooms.obj", + tiles = {"3dmushrooms_brown.png"}, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + }, + inventory_image = "3dmushrooms_brown_inv.png" +}) + +minetest.override_item("flowers:mushroom_fertile_red", { + drawtype = "mesh", + mesh = "3dmushrooms.obj", + tiles = {"3dmushrooms_red.png"}, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + }, + inventory_image = "3dmushrooms_red_inv.png" +}) + +minetest.override_item("flowers:mushroom_red", { + drawtype = "mesh", + mesh = "3dmushrooms.obj", + tiles = {"3dmushrooms_red.png"}, + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} + }, + inventory_image = "3dmushrooms_red_inv.png" +}) + +-- aliases to the default mushrooms + +minetest.register_alias("mushroom:brown", "flowers:mushroom_brown") +minetest.register_alias("mushroom:brown_natural", "flowers:mushroom_fertile_brown") +minetest.register_alias("mushroom:spore_brown", "flowers:mushroom_spores_brown") +minetest.register_alias("mushroom:spore2", "flowers:mushroom_spores_brown") +minetest.register_alias("mushroom:brown_essence", "flowers:mushroom_brown") + +minetest.register_alias("mushroom:red", "flowers:mushroom_red") +minetest.register_alias("mushroom:red_natural", "flowers:mushroom_fertile_red") +minetest.register_alias("mushroom:spore_red", "flowers:mushroom_spores_red") +minetest.register_alias("mushroom:spore1", "flowers:mushroom_spores_red") +minetest.register_alias("mushroom:poison", "flowers:mushroom_red") + +minetest.register_alias("mushroom:identifier", "default:mese_crystal_fragment") + +minetest.log("action", "[3D Mushrooms] loaded.") diff --git a/mods/plantlife_modpack/mushroom/models/plantlife_mushroom.obj b/mods/plantlife_modpack/3dmushrooms/models/3dmushrooms.obj old mode 100755 new mode 100644 similarity index 100% rename from mods/plantlife_modpack/mushroom/models/plantlife_mushroom.obj rename to mods/plantlife_modpack/3dmushrooms/models/3dmushrooms.obj diff --git a/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_brown.png b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_brown.png new file mode 100644 index 00000000..c36f5240 Binary files /dev/null and b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_brown.png differ diff --git a/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_brown_inv.png b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_brown_inv.png new file mode 100644 index 00000000..c9a7b3c8 Binary files /dev/null and b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_brown_inv.png differ diff --git a/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_red.png b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_red.png new file mode 100644 index 00000000..dc80e323 Binary files /dev/null and b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_red.png differ diff --git a/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_red_inv.png b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_red_inv.png new file mode 100644 index 00000000..796f8674 Binary files /dev/null and b/mods/plantlife_modpack/3dmushrooms/textures/3dmushrooms_red_inv.png differ diff --git a/mods/plantlife_modpack/bushes/depends.txt b/mods/plantlife_modpack/bushes/depends.txt index 4e351798..f82a4235 100755 --- a/mods/plantlife_modpack/bushes/depends.txt +++ b/mods/plantlife_modpack/bushes/depends.txt @@ -1,2 +1,4 @@ default -biome_lib \ No newline at end of file +biome_lib +stonage? +sumpf? diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BlockBranch1.png b/mods/plantlife_modpack/bushes/textures/old & unused/BlockBranch1.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BlockBranch1L.png b/mods/plantlife_modpack/bushes/textures/old & unused/BlockBranch1L.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BlockBranch1R.png b/mods/plantlife_modpack/bushes/textures/old & unused/BlockBranch1R.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm2.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm2.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm3.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm3.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm4.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranches1sm4.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranchesCenter.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranchesCenter.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranchesSide1.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranchesSide1.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/BushBranchesSide2.png b/mods/plantlife_modpack/bushes/textures/old & unused/BushBranchesSide2.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/blank.png b/mods/plantlife_modpack/bushes/textures/old & unused/blank.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes/textures/old & unused/moretrees_pine_leaves3.png b/mods/plantlife_modpack/bushes/textures/old & unused/moretrees_pine_leaves3.png old mode 100644 new mode 100755 diff --git a/mods/plantlife_modpack/bushes_classic/init.lua b/mods/plantlife_modpack/bushes_classic/init.lua index 8979ae69..31edc939 100755 --- a/mods/plantlife_modpack/bushes_classic/init.lua +++ b/mods/plantlife_modpack/bushes_classic/init.lua @@ -27,8 +27,9 @@ bushes_classic.bushes_descriptions = { bushes_classic.spawn_list = {} -dofile(minetest.get_modpath('bushes_classic') .. '/cooking.lua') -dofile(minetest.get_modpath('bushes_classic') .. '/nodes.lua') +local modpath = minetest.get_modpath('bushes_classic') +dofile(modpath..'/cooking.lua') +dofile(modpath..'/nodes.lua') biome_lib:spawn_on_surfaces({ spawn_delay = 3600, diff --git a/mods/plantlife_modpack/flowers_plus/init.lua b/mods/plantlife_modpack/flowers_plus/init.lua index c9a42feb..5b68d83b 100755 --- a/mods/plantlife_modpack/flowers_plus/init.lua +++ b/mods/plantlife_modpack/flowers_plus/init.lua @@ -220,55 +220,6 @@ for i in ipairs(algae_list) do }) end --- register all potted plant nodes, crafts, and most backward-compat aliases --- Description, base node name, item to craft flowerpot with - --- /MFF BEGIN (Mg|06/04/15 4:31PM) ---[[local flowers_list = { - { "Rose", "rose", "flowers:rose" }, - { "Tulip", "tulip", "flowers:tulip" }, - { "Yellow Dandelion", "dandelion_yellow", "flowers:dandelion_yellow" }, - { "White Dandelion", "dandelion_white", "flowers:dandelion_white" }, - { "Blue Geranium", "geranium", "flowers:geranium" }, - { "Viola", "viola", "flowers:viola" }, - { "Cactus", "cactus", "default:cactus" }, - { "Bonsai", "bonsai", "default:sapling" } -} - -for i in ipairs(flowers_list) do - local flowerdesc = flowers_list[i][1] - local flower = flowers_list[i][2] - local craftwith = flowers_list[i][3] - - minetest.register_node(":flowers:potted_"..flower, { - description = S("Potted "..flowerdesc), - drawtype = "mesh", - mesh = "flowers_potted.obj", - tiles = { "flowers_potted_"..flower..".png", "flowers_potted.png" }, - sunlight_propagates = true, - paramtype = "light", - walkable = false, - groups = { snappy = 3, flammable=2 }, - sounds = default.node_sound_glass_defaults(), - selection_box = { - type = "fixed", - fixed = { -0.2, -0.5, -0.2, 0.2, 0.4, 0.2 }, - }, - }) - - minetest.register_craft( { - type = "shapeless", - output = "flowers:potted_"..flower, - recipe = { - craftwith, - "flowers:flower_pot" - } - }) - - minetest.register_alias("flowers:flower_"..flower.."_pot", "flowers:potted_"..flower) -end -]]-- /MFF END (Mg|06/04/15 4:32PM) - local box = { type="fixed", fixed = { { -0.2, -0.5, -0.2, 0.2, 0.5, 0.2 } }, diff --git a/mods/plantlife_modpack/molehills/init.lua b/mods/plantlife_modpack/molehills/init.lua index 8f116f42..3db9c04b 100755 --- a/mods/plantlife_modpack/molehills/init.lua +++ b/mods/plantlife_modpack/molehills/init.lua @@ -13,55 +13,23 @@ dofile(minetest.get_modpath("molehills").."/molehills_settings.txt") ----------------------------------------------------------------------------------------------- -- NoDe ----------------------------------------------------------------------------------------------- + +local mh_cbox = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, -0.125, 0.5} +} + minetest.register_node("molehills:molehill",{ - drawtype = "nodebox", + drawtype = "mesh", + mesh = "molehill_molehill.obj", description = "Mole Hill", inventory_image = "molehills_side.png", - tiles = { - "molehills_dirt.png",--"molehill_top.png", - "molehills_dirt.png",--"molehill_top.png", - "molehills_dirt.png"--"molehill_side.png" - }, - paramtype = "light", - node_box = { - type = "fixed", - fixed = { --- { left, bottom, front, right, top, back} - {-2/16, -3/16, -1/16, 2/16, -2/16, 1/16}, - {-1/16, -3/16, -2/16, 1/16, -2/16, 2/16}, --- { left, bottom, front, right, top, back} - {-4/16, -4/16, -2/16, 4/16, -3/16, 2/16}, - {-2/16, -4/16, -4/16, 2/16, -3/16, 4/16}, - {-3/16, -4/16, -3/16, 3/16, -3/16, 3/16}, --- { left, bottom, front, right, top, back} - {-5/16, -5/16, -2/16, 5/16, -4/16, 2/16}, - {-2/16, -5/16, -5/16, 2/16, -4/16, 5/16}, - {-4/16, -5/16, -4/16, 4/16, -4/16, 4/16}, --- { left, bottom, front, right, top, back} - {-6/16, -6/16, -2/16, 6/16, -5/16, 2/16}, - {-2/16, -6/16, -6/16, 2/16, -5/16, 6/16}, - {-5/16, -6/16, -4/16, 5/16, -5/16, 4/16}, - {-4/16, -6/16, -5/16, 4/16, -5/16, 5/16}, --- { left, bottom, front, right, top, back} - {-7/16, -7/16, -3/16, 7/16, -6/16, 3/16}, - {-3/16, -7/16, -7/16, 3/16, -6/16, 7/16}, - {-6/16, -7/16, -4/16, 6/16, -6/16, 4/16}, - {-4/16, -7/16, -6/16, 4/16, -6/16, 6/16}, - {-5/16, -7/16, -5/16, 5/16, -6/16, 5/16}, --- { left, bottom, front, right, top, back} ---[[b]] {-1/2 , -1/2 , -3/16, 1/2 , -7/16, 3/16}, -- left to right ---[[o]] {-3/16, -1/2 , -1/2 , 3/16, -7/16, 1/2 }, -- front to back ---[[t]] {-7/16, -1/2 , -5/16, 7/16, -7/16, 5/16}, ---[[t]] {-5/16, -1/2 , -7/16, 5/16, -7/16, 7/16}, ---[[m]] {-6/16, -1/2 , -6/16, 6/16, -7/16, 6/16}, -- mid - }, - }, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, 2/16, 1/2}, - }, + tiles = { "molehills_dirt.png" }, + paramtype = "light", + selection_box = mh_cbox, + collision_box = mh_cbox, groups = {crumbly=3}, - sounds = default.node_sound_dirt_defaults(), + sounds = default.node_sound_dirt_defaults(), }) ----------------------------------------------------------------------------------------------- diff --git a/mods/plantlife_modpack/molehills/models/molehill_molehill.obj b/mods/plantlife_modpack/molehills/models/molehill_molehill.obj new file mode 100644 index 00000000..5b9c084e --- /dev/null +++ b/mods/plantlife_modpack/molehills/models/molehill_molehill.obj @@ -0,0 +1,197 @@ +# Blender v2.73 (sub 0) OBJ File: 'anthill.blend' +# www.blender.org +o Cylinder_Cylinder.001 +v 0.099056 -0.499969 -0.498228 +v 0.038417 -0.200463 -0.141682 +v 0.255808 -0.499933 -0.402046 +v 0.095605 -0.174690 -0.147239 +v 0.423075 -0.499913 -0.296918 +v 0.102439 -0.169033 -0.075679 +v 0.444026 -0.499843 -0.095234 +v 0.125298 -0.217477 -0.063343 +v 0.468682 -0.499958 0.074790 +v 0.157655 -0.214352 0.001348 +v 0.396548 -0.500000 0.246048 +v 0.133778 -0.189245 0.108513 +v 0.280708 -0.500000 0.383197 +v 0.070517 -0.218946 0.104754 +v 0.089852 -0.499943 0.434316 +v 0.048523 -0.205247 0.128681 +v -0.093309 -0.499902 0.467111 +v -0.039037 -0.211895 0.149030 +v -0.272965 -0.499875 0.396496 +v -0.108297 -0.175918 0.104100 +v -0.388317 -0.499877 0.239075 +v -0.139068 -0.179051 0.073370 +v -0.437531 -0.499999 0.063918 +v -0.141812 -0.255882 0.005117 +v -0.458429 -0.499805 -0.104397 +v -0.189265 -0.217436 -0.065303 +v -0.385597 -0.499914 -0.288584 +v -0.112692 -0.207830 -0.096879 +v -0.248347 -0.499927 -0.384586 +v -0.083136 -0.202256 -0.170048 +v -0.095346 -0.499958 -0.514449 +v -0.023049 -0.216681 -0.204058 +v 0.071880 -0.343843 -0.343933 +v 0.189128 -0.354687 -0.277980 +v 0.311273 -0.378789 -0.248498 +v 0.296760 -0.346318 -0.056661 +v 0.332231 -0.342427 0.044933 +v 0.259921 -0.360316 0.147910 +v 0.213270 -0.362883 0.253745 +v 0.059007 -0.360067 0.351374 +v -0.068448 -0.357957 0.335642 +v -0.164888 -0.343166 0.232553 +v -0.269761 -0.352370 0.140734 +v -0.367168 -0.370891 0.062326 +v -0.294491 -0.324099 -0.079712 +v -0.276314 -0.352585 -0.236032 +v -0.206169 -0.372829 -0.314307 +v -0.065547 -0.371444 -0.355380 +v 0.000709 -0.156135 -0.047193 +vt 0.572002 0.826281 +vt 0.535907 0.620231 +vt 0.597591 0.625892 +vt 0.604963 0.552988 +vt 0.830215 0.729053 +vt 0.629619 0.540419 +vt 0.814561 0.533613 +vt 0.664520 0.474514 +vt 0.638766 0.365335 +vt 0.774826 0.325198 +vt 0.570532 0.369165 +vt 0.724507 0.217375 +vt 0.546808 0.344788 +vt 0.452364 0.324057 +vt 0.420641 0.133939 +vt 0.377660 0.369831 +vt 0.316619 0.238965 +vt 0.344469 0.401138 +vt 0.203502 0.332509 +vt 0.341509 0.470674 +vt 0.290325 0.542416 +vt 0.176827 0.557096 +vt 0.372919 0.574586 +vt 0.196433 0.716353 +vt 0.404798 0.649130 +vt 0.469609 0.683778 +vt 0.272092 0.796098 +vt 0.770390 0.885486 +vt 0.973405 0.572910 +vt 0.591386 0.033412 +vt 0.226599 0.867698 +vt 0.423770 0.837943 +vt 0.601314 0.983475 +vt 0.078559 0.769893 +vt 0.000000 0.582245 +vt 0.098436 0.412390 +vt 0.075624 0.232320 +vt 0.200045 0.071942 +vt 0.558116 0.117912 +vt 0.922195 0.225217 +vt 0.852821 0.430110 +vt 0.698467 0.759089 +vt 0.495235 0.523967 +vt 0.391629 1.000000 +vt 0.022541 0.410768 +vt 0.797247 0.085491 +vt 0.393825 0.000000 +vt 0.950807 0.778383 +vt 1.000000 0.399692 +g Cylinder_Cylinder.001_None +s 1 +f 33/1 2/2 4/3 +f 4/3 6/4 35/5 +f 35/5 6/4 8/6 +f 36/7 8/6 10/8 +f 10/8 12/9 38/10 +f 12/9 14/11 39/12 +f 39/12 14/11 16/13 +f 16/13 18/14 41/15 +f 18/14 20/16 42/17 +f 20/16 22/18 43/19 +f 43/19 22/18 24/20 +f 24/20 26/21 45/22 +f 26/21 28/23 46/24 +f 46/24 28/23 30/25 +f 32/26 2/2 33/1 +f 47/27 30/25 32/26 +f 3/28 7/29 15/30 +f 29/31 47/27 48/32 +f 48/32 33/1 1/33 +f 27/34 46/24 47/27 +f 25/35 45/22 46/24 +f 44/36 45/22 25/35 +f 21/37 43/19 44/36 +f 42/17 43/19 21/37 +f 41/15 42/17 19/38 +f 15/30 40/39 41/15 +f 39/12 40/39 15/30 +f 11/40 38/10 39/12 +f 37/41 38/10 11/40 +f 7/29 36/7 37/41 +f 35/5 36/7 7/29 +f 3/28 34/42 35/5 +f 33/1 34/42 3/28 +f 4/3 2/2 49/43 +f 2/2 32/26 49/43 +f 32/26 30/25 49/43 +f 30/25 28/23 49/43 +f 28/23 26/21 49/43 +f 26/21 24/20 49/43 +f 24/20 22/18 49/43 +f 22/18 20/16 49/43 +f 20/16 18/14 49/43 +f 18/14 16/13 49/43 +f 16/13 14/11 49/43 +f 14/11 12/9 49/43 +f 12/9 10/8 49/43 +f 10/8 8/6 49/43 +f 8/6 6/4 49/43 +f 6/4 4/3 49/43 +f 34/42 33/1 4/3 +f 34/42 4/3 35/5 +f 36/7 35/5 8/6 +f 37/41 36/7 10/8 +f 37/41 10/8 38/10 +f 38/10 12/9 39/12 +f 40/39 39/12 16/13 +f 40/39 16/13 41/15 +f 41/15 18/14 42/17 +f 42/17 20/16 43/19 +f 44/36 43/19 24/20 +f 44/36 24/20 45/22 +f 45/22 26/21 46/24 +f 47/27 46/24 30/25 +f 48/32 32/26 33/1 +f 48/32 47/27 32/26 +f 29/31 31/44 1/33 +f 23/45 27/34 29/31 +f 27/34 23/45 25/35 +f 15/30 19/38 21/37 +f 11/40 13/46 15/30 +f 15/30 17/47 19/38 +f 3/28 23/45 29/31 +f 29/31 1/33 3/28 +f 3/28 5/48 7/29 +f 7/29 9/49 11/40 +f 23/45 15/30 21/37 +f 15/30 23/45 3/28 +f 15/30 7/29 11/40 +f 31/44 29/31 48/32 +f 31/44 48/32 1/33 +f 29/31 27/34 47/27 +f 27/34 25/35 46/24 +f 23/45 44/36 25/35 +f 23/45 21/37 44/36 +f 19/38 42/17 21/37 +f 17/47 41/15 19/38 +f 17/47 15/30 41/15 +f 13/46 39/12 15/30 +f 13/46 11/40 39/12 +f 9/49 37/41 11/40 +f 9/49 7/29 37/41 +f 5/48 35/5 7/29 +f 5/48 3/28 35/5 +f 1/33 33/1 3/28 diff --git a/mods/plantlife_modpack/mushroom/compat.lua b/mods/plantlife_modpack/mushroom/compat.lua deleted file mode 100755 index c7a10092..00000000 --- a/mods/plantlife_modpack/mushroom/compat.lua +++ /dev/null @@ -1,41 +0,0 @@ - --- Redefine grass and dirt nodes - -minetest.override_item("default:dirt", { - drop = { - max_items = 2, - items = { - { - items = {"mushroom:spore1"}, - rarity = 40, - }, - { - items = {"mushroom:spore2"}, - rarity = 40, - }, - { - items = {"default:dirt"}, - } - } - } -}) - -minetest.override_item("default:dirt_with_grass", { - drop = { - max_items = 2, - items = { - { - items = {"mushroom:spore1"}, - rarity = 40, - }, - { - items = {"mushroom:spore2"}, - rarity = 40, - }, - { - items = {"default:dirt"}, - } - } - } -}) - diff --git a/mods/plantlife_modpack/mushroom/crafting.lua b/mods/plantlife_modpack/mushroom/crafting.lua deleted file mode 100755 index 94fda185..00000000 --- a/mods/plantlife_modpack/mushroom/crafting.lua +++ /dev/null @@ -1,95 +0,0 @@ --- craft items - -minetest.register_craftitem("mushroom:spore1",{ - description = "Unidentified Mushroom Spore", - inventory_image = "mushroom_spore.png", - wield_image = "mushroom_spore.png", - stack_max = 100, -}) - -minetest.register_craftitem("mushroom:spore2",{ - description = "Unidentified Mushroom Spore", - inventory_image = "mushroom_spore.png", - wield_image = "mushroom_spore.png", - stack_max = 100, -}) - -minetest.register_craftitem("mushroom:identifier",{ - description = "Mushroom Spore Identifier/Spore Extractor", - inventory_image = "mushroom_identifier.png", - wield_image = "mushroom_identifier.png", -}) - -minetest.register_craftitem("mushroom:brown_essence",{ - description = "Healthy Brown Mushroom Essence", - inventory_image = "mushroom_essence.png", - wield_image = "mushroom_essence.png", - on_use = minetest.item_eat(5), --notre modif de gain de faim - groups = {vessel=1}, -- Modif MFF (needed for vessels furniture) -}) - -minetest.register_craftitem("mushroom:poison",{ - description = "Red Mushroom Poison", - inventory_image = "mushroom_poison.png", - wield_image = "mushroom_poison.png", - on_use = minetest.item_eat(-10), - groups = {vessel=1}, -- Modif MFF (needed for vessels furniture) -}) - --- recipes - -minetest.register_craft( { - output = "mushroom:identifier", - recipe = { - { "", "default:torch", "" }, - { "default:steel_ingot", "default:mese_crystal_fragment", "default:steel_ingot" }, - } -}) - -minetest.register_craft( { - type = "shapeless", - output = "mushroom:brown_essence", - recipe = { "mushroom:brown" , "vessels:glass_bottle" }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "mushroom:poison", - recipe = { "mushroom:red" , "vessels:glass_bottle" }, -}) - -minetest.register_craft( { - type = "shapeless", - output = "mushroom:spore_brown", - recipe = { "mushroom:identifier" , "mushroom:spore1" }, - replacements = { - { 'mushroom:identifier', 'mushroom:identifier' } - } -}) - -minetest.register_craft( { - type = "shapeless", - output = "mushroom:spore_red", - recipe = { "mushroom:identifier" , "mushroom:spore2" }, - replacements = { - { 'mushroom:identifier', 'mushroom:identifier' } - } -}) - -minetest.register_craft( { - type = "shapeless", - output = "mushroom:spore_red 2", - recipe = { "mushroom:identifier" , "mushroom:red" }, - replacements = { - { 'mushroom:identifier', 'mushroom:identifier' } - } -}) - -minetest.register_craft( { - type = "shapeless", - output = "mushroom:spore_brown 2", - recipe = { "mushroom:identifier" , "mushroom:brown" }, - replacements = { - { 'mushroom:identifier', 'mushroom:identifier' } - } -}) diff --git a/mods/plantlife_modpack/mushroom/depends.txt b/mods/plantlife_modpack/mushroom/depends.txt deleted file mode 100755 index 0a3c3f80..00000000 --- a/mods/plantlife_modpack/mushroom/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -vessels? -woodsoils? diff --git a/mods/plantlife_modpack/mushroom/init.lua b/mods/plantlife_modpack/mushroom/init.lua deleted file mode 100755 index 87dad438..00000000 --- a/mods/plantlife_modpack/mushroom/init.lua +++ /dev/null @@ -1,261 +0,0 @@ - --- Mushroom mod by DanDuncombe and VanessaE --- --- License: CC-By-SA for texures derived from Minetest defaults, --- WTFPL for all code and everything else. - -mushroom = {} - -minetest.register_node("mushroom:brown",{ - description = "Brown Mushroom", - drawtype = "mesh", - mesh = "plantlife_mushroom.obj", - tiles = {"mushroom_brown_3d.png"}, - sunlight_propagates = true, - inventory_image = "mushroom_brown_inv.png", - groups = {oddly_breakable_by_hand=3,attached_node=1}, - paramtype = "light", - walkable = false, - on_use = minetest.item_eat(5), -- Modif MFF - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} - }, - drop = "mushroom:brown", -}) - -minetest.register_node("mushroom:red",{ - description = "Red Mushroom", - drawtype = "mesh", - mesh = "plantlife_mushroom.obj", - tiles = {"mushroom_red_3d.png"}, - sunlight_propagates = true, - inventory_image = "mushroom_red_inv.png", - groups = {oddly_breakable_by_hand=3,attached_node=1}, - paramtype = "light", - walkable = false, - on_use = minetest.item_eat(-5), -- Modif MFF - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} - }, - drop = "mushroom:red", -}) - -minetest.register_node("mushroom:spore_brown",{ - description = "Brown Mushroom Spore", - drawtype = "raillike", - paramtype = "light", - tiles = {"mushroom_spore_brown.png"}, - sunlight_propagates = true, - walkable = false, - groups = {oddly_breakable_by_hand=3,attached_node=1}, - inventory_image = "mushroom_spore_brown.png", - wield_image = "mushroom_spore_brown.png", - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5} - }, -}) - -minetest.register_node("mushroom:spore_red",{ - description = "Red Mushroom Spore", - drawtype = "raillike", - paramtype = "light", - tiles = {"mushroom_spore_red.png"}, - sunlight_propagates = true, - walkable = false, - groups = {oddly_breakable_by_hand=3,attached_node=1}, - inventory_image = "mushroom_spore_red.png", - wield_image = "mushroom_spore_red.png", - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5} - }, -}) - ---Natural Mushrooms - -minetest.register_node("mushroom:brown_natural",{ - description = "Brown Mushroom (Naturally Spawned)", - drawtype = "mesh", - mesh = "plantlife_mushroom.obj", - tiles = {"mushroom_brown_3d.png"}, - sunlight_propagates = true, - inventory_image = "mushroom_brown_inv.png", - groups = {oddly_breakable_by_hand=3, not_in_creative_inventory=1}, - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} - }, - drop = "mushroom:brown", -}) - -minetest.register_node("mushroom:red_natural",{ - description = "Red Mushroom (Naturally Spawned)", - drawtype = "mesh", - mesh = "plantlife_mushroom.obj", - tiles = {"mushroom_red_3d.png"}, - sunlight_propagates = true, - inventory_image = "mushroom_red_inv.png", - groups = {oddly_breakable_by_hand=3, not_in_creative_inventory=1}, - paramtype = "light", - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3} - }, - drop = "mushroom:red", -}) - --- Spore Growing ABMs - -minetest.register_abm({ - nodenames = {"mushroom:spore_brown"}, - neighbors = {"air"}, - interval = 360, -- Modif MFF - chance = 12, -- Modif MFF - action = function(pos, node) - local soil = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}) - if (soil.name == "farming:soil_wet" or string.find(soil.name, "homedecor:flower_pot_")) - and minetest.get_node_light(pos, nil) < 8 then - minetest.set_node({x=pos.x,y=pos.y,z=pos.z}, {name="mushroom:brown"}) - end - end -}) - -minetest.register_abm({ - nodenames = {"mushroom:spore_red"}, - neighbors = {"air"}, - interval = 360, -- Modif MFF - chance = 12, -- Modif MFF - action = function(pos, node) - local soil = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}) - if (soil.name == "farming:soil_wet" or string.find(soil.name, "homedecor:flower_pot_")) - and minetest.get_node_light(pos, nil) < 8 then - minetest.set_node({x=pos.x,y=pos.y,z=pos.z}, {name="mushroom:red"}) - end - end -}) - --- list of trees that mushrooms can grow next to - -local trees_list = { - "default:tree", - "default:jungletree", - "moretrees:apple_tree_trunk", - "moretrees:beech_trunk", - "moretrees:birch_trunk", - "moretrees:fir_trunk", - "moretrees:oak_trunk", - "moretrees:pine_trunk", - "moretrees:rubber_tree_trunk", - "moretrees:rubber_tree_trunk_empty", - "moretrees:sequoia_trunk", - "moretrees:spruce_trunk", - "moretrees:willow_trunk", -} - --- Natural Spawning ABM - -minetest.register_abm({ - nodenames = { - "default:dirt_with_grass", - "default:dirt", - "woodsoils:dirt_with_leaves_1", - "woodsoils:dirt_with_leaves_2", - "woodsoils:grass_with_leaves_1", - "woodsoils:grass_with_leaves_2", - "farming:soil_wet" - }, - neighbors = {"air"}, - interval = 900, -- Modif MFF - chance = 300, -- Modif MFF - action = function(pos, node) - local top_pos = {x=pos.x, y=pos.y+1, z=pos.z} - if minetest.get_node(top_pos).name == "air" and minetest.get_node_light(top_pos, nil) < 8 - and minetest.find_node_near(pos, 1, trees_list) - and minetest.find_node_near(pos, 3, "default:water_source") then - if math.random(0, 1) == 0 then - minetest.set_node(top_pos, {name="mushroom:brown_natural"}) - else - minetest.set_node(top_pos, {name="mushroom:red_natural"}) - end - end - end -}) - -minetest.register_abm({ - nodenames = {"default:stone"}, - neighbors = {"air"}, - interval = 900, -- Modif MFF - chance = 300, -- Modif MFF - action = function(pos, node) - local top_pos = {x=pos.x, y=pos.y+1, z=pos.z} - if minetest.get_node(top_pos).name == "air" and minetest.get_node_light(top_pos, nil) < 8 - and minetest.find_node_near(pos, 1, {"default:water_source"}) then - if math.random(0,1) == 0 then - minetest.set_node(top_pos, {name="mushroom:brown_natural"}) - else - minetest.set_node(top_pos, {name="mushroom:red_natural"}) - end - end - end -}) - --- Spreading ABM - -minetest.register_abm({ - nodenames = { - "mushroom:brown_natural", - "mushroom:red_natural" - }, - neighbors = {"air"}, - interval = 120, - chance = 100, - action = function(pos, node) - local soil_pos = {x=pos.x, y=pos.y-1, z=pos.z} - local soil = minetest.get_node(soil_pos) - local woodsoil_str = "woodsoils:.+_with_leaves_?" - if minetest.get_node_light(pos, nil) < 8 - and minetest.find_node_near(pos, 1, trees_list) then - local spread_x = math.random(-1, 1) - local spread_z = math.random(-1, 1) - local newpos = {x=pos.x+spread_x, y=pos.y, z=pos.z+spread_z} - local newsoil = minetest.get_node({x=newpos.x, y=newpos.y-1, z=newpos.z}) - if minetest.get_node(newpos).name == "air" - and (newsoil.name == "default:dirt_with_grass" - or newsoil.name == "default:dirt" - or string.match(newsoil.name, woodsoil_str)) - and minetest.find_node_near(newpos, 3, "default:water_source") then - minetest.set_node(newpos, {name=node.name}) - end - end - end -}) - --- Dying ABM - -minetest.register_abm({ - nodenames = { - "mushroom:brown", - "mushroom:red", - }, - neighbors = {"air"}, - interval = 120, - chance = 50, - action = function(pos, node) - local soil = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}) - if soil.name ~= "farming:soil_wet" - and not string.find(soil.name, "homedecor:flower_pot_") then - minetest.remove_node(pos) - end - end -}) - -dofile(minetest.get_modpath("mushroom").."/crafting.lua") -dofile(minetest.get_modpath("mushroom").."/compat.lua") - -minetest.log("action", "[Mushrooms] loaded.") diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_brown_3d.png b/mods/plantlife_modpack/mushroom/textures/mushroom_brown_3d.png deleted file mode 100755 index 14776be8..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_brown_3d.png and /dev/null differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_brown_inv.png b/mods/plantlife_modpack/mushroom/textures/mushroom_brown_inv.png deleted file mode 100755 index f9c63ce0..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_brown_inv.png and /dev/null differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_essence.png b/mods/plantlife_modpack/mushroom/textures/mushroom_essence.png deleted file mode 100755 index b192a309..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_essence.png and /dev/null differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_identifier.png b/mods/plantlife_modpack/mushroom/textures/mushroom_identifier.png deleted file mode 100755 index 189f0540..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_identifier.png and /dev/null differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_poison.png b/mods/plantlife_modpack/mushroom/textures/mushroom_poison.png deleted file mode 100755 index 76337f0b..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_poison.png and /dev/null differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_red_3d.png b/mods/plantlife_modpack/mushroom/textures/mushroom_red_3d.png deleted file mode 100755 index 07bcc6f6..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_red_3d.png and /dev/null differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_red_inv.png b/mods/plantlife_modpack/mushroom/textures/mushroom_red_inv.png deleted file mode 100755 index dfff6b41..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_red_inv.png and /dev/null differ diff --git a/mods/plantlife_modpack/mushroom/textures/mushroom_spore.png b/mods/plantlife_modpack/mushroom/textures/mushroom_spore.png deleted file mode 100755 index 3c950d5b..00000000 Binary files a/mods/plantlife_modpack/mushroom/textures/mushroom_spore.png and /dev/null differ diff --git a/mods/plantlife_modpack/trunks/generating.lua b/mods/plantlife_modpack/trunks/generating.lua index 7848a7a7..52383e18 100755 --- a/mods/plantlife_modpack/trunks/generating.lua +++ b/mods/plantlife_modpack/trunks/generating.lua @@ -202,6 +202,7 @@ local TRuNKS = { -- MoD TRuNK NR {"default", "tree", 1}, {"default", "jungletree", 2}, + {"default", "pine_tree", 12}, {"trees", "tree_conifer", 3}, {"trees", "tree_mangrove", 4}, @@ -213,7 +214,6 @@ local TRuNKS = { {"moretrees", "fir_trunk", 9}, {"moretrees", "oak_trunk", 10}, {"moretrees", "palm_trunk", 11}, - {"moretrees", "pine_trunk", 12}, {"moretrees", "rubber_tree_trunk", 13}, {"moretrees", "rubber_tree_trunk_empty", 14}, {"moretrees", "sequoia_trunk", 15}, @@ -462,6 +462,7 @@ biome_lib:register_generate_plant({ surface = { "default:tree", "default:jungletree", + "default:pine_tree", "trees:tree_conifer", "trees:tree_mangrove", --"trees:tree_palm", @@ -471,7 +472,6 @@ biome_lib:register_generate_plant({ "moretrees:fir_trunk", "moretrees:oak_trunk", --"moretrees:palm_trunk", - "moretrees:pine_trunk", "moretrees:rubber_tree_trunk", "moretrees:rubber_tree_trunk_empty", "moretrees:sequoia_trunk", diff --git a/mods/plantlife_modpack/trunks/nodes.lua b/mods/plantlife_modpack/trunks/nodes.lua index feb7293a..90748f62 100755 --- a/mods/plantlife_modpack/trunks/nodes.lua +++ b/mods/plantlife_modpack/trunks/nodes.lua @@ -303,7 +303,7 @@ local TRuNKS = { -- MoD TRuNK {"default", "tree" }, {"default", "jungletree" }, - {"default", "pinetree" }, + {"default", "pine_tree" }, {"trees", "tree_conifer" }, {"trees", "tree_mangrove" },