mirror of
https://github.com/minetest-mods/technic.git
synced 2025-06-28 06:20:30 +02:00
Partial rewrite
This commit is contained in:
@ -1,109 +1,68 @@
|
||||
minetest.register_craftitem( ":technic:uranium", {
|
||||
minetest.register_craftitem(":technic:uranium", {
|
||||
description = "Uranium",
|
||||
inventory_image = "technic_uranium.png",
|
||||
on_place_on_ground = minetest.craftitem_place_item,
|
||||
})
|
||||
|
||||
minetest.register_craftitem( ":technic:chromium_lump", {
|
||||
minetest.register_craftitem(":technic:chromium_lump", {
|
||||
description = "Chromium Lump",
|
||||
inventory_image = "technic_chromium_lump.png",
|
||||
on_place_on_ground = minetest.craftitem_place_item,
|
||||
})
|
||||
|
||||
minetest.register_craftitem( ":technic:chromium_ingot", {
|
||||
minetest.register_craftitem(":technic:chromium_ingot", {
|
||||
description = "Chromium Ingot",
|
||||
inventory_image = "technic_chromium_ingot.png",
|
||||
on_place_on_ground = minetest.craftitem_place_item,
|
||||
})
|
||||
|
||||
minetest.register_craftitem( ":technic:zinc_lump", {
|
||||
minetest.register_craftitem(":technic:zinc_lump", {
|
||||
description = "Zinc Lump",
|
||||
inventory_image = "technic_zinc_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem( ":technic:zinc_ingot", {
|
||||
minetest.register_craftitem(":technic:zinc_ingot", {
|
||||
description = "Zinc Ingot",
|
||||
inventory_image = "technic_zinc_ingot.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem( ":technic:stainless_steel_ingot", {
|
||||
minetest.register_craftitem(":technic:stainless_steel_ingot", {
|
||||
description = "Stainless Steel Ingot",
|
||||
inventory_image = "technic_stainless_steel_ingot.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem( ":group:brass_ingot", {
|
||||
description = "Brass Ingot",
|
||||
inventory_image = "technic_brass_ingot.png",
|
||||
})
|
||||
local function register_block(block, ingot)
|
||||
minetest.register_craft({
|
||||
output = block,
|
||||
recipe = {
|
||||
{ingot, ingot, ingot},
|
||||
{ingot, ingot, ingot},
|
||||
{ingot, ingot, ingot},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "node technic:uranium_block",
|
||||
recipe = {{"technic:uranium", "technic:uranium", "technic:uranium"},
|
||||
{"technic:uranium", "technic:uranium", "technic:uranium"},
|
||||
{"technic:uranium", "technic:uranium", "technic:uranium"}}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = ingot.." 9",
|
||||
recipe = {
|
||||
{block}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "craft technic:uranium 9",
|
||||
recipe = {{"technic:uranium_block"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "node technic:chromium_block",
|
||||
recipe = {{"technic:chromium_ingot", "technic:chromium_ingot", "technic:chromium_ingot"},
|
||||
{"technic:chromium_ingot", "technic:chromium_ingot", "technic:chromium_ingot"},
|
||||
{"technic:chromium_ingot", "technic:chromium_ingot", "technic:chromium_ingot"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "craft technic:chromium_ingot 9",
|
||||
recipe = {{"technic:chromium_block"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "node technic:zinc_block",
|
||||
recipe = {{"technic:zinc_ingot", "technic:zinc_ingot", "technic:zinc_ingot"},
|
||||
{"technic:zinc_ingot", "technic:zinc_ingot", "technic:zinc_ingot"},
|
||||
{"technic:zinc_ingot", "technic:zinc_ingot", "technic:zinc_ingot"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "craft technic:zinc_ingot 9",
|
||||
recipe = {{"technic:zinc_block"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "node technic:stainless_steel_block",
|
||||
recipe = {{"technic:stainless_steel_ingot", "technic:stainless_steel_ingot", "technic:stainless_steel_ingot"},
|
||||
{"technic:stainless_steel_ingot", "technic:stainless_steel_ingot", "technic:stainless_steel_ingot"},
|
||||
{"technic:stainless_steel_ingot", "technic:stainless_steel_ingot", "technic:stainless_steel_ingot"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "craft technic:stainless_steel_ingot 9",
|
||||
recipe = {{"technic:stainless_steel_block"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "node group:brass_block",
|
||||
recipe = {{"group:brass_ingot", "group:brass_ingot", "group:brass_ingot"},
|
||||
{"group:brass_ingot", "group:brass_ingot", "group:brass_ingot"},
|
||||
{"group:brass_ingot", "group:brass_ingot", "group:brass_ingot"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "craft group:brass_ingot 9",
|
||||
recipe = {{"group:brass_block"}}
|
||||
})
|
||||
register_block("technic:uranium_block", "technic:uranium")
|
||||
register_block("technic:chromium_block", "technic:chromium_ingot")
|
||||
register_block("technic:zinc_block", "technic:zinc_ingot")
|
||||
register_block("technic:stainless_steel_block", "technic:stainless_steel_ingot")
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
recipe = "technic:zinc_lump",
|
||||
output = "technic:zinc_ingot",
|
||||
recipe = "technic:zinc_lump"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'cooking',
|
||||
recipe = "technic:chromium_lump",
|
||||
output = "technic:chromium_ingot",
|
||||
recipe = "technic:chromium_lump"
|
||||
})
|
||||
|
||||
|
@ -1,7 +1,11 @@
|
||||
-- Minetest 0.4.6 : technic_worldgen
|
||||
|
||||
modpath=minetest.get_modpath("technic_worldgen")
|
||||
local modpath = minetest.get_modpath("technic_worldgen")
|
||||
|
||||
dofile(modpath.."/nodes.lua")
|
||||
dofile(modpath.."/oregen.lua")
|
||||
dofile(modpath.."/crafts.lua")
|
||||
|
||||
-- Rubber trees, moretrees also supplies these
|
||||
if not minetest.get_modpath("moretrees") then
|
||||
dofile(modpath.."/rubber.lua")
|
||||
end
|
||||
|
||||
|
@ -8,6 +8,7 @@ minetest.register_ore({
|
||||
height_min = -300,
|
||||
height_max = -80,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "technic:mineral_chromium",
|
||||
@ -18,6 +19,7 @@ minetest.register_ore({
|
||||
height_min = -31000,
|
||||
height_max = -100,
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "technic:mineral_zinc",
|
||||
@ -28,7 +30,8 @@ minetest.register_ore({
|
||||
height_min = -31000,
|
||||
height_max = 2,
|
||||
})
|
||||
if technic.config:getBool("enable_marble_generation") then
|
||||
|
||||
if technic.config:get_bool("enable_marble_generation") then
|
||||
minetest.register_ore({
|
||||
ore_type = "sheet",
|
||||
ore = "technic:marble",
|
||||
@ -42,7 +45,8 @@ minetest.register_ore({
|
||||
noise_params = {offset=0, scale=15, spread={x=150, y=150, z=150}, seed=23, octaves=3, persist=0.70}
|
||||
})
|
||||
end
|
||||
if technic.config:getBool("enable_granite_generation") then
|
||||
|
||||
if technic.config:get_bool("enable_granite_generation") then
|
||||
minetest.register_ore({
|
||||
ore_type = "sheet",
|
||||
ore = "technic:granite",
|
||||
|
104
technic_worldgen/rubber.lua
Normal file
104
technic_worldgen/rubber.lua
Normal file
@ -0,0 +1,104 @@
|
||||
-- Code of rubber tree by PilzAdam
|
||||
|
||||
minetest.register_node(":moretrees:rubber_tree_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_craft({
|
||||
type = "fuel",
|
||||
recipe = "moretrees:rubber_tree_sapling",
|
||||
burntime = 10
|
||||
})
|
||||
|
||||
minetest.register_node(":moretrees:rubber_tree_trunk", {
|
||||
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(),
|
||||
})
|
||||
|
||||
minetest.register_node(":moretrees:rubber_tree_trunk_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 = {"moretrees:rubber_tree_trunk_empty"},
|
||||
interval = 60,
|
||||
chance = 15,
|
||||
action = function(pos, node)
|
||||
minetest.set_node(pos, {name="moretrees:rubber_tree_trunk"})
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node(":moretrees:rubber_tree_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 = {"moretrees:rubber_tree_sapling"},
|
||||
rarity = 20,
|
||||
}}
|
||||
},
|
||||
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
|
||||
|
Reference in New Issue
Block a user