InsaneProtestor/mods/ip_terumet/material/rebar.lua

83 lines
2.7 KiB
Lua
Raw Normal View History

2022-11-21 22:12:22 +01:00
local rebar_id = terumet.id('item_rebar')
minetest.register_craftitem( rebar_id, {
description = 'Teruchalcum Rebar',
inventory_image = terumet.tex('item_rebar'),
})
minetest.register_craft{ output=rebar_id..' 5', recipe=terumet.recipe_plus('terumet:ingot_tcha') }
local desc = {'Reinforced %s', 'Double-reinforced %s', 'Triple-reinforced %s'}
local blchance = {40, 20, 3}
local function reinf_block_id(code, rlv)
return minetest.get_current_modname()..':reinf_block_'..code..rlv
end
function terumet.register_reinforced_block(base, code)
local base_def = minetest.registered_nodes[base]
if not base_def then error('base '..base..' is not defined') end
for rlv = 1,3 do
local def = {}
for k,v in pairs(base_def) do
if k == 'groups' then
def.groups = {}
for gk,gv in pairs(v) do
if not terumet.options.misc.BLOCK_REMOVE_GROUPS[gk] then
def.groups[gk]=gv
end
end
else
def[k] = v
end
end
if not base_def.groups then
def.groups = {level=(rlv+1)}
else
def.groups.level = (base_def.groups.level or 1) + rlv
end
local id = reinf_block_id(code, rlv)
def.description = string.format(desc[rlv], base_def.description)
local visibility = terumet.options.cosmetic.REINFORCING_VISIBLE
if visibility then
local tileov = terumet.tex('blockov_rebar'..rlv)
if visibility == 1 then
def.overlay_tiles = {tileov, tileov, '', '', '', ''}
else
def.overlay_tiles = {tileov}
end
end
def.on_blast = terumet.blast_chance(blchance[rlv], id)
minetest.register_node(id, def)
local recbase
if rlv == 1 then
recbase = base
minetest.register_craft{ output=id..' 4', recipe = {
{rebar_id, recbase, rebar_id},
{recbase, '', recbase},
{rebar_id, recbase, rebar_id}
}}
elseif rlv == 2 then
recbase = reinf_block_id(code, 1)
minetest.register_craft{ output=id..' 4', recipe = {
{rebar_id, recbase, rebar_id},
{recbase, '', recbase},
{rebar_id, recbase, rebar_id}
}}
else
recbase = reinf_block_id(code, 2)
minetest.register_craft{ output=id..' 4', recipe = {
{rebar_id, recbase, rebar_id},
{recbase, '', recbase},
{rebar_id, recbase, rebar_id}
}}
end
end
end