mirror of
https://github.com/mt-mods/signs_lib.git
synced 2025-06-28 13:56:06 +02:00
Compare commits
8 Commits
2019-09-19
...
2019-09-22
Author | SHA1 | Date | |
---|---|---|---|
ae6e707ebe | |||
dcdee22265 | |||
e4336e320c | |||
d41e2ffd73 | |||
77987d12b9 | |||
dfece5275e | |||
6285d250d7 | |||
9502812088 |
319
api.lua
319
api.lua
@ -6,7 +6,6 @@ signs_lib.lbm_restore_nodes = {}
|
|||||||
signs_lib.old_fenceposts = {}
|
signs_lib.old_fenceposts = {}
|
||||||
signs_lib.old_fenceposts_replacement_signs = {}
|
signs_lib.old_fenceposts_replacement_signs = {}
|
||||||
signs_lib.old_fenceposts_with_signs = {}
|
signs_lib.old_fenceposts_with_signs = {}
|
||||||
signs_lib.allowed_poles = {}
|
|
||||||
|
|
||||||
-- Settings used for a standard wood or steel wall sign
|
-- Settings used for a standard wood or steel wall sign
|
||||||
signs_lib.standard_lines = 6
|
signs_lib.standard_lines = 6
|
||||||
@ -31,6 +30,11 @@ signs_lib.standard_steel_sign_sounds = table.copy(minetest.registered_items["def
|
|||||||
|
|
||||||
signs_lib.default_text_scale = {x=10, y=10}
|
signs_lib.default_text_scale = {x=10, y=10}
|
||||||
|
|
||||||
|
signs_lib.old_widefont_signs = {}
|
||||||
|
|
||||||
|
signs_lib.block_list = {}
|
||||||
|
signs_lib.totalblocks = 0
|
||||||
|
|
||||||
signs_lib.standard_yaw = {
|
signs_lib.standard_yaw = {
|
||||||
0,
|
0,
|
||||||
math.pi / -2,
|
math.pi / -2,
|
||||||
@ -63,6 +67,20 @@ signs_lib.wall_fdir_to_back = {
|
|||||||
{ 1, 0 },
|
{ 1, 0 },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
signs_lib.fdir_flip_to_back = {
|
||||||
|
[0] = { 0, 2 },
|
||||||
|
[1] = { 2, 0 },
|
||||||
|
[2] = { 0, -2 },
|
||||||
|
[3] = { -2, 0 }
|
||||||
|
}
|
||||||
|
|
||||||
|
signs_lib.wall_fdir_flip_to_back = {
|
||||||
|
[2] = { 2, 0 },
|
||||||
|
[3] = { -2, 0 },
|
||||||
|
[4] = { 0, 2 },
|
||||||
|
[5] = { 0, -2 },
|
||||||
|
}
|
||||||
|
|
||||||
signs_lib.fdir_to_back_left = {
|
signs_lib.fdir_to_back_left = {
|
||||||
[0] = { -1, 1 },
|
[0] = { -1, 1 },
|
||||||
[1] = { 1, 1 },
|
[1] = { 1, 1 },
|
||||||
@ -114,6 +132,25 @@ signs_lib.rotate_facedir_simple = {
|
|||||||
[5] = 0
|
[5] = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
signs_lib.flip_facedir = {
|
||||||
|
[0] = 2,
|
||||||
|
[1] = 3,
|
||||||
|
[2] = 0,
|
||||||
|
[3] = 1,
|
||||||
|
[4] = 6,
|
||||||
|
[5] = 4,
|
||||||
|
[6] = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
signs_lib.flip_walldir = {
|
||||||
|
[0] = 1,
|
||||||
|
[1] = 0,
|
||||||
|
[2] = 3,
|
||||||
|
[3] = 2,
|
||||||
|
[4] = 5,
|
||||||
|
[5] = 4
|
||||||
|
}
|
||||||
|
|
||||||
-- Initialize character texture cache
|
-- Initialize character texture cache
|
||||||
local ctexcache = {}
|
local ctexcache = {}
|
||||||
|
|
||||||
@ -205,30 +242,44 @@ function signs_lib.handle_rotation(pos, node, user, mode)
|
|||||||
local def = minetest.registered_items[node.name]
|
local def = minetest.registered_items[node.name]
|
||||||
|
|
||||||
if string.match(node.name, "_onpole") then
|
if string.match(node.name, "_onpole") then
|
||||||
local newparam2 = signs_lib.rotate_walldir_simple[node.param2] or 4
|
if not string.match(node.name, "_horiz") then
|
||||||
local t = signs_lib.wall_fdir_to_back_left
|
newparam2 = signs_lib.rotate_walldir_simple[node.param2] or 4
|
||||||
|
local t = signs_lib.wall_fdir_to_back_left
|
||||||
|
|
||||||
if def.paramtype2 ~= "wallmounted" then
|
if def.paramtype2 ~= "wallmounted" then
|
||||||
newparam2 = signs_lib.rotate_facedir_simple[node.param2] or 0
|
newparam2 = signs_lib.rotate_facedir_simple[node.param2] or 0
|
||||||
t = signs_lib.fdir_to_back_left
|
t = signs_lib.fdir_to_back_left
|
||||||
|
end
|
||||||
|
|
||||||
|
tpos = {
|
||||||
|
x = pos.x + t[node.param2][1],
|
||||||
|
y = pos.y,
|
||||||
|
z = pos.z + t[node.param2][2]
|
||||||
|
}
|
||||||
|
else
|
||||||
|
-- flip the sign to the other side of the horizontal pole
|
||||||
|
newparam2 = signs_lib.flip_walldir[node.param2] or 4
|
||||||
|
local t = signs_lib.wall_fdir_flip_to_back
|
||||||
|
|
||||||
|
if def.paramtype2 ~= "wallmounted" then
|
||||||
|
newparam2 = signs_lib.flip_facedir[node.param2] or 0
|
||||||
|
t = signs_lib.fdir_flip_to_back
|
||||||
|
end
|
||||||
|
|
||||||
|
tpos = {
|
||||||
|
x = pos.x + t[node.param2][1],
|
||||||
|
y = pos.y,
|
||||||
|
z = pos.z + t[node.param2][2]
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
tpos = {
|
|
||||||
x = pos.x + t[node.param2][1],
|
|
||||||
y = pos.y,
|
|
||||||
z = pos.z + t[node.param2][2]
|
|
||||||
}
|
|
||||||
|
|
||||||
local node2 = minetest.get_node(tpos)
|
local node2 = minetest.get_node(tpos)
|
||||||
local def2 = minetest.registered_items[node2.name]
|
local def2 = minetest.registered_items[node2.name]
|
||||||
if not def2 or not def2.buildable_to then return true end -- undefined, or not buildable_to.
|
if not def2 or not def2.buildable_to then return true end -- undefined, or not buildable_to.
|
||||||
|
|
||||||
|
|
||||||
minetest.set_node(tpos, {name = node.name, param2 = newparam2})
|
minetest.set_node(tpos, {name = node.name, param2 = newparam2})
|
||||||
minetest.get_meta(tpos):from_table(minetest.get_meta(pos):to_table())
|
minetest.get_meta(tpos):from_table(minetest.get_meta(pos):to_table())
|
||||||
minetest.remove_node(pos)
|
minetest.remove_node(pos)
|
||||||
signs_lib.delete_objects(pos)
|
signs_lib.delete_objects(pos)
|
||||||
|
|
||||||
elseif string.match(node.name, "_hanging") or string.match(node.name, "yard") then
|
elseif string.match(node.name, "_hanging") or string.match(node.name, "yard") then
|
||||||
minetest.swap_node(tpos, { name = node.name, param2 = signs_lib.rotate_facedir_simple[node.param2] or 0 })
|
minetest.swap_node(tpos, { name = node.name, param2 = signs_lib.rotate_facedir_simple[node.param2] or 0 })
|
||||||
elseif minetest.registered_items[node.name].paramtype2 == "wallmounted" then
|
elseif minetest.registered_items[node.name].paramtype2 == "wallmounted" then
|
||||||
@ -495,6 +546,8 @@ end
|
|||||||
|
|
||||||
local function make_sign_texture(lines, pos)
|
local function make_sign_texture(lines, pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
|
||||||
local def = minetest.registered_items[node.name]
|
local def = minetest.registered_items[node.name]
|
||||||
if not def or not def.entity_info then return end
|
if not def or not def.entity_info then return end
|
||||||
|
|
||||||
@ -503,16 +556,21 @@ local function make_sign_texture(lines, pos)
|
|||||||
local line_height
|
local line_height
|
||||||
local char_width
|
local char_width
|
||||||
local colorbgw
|
local colorbgw
|
||||||
|
local widemult = 1
|
||||||
|
|
||||||
|
if meta:get_int("widefont") == 1 then
|
||||||
|
widemult = 0.5
|
||||||
|
end
|
||||||
|
|
||||||
if def.font_size and def.font_size == 31 then
|
if def.font_size and def.font_size == 31 then
|
||||||
font_size = 31
|
font_size = 31
|
||||||
line_width = math.floor(signs_lib.avgwidth31 * def.chars_per_line) * def.horiz_scaling
|
line_width = math.floor(signs_lib.avgwidth31 * def.chars_per_line) * (def.horiz_scaling * widemult)
|
||||||
line_height = signs_lib.lineheight31
|
line_height = signs_lib.lineheight31
|
||||||
char_width = signs_lib.charwidth31
|
char_width = signs_lib.charwidth31
|
||||||
colorbgw = signs_lib.colorbgw31
|
colorbgw = signs_lib.colorbgw31
|
||||||
else
|
else
|
||||||
font_size = 15
|
font_size = 15
|
||||||
line_width = math.floor(signs_lib.avgwidth15 * def.chars_per_line) * def.horiz_scaling
|
line_width = math.floor(signs_lib.avgwidth15 * def.chars_per_line) * (def.horiz_scaling * widemult)
|
||||||
line_height = signs_lib.lineheight15
|
line_height = signs_lib.lineheight15
|
||||||
char_width = signs_lib.charwidth15
|
char_width = signs_lib.charwidth15
|
||||||
colorbgw = signs_lib.colorbgw15
|
colorbgw = signs_lib.colorbgw15
|
||||||
@ -534,7 +592,7 @@ end
|
|||||||
function signs_lib.split_lines_and_words(text)
|
function signs_lib.split_lines_and_words(text)
|
||||||
if not text then return end
|
if not text then return end
|
||||||
local lines = { }
|
local lines = { }
|
||||||
for _, line in ipairs(text:split("\n")) do
|
for _, line in ipairs(text:split("\n", true)) do
|
||||||
table.insert(lines, line:split(" "))
|
table.insert(lines, line:split(" "))
|
||||||
end
|
end
|
||||||
return lines
|
return lines
|
||||||
@ -548,27 +606,17 @@ function signs_lib.set_obj_text(pos, text)
|
|||||||
signs_lib.spawn_entity(pos, make_sign_texture(split(text_ansi), pos))
|
signs_lib.spawn_entity(pos, make_sign_texture(split(text_ansi), pos))
|
||||||
end
|
end
|
||||||
|
|
||||||
local function make_widefont_nodename(name)
|
|
||||||
if string.find(name, "_widefont") then return name end
|
|
||||||
if string.find(name, "_onpole") then
|
|
||||||
return string.gsub(name, "_onpole", "_widefont_onpole")
|
|
||||||
elseif string.find(name, "_hanging") then
|
|
||||||
return string.gsub(name, "_hanging", "_widefont_hanging")
|
|
||||||
else
|
|
||||||
return name.."_widefont"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function signs_lib.construct_sign(pos)
|
function signs_lib.construct_sign(pos)
|
||||||
local form = "size[6,4]"..
|
local form = "size[6,4]"..
|
||||||
"textarea[0,-0.3;6.5,3;text;;${text}]"..
|
"textarea[0,-0.3;6.5,3;text;;${text}]"..
|
||||||
"background[-0.5,-0.5;7,5;signs_lib_sign_bg.jpg]"
|
"background[-0.5,-0.5;7,5;signs_lib_sign_bg.jpg]"
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local wname = make_widefont_nodename(node.name)
|
local def = minetest.registered_items[node.name]
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
|
||||||
if minetest.registered_items[wname] then
|
if def.allow_widefont then
|
||||||
local state = "off"
|
local state = "off"
|
||||||
if string.find(node.name, "widefont") then state = "on" end
|
if meta:get_int("widefont") == 1 then state = "on" end
|
||||||
form = form.."label[1,3.4;Use wide font]"..
|
form = form.."label[1,3.4;Use wide font]"..
|
||||||
"image_button[1.1,3.7;1,0.6;signs_lib_switch_"..
|
"image_button[1.1,3.7;1,0.6;signs_lib_switch_"..
|
||||||
state..".png;"..
|
state..".png;"..
|
||||||
@ -578,7 +626,6 @@ function signs_lib.construct_sign(pos)
|
|||||||
form = form.."button_exit[2,3.4;2,1;ok;"..S("Write").."]"
|
form = form.."button_exit[2,3.4;2,1;ok;"..S("Write").."]"
|
||||||
end
|
end
|
||||||
|
|
||||||
local meta = minetest.get_meta(pos)
|
|
||||||
meta:set_string("formspec", form)
|
meta:set_string("formspec", form)
|
||||||
local i = meta:get_string("infotext")
|
local i = meta:get_string("infotext")
|
||||||
if i == "" then -- it wasn't even set, so set it.
|
if i == "" then -- it wasn't even set, so set it.
|
||||||
@ -628,21 +675,22 @@ function signs_lib.receive_fields(pos, formname, fields, sender)
|
|||||||
signs_lib.update_sign(pos, fields)
|
signs_lib.update_sign(pos, fields)
|
||||||
elseif fields.on or fields.off then
|
elseif fields.on or fields.off then
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local newname
|
local meta = minetest.get_meta(pos)
|
||||||
|
local change
|
||||||
|
|
||||||
if fields.on and string.find(node.name, "widefont") then
|
if fields.on and meta:get_int("widefont") == 1 then
|
||||||
newname = string.gsub(node.name, "_widefont", "")
|
meta:set_int("widefont", 0)
|
||||||
elseif fields.off and not string.find(node.name, "widefont") then
|
change = true
|
||||||
newname = make_widefont_nodename(node.name)
|
elseif fields.off and meta:get_int("widefont") == 0 then
|
||||||
|
meta:set_int("widefont", 1)
|
||||||
|
change = true
|
||||||
end
|
end
|
||||||
if newname then
|
if change then
|
||||||
minetest.log("action", S("@1 flipped the wide-font switch to \"@2\" at @3",
|
minetest.log("action", S("@1 flipped the wide-font switch to \"@2\" at @3",
|
||||||
(sender:get_player_name() or ""),
|
(sender:get_player_name() or ""),
|
||||||
(fields.on and "off" or "on"),
|
(fields.on and "off" or "on"),
|
||||||
minetest.pos_to_string(pos)
|
minetest.pos_to_string(pos)
|
||||||
))
|
))
|
||||||
|
|
||||||
minetest.swap_node(pos, {name = newname, param2 = node.param2})
|
|
||||||
signs_lib.construct_sign(pos)
|
signs_lib.construct_sign(pos)
|
||||||
signs_lib.update_sign(pos, fields)
|
signs_lib.update_sign(pos, fields)
|
||||||
end
|
end
|
||||||
@ -700,17 +748,32 @@ function signs_lib.check_for_pole(pos, pointed_thing)
|
|||||||
local pnode = minetest.get_node(ppos)
|
local pnode = minetest.get_node(ppos)
|
||||||
local pdef = minetest.registered_items[pnode.name]
|
local pdef = minetest.registered_items[pnode.name]
|
||||||
|
|
||||||
if (signs_lib.allowed_poles[pnode.name]
|
if not pdef then return end
|
||||||
or (pdef and pdef.drawtype == "fencelike")
|
|
||||||
or string.find(pnode.name, "default:fence_")
|
if type(pdef.check_for_pole) == "function" then
|
||||||
or string.find(pnode.name, "_post")
|
local node = minetest.get_node(pos)
|
||||||
or string.find(pnode.name, "fencepost")
|
local def = minetest.registered_items[node.name]
|
||||||
or string.find(pnode.name, "streets:streetlamp_basic_top")
|
return pdef.check_for_pole(pos, node, def, ppos, pnode, pdef)
|
||||||
or (pnode.name == "streets:bigpole" and pnode.param2 < 4)
|
elseif pdef.check_for_pole
|
||||||
or (pnode.name == "streets:bigpole" and pnode.param2 > 19 and pnode.param2 < 24)
|
or pdef.drawtype == "fencelike"
|
||||||
)
|
or string.find(pnode.name, "_post")
|
||||||
and
|
or string.find(pnode.name, "fencepost") then
|
||||||
(pos.x ~= ppos.x or pos.z ~= ppos.z) then
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function signs_lib.check_for_horizontal_pole(pos, pointed_thing)
|
||||||
|
local ppos = minetest.get_pointed_thing_position(pointed_thing)
|
||||||
|
local pnode = minetest.get_node(ppos)
|
||||||
|
local pdef = minetest.registered_items[pnode.name]
|
||||||
|
|
||||||
|
if not pdef then return end
|
||||||
|
|
||||||
|
if type(pdef.check_for_horiz_pole) == "function" then
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
local def = minetest.registered_items[node.name]
|
||||||
|
return pdef.check_for_horiz_pole(pos, node, def, ppos, pnode, pdef)
|
||||||
|
elseif pdef.check_for_horiz_pole then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -738,8 +801,7 @@ function signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, locke
|
|||||||
local ppos = minetest.get_pointed_thing_position(pointed_thing)
|
local ppos = minetest.get_pointed_thing_position(pointed_thing)
|
||||||
local pnode = minetest.get_node(ppos)
|
local pnode = minetest.get_node(ppos)
|
||||||
local pdef = minetest.registered_items[pnode.name]
|
local pdef = minetest.registered_items[pnode.name]
|
||||||
|
if def.allow_onpole and signs_lib.check_for_pole(pos, pointed_thing) then
|
||||||
if (def.allow_onpole ~= false) and signs_lib.check_for_pole(pos, pointed_thing) then
|
|
||||||
local newparam2
|
local newparam2
|
||||||
local lookdir = minetest.yaw_to_dir(placer:get_look_horizontal())
|
local lookdir = minetest.yaw_to_dir(placer:get_look_horizontal())
|
||||||
if def.paramtype2 == "wallmounted" then
|
if def.paramtype2 == "wallmounted" then
|
||||||
@ -749,6 +811,16 @@ function signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, locke
|
|||||||
end
|
end
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
minetest.swap_node(pos, {name = itemstack:get_name().."_onpole", param2 = newparam2})
|
minetest.swap_node(pos, {name = itemstack:get_name().."_onpole", param2 = newparam2})
|
||||||
|
elseif def.allow_onpole_horizontal and signs_lib.check_for_horizontal_pole(pos, pointed_thing) then
|
||||||
|
local newparam2
|
||||||
|
local lookdir = minetest.yaw_to_dir(placer:get_look_horizontal())
|
||||||
|
if def.paramtype2 == "wallmounted" then
|
||||||
|
newparam2 = minetest.dir_to_wallmounted(lookdir)
|
||||||
|
else
|
||||||
|
newparam2 = minetest.dir_to_facedir(lookdir)
|
||||||
|
end
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
minetest.swap_node(pos, {name = itemstack:get_name().."_onpole_horiz", param2 = newparam2})
|
||||||
elseif def.allow_hanging and signs_lib.check_for_ceiling(pointed_thing) then
|
elseif def.allow_hanging and signs_lib.check_for_ceiling(pointed_thing) then
|
||||||
local newparam2 = minetest.dir_to_facedir(placer:get_look_dir())
|
local newparam2 = minetest.dir_to_facedir(placer:get_look_dir())
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
@ -769,7 +841,53 @@ function signs_lib.register_fence_with_sign()
|
|||||||
minetest.log("warning", "[signs_lib] ".."Attempt to call no longer used function signs_lib.register_fence_with_sign()")
|
minetest.log("warning", "[signs_lib] ".."Attempt to call no longer used function signs_lib.register_fence_with_sign()")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function register_sign(name, rdef)
|
--[[
|
||||||
|
The main sign registration function
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Example minimal recommended def for writable signs:
|
||||||
|
|
||||||
|
signs_lib.register_sign("foo:my_cool_sign", {
|
||||||
|
description = "Wooden cool sign",
|
||||||
|
inventory_image = "signs_lib_sign_cool_inv.png",
|
||||||
|
tiles = {
|
||||||
|
"signs_lib_sign_cool.png",
|
||||||
|
"signs_lib_sign_cool_edges.png"
|
||||||
|
},
|
||||||
|
number_of_lines = 2,
|
||||||
|
horiz_scaling = 0.8,
|
||||||
|
vert_scaling = 1,
|
||||||
|
line_spacing = 9,
|
||||||
|
font_size = 31,
|
||||||
|
x_offset = 7,
|
||||||
|
y_offset = 4,
|
||||||
|
chars_per_line = 40,
|
||||||
|
entity_info = "standard"
|
||||||
|
})
|
||||||
|
|
||||||
|
* default def assumes a wallmounted sign with on-pole being allowed.
|
||||||
|
|
||||||
|
*For signs that can support being on a pole, include in the def:
|
||||||
|
allow_onpole = true,
|
||||||
|
(defaults to disabled)
|
||||||
|
|
||||||
|
*For signs that can support being on a horizontal pole, include in the def:
|
||||||
|
allow_onpole_horizontal = true,
|
||||||
|
(defaults to disabled)
|
||||||
|
|
||||||
|
* onpole/onpole_horizontal are independent; one may be allowed without the other
|
||||||
|
|
||||||
|
* "standard" entity info implies the standard wood/steel sign model, in
|
||||||
|
wallmounted mode. For facedir signs using the standard model, use:
|
||||||
|
|
||||||
|
entity_info = {
|
||||||
|
mesh = "signs_lib_standard_wall_sign_entity.obj",
|
||||||
|
yaw = signs_lib.standard_yaw
|
||||||
|
},
|
||||||
|
|
||||||
|
]]--
|
||||||
|
|
||||||
|
function signs_lib.register_sign(name, rdef)
|
||||||
local def = table.copy(rdef)
|
local def = table.copy(rdef)
|
||||||
|
|
||||||
if rdef.entity_info == "standard" then
|
if rdef.entity_info == "standard" then
|
||||||
@ -832,9 +950,9 @@ local function register_sign(name, rdef)
|
|||||||
minetest.register_node(":"..name, def)
|
minetest.register_node(":"..name, def)
|
||||||
table.insert(signs_lib.lbm_restore_nodes, name)
|
table.insert(signs_lib.lbm_restore_nodes, name)
|
||||||
|
|
||||||
if rdef.allow_onpole ~= false then
|
local opdef = table.copy(def)
|
||||||
|
|
||||||
local opdef = table.copy(def)
|
if rdef.allow_onpole or rdef.allow_onpole_horizontal then
|
||||||
|
|
||||||
local offset = 0.3125
|
local offset = 0.3125
|
||||||
if opdef.uses_slim_pole_mount then
|
if opdef.uses_slim_pole_mount then
|
||||||
@ -859,16 +977,32 @@ local function register_sign(name, rdef)
|
|||||||
end
|
end
|
||||||
|
|
||||||
opdef.groups.not_in_creative_inventory = 1
|
opdef.groups.not_in_creative_inventory = 1
|
||||||
opdef.tiles[3] = "signs_lib_pole_mount.png"
|
|
||||||
opdef.mesh = string.gsub(opdef.mesh, ".obj$", "_onpole.obj")
|
opdef.mesh = string.gsub(opdef.mesh, ".obj$", "_onpole.obj")
|
||||||
|
|
||||||
if opdef.entity_info then
|
if opdef.entity_info then
|
||||||
opdef.entity_info.mesh = string.gsub(opdef.entity_info.mesh, ".obj$", "_onpole.obj")
|
opdef.entity_info.mesh = string.gsub(opdef.entity_info.mesh, ".obj$", "_onpole.obj")
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- setting one of item 3 or 4 to a texture and leaving the other "blank",
|
||||||
|
-- reveals either the vertical or horizontal pole mount part of the model
|
||||||
|
|
||||||
|
if rdef.allow_onpole then
|
||||||
|
opdef.tiles[3] = "signs_lib_pole_mount.png"
|
||||||
|
opdef.tiles[4] = "signs_lib_blank.png"
|
||||||
minetest.register_node(":"..name.."_onpole", opdef)
|
minetest.register_node(":"..name.."_onpole", opdef)
|
||||||
table.insert(signs_lib.lbm_restore_nodes, name.."_onpole")
|
table.insert(signs_lib.lbm_restore_nodes, name.."_onpole")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local ophdef = table.copy(opdef)
|
||||||
|
|
||||||
|
if rdef.allow_onpole_horizontal then
|
||||||
|
ophdef.tiles[3] = "signs_lib_blank.png"
|
||||||
|
ophdef.tiles[4] = "signs_lib_pole_mount.png"
|
||||||
|
minetest.register_node(":"..name.."_onpole_horiz", ophdef)
|
||||||
|
table.insert(signs_lib.lbm_restore_nodes, name.."_onpole_horiz")
|
||||||
|
end
|
||||||
|
|
||||||
if rdef.allow_hanging then
|
if rdef.allow_hanging then
|
||||||
|
|
||||||
local hdef = table.copy(def)
|
local hdef = table.copy(def)
|
||||||
@ -891,57 +1025,10 @@ local function register_sign(name, rdef)
|
|||||||
minetest.register_node(":"..name.."_hanging", hdef)
|
minetest.register_node(":"..name.."_hanging", hdef)
|
||||||
table.insert(signs_lib.lbm_restore_nodes, name.."_hanging")
|
table.insert(signs_lib.lbm_restore_nodes, name.."_hanging")
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
--[[
|
|
||||||
The main sign registration function
|
|
||||||
===================================
|
|
||||||
|
|
||||||
Example minimal recommended def for writable signs:
|
|
||||||
|
|
||||||
signs_lib.register_sign("foo:my_cool_sign", {
|
|
||||||
description = "Wooden cool sign",
|
|
||||||
inventory_image = "signs_lib_sign_cool_inv.png",
|
|
||||||
tiles = {
|
|
||||||
"signs_lib_sign_cool.png",
|
|
||||||
"signs_lib_sign_cool_edges.png"
|
|
||||||
},
|
|
||||||
number_of_lines = 2,
|
|
||||||
horiz_scaling = 0.8,
|
|
||||||
vert_scaling = 1,
|
|
||||||
line_spacing = 9,
|
|
||||||
font_size = 31,
|
|
||||||
x_offset = 7,
|
|
||||||
y_offset = 4,
|
|
||||||
chars_per_line = 40,
|
|
||||||
entity_info = "standard"
|
|
||||||
})
|
|
||||||
|
|
||||||
* default def assumes a wallmounted sign with on-pole being allowed.
|
|
||||||
|
|
||||||
*For signs that can't support onpole, include in the def:
|
|
||||||
allow_onpole = false,
|
|
||||||
|
|
||||||
* "standard" entity info implies the standard wood/steel sign model, in
|
|
||||||
wallmounted mode. For facedir signs using the standard model, use:
|
|
||||||
|
|
||||||
entity_info = {
|
|
||||||
mesh = "signs_lib_standard_wall_sign_entity.obj",
|
|
||||||
yaw = signs_lib.standard_yaw
|
|
||||||
},
|
|
||||||
|
|
||||||
]]--
|
|
||||||
|
|
||||||
function signs_lib.register_sign(name, rdef)
|
|
||||||
register_sign(name, rdef)
|
|
||||||
|
|
||||||
if rdef.allow_widefont then
|
if rdef.allow_widefont then
|
||||||
|
table.insert(signs_lib.old_widefont_signs, name.."_widefont")
|
||||||
local wdef = table.copy(minetest.registered_items[name])
|
table.insert(signs_lib.old_widefont_signs, name.."_widefont_onpole")
|
||||||
wdef.groups.not_in_creative_inventory = 1
|
|
||||||
wdef.horiz_scaling = wdef.horiz_scaling / 2
|
|
||||||
|
|
||||||
register_sign(name.."_widefont", wdef)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -991,8 +1078,22 @@ minetest.register_lbm({
|
|||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
signs_lib.block_list = {}
|
-- Convert widefont sign nodes to use one base node with meta flag to select wide mode
|
||||||
signs_lib.totalblocks = 0
|
|
||||||
|
minetest.register_lbm({
|
||||||
|
nodenames = signs_lib.old_widefont_signs,
|
||||||
|
name = "signs_lib:convert_widefont_signs",
|
||||||
|
label = "Convert widefont sign nodes",
|
||||||
|
run_at_every_load = false,
|
||||||
|
action = function(pos, node)
|
||||||
|
local basename = string.gsub(node.name, "_widefont", "")
|
||||||
|
minetest.swap_node(pos, {name = basename, param2 = node.param2})
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
meta:set_int("widefont", 1)
|
||||||
|
signs_lib.delete_objects(pos)
|
||||||
|
signs_lib.update_sign(pos)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
-- Maintain a list of currently-loaded blocks
|
-- Maintain a list of currently-loaded blocks
|
||||||
minetest.register_lbm({
|
minetest.register_lbm({
|
||||||
|
176
compat.lua
Normal file
176
compat.lua
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
|
||||||
|
local default_fences = {
|
||||||
|
"default:fence_wood",
|
||||||
|
"default:fence_acacia_wood",
|
||||||
|
"default:fence_aspen_wood",
|
||||||
|
"default:fence_junglewood",
|
||||||
|
"default:fence_pine_wood"
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, n in ipairs(default_fences) do
|
||||||
|
minetest.override_item(n, {
|
||||||
|
check_for_pole = true
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
if minetest.get_modpath("streetspoles") then
|
||||||
|
|
||||||
|
local htj_north = {
|
||||||
|
[1] = true,
|
||||||
|
[3] = true,
|
||||||
|
[9] = true,
|
||||||
|
[11] = true,
|
||||||
|
[21] = true,
|
||||||
|
[23] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
local htj_east = {
|
||||||
|
[0] = true,
|
||||||
|
[2] = true,
|
||||||
|
[16] = true,
|
||||||
|
[18] = true,
|
||||||
|
[20] = true,
|
||||||
|
[22] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
local htj_south = {
|
||||||
|
[1] = true,
|
||||||
|
[3] = true,
|
||||||
|
[5] = true,
|
||||||
|
[7] = true,
|
||||||
|
[21] = true,
|
||||||
|
[23] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
local htj_west = {
|
||||||
|
[0] = true,
|
||||||
|
[2] = true,
|
||||||
|
[12] = true,
|
||||||
|
[14] = true,
|
||||||
|
[20] = true,
|
||||||
|
[22] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
local vtj_north = {
|
||||||
|
[8] = true,
|
||||||
|
[10] = true,
|
||||||
|
[13] = true,
|
||||||
|
[15] = true,
|
||||||
|
[17] = true,
|
||||||
|
[19] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
local vtj_east = {
|
||||||
|
[4] = true,
|
||||||
|
[6] = true,
|
||||||
|
[8] = true,
|
||||||
|
[10] = true,
|
||||||
|
[17] = true,
|
||||||
|
[19] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
local vtj_south = {
|
||||||
|
[4] = true,
|
||||||
|
[6] = true,
|
||||||
|
[13] = true,
|
||||||
|
[15] = true,
|
||||||
|
[17] = true,
|
||||||
|
[10] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
local vtj_west = {
|
||||||
|
[4] = true,
|
||||||
|
[6] = true,
|
||||||
|
[8] = true,
|
||||||
|
[10] = true,
|
||||||
|
[13] = true,
|
||||||
|
[15] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
minetest.override_item("streets:bigpole", {
|
||||||
|
check_for_pole = function(pos, node, def, ppos, pnode, pdef)
|
||||||
|
if pnode.param2 < 4
|
||||||
|
or (pnode.param2 > 19 and pnode.param2 < 24)
|
||||||
|
and (pos.x ~= ppos.x or pos.z ~= ppos.z) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
|
||||||
|
check_for_horiz_pole = function(pos, node, def, ppos, pnode, pdef)
|
||||||
|
if pnode.param2 > 3 and pnode.param2 < 12 then
|
||||||
|
if def.paramtype2 == "wallmounted" then
|
||||||
|
if node.param2 == 2 or node.param2 == 3 -- E/W
|
||||||
|
then return true
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if node.param2 == 1 or node.param2 == 3 -- E/W
|
||||||
|
then return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif pnode.param2 > 11 and pnode.param2 < 20 then
|
||||||
|
if def.paramtype2 == "wallmounted" then
|
||||||
|
if node.param2 == 4 or node.param2 == 5 then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if node.param2 == 0 or node.param2 == 2 then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.override_item("streets:bigpole_tjunction", {
|
||||||
|
check_for_pole = function(pos, node, def, ppos, pnode, pdef)
|
||||||
|
if def.paramtype2 == "wallmounted" then
|
||||||
|
if (node.param2 == 4 and vtj_north[pnode.param2])
|
||||||
|
or (node.param2 == 2 and vtj_east[pnode.param2])
|
||||||
|
or (node.param2 == 5 and vtj_south[pnode.param2])
|
||||||
|
or (node.param2 == 3 and vtj_west[pnode.param2]) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if (node.param2 == 0 and vtj_north[pnode.param2])
|
||||||
|
or (node.param2 == 1 and vtj_east[pnode.param2])
|
||||||
|
or (node.param2 == 2 and vtj_south[pnode.param2])
|
||||||
|
or (node.param2 == 3 and vtj_west[pnode.param2]) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
|
||||||
|
check_for_horiz_pole = function(pos, node, def, ppos, pnode, pdef)
|
||||||
|
if def.paramtype2 == "wallmounted" then
|
||||||
|
if (node.param2 == 4 and htj_north[pnode.param2])
|
||||||
|
or (node.param2 == 2 and htj_east[pnode.param2])
|
||||||
|
or (node.param2 == 5 and htj_south[pnode.param2])
|
||||||
|
or (node.param2 == 3 and htj_west[pnode.param2]) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if (node.param2 == 0 and htj_north[pnode.param2])
|
||||||
|
or (node.param2 == 1 and htj_east[pnode.param2])
|
||||||
|
or (node.param2 == 2 and htj_south[pnode.param2])
|
||||||
|
or (node.param2 == 3 and htj_west[pnode.param2]) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
if minetest.get_modpath("streetlamps") then
|
||||||
|
minetest.override_item("streets:streetlamp_basic_top_on", {
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.3,-0.4,-0.3,0.3,0.5,0.3},
|
||||||
|
{-0.15,-0.4,-0.15,0.15,-1.55,0.15},
|
||||||
|
{-0.18,-1.55,-0.18,0.18,-2.5,0.18},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
check_for_pole = true
|
||||||
|
})
|
||||||
|
end
|
@ -1,3 +1,5 @@
|
|||||||
default
|
default
|
||||||
intllib?
|
intllib?
|
||||||
screwdriver?
|
screwdriver?
|
||||||
|
streetspoles?
|
||||||
|
streetlamps?
|
||||||
|
1
init.lua
1
init.lua
@ -13,3 +13,4 @@ signs_lib.gettext = S
|
|||||||
dofile(signs_lib.path.."/api.lua")
|
dofile(signs_lib.path.."/api.lua")
|
||||||
dofile(signs_lib.path.."/encoding.lua")
|
dofile(signs_lib.path.."/encoding.lua")
|
||||||
dofile(signs_lib.path.."/standard_signs.lua")
|
dofile(signs_lib.path.."/standard_signs.lua")
|
||||||
|
dofile(signs_lib.path.."/compat.lua")
|
||||||
|
@ -73,6 +73,62 @@ v -0.164063 0.125000 1.125000
|
|||||||
v 0.164062 0.125000 1.125000
|
v 0.164062 0.125000 1.125000
|
||||||
v -0.164063 0.187500 1.125000
|
v -0.164063 0.187500 1.125000
|
||||||
v 0.164062 0.187500 1.125000
|
v 0.164062 0.187500 1.125000
|
||||||
|
v 0.187500 -0.125000 0.812500
|
||||||
|
v 0.187500 -0.125000 0.875000
|
||||||
|
v -0.187500 -0.125000 0.812500
|
||||||
|
v -0.187500 -0.125000 0.875000
|
||||||
|
v -0.187500 0.125000 0.812500
|
||||||
|
v 0.187500 0.125000 0.812500
|
||||||
|
v 0.187500 0.125000 0.875000
|
||||||
|
v -0.187500 0.125000 0.875000
|
||||||
|
v 0.187500 -0.125000 1.125000
|
||||||
|
v 0.187500 -0.125000 0.812500
|
||||||
|
v 0.125000 -0.125000 1.125000
|
||||||
|
v 0.125000 -0.125000 0.812500
|
||||||
|
v 0.187500 -0.164063 1.125000
|
||||||
|
v 0.187500 -0.164063 0.812500
|
||||||
|
v 0.125000 -0.164063 1.125000
|
||||||
|
v 0.125000 -0.164063 0.812500
|
||||||
|
v -0.125000 -0.125000 1.125000
|
||||||
|
v -0.125000 -0.125000 0.812500
|
||||||
|
v -0.187500 -0.125000 1.125000
|
||||||
|
v -0.187500 -0.125000 0.812500
|
||||||
|
v -0.125000 -0.164063 1.125000
|
||||||
|
v -0.125000 -0.164063 0.812500
|
||||||
|
v -0.187500 -0.164063 1.125000
|
||||||
|
v -0.187500 -0.164063 0.812500
|
||||||
|
v 0.187500 0.164062 1.125000
|
||||||
|
v 0.187500 0.164062 0.812500
|
||||||
|
v 0.125000 0.164062 1.125000
|
||||||
|
v 0.125000 0.164062 0.812500
|
||||||
|
v 0.187500 0.125000 1.125000
|
||||||
|
v 0.187500 0.125000 0.812500
|
||||||
|
v 0.125000 0.125000 1.125000
|
||||||
|
v 0.125000 0.125000 0.812500
|
||||||
|
v -0.125000 0.164062 1.125000
|
||||||
|
v -0.125000 0.164062 0.812500
|
||||||
|
v -0.187500 0.164062 1.125000
|
||||||
|
v -0.187500 0.164062 0.812500
|
||||||
|
v -0.125000 0.125000 1.125000
|
||||||
|
v -0.125000 0.125000 0.812500
|
||||||
|
v -0.187500 0.125000 1.125000
|
||||||
|
v -0.187500 0.125000 0.812500
|
||||||
|
v 0.187500 -0.164063 1.164063
|
||||||
|
v 0.187500 0.164062 1.164063
|
||||||
|
v 0.125000 -0.164063 1.164063
|
||||||
|
v 0.125000 0.164062 1.164063
|
||||||
|
v 0.187500 -0.164063 1.125000
|
||||||
|
v 0.187500 0.164062 1.125000
|
||||||
|
v 0.125000 -0.164063 1.125000
|
||||||
|
v 0.125000 0.164062 1.125000
|
||||||
|
v -0.125000 -0.164063 1.164063
|
||||||
|
v -0.125000 0.164062 1.164063
|
||||||
|
v -0.187500 -0.164063 1.164063
|
||||||
|
v -0.187500 0.164062 1.164063
|
||||||
|
v -0.125000 -0.164063 1.125000
|
||||||
|
v -0.125000 0.164062 1.125000
|
||||||
|
v -0.187500 -0.164063 1.125000
|
||||||
|
v -0.187500 0.164062 1.125000
|
||||||
vt 0.468750 0.812500
|
vt 0.468750 0.812500
|
||||||
vt 0.031250 0.812500
|
vt 0.031250 0.812500
|
||||||
vt 0.031250 0.187500
|
vt 0.031250 0.187500
|
||||||
@ -195,6 +251,110 @@ vt 0.453125 0.640625
|
|||||||
vt 0.453125 0.593750
|
vt 0.453125 0.593750
|
||||||
vt 0.312500 0.593750
|
vt 0.312500 0.593750
|
||||||
vt 0.312500 0.640625
|
vt 0.312500 0.640625
|
||||||
|
vt 0.843750 0.507812
|
||||||
|
vt 0.703125 0.507812
|
||||||
|
vt 0.703125 0.093750
|
||||||
|
vt 0.843750 0.093750
|
||||||
|
vt 0.015625 0.507812
|
||||||
|
vt 0.015625 0.093750
|
||||||
|
vt 0.156250 0.093750
|
||||||
|
vt 0.156250 0.507812
|
||||||
|
vt 0.156250 0.031250
|
||||||
|
vt 0.703125 0.031250
|
||||||
|
vt 0.703125 0.578125
|
||||||
|
vt 0.156250 0.578125
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.781250 0.664062
|
||||||
|
vt 0.781250 0.992188
|
||||||
|
vt 0.921875 0.992188
|
||||||
|
vt 0.921875 0.664062
|
||||||
|
vt 0.484375 0.664062
|
||||||
|
vt 0.484375 0.992188
|
||||||
|
vt 0.562500 0.992188
|
||||||
|
vt 0.562500 0.664062
|
||||||
|
vt 0.703125 0.992188
|
||||||
|
vt 0.703125 0.664062
|
||||||
|
vt 0.234375 0.593750
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.093750 0.593750
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.453125 0.593750
|
||||||
|
vt 0.312500 0.593750
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.781250 0.664062
|
||||||
|
vt 0.781250 0.992188
|
||||||
|
vt 0.921875 0.992188
|
||||||
|
vt 0.921875 0.664062
|
||||||
|
vt 0.484375 0.664062
|
||||||
|
vt 0.484375 0.992188
|
||||||
|
vt 0.562500 0.992188
|
||||||
|
vt 0.562500 0.664062
|
||||||
|
vt 0.703125 0.992188
|
||||||
|
vt 0.703125 0.664062
|
||||||
|
vt 0.234375 0.593750
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.093750 0.593750
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.453125 0.593750
|
||||||
|
vt 0.312500 0.593750
|
||||||
|
vt 0.312500 0.640625
|
||||||
vn 0.0000 0.0000 -1.0000
|
vn 0.0000 0.0000 -1.0000
|
||||||
vn 0.0000 0.0000 1.0000
|
vn 0.0000 0.0000 1.0000
|
||||||
vn 0.0000 -1.0000 0.0000
|
vn 0.0000 -1.0000 0.0000
|
||||||
@ -244,3 +404,37 @@ f 71/112/1 72/111/1 70/113/1 69/114/1
|
|||||||
f 69/114/3 70/113/3 66/106/3 65/105/3
|
f 69/114/3 70/113/3 66/106/3 65/105/3
|
||||||
f 67/115/6 71/116/6 69/117/6 65/118/6
|
f 67/115/6 71/116/6 69/117/6 65/118/6
|
||||||
f 72/119/5 68/120/5 66/121/5 70/122/5
|
f 72/119/5 68/120/5 66/121/5 70/122/5
|
||||||
|
g sign_on_pole.001_Cube.002_pole_mount_horizontal
|
||||||
|
f 73/123/3 74/124/3 76/125/3 75/126/3
|
||||||
|
f 78/127/4 77/128/4 80/129/4 79/130/4
|
||||||
|
f 76/125/6 80/129/6 77/131/6 75/132/6
|
||||||
|
f 73/133/5 78/134/5 79/130/5 74/124/5
|
||||||
|
f 74/124/2 79/130/2 80/129/2 76/125/2
|
||||||
|
f 81/135/4 82/136/4 84/137/4 83/138/4
|
||||||
|
f 83/139/6 84/140/6 88/141/6 87/142/6
|
||||||
|
f 87/143/3 88/144/3 86/145/3 85/146/3
|
||||||
|
f 85/146/5 86/145/5 82/147/5 81/148/5
|
||||||
|
f 89/149/4 90/150/4 92/151/4 91/152/4
|
||||||
|
f 91/153/6 92/154/6 96/155/6 95/156/6
|
||||||
|
f 95/157/3 96/158/3 94/159/3 93/160/3
|
||||||
|
f 93/160/5 94/159/5 90/161/5 89/162/5
|
||||||
|
f 97/163/4 98/164/4 100/165/4 99/166/4
|
||||||
|
f 99/167/6 100/168/6 104/169/6 103/170/6
|
||||||
|
f 103/171/3 104/172/3 102/173/3 101/174/3
|
||||||
|
f 101/174/5 102/173/5 98/175/5 97/176/5
|
||||||
|
f 105/177/4 106/178/4 108/179/4 107/180/4
|
||||||
|
f 107/181/6 108/182/6 112/183/6 111/184/6
|
||||||
|
f 111/185/3 112/186/3 110/187/3 109/188/3
|
||||||
|
f 109/188/5 110/187/5 106/189/5 105/190/5
|
||||||
|
f 113/191/2 114/192/2 116/193/2 115/194/2
|
||||||
|
f 115/195/6 116/196/6 120/197/6 119/198/6
|
||||||
|
f 119/198/1 120/197/1 118/199/1 117/200/1
|
||||||
|
f 117/200/5 118/199/5 114/192/5 113/191/5
|
||||||
|
f 115/201/3 119/202/3 117/203/3 113/204/3
|
||||||
|
f 120/205/4 116/206/4 114/207/4 118/208/4
|
||||||
|
f 121/209/2 122/210/2 124/211/2 123/212/2
|
||||||
|
f 123/213/6 124/214/6 128/215/6 127/216/6
|
||||||
|
f 127/216/1 128/215/1 126/217/1 125/218/1
|
||||||
|
f 125/218/5 126/217/5 122/210/5 121/209/5
|
||||||
|
f 123/219/3 127/220/3 125/221/3 121/222/3
|
||||||
|
f 128/223/4 124/224/4 122/225/4 126/226/4
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Blender v2.79 (sub 0) OBJ File: 'basic_signs wooden wall sign.blend'
|
# Blender v2.79 (sub 0) OBJ File: 'basic_signs wooden sign.blend'
|
||||||
# www.blender.org
|
# www.blender.org
|
||||||
o Cube.003_Cube
|
o sign_on_pole_Cube.002
|
||||||
v 0.437500 -0.812500 -0.312500
|
v 0.437500 -0.812500 -0.312500
|
||||||
v 0.437500 -0.750000 -0.312500
|
v 0.437500 -0.750000 -0.312500
|
||||||
v 0.437500 -0.812500 0.312500
|
v 0.437500 -0.812500 0.312500
|
||||||
@ -17,40 +17,6 @@ v -0.437500 -0.812500 -0.312500
|
|||||||
v -0.437500 -0.750000 -0.312500
|
v -0.437500 -0.750000 -0.312500
|
||||||
v -0.437500 -0.812500 0.312500
|
v -0.437500 -0.812500 0.312500
|
||||||
v -0.437500 -0.750000 0.312500
|
v -0.437500 -0.750000 0.312500
|
||||||
vt 0.468750 0.812500
|
|
||||||
vt 0.031250 0.812500
|
|
||||||
vt 0.031250 0.187500
|
|
||||||
vt 0.468750 0.187500
|
|
||||||
vt 0.531250 0.812500
|
|
||||||
vt 0.968750 0.812500
|
|
||||||
vt 0.968750 0.187500
|
|
||||||
vt 0.531250 0.187500
|
|
||||||
vt 0.234375 0.000000
|
|
||||||
vt 0.234375 1.000000
|
|
||||||
vt 0.015625 1.000000
|
|
||||||
vt 0.015625 -0.000000
|
|
||||||
vt 0.609375 -0.000000
|
|
||||||
vt 0.609375 1.000000
|
|
||||||
vt 0.390625 1.000000
|
|
||||||
vt 0.390625 -0.000000
|
|
||||||
vt 0.765625 0.000000
|
|
||||||
vt 0.765625 1.000000
|
|
||||||
vn 0.0000 1.0000 0.0000
|
|
||||||
vn 0.0000 -1.0000 0.0000
|
|
||||||
vn 0.0000 0.0000 -1.0000
|
|
||||||
vn 0.0000 0.0000 1.0000
|
|
||||||
vn 1.0000 0.0000 0.0000
|
|
||||||
vn -1.0000 0.0000 0.0000
|
|
||||||
g Cube.003_Cube_front-back
|
|
||||||
s off
|
|
||||||
f 8/1/1 4/2/1 2/3/1 6/4/1
|
|
||||||
f 3/5/2 7/6/2 5/7/2 1/8/2
|
|
||||||
g Cube.003_Cube_edges
|
|
||||||
f 13/9/3 14/10/3 10/11/3 9/12/3
|
|
||||||
f 11/13/4 12/14/4 16/15/4 15/16/4
|
|
||||||
f 11/13/5 9/17/5 10/18/5 12/14/5
|
|
||||||
f 13/9/6 15/16/6 16/15/6 14/10/6
|
|
||||||
o Cube.001
|
|
||||||
v -0.125000 -0.812500 -0.187500
|
v -0.125000 -0.812500 -0.187500
|
||||||
v -0.125000 -0.875000 -0.187500
|
v -0.125000 -0.875000 -0.187500
|
||||||
v -0.125000 -0.812500 0.187500
|
v -0.125000 -0.812500 0.187500
|
||||||
@ -107,6 +73,184 @@ v -0.164063 -1.125000 0.125000
|
|||||||
v 0.164062 -1.125000 0.125000
|
v 0.164062 -1.125000 0.125000
|
||||||
v -0.164063 -1.125000 0.187500
|
v -0.164063 -1.125000 0.187500
|
||||||
v 0.164062 -1.125000 0.187500
|
v 0.164062 -1.125000 0.187500
|
||||||
|
v 0.187500 -0.812500 -0.125000
|
||||||
|
v 0.187500 -0.875000 -0.125000
|
||||||
|
v -0.187500 -0.812500 -0.125000
|
||||||
|
v -0.187500 -0.875000 -0.125000
|
||||||
|
v -0.187500 -0.812500 0.125000
|
||||||
|
v 0.187500 -0.812500 0.125000
|
||||||
|
v 0.187500 -0.875000 0.125000
|
||||||
|
v -0.187500 -0.875000 0.125000
|
||||||
|
v 0.187500 -1.125000 -0.125000
|
||||||
|
v 0.187500 -0.812500 -0.125000
|
||||||
|
v 0.125000 -1.125000 -0.125000
|
||||||
|
v 0.125000 -0.812500 -0.125000
|
||||||
|
v 0.187500 -1.125000 -0.164063
|
||||||
|
v 0.187500 -0.812500 -0.164063
|
||||||
|
v 0.125000 -1.125000 -0.164063
|
||||||
|
v 0.125000 -0.812500 -0.164063
|
||||||
|
v -0.125000 -1.125000 -0.125000
|
||||||
|
v -0.125000 -0.812500 -0.125000
|
||||||
|
v -0.187500 -1.125000 -0.125000
|
||||||
|
v -0.187500 -0.812500 -0.125000
|
||||||
|
v -0.125000 -1.125000 -0.164063
|
||||||
|
v -0.125000 -0.812500 -0.164063
|
||||||
|
v -0.187500 -1.125000 -0.164063
|
||||||
|
v -0.187500 -0.812500 -0.164063
|
||||||
|
v 0.187500 -1.125000 0.164062
|
||||||
|
v 0.187500 -0.812500 0.164062
|
||||||
|
v 0.125000 -1.125000 0.164062
|
||||||
|
v 0.125000 -0.812500 0.164062
|
||||||
|
v 0.187500 -1.125000 0.125000
|
||||||
|
v 0.187500 -0.812500 0.125000
|
||||||
|
v 0.125000 -1.125000 0.125000
|
||||||
|
v 0.125000 -0.812500 0.125000
|
||||||
|
v -0.125000 -1.125000 0.164062
|
||||||
|
v -0.125000 -0.812500 0.164062
|
||||||
|
v -0.187500 -1.125000 0.164062
|
||||||
|
v -0.187500 -0.812500 0.164062
|
||||||
|
v -0.125000 -1.125000 0.125000
|
||||||
|
v -0.125000 -0.812500 0.125000
|
||||||
|
v -0.187500 -1.125000 0.125000
|
||||||
|
v -0.187500 -0.812500 0.125000
|
||||||
|
v 0.187500 -1.164063 -0.164063
|
||||||
|
v 0.187500 -1.164063 0.164062
|
||||||
|
v 0.125000 -1.164063 -0.164063
|
||||||
|
v 0.125000 -1.164063 0.164062
|
||||||
|
v 0.187500 -1.125000 -0.164063
|
||||||
|
v 0.187500 -1.125000 0.164062
|
||||||
|
v 0.125000 -1.125000 -0.164063
|
||||||
|
v 0.125000 -1.125000 0.164062
|
||||||
|
v -0.125000 -1.164063 -0.164063
|
||||||
|
v -0.125000 -1.164063 0.164062
|
||||||
|
v -0.187500 -1.164063 -0.164063
|
||||||
|
v -0.187500 -1.164063 0.164062
|
||||||
|
v -0.125000 -1.125000 -0.164063
|
||||||
|
v -0.125000 -1.125000 0.164062
|
||||||
|
v -0.187500 -1.125000 -0.164063
|
||||||
|
v -0.187500 -1.125000 0.164062
|
||||||
|
vt 0.468750 0.812500
|
||||||
|
vt 0.031250 0.812500
|
||||||
|
vt 0.031250 0.187500
|
||||||
|
vt 0.468750 0.187500
|
||||||
|
vt 0.531250 0.812500
|
||||||
|
vt 0.968750 0.812500
|
||||||
|
vt 0.968750 0.187500
|
||||||
|
vt 0.531250 0.187500
|
||||||
|
vt 0.234375 0.000000
|
||||||
|
vt 0.234375 1.000000
|
||||||
|
vt 0.015625 1.000000
|
||||||
|
vt 0.015625 -0.000000
|
||||||
|
vt 0.609375 -0.000000
|
||||||
|
vt 0.609375 1.000000
|
||||||
|
vt 0.390625 1.000000
|
||||||
|
vt 0.390625 -0.000000
|
||||||
|
vt 0.765625 0.000000
|
||||||
|
vt 0.765625 1.000000
|
||||||
|
vt 0.843750 0.507812
|
||||||
|
vt 0.703125 0.507812
|
||||||
|
vt 0.703125 0.093750
|
||||||
|
vt 0.843750 0.093750
|
||||||
|
vt 0.015625 0.507812
|
||||||
|
vt 0.015625 0.093750
|
||||||
|
vt 0.156250 0.093750
|
||||||
|
vt 0.156250 0.507812
|
||||||
|
vt 0.156250 0.031250
|
||||||
|
vt 0.703125 0.031250
|
||||||
|
vt 0.703125 0.578125
|
||||||
|
vt 0.156250 0.578125
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.453125 0.992188
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.312500 0.992188
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.234375 0.992188
|
||||||
|
vt 0.093750 0.992188
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.015625 0.992188
|
||||||
|
vt 0.015625 0.640625
|
||||||
|
vt 0.781250 0.664062
|
||||||
|
vt 0.781250 0.992188
|
||||||
|
vt 0.921875 0.992188
|
||||||
|
vt 0.921875 0.664062
|
||||||
|
vt 0.484375 0.664062
|
||||||
|
vt 0.484375 0.992188
|
||||||
|
vt 0.562500 0.992188
|
||||||
|
vt 0.562500 0.664062
|
||||||
|
vt 0.703125 0.992188
|
||||||
|
vt 0.703125 0.664062
|
||||||
|
vt 0.234375 0.593750
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.093750 0.593750
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.453125 0.593750
|
||||||
|
vt 0.312500 0.593750
|
||||||
|
vt 0.312500 0.640625
|
||||||
|
vt 0.781250 0.664062
|
||||||
|
vt 0.781250 0.992188
|
||||||
|
vt 0.921875 0.992188
|
||||||
|
vt 0.921875 0.664062
|
||||||
|
vt 0.484375 0.664062
|
||||||
|
vt 0.484375 0.992188
|
||||||
|
vt 0.562500 0.992188
|
||||||
|
vt 0.562500 0.664062
|
||||||
|
vt 0.703125 0.992188
|
||||||
|
vt 0.703125 0.664062
|
||||||
|
vt 0.234375 0.593750
|
||||||
|
vt 0.234375 0.640625
|
||||||
|
vt 0.093750 0.640625
|
||||||
|
vt 0.093750 0.593750
|
||||||
|
vt 0.453125 0.640625
|
||||||
|
vt 0.453125 0.593750
|
||||||
|
vt 0.312500 0.593750
|
||||||
|
vt 0.312500 0.640625
|
||||||
vt 0.843750 0.507812
|
vt 0.843750 0.507812
|
||||||
vt 0.703125 0.507812
|
vt 0.703125 0.507812
|
||||||
vt 0.703125 0.093750
|
vt 0.703125 0.093750
|
||||||
@ -211,44 +355,86 @@ vt 0.453125 0.640625
|
|||||||
vt 0.453125 0.593750
|
vt 0.453125 0.593750
|
||||||
vt 0.312500 0.593750
|
vt 0.312500 0.593750
|
||||||
vt 0.312500 0.640625
|
vt 0.312500 0.640625
|
||||||
vn -1.0000 0.0000 0.0000
|
|
||||||
vn 1.0000 0.0000 0.0000
|
|
||||||
vn 0.0000 -0.0000 1.0000
|
|
||||||
vn 0.0000 0.0000 -1.0000
|
|
||||||
vn 0.0000 -1.0000 -0.0000
|
|
||||||
vn 0.0000 1.0000 0.0000
|
vn 0.0000 1.0000 0.0000
|
||||||
g Cube.001_Cube.001_pole_mount
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn 0.0000 0.0000 1.0000
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn -1.0000 0.0000 0.0000
|
||||||
|
g sign_on_pole_Cube.002_front-back
|
||||||
s off
|
s off
|
||||||
f 17/19/7 18/20/7 20/21/7 19/22/7
|
f 8/1/1 4/2/1 2/3/1 6/4/1
|
||||||
f 22/23/8 21/24/8 24/25/8 23/26/8
|
f 3/5/2 7/6/2 5/7/2 1/8/2
|
||||||
f 20/21/9 24/25/9 21/27/9 19/28/9
|
g sign_on_pole_Cube.002_edges
|
||||||
f 17/29/10 22/30/10 23/26/10 18/20/10
|
f 13/9/3 14/10/3 10/11/3 9/12/3
|
||||||
f 18/20/11 23/26/11 24/25/11 20/21/11
|
f 11/13/4 12/14/4 16/15/4 15/16/4
|
||||||
f 25/31/8 26/32/8 28/33/8 27/34/8
|
f 11/13/5 9/17/5 10/18/5 12/14/5
|
||||||
f 27/35/9 28/36/9 32/37/9 31/38/9
|
f 13/9/6 15/16/6 16/15/6 14/10/6
|
||||||
f 31/39/7 32/40/7 30/41/7 29/42/7
|
g sign_on_pole_Cube.002_pole_mount
|
||||||
f 29/42/10 30/41/10 26/43/10 25/44/10
|
f 17/19/6 18/20/6 20/21/6 19/22/6
|
||||||
f 33/45/8 34/46/8 36/47/8 35/48/8
|
f 22/23/5 21/24/5 24/25/5 23/26/5
|
||||||
f 35/49/9 36/50/9 40/51/9 39/52/9
|
f 20/21/4 24/25/4 21/27/4 19/28/4
|
||||||
f 39/53/7 40/54/7 38/55/7 37/56/7
|
f 17/29/3 22/30/3 23/26/3 18/20/3
|
||||||
f 37/56/10 38/55/10 34/57/10 33/58/10
|
f 18/20/2 23/26/2 24/25/2 20/21/2
|
||||||
f 41/59/8 42/60/8 44/61/8 43/62/8
|
f 25/31/5 26/32/5 28/33/5 27/34/5
|
||||||
f 43/63/9 44/64/9 48/65/9 47/66/9
|
f 27/35/4 28/36/4 32/37/4 31/38/4
|
||||||
f 47/67/7 48/68/7 46/69/7 45/70/7
|
f 31/39/6 32/40/6 30/41/6 29/42/6
|
||||||
f 45/70/10 46/69/10 42/71/10 41/72/10
|
f 29/42/3 30/41/3 26/43/3 25/44/3
|
||||||
f 49/73/8 50/74/8 52/75/8 51/76/8
|
f 33/45/5 34/46/5 36/47/5 35/48/5
|
||||||
f 51/77/9 52/78/9 56/79/9 55/80/9
|
f 35/49/4 36/50/4 40/51/4 39/52/4
|
||||||
f 55/81/7 56/82/7 54/83/7 53/84/7
|
f 39/53/6 40/54/6 38/55/6 37/56/6
|
||||||
f 53/84/10 54/83/10 50/85/10 49/86/10
|
f 37/56/3 38/55/3 34/57/3 33/58/3
|
||||||
f 57/87/11 58/88/11 60/89/11 59/90/11
|
f 41/59/5 42/60/5 44/61/5 43/62/5
|
||||||
f 59/91/9 60/92/9 64/93/9 63/94/9
|
f 43/63/4 44/64/4 48/65/4 47/66/4
|
||||||
f 63/94/12 64/93/12 62/95/12 61/96/12
|
f 47/67/6 48/68/6 46/69/6 45/70/6
|
||||||
f 61/96/10 62/95/10 58/88/10 57/87/10
|
f 45/70/3 46/69/3 42/71/3 41/72/3
|
||||||
f 59/97/7 63/98/7 61/99/7 57/100/7
|
f 49/73/5 50/74/5 52/75/5 51/76/5
|
||||||
f 64/101/8 60/102/8 58/103/8 62/104/8
|
f 51/77/4 52/78/4 56/79/4 55/80/4
|
||||||
f 65/105/11 66/106/11 68/107/11 67/108/11
|
f 55/81/6 56/82/6 54/83/6 53/84/6
|
||||||
f 67/109/9 68/110/9 72/111/9 71/112/9
|
f 53/84/3 54/83/3 50/85/3 49/86/3
|
||||||
f 71/112/12 72/111/12 70/113/12 69/114/12
|
f 57/87/2 58/88/2 60/89/2 59/90/2
|
||||||
f 69/114/10 70/113/10 66/106/10 65/105/10
|
f 59/91/4 60/92/4 64/93/4 63/94/4
|
||||||
f 67/115/7 71/116/7 69/117/7 65/118/7
|
f 63/94/1 64/93/1 62/95/1 61/96/1
|
||||||
f 72/119/8 68/120/8 66/121/8 70/122/8
|
f 61/96/3 62/95/3 58/88/3 57/87/3
|
||||||
|
f 59/97/6 63/98/6 61/99/6 57/100/6
|
||||||
|
f 64/101/5 60/102/5 58/103/5 62/104/5
|
||||||
|
f 65/105/2 66/106/2 68/107/2 67/108/2
|
||||||
|
f 67/109/4 68/110/4 72/111/4 71/112/4
|
||||||
|
f 71/112/1 72/111/1 70/113/1 69/114/1
|
||||||
|
f 69/114/3 70/113/3 66/106/3 65/105/3
|
||||||
|
f 67/115/6 71/116/6 69/117/6 65/118/6
|
||||||
|
f 72/119/5 68/120/5 66/121/5 70/122/5
|
||||||
|
g sign_on_pole_Cube.002_pole_mount_horizontal
|
||||||
|
f 73/123/3 74/124/3 76/125/3 75/126/3
|
||||||
|
f 78/127/4 77/128/4 80/129/4 79/130/4
|
||||||
|
f 76/125/6 80/129/6 77/131/6 75/132/6
|
||||||
|
f 73/133/5 78/134/5 79/130/5 74/124/5
|
||||||
|
f 74/124/2 79/130/2 80/129/2 76/125/2
|
||||||
|
f 81/135/4 82/136/4 84/137/4 83/138/4
|
||||||
|
f 83/139/6 84/140/6 88/141/6 87/142/6
|
||||||
|
f 87/143/3 88/144/3 86/145/3 85/146/3
|
||||||
|
f 85/146/5 86/145/5 82/147/5 81/148/5
|
||||||
|
f 89/149/4 90/150/4 92/151/4 91/152/4
|
||||||
|
f 91/153/6 92/154/6 96/155/6 95/156/6
|
||||||
|
f 95/157/3 96/158/3 94/159/3 93/160/3
|
||||||
|
f 93/160/5 94/159/5 90/161/5 89/162/5
|
||||||
|
f 97/163/4 98/164/4 100/165/4 99/166/4
|
||||||
|
f 99/167/6 100/168/6 104/169/6 103/170/6
|
||||||
|
f 103/171/3 104/172/3 102/173/3 101/174/3
|
||||||
|
f 101/174/5 102/173/5 98/175/5 97/176/5
|
||||||
|
f 105/177/4 106/178/4 108/179/4 107/180/4
|
||||||
|
f 107/181/6 108/182/6 112/183/6 111/184/6
|
||||||
|
f 111/185/3 112/186/3 110/187/3 109/188/3
|
||||||
|
f 109/188/5 110/187/5 106/189/5 105/190/5
|
||||||
|
f 113/191/2 114/192/2 116/193/2 115/194/2
|
||||||
|
f 115/195/6 116/196/6 120/197/6 119/198/6
|
||||||
|
f 119/198/1 120/197/1 118/199/1 117/200/1
|
||||||
|
f 117/200/5 118/199/5 114/192/5 113/191/5
|
||||||
|
f 115/201/3 119/202/3 117/203/3 113/204/3
|
||||||
|
f 120/205/4 116/206/4 114/207/4 118/208/4
|
||||||
|
f 121/209/2 122/210/2 124/211/2 123/212/2
|
||||||
|
f 123/213/6 124/214/6 128/215/6 127/216/6
|
||||||
|
f 127/216/1 128/215/1 126/217/1 125/218/1
|
||||||
|
f 125/218/5 126/217/5 122/210/5 121/209/5
|
||||||
|
f 123/219/3 127/220/3 125/221/3 121/222/3
|
||||||
|
f 128/223/4 124/224/4 122/225/4 126/226/4
|
||||||
|
@ -9,7 +9,9 @@ signs_lib.register_sign("default:sign_wall_wood", {
|
|||||||
},
|
},
|
||||||
entity_info = "standard",
|
entity_info = "standard",
|
||||||
allow_hanging = true,
|
allow_hanging = true,
|
||||||
allow_widefont = true
|
allow_widefont = true,
|
||||||
|
allow_onpole = true,
|
||||||
|
allow_onpole_horizontal = true
|
||||||
})
|
})
|
||||||
|
|
||||||
signs_lib.register_sign("default:sign_wall_steel", {
|
signs_lib.register_sign("default:sign_wall_steel", {
|
||||||
@ -24,7 +26,9 @@ signs_lib.register_sign("default:sign_wall_steel", {
|
|||||||
locked = true,
|
locked = true,
|
||||||
entity_info = "standard",
|
entity_info = "standard",
|
||||||
allow_hanging = true,
|
allow_hanging = true,
|
||||||
allow_widefont = true
|
allow_widefont = true,
|
||||||
|
allow_onpole = true,
|
||||||
|
allow_onpole_horizontal = true
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_alias("signs:sign_hanging", "default:sign_wall_wood_hanging")
|
minetest.register_alias("signs:sign_hanging", "default:sign_wall_wood_hanging")
|
||||||
|
BIN
textures/signs_lib_blank.png
Normal file
BIN
textures/signs_lib_blank.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 68 B |
Reference in New Issue
Block a user