summaryrefslogtreecommitdiff
path: root/technic_worldgen/rubber.lua
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 21:00:20 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 21:10:04 -0400
commit888b0ebfec8c2eff9015163549a7e47443cb8665 (patch)
tree915080159bfaa6ba6e226087c7ce0e8d5464b518 /technic_worldgen/rubber.lua
parentda66780a569712c23ae4f2996cfb4608a9f9d69d (diff)
downloaddreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar.gz
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar.bz2
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.tar.xz
dreambuilder_modpack-888b0ebfec8c2eff9015163549a7e47443cb8665.zip
"explode" all modpacks into their individual components
(you can't have a modpack buried inside a modpack)
Diffstat (limited to 'technic_worldgen/rubber.lua')
-rw-r--r--technic_worldgen/rubber.lua100
1 files changed, 100 insertions, 0 deletions
diff --git a/technic_worldgen/rubber.lua b/technic_worldgen/rubber.lua
new file mode 100644
index 0000000..3094fa0
--- /dev/null
+++ b/technic_worldgen/rubber.lua
@@ -0,0 +1,100 @@
+-- Code of rubber tree by PilzAdam
+
+local S = technic.worldgen.gettext
+
+minetest.register_node(":moretrees:rubber_tree_sapling", {
+ description = S("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_craft({
+ type = "fuel",
+ recipe = "moretrees:rubber_tree_sapling",
+ burntime = 10
+})
+
+minetest.register_node(":moretrees:rubber_tree_trunk", {
+ description = S("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},
+ sounds = default.node_sound_wood_defaults(),
+})
+
+minetest.register_node(":moretrees:rubber_tree_trunk_empty", {
+ description = S("Rubber Tree"),
+ 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},
+ sounds = default.node_sound_wood_defaults(),
+})
+
+minetest.register_node(":moretrees:rubber_tree_leaves", {
+ drawtype = "allfaces_optional",
+ description = S("Rubber Tree Leaves"),
+ tiles = {"technic_rubber_leaves.png"},
+ paramtype = "light",
+ groups = {snappy=3, leafdecay=3, flammable=2, leaves=1},
+ drop = {
+ max_items = 1,
+ items = {{
+ items = {"moretrees:rubber_tree_sapling"},
+ rarity = 20,
+ },
+ {
+ items = {"moretrees:rubber_tree_leaves"},
+ }
+ }
+ },
+ sounds = default.node_sound_leaves_defaults(),
+})
+
+technic.rubber_tree_model={
+ axiom = "FFFFA",
+ rules_a = "[&FFBFA]////[&BFFFA]////[&FBFFA]",
+ rules_b = "[&FFA]////[&FFA]////[&FFA]",
+ trunk = "moretrees:rubber_tree_trunk",
+ leaves = "moretrees:rubber_tree_leaves",
+ angle = 35,
+ iterations = 3,
+ random_level = 1,
+ trunk_type = "double",
+ thin_branches = true
+}
+
+minetest.register_abm({
+ nodenames = {"moretrees:rubber_tree_sapling"},
+ interval = 60,
+ chance = 20,
+ action = function(pos, node)
+ minetest.remove_node(pos)
+ minetest.spawn_tree(pos, technic.rubber_tree_model)
+ end
+})
+
+if technic.config:get_bool("enable_rubber_tree_generation") then
+ minetest.register_on_generated(function(minp, maxp, blockseed)
+ if math.random(1, 100) > 5 then
+ return
+ end
+ 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.find_node_near(tmp, maxp.x - minp.x,
+ {"default:dirt_with_grass"})
+ if pos ~= nil then
+ minetest.spawn_tree({x=pos.x, y=pos.y+1, z=pos.z}, technic.rubber_tree_model)
+ end
+ end)
+end
+