Insulated double corner (#524)

* Add insulated double corner
* Make single corner curved to match double corner
* Remove obsolete regular corner textures
这个提交包含在:
Vitaliy 2020-08-24 00:30:57 +03:00 提交者 GitHub
父节点 4750925eab
当前提交 9fda51b650
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 7 个文件被更改,包括 405 次插入21 次删除

查看文件

@ -1,12 +1,5 @@
local screwdriver_exists = minetest.global_exists("screwdriver")
local corner_nodebox = {
type = "fixed",
-- ±0.001 is to prevent z-fighting
fixed = {{ -16/32-0.001, -17/32, -3/32, 0, -13/32, 3/32 },
{ -3/32, -17/32, -16/32+0.001, 3/32, -13/32, 3/32}}
}
local corner_selectionbox = {
type = "fixed",
fixed = { -16/32, -16/32, -16/32, 5/32, -12/32, 5/32 },
@ -25,14 +18,11 @@ local corner_get_rules = function (node)
end
minetest.register_node("mesecons_extrawires:corner_on", {
drawtype = "nodebox",
drawtype = "mesh",
mesh = "mesecons_extrawires_corner.obj",
tiles = {
"jeija_insulated_wire_curved_tb_on.png",
"jeija_insulated_wire_curved_tb_on.png^[transformR270",
"jeija_insulated_wire_sides_on.png",
"jeija_insulated_wire_ends_on.png",
"jeija_insulated_wire_sides_on.png",
"jeija_insulated_wire_ends_on.png"
{ name = "jeija_insulated_wire_sides_on.png", backface_culling = true },
{ name = "jeija_insulated_wire_ends_on.png", backface_culling = true },
},
paramtype = "light",
paramtype2 = "facedir",
@ -55,15 +45,12 @@ minetest.register_node("mesecons_extrawires:corner_on", {
})
minetest.register_node("mesecons_extrawires:corner_off", {
drawtype = "nodebox",
drawtype = "mesh",
description = "Insulated Mesecon Corner",
mesh = "mesecons_extrawires_corner.obj",
tiles = {
"jeija_insulated_wire_curved_tb_off.png",
"jeija_insulated_wire_curved_tb_off.png^[transformR270",
"jeija_insulated_wire_sides_off.png",
"jeija_insulated_wire_ends_off.png",
"jeija_insulated_wire_sides_off.png",
"jeija_insulated_wire_ends_off.png"
{ name = "jeija_insulated_wire_sides_off.png", backface_culling = true },
{ name = "jeija_insulated_wire_ends_off.png", backface_culling = true },
},
paramtype = "light",
paramtype2 = "facedir",

查看文件

@ -0,0 +1,91 @@
local rotate
if minetest.global_exists("screwdriver") then rotate = screwdriver.rotate_simple end
local doublecorner_selectionbox = {
type = "fixed",
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 },
}
local rules = {
{
{ x = 1, y = 0, z = 0 },
{ x = 0, y = 0, z = 1 },
},
{
{ x = -1, y = 0, z = 0 },
{ x = 0, y = 0, z = -1 },
},
}
local doublecorner_rules = {}
for k = 1, 4 do
doublecorner_rules[k] = table.copy(rules)
for i, r in ipairs(rules) do
rules[i] = mesecon.rotate_rules_left(r)
end
end
local function doublecorner_get_rules(node)
return doublecorner_rules[node.param2 % 4 + 1]
end
local doublecorner_states = {
"mesecons_extrawires:doublecorner_00",
"mesecons_extrawires:doublecorner_01",
"mesecons_extrawires:doublecorner_10",
"mesecons_extrawires:doublecorner_11",
}
local wire1_states = { "off", "off", "on", "on" }
local wire2_states = { "off", "on", "off", "on" }
for k, state in ipairs(doublecorner_states) do
local w1 = wire1_states[k]
local w2 = wire2_states[k]
local groups = { dig_immediate = 3 }
if k ~= 1 then groups.not_in_creative_inventory = 1 end
minetest.register_node(state, {
drawtype = "mesh",
mesh = "mesecons_extrawires_doublecorner.obj",
description = "Insulated Mesecon Double Corner",
tiles = {
{ name = "jeija_insulated_wire_sides_" .. w1 .. ".png", backface_culling = true },
{ name = "jeija_insulated_wire_ends_" .. w1 .. ".png", backface_culling = true },
{ name = "jeija_insulated_wire_sides_" .. w2 .. ".png", backface_culling = true },
{ name = "jeija_insulated_wire_ends_" .. w2 .. ".png", backface_culling = true },
},
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = false,
walkable = false,
sunlight_propagates = true,
selection_box = doublecorner_selectionbox,
groups = groups,
drop = doublecorner_states[1],
sounds = default.node_sound_defaults(),
mesecons = {
conductor = {
states = doublecorner_states,
rules = doublecorner_get_rules,
},
},
on_blast = mesecon.on_blastnode,
on_rotate = rotate,
})
end
minetest.register_craft({
type = "shapeless",
output = "mesecons_extrawires:doublecorner_00",
recipe = {
"mesecons_extrawires:corner_off",
"mesecons_extrawires:corner_off",
},
})
minetest.register_craft({
type = "shapeless",
output = "mesecons_extrawires:corner_off 2",
recipe = {
"mesecons_extrawires:doublecorner_00",
},
})

查看文件

@ -1,5 +1,6 @@
dofile(minetest.get_modpath("mesecons_extrawires").."/crossover.lua");
dofile(minetest.get_modpath("mesecons_extrawires").."/tjunction.lua");
dofile(minetest.get_modpath("mesecons_extrawires").."/corner.lua");
dofile(minetest.get_modpath("mesecons_extrawires").."/doublecorner.lua");
dofile(minetest.get_modpath("mesecons_extrawires").."/vertical.lua");
dofile(minetest.get_modpath("mesecons_extrawires").."/mesewire.lua");

查看文件

@ -0,0 +1,125 @@
# Вершины
# Провод 1
# 1 (ниж. внутр.)
v 0.093750 -0.531250 -0.501000
v 0.093750 -0.531250 -0.331726
v 0.331726 -0.531250 -0.093750
v 0.501000 -0.531250 -0.093750
# 5 (ниж. наруж.)
v -0.093750 -0.531250 -0.501000
v -0.093750 -0.531250 -0.254061
v 0.254061 -0.531250 0.093750
v 0.501000 -0.531250 0.093750
# 9 (верх. внутр.)
v 0.093750 -0.406250 -0.501000
v 0.093750 -0.406250 -0.331726
v 0.331726 -0.406250 -0.093750
v 0.501000 -0.406250 -0.093750
# 13 (верх. наруж.)
v -0.093750 -0.406250 -0.501000
v -0.093750 -0.406250 -0.254061
v 0.254061 -0.406250 0.093750
v 0.501000 -0.406250 0.093750
# Текстурные координаты
# 1 (ниж.)
vt 0.000000 0.406250
vt 0.168274 0.406250
vt 0.331726 0.406250
vt 0.668274 0.406250
vt 0.831726 0.406250
vt 1.000000 0.406250
vt 0.000000 0.593750
vt 0.245939 0.593750
vt 0.254061 0.593750
vt 0.745939 0.593750
vt 0.754061 0.593750
vt 1.000000 0.593750
# 13 (верх.)
vt 0.000000 0.406250
vt 0.245939 0.406250
vt 0.254061 0.406250
vt 0.745939 0.406250
vt 0.754061 0.406250
vt 1.000000 0.406250
vt 0.000000 0.593750
vt 0.168274 0.593750
vt 0.331726 0.593750
vt 0.668274 0.593750
vt 0.831726 0.593750
vt 1.000000 0.593750
# 25 (внутр.)
vt 1.000000 0.093750
vt 0.831726 0.093750
vt 0.668274 0.093750
vt 0.331726 0.093750
vt 0.168274 0.093750
vt 0.000000 0.093750
vt 1.000000 -0.031250
vt 0.831726 -0.031250
vt 0.668274 -0.031250
vt 0.331726 -0.031250
vt 0.168274 -0.031250
vt 0.000000 -0.031250
# 37 (внеш.)
vt 0.000000 -0.031250
vt 0.245939 -0.031250
vt 0.254061 -0.031250
vt 0.745939 -0.031250
vt 0.754061 -0.031250
vt 1.000000 -0.031250
vt 0.000000 0.093750
vt 0.245939 0.093750
vt 0.254061 0.093750
vt 0.745939 0.093750
vt 0.754061 0.093750
vt 1.000000 0.093750
# 49 (торец)
vt 0.406250 -0.031250
vt 0.406250 0.093750
vt 0.593750 -0.031250
vt 0.593750 0.093750
# Нормали
# 1
vn 1.000000 0.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.707107 0.000000 0.707107
# 5
vn -1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn -0.707107 0.000000 -0.707107
# Грани
g Sides1
# Часть 1
f 5/37/1 6/38/1 14/44/1
f 5/37/1 14/44/1 13/43/1
f 13/13/2 14/14/2 10/20/2
f 13/13/2 10/20/2 9/19/2
f 9/25/5 10/26/5 2/32/5
f 9/25/5 2/32/5 1/31/5
f 1/1/6 2/2/6 6/8/6
f 1/1/6 6/8/6 5/7/6
# Часть 2
f 6/39/4 7/40/4 15/46/4
f 6/39/4 15/46/4 14/45/4
f 14/15/2 15/16/2 11/22/2
f 14/15/2 11/22/2 10/21/2
f 10/27/8 11/28/8 3/34/8
f 10/27/8 3/34/8 2/33/8
f 2/3/6 3/4/6 7/10/6
f 2/3/6 7/10/6 6/9/6
# Часть 3
f 7/41/3 8/42/3 16/48/3
f 7/41/3 16/48/3 15/47/3
f 15/17/2 16/18/2 12/24/2
f 15/17/2 12/24/2 11/23/2
f 11/29/7 12/30/7 4/36/7
f 11/29/7 4/36/7 3/35/7
f 3/5/6 4/6/6 8/12/6
f 3/5/6 8/12/6 7/11/6
g Ends1
f 1/49/3 5/51/3 13/52/3
f 1/49/3 13/52/3 9/50/3
f 4/49/1 12/50/1 16/52/1
f 4/49/1 16/52/1 8/51/1

查看文件

@ -0,0 +1,180 @@
# Вершины
# Провод 1
# 1 (ниж. внутр.)
v 0.093750 -0.531250 -0.501000
v 0.093750 -0.531250 -0.331726
v 0.331726 -0.531250 -0.093750
v 0.501000 -0.531250 -0.093750
# 5 (ниж. наруж.)
v -0.093750 -0.531250 -0.501000
v -0.093750 -0.531250 -0.254061
v 0.254061 -0.531250 0.093750
v 0.501000 -0.531250 0.093750
# 9 (верх. внутр.)
v 0.093750 -0.406250 -0.501000
v 0.093750 -0.406250 -0.331726
v 0.331726 -0.406250 -0.093750
v 0.501000 -0.406250 -0.093750
# 13 (верх. наруж.)
v -0.093750 -0.406250 -0.501000
v -0.093750 -0.406250 -0.254061
v 0.254061 -0.406250 0.093750
v 0.501000 -0.406250 0.093750
# Провод 2
# 17 (ниж. внутр.)
v -0.093750 -0.531250 0.501000
v -0.093750 -0.531250 0.331726
v -0.331726 -0.531250 0.093750
v -0.501000 -0.531250 0.093750
# 21 (ниж. наруж.)
v 0.093750 -0.531250 0.501000
v 0.093750 -0.531250 0.254061
v -0.254061 -0.531250 -0.093750
v -0.501000 -0.531250 -0.093750
# 25 (верх. внутр.)
v -0.093750 -0.406250 0.501000
v -0.093750 -0.406250 0.331726
v -0.331726 -0.406250 0.093750
v -0.501000 -0.406250 0.093750
# 29 (верх. наруж.)
v 0.093750 -0.406250 0.501000
v 0.093750 -0.406250 0.254061
v -0.254061 -0.406250 -0.093750
v -0.501000 -0.406250 -0.093750
# Текстурные координаты
# 1 (ниж.)
vt 0.000000 0.406250
vt 0.168274 0.406250
vt 0.331726 0.406250
vt 0.668274 0.406250
vt 0.831726 0.406250
vt 1.000000 0.406250
vt 0.000000 0.593750
vt 0.245939 0.593750
vt 0.254061 0.593750
vt 0.745939 0.593750
vt 0.754061 0.593750
vt 1.000000 0.593750
# 13 (верх.)
vt 0.000000 0.406250
vt 0.245939 0.406250
vt 0.254061 0.406250
vt 0.745939 0.406250
vt 0.754061 0.406250
vt 1.000000 0.406250
vt 0.000000 0.593750
vt 0.168274 0.593750
vt 0.331726 0.593750
vt 0.668274 0.593750
vt 0.831726 0.593750
vt 1.000000 0.593750
# 25 (внутр.)
vt 1.000000 0.093750
vt 0.831726 0.093750
vt 0.668274 0.093750
vt 0.331726 0.093750
vt 0.168274 0.093750
vt 0.000000 0.093750
vt 1.000000 -0.031250
vt 0.831726 -0.031250
vt 0.668274 -0.031250
vt 0.331726 -0.031250
vt 0.168274 -0.031250
vt 0.000000 -0.031250
# 37 (внеш.)
vt 0.000000 -0.031250
vt 0.245939 -0.031250
vt 0.254061 -0.031250
vt 0.745939 -0.031250
vt 0.754061 -0.031250
vt 1.000000 -0.031250
vt 0.000000 0.093750
vt 0.245939 0.093750
vt 0.254061 0.093750
vt 0.745939 0.093750
vt 0.754061 0.093750
vt 1.000000 0.093750
# 49 (торец)
vt 0.406250 -0.031250
vt 0.406250 0.093750
vt 0.593750 -0.031250
vt 0.593750 0.093750
# Нормали
# 1
vn 1.000000 0.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.707107 0.000000 0.707107
# 5
vn -1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn -0.707107 0.000000 -0.707107
# Грани
# Грани
g Sides1
# Часть 1
f 5/37/1 6/38/1 14/44/1
f 5/37/1 14/44/1 13/43/1
f 13/13/2 14/14/2 10/20/2
f 13/13/2 10/20/2 9/19/2
f 9/25/5 10/26/5 2/32/5
f 9/25/5 2/32/5 1/31/5
f 1/1/6 2/2/6 6/8/6
f 1/1/6 6/8/6 5/7/6
# Часть 2
f 6/39/4 7/40/4 15/46/4
f 6/39/4 15/46/4 14/45/4
f 14/15/2 15/16/2 11/22/2
f 14/15/2 11/22/2 10/21/2
f 10/27/8 11/28/8 3/34/8
f 10/27/8 3/34/8 2/33/8
f 2/3/6 3/4/6 7/10/6
f 2/3/6 7/10/6 6/9/6
# Часть 3
f 7/41/3 8/42/3 16/48/3
f 7/41/3 16/48/3 15/47/3
f 15/17/2 16/18/2 12/24/2
f 15/17/2 12/24/2 11/23/2
f 11/29/7 12/30/7 4/36/7
f 11/29/7 4/36/7 3/35/7
f 3/5/6 4/6/6 8/12/6
f 3/5/6 8/12/6 7/11/6
g Ends1
f 1/49/3 5/51/3 13/52/3
f 1/49/3 13/52/3 9/50/3
f 4/49/1 12/50/1 16/52/1
f 4/49/1 16/52/1 8/51/1
g Sides2
# Часть 1
f 21/37/1 22/38/1 30/44/1
f 21/37/1 30/44/1 29/43/1
f 29/13/2 30/14/2 26/20/2
f 29/13/2 26/20/2 25/19/2
f 25/25/5 26/26/5 18/32/5
f 25/25/5 18/32/5 17/31/5
f 17/1/6 18/2/6 22/8/6
f 17/1/6 22/8/6 21/7/6
# Часть 2
f 22/39/4 23/40/4 31/46/4
f 22/39/4 31/46/4 30/45/4
f 30/15/2 31/16/2 27/22/2
f 30/15/2 27/22/2 26/21/2
f 26/27/8 27/28/8 19/34/8
f 26/27/8 19/34/8 18/33/8
f 18/3/6 19/4/6 23/10/6
f 18/3/6 23/10/6 22/9/6
# Часть 3
f 23/41/3 24/42/3 32/48/3
f 23/41/3 32/48/3 31/47/3
f 31/17/2 32/18/2 28/24/2
f 31/17/2 28/24/2 27/23/2
f 27/29/7 28/30/7 20/36/7
f 27/29/7 20/36/7 19/35/7
f 19/5/6 20/6/6 24/12/6
f 19/5/6 24/12/6 23/11/6
g Ends2
f 17/49/3 21/51/3 29/52/3
f 17/49/3 29/52/3 25/50/3
f 20/49/1 28/50/1 32/52/1
f 20/49/1 32/52/1 24/51/1

二进制文件未显示。

之前

宽度:  |  高度:  |  大小: 136 B

二进制文件未显示。

之前

宽度:  |  高度:  |  大小: 136 B