#14 HV digicables

This commit is contained in:
SX 2020-04-27 07:49:16 +03:00 committed by Buckaroo Banzai
parent 0904fc3a61
commit c3bed5d5c2
4 changed files with 52 additions and 17 deletions

View File

@ -1,3 +1,4 @@
local S = technic.getter
minetest.register_craft({
output = 'technic:hv_cable 3',
@ -10,3 +11,26 @@ minetest.register_craft({
technic.register_cable("HV", 3/16)
minetest.register_craft({
output = 'technic:hv_digi_cable 1',
recipe = {
{'digilines:wire_std_00000000', 'digilines:wire_std_00000000', 'digilines:wire_std_00000000'},
{'digilines:wire_std_00000000', 'technic:hv_cable', 'digilines:wire_std_00000000'},
{'digilines:wire_std_00000000', 'digilines:wire_std_00000000', 'digilines:wire_std_00000000'},
}
})
technic.register_cable("HV", 3/16, S("HV Cable (digiline)"), "_digi", {
digiline = {
wire = {
rules = {
{x = 1, y = 0, z = 0},
{x =-1, y = 0, z = 0},
{x = 0, y = 1, z = 0},
{x = 0, y =-1, z = 0},
{x = 0, y = 0, z = 1},
{x = 0, y = 0, z =-1}
}
}
}
})

View File

@ -130,9 +130,20 @@ local function item_place_override_node(itemstack, placer, pointed, node)
return itemstack
end
function technic.register_cable(tier, size)
local function override_table(target, source)
if target and source then
for k,v in pairs(source) do
target[k] = v
end
end
return target
end
function technic.register_cable(tier, size, description, prefix, override_cable, override_cable_plate)
prefix = prefix or ""
override_cable_plate = override_cable_plate or override_cable
local ltier = string.lower(tier)
cable_tier["technic:"..ltier.."_cable"] = tier
cable_tier["technic:"..ltier..prefix.."_cable"] = tier
local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
["technic_"..ltier.."_cable"] = 1}
@ -148,14 +159,14 @@ function technic.register_cable(tier, size)
connect_right = {-size, -size, -size, 0.5, size, size}, -- x+
}
minetest.register_node("technic:"..ltier.."_cable", {
minetest.register_node("technic:"..ltier..prefix.."_cable", override_table({
description = S("%s Cable"):format(tier),
tiles = {"technic_"..ltier.."_cable.png"},
inventory_image = "technic_"..ltier.."_cable_wield.png",
wield_image = "technic_"..ltier.."_cable_wield.png",
tiles = {"technic_"..ltier..prefix.."_cable.png"},
inventory_image = "technic_"..ltier..prefix.."_cable_wield.png",
wield_image = "technic_"..ltier..prefix.."_cable_wield.png",
groups = groups,
sounds = default.node_sound_wood_defaults(),
drop = "technic:"..ltier.."_cable",
drop = "technic:"..ltier..prefix.."_cable",
paramtype = "light",
sunlight_propagates = true,
drawtype = "nodebox",
@ -164,7 +175,7 @@ function technic.register_cable(tier, size)
"group:technic_"..ltier, "group:technic_all_tiers"},
on_construct = clear_networks,
on_destruct = clear_networks,
})
}, override_cable))
local xyz = {
["-x"] = 1,
@ -192,10 +203,10 @@ function technic.register_cable(tier, size)
for p, i in pairs(xyz) do
local def = {
description = S("%s Cable Plate"):format(tier),
tiles = {"technic_"..ltier.."_cable.png"},
tiles = {"technic_"..ltier..prefix.."_cable.png"},
groups = table.copy(groups),
sounds = default.node_sound_wood_defaults(),
drop = "technic:"..ltier.."_cable_plate_1",
drop = "technic:"..ltier..prefix.."_cable_plate_1",
paramtype = "light",
sunlight_propagates = true,
drawtype = "nodebox",
@ -244,7 +255,7 @@ function technic.register_cable(tier, size)
if num == nil then num = 1 end
return item_place_override_node(
itemstack, placer, pointed_thing,
{name = "technic:"..ltier.."_cable_plate_"..num}
{name = "technic:"..ltier..prefix.."_cable_plate_"..num}
)
end
else
@ -261,15 +272,15 @@ function technic.register_cable(tier, size)
num = num + dir
num = (num >= 1 and num) or num + 6
num = (num <= 6 and num) or num - 6
minetest.swap_node(pos, {name = "technic:"..ltier.."_cable_plate_"..num})
minetest.swap_node(pos, {name = "technic:"..ltier..prefix.."_cable_plate_"..num})
end
minetest.register_node("technic:"..ltier.."_cable_plate_"..i, def)
cable_tier["technic:"..ltier.."_cable_plate_"..i] = tier
minetest.register_node("technic:"..ltier..prefix.."_cable_plate_"..i, override_table(def, override_cable_plate))
cable_tier["technic:"..ltier..prefix.."_cable_plate_"..i] = tier
end
local c = "technic:"..ltier.."_cable"
local c = "technic:"..ltier..prefix.."_cable"
minetest.register_craft({
output = "technic:"..ltier.."_cable_plate_1 5",
output = "technic:"..ltier..prefix.."_cable_plate_1 5",
recipe = {
{"", "", c},
{c , c , c},
@ -280,7 +291,7 @@ function technic.register_cable(tier, size)
minetest.register_craft({
output = c,
recipe = {
{"technic:"..ltier.."_cable_plate_1"},
{"technic:"..ltier..prefix.."_cable_plate_1"},
}
})
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB