344 lines
14 KiB
Lua
344 lines
14 KiB
Lua
--[[
|
|
|
|
Tubelib Addons 1
|
|
================
|
|
|
|
Copyright (C) 2017-2020 Joachim Stolberg
|
|
|
|
AGPL v3
|
|
See LICENSE.txt for more information
|
|
|
|
]]--
|
|
|
|
-- tables needed for Harvester
|
|
tubelib_addons1.FarmingNodes = {}
|
|
tubelib_addons1.Flowers = {}
|
|
|
|
-- table needed for Grinder
|
|
tubelib_addons1.GroundNodes = {}
|
|
|
|
|
|
-- default trees which require the node timer
|
|
function tubelib_addons1.register_tree_node(name, drop, plant)
|
|
tubelib_addons1.FarmingNodes[name] = {drop = drop or name, plant = plant, t1= 166, t2 = 288}
|
|
end
|
|
|
|
-- default farming nodes which require the node timer
|
|
function tubelib_addons1.register_default_farming_node(name, drop, plant)
|
|
tubelib_addons1.FarmingNodes[name] = {drop = drop or name, plant = plant, t1 = 2400, t2 = 4800}
|
|
end
|
|
|
|
function tubelib_addons1.register_flower(name)
|
|
tubelib_addons1.FarmingNodes[name] = {drop = name}
|
|
end
|
|
|
|
-- farming nodes with ABM
|
|
function tubelib_addons1.register_farming_node(name, drop, plant)
|
|
tubelib_addons1.FarmingNodes[name] = {drop = drop or name, plant = plant}
|
|
tubelib_addons1.FarmingNodes[name].leaves = string.find(name, "leaves") ~= nil
|
|
end
|
|
|
|
function tubelib_addons1.register_ground_node(name, drop)
|
|
tubelib_addons1.GroundNodes[name] = {drop = drop or name}
|
|
end
|
|
|
|
local tn = tubelib_addons1.register_tree_node
|
|
local dn = tubelib_addons1.register_default_farming_node
|
|
local fn = tubelib_addons1.register_farming_node
|
|
local gn = tubelib_addons1.register_ground_node
|
|
local gr = tubelib.add_grinder_recipe
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Default Farming
|
|
-------------------------------------------------------------------------------
|
|
tn("default:tree", "default:tree", "default:sapling")
|
|
tn("default:aspen_tree", "default:aspen_tree", "default:aspen_sapling")
|
|
tn("default:pine_tree", "default:pine_tree", "default:pine_sapling")
|
|
tn("default:acacia_tree", "default:acacia_tree", "default:acacia_sapling")
|
|
tn("default:jungletree", "default:jungletree", "default:junglesapling")
|
|
|
|
tn("default:bush_stem", "default:bush_stem", "default:bush_sapling")
|
|
tn("default:acacia_bush_stem", "default:acacia_bush_stem", "default:acacia_bush_sapling")
|
|
tn("default:pine_bush_stem", "default:pine_bush_stem", "default:pine_bush_sapling")
|
|
|
|
fn("default:pine_bush_needles")
|
|
tubelib_addons1.FarmingNodes["default:pine_bush_needles"].leaves = true -- accepted as leaves
|
|
|
|
fn("default:leaves")
|
|
fn("default:aspen_leaves")
|
|
fn("default:pine_needles")
|
|
tubelib_addons1.FarmingNodes["default:pine_needles"].leaves = true -- accepted as leaves
|
|
fn("default:acacia_leaves")
|
|
fn("default:jungleleaves")
|
|
|
|
fn("default:bush_leaves")
|
|
fn("default:acacia_bush_leaves")
|
|
fn("default:blueberry_bush_leaves")
|
|
|
|
fn("default:cactus", "default:cactus", "default:cactus")
|
|
fn("default:papyrus", "default:papyrus", "default:papyrus")
|
|
|
|
fn("default:apple")
|
|
|
|
if farming.mod ~= "redo" then
|
|
dn("farming:wheat_8", "farming:wheat", "farming:wheat_1")
|
|
dn("farming:cotton_8", "farming:cotton", "farming:cotton_1")
|
|
dn("farming:blueberry_bush_leaves_with_berries", "default:blueberries", "farming:blueberry_bush_leaves")
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Farming Redo
|
|
----------------------------------------------- --------------------------------
|
|
if farming.mod == "redo" then
|
|
fn("farming:wheat_8", "farming:wheat", "farming:wheat_1")
|
|
fn("farming:cotton_8", "farming:cotton", "farming:cotton_1")
|
|
fn("farming:carrot_8", "farming:carrot 2", "farming:carrot_1")
|
|
fn("farming:potato_4", "farming:potato 3", "farming:potato_1")
|
|
fn("farming:tomato_8", "farming:tomato 3", "farming:tomato_1")
|
|
fn("farming:cucumber_4", "farming:cucumber 2", "farming:cucumber_1")
|
|
fn("farming:corn_8", "farming:corn 2", "farming:corn_1")
|
|
fn("farming:coffee_5", "farming:coffee_beans 2", "farming:coffee_1")
|
|
fn("farming:melon_8", "farming:melon_slice 4", "farming:melon_1")
|
|
fn("farming:pumpkin_8", "farming:pumpkin_slice 4","farming:pumpkin_1")
|
|
fn("farming:raspberry_4", "farming:raspberries", "farming:raspberry_1")
|
|
fn("farming:blueberry_4", "farming:blueberries", "farming:blueberry_1")
|
|
fn("farming:rhubarb_3", "farming:rhubarb 2", "farming:rhubarb_1")
|
|
fn("farming:beanpole_5", "farming:beans 3", "farming:beanpole_1")
|
|
fn("farming:grapes_8", "farming:grapes 3", "farming:grapes_1")
|
|
fn("farming:barley_7", "farming:barley", "farming:barley_1")
|
|
fn("farming:chili_8", "farming:chili_pepper 2", "farming:chili_1")
|
|
fn("farming:hemp_8", "farming:hemp_leaf", "farming:hemp_1")
|
|
fn("farming:oat_8", "farming:oat", "farming:oat_1")
|
|
fn("farming:rye_8", "farming:rye", "farming:rye_1")
|
|
fn("farming:rice_8", "farming:rice", "farming:rice_1")
|
|
fn('farming:beetroot_5', 'farming:beetroot 2', 'farming:beetroot_1')
|
|
fn('farming:cocoa_4', 'farming:cocoa_beans 2', 'farming:cocoa_1')
|
|
fn('farming:garlic_5', 'farming:garlic 2', 'farming:garlic_1')
|
|
fn('farming:onion_5', 'farming:onion 2', 'farming:onion_1')
|
|
fn('farming:pea_5', 'farming:pea_pod 3', 'farming:pea_1')
|
|
fn('farming:pepper_5', 'farming:pepper 2', 'farming:pepper_1')
|
|
fn('farming:pepper_6', 'farming:pepper_yellow 2','farming:pepper_1')
|
|
fn('farming:pepper_7', 'farming:pepper_red 2', 'farming:pepper_1')
|
|
fn('farming:pineapple_8', 'farming:pineapple 1', 'farming:pineapple_1')
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Ethereal Farming
|
|
-------------------------------------------------------------------------------
|
|
fn("ethereal:strawberry_8", "ethereal:strawberry 2", "ethereal:strawberry_1")
|
|
fn("ethereal:onion_5", "ethereal:wild_onion_plant 2", "ethereal:onion_1")
|
|
|
|
|
|
fn("ethereal:willow_trunk", "ethereal:willow_trunk", "ethereal:willow_sapling")
|
|
fn("ethereal:redwood_trunk", "ethereal:redwood_trunk", "ethereal:redwood_sapling")
|
|
fn("ethereal:frost_tree", "ethereal:frost_tree", "ethereal:frost_tree_sapling")
|
|
fn("ethereal:yellow_trunk", "ethereal:yellow_trunk", "ethereal:yellow_tree_sapling")
|
|
fn("ethereal:palm_trunk", "ethereal:palm_trunk", "ethereal:palm_sapling")
|
|
fn("ethereal:banana_trunk", "ethereal:banana_trunk", "ethereal:banana_tree_sapling")
|
|
fn("ethereal:mushroom_trunk", "ethereal:mushroom_trunk", "ethereal:mushroom_sapling")
|
|
fn("ethereal:birch_trunk", "ethereal:birch_trunk", "ethereal:birch_sapling")
|
|
fn("ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo_sprout")
|
|
|
|
fn("ethereal:willow_twig")
|
|
fn("ethereal:redwood_leaves")
|
|
fn("ethereal:orange_leaves")
|
|
fn("ethereal:bananaleaves")
|
|
fn("ethereal:yellowleaves")
|
|
fn("ethereal:palmleaves")
|
|
fn("ethereal:birch_leaves")
|
|
fn("ethereal:frost_leaves")
|
|
fn("ethereal:bamboo_leaves")
|
|
fn("ethereal:mushroom")
|
|
fn("ethereal:mushroom_pore")
|
|
fn("ethereal:bamboo_leaves")
|
|
fn("ethereal:bamboo_leaves")
|
|
fn("ethereal:banana")
|
|
fn("ethereal:orange")
|
|
fn("ethereal:coconut")
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Default Ground
|
|
-------------------------------------------------------------------------------
|
|
gn("default:cobble")
|
|
gn("default:desert_cobble")
|
|
gn("default:mossycobble")
|
|
gn("default:gravel")
|
|
gn("default:dirt")
|
|
gn("default:sand")
|
|
gn("default:desert_sand")
|
|
gn("default:silver_sand")
|
|
gn("default:ice")
|
|
gn("default:snowblock")
|
|
gn("default:snow")
|
|
gn("default:obsidian")
|
|
gn("default:mese")
|
|
gn("stairs:stair_cobble")
|
|
gn("stairs:stair_mossycobble")
|
|
gn("stairs:stair_desert_cobble")
|
|
|
|
gn("default:permafrost")
|
|
gn("default:permafrost_with_moss")
|
|
gn("default:permafrost_with_stones")
|
|
|
|
gn("default:stone", "default:cobble")
|
|
gn("default:desert_stone", "default:desert_cobble")
|
|
gn("default:sandstone", "default:sandstone")
|
|
gn("default:desert_sandstone", "default:desert_sandstone")
|
|
gn("default:silver_sandstone", "default:silver_sandstone")
|
|
gn("default:clay", "default:clay_lump")
|
|
|
|
gn("default:stone_with_coal", "default:coal_lump")
|
|
gn("default:stone_with_iron", "default:iron_lump")
|
|
gn("default:stone_with_copper", "default:copper_lump")
|
|
gn("default:stone_with_gold", "default:gold_lump")
|
|
gn("default:stone_with_tin", "default:tin_lump")
|
|
gn("default:stone_with_mese", "default:mese_crystal")
|
|
gn("default:stone_with_diamond", "default:diamond")
|
|
|
|
gn("default:dirt_with_grass", "default:dirt")
|
|
gn("default:dirt_with_grass_footsteps", "default:dirt")
|
|
gn("default:dirt_with_dry_grass", "default:dirt")
|
|
gn("default:dirt_with_snow", "default:dirt")
|
|
gn("default:dirt_with_rainforest_litter", "default:dirt")
|
|
gn("default:dirt_with_grass", "default:dirt")
|
|
gn("default:dirt_with_coniferous_litter", "default:dirt")
|
|
gn("default:dry_dirt", "default:dry_dirt")
|
|
gn("default:dry_dirt_with_dry_grass", "default:dry_dirt")
|
|
|
|
gn("default:dirt_with_coniferous_litter")
|
|
gn("default:dirt_with_coniferous_litter")
|
|
gn("default:dirt_with_coniferous_litter")
|
|
|
|
gn("default:coral_skeleton", "default:coral_skeleton")
|
|
gn("default:coral_orange", "default:coral_skeleton")
|
|
gn("default:coral_brown", "default:coral_skeleton")
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- tubelib Ground
|
|
-------------------------------------------------------------------------------
|
|
|
|
gn("tubelib:basalt_stone", "tubelib:basalt_stone")
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Moreores Ground
|
|
-------------------------------------------------------------------------------
|
|
gn("moreores:mineral_silver", "moreores:silver_lump")
|
|
gn("moreores:mineral_mithril", "moreores:mithril_lump")
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Farming Ground
|
|
-------------------------------------------------------------------------------
|
|
gn("farming:soil", "default:dirt")
|
|
gn("farming:soil_wet", "default:dirt")
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Compost Ground
|
|
-------------------------------------------------------------------------------
|
|
gn("compost:garden_soil", "compost:garden_soil")
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Ethereal Ground
|
|
-------------------------------------------------------------------------------
|
|
gn("ethereal:dry_dirt", "default:dirt")
|
|
gn("ethereal:bamboo_dirt", "default:dirt")
|
|
gn("ethereal:jungle_dirt", "default:dirt")
|
|
gn("ethereal:grove_dirt", "default:dirt")
|
|
gn("ethereal:prairie_dirt", "default:dirt")
|
|
gn("ethereal:cold_dirt", "default:dirt")
|
|
gn("ethereal:crystal_dirt", "default:dirt")
|
|
gn("ethereal:mushroom_dirt", "default:dirt")
|
|
gn("ethereal:fiery_dirt", "default:dirt")
|
|
gn("ethereal:gray_dirt", "default:dirt")
|
|
gn("ethereal:green_dirt", "default:dirt")
|
|
|
|
gn("bakedclay:red", "bakedclay:red")
|
|
gn("bakedclay:orange", "bakedclay:orange")
|
|
gn("bakedclay:grey", "bakedclay:grey")
|
|
|
|
gn("ethereal:quicksand2", "default:sand")
|
|
|
|
gn("ethereal:illumishroom")
|
|
gn("ethereal:illumishroom2")
|
|
gn("ethereal:illumishroom3")
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- underch Ground
|
|
-------------------------------------------------------------------------------
|
|
|
|
if minetest.get_modpath("underch") then
|
|
for regnodename,v in pairs(minetest.registered_nodes) do
|
|
if string.find(regnodename, "underch:") then
|
|
if string.find(regnodename, "_cobble") and not string.find(regnodename, "_wall") then
|
|
gnname = string.gsub(regnodename, "_cobble", "")
|
|
print("tubelib_addons1.register_ground_node: " .. gnname)
|
|
gn(gnname, regnodename)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Registered flowers
|
|
-------------------------------------------------------------------------------
|
|
local function register_flowers()
|
|
for name,item in pairs(minetest.registered_items) do
|
|
if item.groups.flower == 1 then
|
|
tubelib_addons1.register_flower(name)
|
|
end
|
|
end
|
|
end
|
|
|
|
minetest.after(10, register_flowers)
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- moretrees
|
|
-------------------------------------------------------------------------------
|
|
|
|
if minetest.global_exists("moretrees") then
|
|
local function register_tree(treename)
|
|
local trunk_name = 'moretrees:' .. treename .. '_trunk'
|
|
local sappling_name = 'moretrees:' .. treename .. '_sapling'
|
|
local leaves_name = 'moretrees:' .. treename .. '_leaves'
|
|
|
|
tn(trunk_name, trunk_name, sappling_name)
|
|
fn(leaves_name)
|
|
gr({input=trunk_name, output=leaves_name .. ' 8'})
|
|
end
|
|
|
|
-- "ordinary" moretrees blocks
|
|
for i in ipairs(moretrees.treelist) do
|
|
local treename = moretrees.treelist[i][1]
|
|
|
|
if treename ~= 'jungletree' then
|
|
register_tree(treename)
|
|
end
|
|
end
|
|
|
|
-- "weird" moretrees trunks
|
|
tn('moretrees:date_palm_fruit_trunk', 'moretrees:date_palm_trunk', 'moretrees:date_palm_sapling')
|
|
gr({input='moretrees:date_palm_fruit_trunk', output='moretrees:date_palm_leaves 8'})
|
|
tn('moretrees:date_palm_ffruit_trunk', 'moretrees:date_palm_trunk', 'moretrees:date_palm_sapling')
|
|
gr({input='moretrees:date_palm_ffruit_trunk', output='moretrees:date_palm_leaves 8'})
|
|
tn('moretrees:date_palm_mfruit_trunk', 'moretrees:date_palm_trunk', 'moretrees:date_palm_sapling')
|
|
gr({input='moretrees:date_palm_mfruit_trunk', output='moretrees:date_palm_leaves 8'})
|
|
tn('moretrees:jungletree_trunk', 'default:jungletree', 'default:junglesapling')
|
|
gr({input='moretrees:jungletree_trunk', output='default:jungleleaves 8'})
|
|
tn('moretrees:palm_fruit_trunk', 'moretrees:palm_trunk', 'moretrees:palm_sapling')
|
|
gr({input='moretrees:palm_fruit_trunk', output='moretrees:palm_leaves 8'})
|
|
tn('moretrees:palm_fruit_trunk_gen', 'moretrees:palm_trunk', 'moretrees:palm_sapling')
|
|
gr({input='moretrees:palm_fruit_trunk_gen', output='moretrees:palm_leaves 8'})
|
|
tn('moretrees:rubber_tree_trunk_empty', 'moretrees:rubber_tree_trunk_empty', 'moretrees:rubber_tree_sapling')
|
|
gr({input='moretrees:rubber_tree_trunk_empty', output='moretrees:rubber_tree_leaves 8'})
|
|
|
|
-- moretrees fruit and leaves
|
|
fn('moretrees:acorn')
|
|
fn('moretrees:cedar_cone')
|
|
fn('moretrees:coconut_3', 'moretrees:coconut')
|
|
fn('moretrees:dates_f4', 'moretrees:date 16')
|
|
fn('moretrees:fir_cone')
|
|
fn('moretrees:fir_leaves_bright')
|
|
fn('moretrees:jungletree_leaves_red')
|
|
fn('moretrees:jungletree_leaves_yellow')
|
|
fn('moretrees:spruce_cone')
|
|
end
|
|
|