From ca94e8332a5b72c29680bc3c079306916dfda651 Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Thu, 25 Oct 2018 16:19:27 +0100 Subject: [PATCH] tidy code, vines all give vine item, new, ropebox recipes, vines dug by hand/shears/sword --- .luacheckrc | 13 -- LICENSE.md | 4 - README.md | 4 +- aliases.lua | 11 -- bower.json | 18 -- crafts.lua | 14 -- depends.txt | 1 + functions.lua | 129 --------------- init.lua | 448 ++++++++++++++++++++++++++++++++++++++++++++++++-- nodes.lua | 83 ---------- recipes.lua | 12 -- shear.lua | 15 -- vines.lua | 105 ------------ 13 files changed, 442 insertions(+), 415 deletions(-) delete mode 100644 .luacheckrc delete mode 100644 LICENSE.md delete mode 100644 aliases.lua delete mode 100644 bower.json delete mode 100644 crafts.lua delete mode 100644 functions.lua delete mode 100644 nodes.lua delete mode 100644 recipes.lua delete mode 100644 shear.lua delete mode 100644 vines.lua diff --git a/.luacheckrc b/.luacheckrc deleted file mode 100644 index bf99780..0000000 --- a/.luacheckrc +++ /dev/null @@ -1,13 +0,0 @@ - -unused_args = false - -read_globals = { - "minetest", - "default", - "ItemStack", - "biome_lib", -} - -globals = { - "vines", -} diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index fb67788..0000000 --- a/LICENSE.md +++ /dev/null @@ -1,4 +0,0 @@ -License -======= -- Code WTFPL -- Texture CC diff --git a/README.md b/README.md index 89fdb27..9b67f8b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Vines +# Vines Mod by Bas80 (Edited by TenPlus1) + +#License: MIT for code, CC for textures ## Features - Rope block for spawning rope that slowly drops into the deep. diff --git a/aliases.lua b/aliases.lua deleted file mode 100644 index fce7218..0000000 --- a/aliases.lua +++ /dev/null @@ -1,11 +0,0 @@ --- used to remove the old vine nodes. This gives room for the new nodes -minetest.register_alias( 'vines:root', 'air' ) -minetest.register_alias( 'vines:root_rotten', 'air' ) -minetest.register_alias( 'vines:vine', 'air' ) -minetest.register_alias( 'vines:vine_rotten', 'air' ) -minetest.register_alias( 'vines:side', 'air' ) -minetest.register_alias( 'vines:side_rotten', 'air' ) -minetest.register_alias( 'vines:jungle', 'air' ) -minetest.register_alias( 'vines:jungle_rotten', 'air' ) -minetest.register_alias( 'vines:willow', 'air' ) -minetest.register_alias( 'vines:willow_rotten', 'air' ) diff --git a/bower.json b/bower.json deleted file mode 100644 index 108a7c1..0000000 --- a/bower.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "vines", - "description": "Vines that spawn on trees and rope", - "keywords": [ - "vines", - "trees", - "rope", - "jungle" - ], - "homepage": "https://github.com/bas080/vines/", - "screenshots": [ - "https://raw.githubusercontent.com/bas080/vines/forum/screenshot.png" - ], - "authors": [ - "bas080" - ], - "license": "WTFPL" -} diff --git a/crafts.lua b/crafts.lua deleted file mode 100644 index 19e658b..0000000 --- a/crafts.lua +++ /dev/null @@ -1,14 +0,0 @@ -minetest.register_craft({ - output = 'vines:rope_block', - recipe = vines.recipes['rope_block'] -}) - -minetest.register_craft({ - output = 'vines:shears', - recipe = vines.recipes['shears'] -}) - -minetest.register_craftitem("vines:vines", { - description = "Vines", - inventory_image = "vines_item.png", -}) diff --git a/depends.txt b/depends.txt index 573e6e1..eef2e6c 100644 --- a/depends.txt +++ b/depends.txt @@ -1,3 +1,4 @@ default biome_lib +plantlife_i18n moretrees? diff --git a/functions.lua b/functions.lua deleted file mode 100644 index a2f1566..0000000 --- a/functions.lua +++ /dev/null @@ -1,129 +0,0 @@ -vines.register_vine = function( name, defs, biome ) - local groups = { vines=1, snappy=3, flammable=2 } - - local vine_name_end = 'vines:'..name..'_end' - local vine_name_middle = 'vines:'..name..'_middle' - - local vine_image_end = "vines_"..name.."_end.png" - local vine_image_middle = "vines_"..name.."_middle.png" - - local drop_node = vine_name_end - - biome.spawn_plants = { vine_name_end } - - local vine_group = 'group:'..name..'_vines' - biome.spawn_surfaces[ #biome.spawn_surfaces + 1 ] = vine_group - - local selection_box = { type = "wallmounted", } - local drawtype = 'signlike' - if ( not biome.spawn_on_side ) then - --different properties for bottom and side vines. - selection_box = { type = "fixed", fixed = { -0.4, -1/2, -0.4, 0.4, 1/2, 0.4 }, } - drawtype = 'plantlike' - end - - minetest.register_node( vine_name_end, { - description = defs.description, - walkable = false, - climbable = true, - wield_image = vine_image_end, - drop = "", - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "wallmounted", - buildable_to = false, - tiles = { vine_image_end }, - drawtype = drawtype, - inventory_image = vine_image_end, - groups = groups, - sounds = default.node_sound_leaves_defaults(), - selection_box = selection_box, - on_construct = function( pos ) - local timer = minetest.get_node_timer( pos ) - timer:start( math.random(5, 10) ) - end, - on_timer = function( pos ) - local node = minetest.get_node( pos ) - local bottom = {x=pos.x, y=pos.y-1, z=pos.z} - local bottom_node = minetest.get_node( bottom ) - if bottom_node.name == "air" then - if not ( math.random( defs.average_length ) == 1 ) then - minetest.set_node( pos, { name = vine_name_middle, param2 = node.param2 } ) - minetest.set_node( bottom, { name = node.name, param2 = node.param2 } ) - local timer = minetest.get_node_timer( bottom_node ) - timer:start( math.random(5, 10) ) - end - end - end, - after_dig_node = function(pos, node, oldmetadata, user) - vines.dig_vine( pos, drop_node, user ) - end - }) - - minetest.register_node( vine_name_middle, { - description = "Matured "..defs.description, - walkable = false, - climbable = true, - drop = "", - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "wallmounted", - buildable_to = false, - tiles = { vine_image_middle }, - wield_image = vine_image_middle, - drawtype = drawtype, - inventory_image = vine_image_middle, - groups = groups, - sounds = default.node_sound_leaves_defaults(), - selection_box = selection_box, - on_destruct = function( pos ) - local bottom = {x=pos.x, y=pos.y-1, z=pos.z} - local bottom_node = minetest.get_node( bottom ) - if minetest.get_item_group( bottom_node.name, "vines") > 0 then - minetest.after( 0, minetest.remove_node, bottom ) - end - end, - after_dig_node = function( pos, node, oldmetadata, user ) - vines.dig_vine( pos, drop_node, user ) - end - }) - - biome_lib:spawn_on_surfaces( biome ) - - local override_nodes = function( nodes, def ) - local function override( index, registered ) - local node = nodes[ index ] - if index > #nodes then return registered end - if minetest.registered_nodes[node] then - minetest.override_item( node, def ) - registered[#registered+1] = node - end - override( index+1, registered ) - end - override( 1, {} ) - end - - override_nodes( biome.spawn_surfaces,{ - on_destruct = function( pos ) - local pos_min = { x = pos.x -1, y = pos.y - 1, z = pos.z - 1 } - local pos_max = { x = pos.x +1, y = pos.y + 1, z = pos.z + 1 } - local positions = minetest.find_nodes_in_area( pos_min, pos_max, "group:vines" ) - for index, position in pairs(positions) do - minetest.remove_node( position ) - end - end - }) - -end - -vines.dig_vine = function( pos, node_name, user ) - --only dig give the vine if shears are used - if not user then return false end - local wielded = user:get_wielded_item() - if 'vines:shears' == wielded:get_name() then - local inv = user:get_inventory() - if inv then - inv:add_item("main", ItemStack( node_name )) - end - end -end diff --git a/init.lua b/init.lua index 72eda93..3d25c4d 100644 --- a/init.lua +++ b/init.lua @@ -1,14 +1,442 @@ vines = { - name = 'vines', - recipes = {} + name = 'vines', + recipes = {} } -dofile( minetest.get_modpath( vines.name ) .. "/functions.lua" ) -dofile( minetest.get_modpath( vines.name ) .. "/aliases.lua" ) -dofile( minetest.get_modpath( vines.name ) .. "/recipes.lua" ) -dofile( minetest.get_modpath( vines.name ) .. "/crafts.lua" ) -dofile( minetest.get_modpath( vines.name ) .. "/nodes.lua" ) -dofile( minetest.get_modpath( vines.name ) .. "/shear.lua" ) -dofile( minetest.get_modpath( vines.name ) .. "/vines.lua" ) +-- support for i18n +local S = plantlife_i18n.gettext -print("[Vines] Loaded!") +-- ITEMS + +minetest.register_craftitem("vines:vines", { + description = S("Vines"), + inventory_image = "vines_item.png", + group = {vines = 1, flammable = 2} +}) + +-- FUNCTIONS + +local function dig_down(pos, node, digger) + + if digger == nil then return end + + local np = {x = pos.x, y = pos.y - 1, z = pos.z} + local nn = minetest.get_node(np) + + if minetest.get_item_group(nn.name, "vines") > 0 then + minetest.node_dig(np, nn, digger) + end +end + + +vines.register_vine = function( name, defs, biome ) + + local groups = {vines = 1, snappy = 3, flammable = 2} + local vine_name_end = 'vines:' .. name .. '_end' + local vine_name_middle = 'vines:' .. name .. '_middle' + local vine_image_end = "vines_" .. name .. "_end.png" + local vine_image_middle = "vines_" .. name .. "_middle.png" + local drop_node = vine_name_end + + biome.spawn_plants = {vine_name_end} + + local vine_group = 'group:' .. name .. '_vines' + + biome.spawn_surfaces[#biome.spawn_surfaces + 1] = vine_group + + local selection_box = {type = "wallmounted",} + local drawtype = 'signlike' + + -- different properties for bottom and side vines. + if not biome.spawn_on_side then + + selection_box = { + type = "fixed", fixed = { -0.4, -1/2, -0.4, 0.4, 1/2, 0.4 } + } + + drawtype = 'plantlike' + end + + minetest.register_node(vine_name_end, { + description = defs.description, + walkable = false, + climbable = true, + wield_image = vine_image_end, + drop = "vines:vines", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + buildable_to = false, + tiles = {vine_image_end}, + drawtype = drawtype, + inventory_image = vine_image_end, + groups = groups, + sounds = default.node_sound_leaves_defaults(), + selection_box = selection_box, + + on_construct = function(pos) + + local timer = minetest.get_node_timer(pos) + + timer:start(math.random(5, 10)) + end, + + on_timer = function(pos) + + local node = minetest.get_node(pos) + local bottom = {x = pos.x, y = pos.y - 1, z = pos.z} + local bottom_node = minetest.get_node( bottom ) + + if bottom_node.name == "air" then + + if not math.random(defs.average_length) == 1 then + + minetest.set_node(pos, { + name = vine_name_middle, param2 = node.param2}) + + minetest.set_node(bottom, { + name = node.name, param2 = node.param2}) + + local timer = minetest.get_node_timer(bottom_node) + + timer:start(math.random(5, 10)) + end + end + end, + + after_dig_node = function(pos, node, metadata, digger) + dig_down(pos, node, digger) + end, + }) + + minetest.register_node( vine_name_middle, { + description = S("Matured") .. " " .. defs.description, + walkable = false, + climbable = true, + drop = "vines:vines", + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + buildable_to = false, + tiles = {vine_image_middle}, + wield_image = vine_image_middle, + drawtype = drawtype, + inventory_image = vine_image_middle, + groups = groups, + sounds = default.node_sound_leaves_defaults(), + selection_box = selection_box, + + after_dig_node = function(pos, node, metadata, digger) + dig_down(pos, node, digger) + end, + }) + + biome_lib:spawn_on_surfaces(biome) + + local override_nodes = function(nodes, def) + + local function override(index, registered) + + local node = nodes[index] + + if index > #nodes then return registered end + + if minetest.registered_nodes[node] then + + minetest.override_item(node, def) + + registered[#registered + 1] = node + end + + override(index + 1, registered) + end + + override(1, {}) + end + + override_nodes( biome.spawn_surfaces,{ + + on_destruct = function( pos ) + + local pos_min = {x = pos.x - 1, y = pos.y - 1, z = pos.z - 1} + local pos_max = {x = pos.x + 1, y = pos.y + 1, z = pos.z + 1} + local positions = minetest.find_nodes_in_area( + pos_min, pos_max, "group:vines") + + for index, position in pairs(positions) do + minetest.remove_node(position) + end + end + }) +end + +-- ALIASES + +-- used to remove the old vine nodes and give room for the new. +minetest.register_alias( 'vines:root', 'air' ) +minetest.register_alias( 'vines:root_rotten', 'air' ) +minetest.register_alias( 'vines:vine', 'air' ) +minetest.register_alias( 'vines:vine_rotten', 'air' ) +minetest.register_alias( 'vines:side', 'air' ) +minetest.register_alias( 'vines:side_rotten', 'air' ) +minetest.register_alias( 'vines:jungle', 'air' ) +minetest.register_alias( 'vines:jungle_rotten', 'air' ) +minetest.register_alias( 'vines:willow', 'air' ) +minetest.register_alias( 'vines:willow_rotten', 'air' ) + +-- CRAFTS + +minetest.register_craft({ + output = 'vines:rope_block', + recipe = { + {'group:vines', 'group:vines', 'group:vines'}, + {'group:vines', 'group:wood', 'group:vines'}, + {'group:vines', 'group:vines', 'group:vines'}, + } +}) + +if minetest.get_modpath("moreblocks") then + + minetest.register_craft({ + output = 'vines:rope_block', + recipe = { + {'moreblocks:rope', 'moreblocks:rope', 'moreblocks:rope'}, + {'moreblocks:rope', 'group:wood', 'moreblocks:rope'}, + {'moreblocks:rope', 'moreblocks:rope', 'moreblocks:rope'}, + } + }) +end + +minetest.register_craft({ + output = 'vines:shears', + recipe = { + {'', 'default:steel_ingot', ''}, + {'group:stick', 'group:wood', 'default:steel_ingot'}, + {'', '', 'group:stick'} + } +}) + +-- NODES + +minetest.register_node("vines:rope_block", { + description = S("Rope"), + sunlight_propagates = true, + paramtype = "light", + tiles = { + "default_wood.png^vines_rope.png", + "default_wood.png^vines_rope.png", + "default_wood.png", + "default_wood.png", + "default_wood.png^vines_rope.png", + "default_wood.png^vines_rope.png", + }, + groups = {flammable = 2, choppy = 2, oddly_breakable_by_hand = 1}, + + after_place_node = function(pos) + + local p = {x = pos.x, y = pos.y - 1, z = pos.z} + local n = minetest.get_node(p) + + if n.name == "air" then + minetest.add_node(p, {name = "vines:rope_end"}) + end + end, + + after_dig_node = function(pos, node, digger) + + local p = {x = pos.x, y = pos.y - 1, z = pos.z} + local n = minetest.get_node(p) + + while n.name == 'vines:rope' or n.name == 'vines:rope_end' do + + minetest.remove_node(p) + + p = {x = p.x, y = p.y - 1, z = p.z} + n = minetest.get_node(p) + end + end +}) + +minetest.register_node("vines:rope", { + description = S("Rope"), + walkable = false, + climbable = true, + sunlight_propagates = true, + paramtype = "light", + drop = {}, + tiles = {"vines_rope.png"}, + drawtype = "plantlike", + groups = {flammable = 2, not_in_creative_inventory = 1}, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, +}) + +minetest.register_node("vines:rope_end", { + description = S("Rope"), + walkable = false, + climbable = true, + sunlight_propagates = true, + paramtype = "light", + drop = {}, + tiles = {"vines_rope_end.png"}, + drawtype = "plantlike", + groups = {flammable = 2, not_in_creative_inventory = 1}, + sounds = default.node_sound_leaves_defaults(), + + after_place_node = function(pos) + + local yesh = {x = pos.x, y = pos.y - 1, z = pos.z} + + minetest.add_node(yesh, {name = "vines:rope"}) + end, + + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, + + on_construct = function(pos) + + local timer = minetest.get_node_timer(pos) + + timer:start(1) + end, + + on_timer = function( pos, elapsed ) + + local p = {x = pos.x, y = pos.y - 1, z = pos.z} + local n = minetest.get_node(p) + + if n.name == "air" then + + minetest.set_node(pos, {name = "vines:rope"}) + minetest.add_node(p, {name = "vines:rope_end"}) + else + + local timer = minetest.get_node_timer(pos) + + timer:start(1) + end + end +}) + +-- SHEARS + +minetest.register_tool("vines:shears", { + description = S("Shears"), + inventory_image = "vines_shears.png", + wield_image = "vines_shears.png", + stack_max = 1, + max_drop_level = 3, + tool_capabilities = { + full_punch_interval = 1.0, + max_drop_level = 1, + groupcaps = { + snappy = {times = {[3] = 0.2}, uses = 60, maxlevel = 3}, + } + }, +}) + +-- VINES + +vines.register_vine('root', + {description = S("Roots"), average_length = 9}, { + choose_random_wall = true, + avoid_nodes = {"vines:root_middle"}, + avoid_radius = 5, + spawn_delay = 500, + spawn_chance = 10, + spawn_surfaces = { + "default:dirt_with_grass", + "default:dirt" + }, + spawn_on_bottom = true, + plantlife_limit = -0.6, + humidity_min = 0.4, +}) + +vines.register_vine('vine', + {description = S("Vines"), average_length = 5}, { + choose_random_wall = true, + avoid_nodes = {"group:vines"}, + avoid_radius = 5, + spawn_delay = 500, + spawn_chance = 100, + spawn_surfaces = { + "default:leaves", + "default:jungleleaves", + "moretrees:jungletree_leaves_red", + "moretrees:jungletree_leaves_yellow", + "moretrees:jungletree_leaves_green" + }, + spawn_on_bottom = true, + plantlife_limit = -0.9, + humidity_min = 0.7, +}) + +vines.register_vine('side', + {description = S("Vines"), average_length = 6}, { + choose_random_wall = true, + avoid_nodes = {"group:vines", "default:apple"}, + avoid_radius = 3, + spawn_delay = 500, + spawn_chance = 100, + spawn_surfaces = { + "default:leaves", + "default:jungleleaves", + "moretrees:jungletree_leaves_red", + "moretrees:jungletree_leaves_yellow", + "moretrees:jungletree_leaves_green" + }, + spawn_on_side = true, + plantlife_limit = -0.9, + humidity_min = 0.4, +}) + +vines.register_vine("jungle", + {description = S("Jungle Vines"), average_length = 7}, { + choose_random_wall = true, + neighbors = { + "default:jungleleaves", + "moretrees:jungletree_leaves_red", + "moretrees:jungletree_leaves_yellow", + "moretrees:jungletree_leaves_green" + }, + avoid_nodes = { + "vines:jungle_middle", + "vines:jungle_end", + }, + avoid_radius = 5, + spawn_delay = 500, + spawn_chance = 100, + spawn_surfaces = { + "default:jungletree", + "moretrees:jungletree_trunk" + }, + spawn_on_side = true, + plantlife_limit = -0.9, + humidity_min = 0.2, +}) + +vines.register_vine( 'willow', + {description = S("Willow Vines"), average_length = 9}, { + choose_random_wall = true, + avoid_nodes = {"vines:willow_middle"}, + avoid_radius = 5, + near_nodes = {'default:water_source'}, + near_nodes_size = 1, + near_nodes_count = 1, + near_nodes_vertical = 7, + plantlife_limit = -0.8, + spawn_chance = 10, + spawn_delay = 500, + spawn_on_side = true, + spawn_surfaces = {"moretrees:willow_leaves"}, + humidity_min = 0.5 +}) + + +print(S("[Vines] Loaded!")) diff --git a/nodes.lua b/nodes.lua deleted file mode 100644 index 6a1ee22..0000000 --- a/nodes.lua +++ /dev/null @@ -1,83 +0,0 @@ -minetest.register_node("vines:rope_block", { - description = "Rope", - sunlight_propagates = true, - paramtype = "light", - tiles = { - "default_wood.png^vines_rope.png", - "default_wood.png^vines_rope.png", - "default_wood.png", - "default_wood.png", - "default_wood.png^vines_rope.png", - "default_wood.png^vines_rope.png", - }, - groups = { flammable=2, choppy=2, oddly_breakable_by_hand=1 }, - after_place_node = function(pos) - local p = {x=pos.x, y=pos.y-1, z=pos.z} - local n = minetest.get_node(p) - if n.name == "air" then - minetest.add_node(p, {name="vines:rope_end"}) - end - end, - after_dig_node = function(pos, node, digger) - local p = {x=pos.x, y=pos.y-1, z=pos.z} - local n = minetest.get_node(p) - while ( n.name == 'vines:rope' or n.name == 'vines:rope_end' ) do - minetest.remove_node(p) - p = {x=p.x, y=p.y-1, z=p.z} - n = minetest.get_node(p) - end - end -}) - -minetest.register_node("vines:rope", { - description = "Rope", - walkable = false, - climbable = true, - sunlight_propagates = true, - paramtype = "light", - drop = "", - tiles = { "vines_rope.png" }, - drawtype = "plantlike", - groups = {flammable=2, not_in_creative_inventory=1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, -}) - -minetest.register_node("vines:rope_end", { - description = "Rope", - walkable = false, - climbable = true, - sunlight_propagates = true, - paramtype = "light", - drop = "", - tiles = { "vines_rope_end.png" }, - drawtype = "plantlike", - groups = {flammable=2, not_in_creative_inventory=1}, - sounds = default.node_sound_leaves_defaults(), - after_place_node = function(pos) - local yesh = {x = pos.x, y= pos.y-1, z=pos.z} - minetest.add_node(yesh, {name="vines:rope"}) - end, - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, - on_construct = function( pos ) - local timer = minetest.get_node_timer( pos ) - timer:start( 1 ) - end, - on_timer = function( pos, elapsed ) - local p = {x=pos.x, y=pos.y-1, z=pos.z} - local n = minetest.get_node(p) - if n.name == "air" then - minetest.set_node(pos, {name="vines:rope"}) - minetest.add_node(p, {name="vines:rope_end"}) - else - local timer = minetest.get_node_timer( pos ) - timer:start( 1 ) - end - end -}) diff --git a/recipes.lua b/recipes.lua deleted file mode 100644 index d64dcea..0000000 --- a/recipes.lua +++ /dev/null @@ -1,12 +0,0 @@ -vines.recipes['rope_block'] = { - {'', 'group:wood', ''}, - {'', 'group:vines', ''}, - {'', 'group:vines', ''} -} - -vines.recipes['shears'] = { - {'', 'default:steel_ingot', ''}, - {'group:stick', 'group:wood', 'default:steel_ingot'}, - {'', '', 'group:stick'} -} - diff --git a/shear.lua b/shear.lua deleted file mode 100644 index b42a3e7..0000000 --- a/shear.lua +++ /dev/null @@ -1,15 +0,0 @@ -minetest.register_tool("vines:shears", { - description = "Shears", - inventory_image = "vines_shears.png", - wield_image = "vines_shears.png", - stack_max = 1, - max_drop_level=3, - tool_capabilities = { - full_punch_interval = 1.0, - max_drop_level=0, - groupcaps={ - snappy={times={[3]=0.2}, uses=60, maxlevel=3}, - wool={times={[3]=0.2}, uses=60, maxlevel=3} - } - }, -}) diff --git a/vines.lua b/vines.lua deleted file mode 100644 index 42c20d8..0000000 --- a/vines.lua +++ /dev/null @@ -1,105 +0,0 @@ -vines.register_vine( 'root', { - description = "Roots", - average_length = 9, -},{ - choose_random_wall = true, - avoid_nodes = {"vines:root_middle"}, - avoid_radius = 5, - spawn_delay = 500, - spawn_chance = 10, - spawn_surfaces = { - "default:dirt_with_grass", - "default:dirt" - }, - spawn_on_bottom = true, - plantlife_limit = -0.6, - humidity_min = 0.4, -}) - -vines.register_vine( 'vine', { - description = "Vines", - average_length = 5, -},{ - choose_random_wall = true, - avoid_nodes = {"group:vines"}, - avoid_radius = 5, - spawn_delay = 500, - spawn_chance = 100, - spawn_surfaces = { - "default:leaves", - "default:jungleleaves", - "moretrees:jungletree_leaves_red", - "moretrees:jungletree_leaves_yellow", - "moretrees:jungletree_leaves_green" - }, - spawn_on_bottom = true, - plantlife_limit = -0.9, - humidity_min = 0.7, -}) - -vines.register_vine( 'side', { - description = "Vines", - average_length = 6, -},{ - choose_random_wall = true, - avoid_nodes = {"group:vines", "default:apple"}, - avoid_radius = 3, - spawn_delay = 500, - spawn_chance = 100, - spawn_surfaces = { - "default:leaves", - "default:jungleleaves", - "moretrees:jungletree_leaves_red", - "moretrees:jungletree_leaves_yellow", - "moretrees:jungletree_leaves_green" - }, - spawn_on_side = true, - plantlife_limit = -0.9, - humidity_min = 0.4, -}) - -vines.register_vine( "jungle", { - description = "Jungle Vines", - average_length = 7, -},{ - choose_random_wall = true, - neighbors = { - "default:jungleleaves", - "moretrees:jungletree_leaves_red", - "moretrees:jungletree_leaves_yellow", - "moretrees:jungletree_leaves_green" - }, - avoid_nodes = { - "vines:jungle_middle", - "vines:jungle_end", - }, - avoid_radius = 5, - spawn_delay = 500, - spawn_chance = 100, - spawn_surfaces = { - "default:jungletree", - "moretrees:jungletree_trunk" - }, - spawn_on_side = true, - plantlife_limit = -0.9, - humidity_min = 0.2, -}) - -vines.register_vine( 'willow', { - description = "Willow Vines", - average_length = 9, -},{ - choose_random_wall = true, - avoid_nodes = { "vines:willow_middle" }, - avoid_radius = 5, - near_nodes = { 'default:water_source' }, - near_nodes_size = 1, - near_nodes_count = 1, - near_nodes_vertical = 7, - plantlife_limit = -0.8, - spawn_chance = 10, - spawn_delay = 500, - spawn_on_side = true, - spawn_surfaces = {"moretrees:willow_leaves"}, - humidity_min = 0.5 -})