From df644d7f7736fce4e92a75d53f44b3df6671ceeb Mon Sep 17 00:00:00 2001
From: sdzen <sdzen@techie.com>
Date: Wed, 07 Aug 2013 02:08:22 +0200
Subject: [PATCH] Merge pull request #76 from kol0/patch-2

---
 technic/rubber.lua |  123 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 0 deletions(-)

diff --git a/technic/rubber.lua b/technic/rubber.lua
new file mode 100644
index 0000000..6ec9731
--- /dev/null
+++ b/technic/rubber.lua
@@ -0,0 +1,123 @@
+-- Code of rubber tree by PilzAdam
+
+minetest.register_node("technic:rubber_sapling", {
+	description = "Rubber Tree Sapling",
+	drawtype = "plantlike",
+	tiles = {"technic_rubber_sapling.png"},
+	inventory_image = "technic_rubber_sapling.png",
+	wield_image = "technic_rubber_sapling.png",
+	paramtype = "light",
+	walkable = false,
+	groups = {dig_immediate=3,flammable=2},
+	sounds = default.node_sound_defaults(),
+})
+
+minetest.register_node("technic:rubber_tree_full", {
+	description = "Rubber Tree",
+	tiles = {"default_tree_top.png", "default_tree_top.png", "technic_rubber_tree_full.png"},
+	groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
+	drop = "default:tree",
+	sounds = default.node_sound_wood_defaults(),
+	
+	on_dig = function(pos, node, digger)
+		minetest.node_dig(pos, node, digger)
+		minetest.env:remove_node(pos)
+	end,
+	
+	after_destruct = function(pos, oldnode)
+		oldnode.name = "technic:rubber_tree_empty"
+		minetest.env:set_node(pos, oldnode)
+	end
+})
+
+
+minetest.register_node("technic:rubber_tree_empty", {
+	tiles = {"default_tree_top.png", "default_tree_top.png", "technic_rubber_tree_empty.png"},
+	groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2, not_in_creative_inventory=1},
+	drop = "default:tree",
+	sounds = default.node_sound_wood_defaults(),
+})
+
+minetest.register_abm({
+	nodenames = {"technic:rubber_tree_empty"},
+	interval = 60,
+	chance = 15,
+	action = function(pos, node)
+		node.name = "technic:rubber_tree_full"
+		minetest.env:set_node(pos, node)
+	end
+})
+
+minetest.register_node("technic:rubber_leaves", {
+	drawtype = "allfaces_optional",
+	visual_scale = 1.3,
+	tiles = {"technic_rubber_leaves.png"},
+	paramtype = "light",
+	groups = {snappy=3, leafdecay=3, flammable=2, not_in_creative_inventory=1},
+	drop = {
+		max_items = 1,
+		items = {
+			{
+				items = {'technic:rubber_sapling'},
+				rarity = 20,
+			},
+		}
+	},
+	sounds = default.node_sound_leaves_defaults(),
+})
+
+minetest.register_abm({
+	nodenames = {"technic:rubber_sapling"},
+	interval = 60,
+	chance = 20,
+	action = function(pos, node)
+		rubber_tree={
+			axiom="FFFFA",
+			rules_a="[&FFBFA]////[&BFFFA]////[&FBFFA]",
+			rules_b="[&FFA]////[&FFA]////[&FFA]",
+			trunk="technic:rubber_tree_full",
+			leaves="technic:rubber_leaves",
+			angle=35,
+			iterations=3,
+			random_level=1,
+			thin_trunks=false;
+			fruit_tree=false,
+			fruit=""
+			}
+			minetest.env:spawn_tree(pos,rubber_tree)
+	end
+})
+
+if technic.config:getBool("enable_rubber_tree_generation") then
+	minetest.register_on_generated(function(minp, maxp, blockseed)
+		if math.random(1, 100) > 5 then
+			return
+		end
+		local rubber_tree={
+			axiom="FFFFA",
+			rules_a="[&FFBFA]////[&BFFFA]////[&FBFFA]",
+			rules_b="[&FFA]////[&FFA]////[&FFA]",
+			trunk="technic:rubber_tree_full",
+			leaves="technic:rubber_leaves",
+			angle=35,
+			iterations=3,
+			random_level=1,
+			thin_trunks=false;
+			fruit_tree=false,
+			fruit=""
+		}
+		local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z}
+		local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"})
+		if pos ~= nil then
+			minetest.env:spawn_tree({x=pos.x, y=pos.y+1, z=pos.z}, rubber_tree)
+		end
+	end)
+end
+
+
+-- ========= FUEL =========
+minetest.register_craft({
+	type = "fuel",
+	recipe = "technic:rubber_sapling",
+	burntime = 10
+})

--
Gitblit v1.8.0