Rewrite mcl_signs

This commit is contained in:
cora 2023-07-21 02:40:07 +02:00 committed by Mikita Wiśniewski
parent 56a3b08d47
commit 2ae2cb85ad
23 changed files with 547 additions and 2683 deletions

View file

@ -9,13 +9,13 @@ SIGNS API
--- How to Use:
The simplest way to create a new sign is to use mcl_signs.register_sign [mcl_signs.register_sign (modname, color, _name,
ttsign)]. It's an all-in-one sign creator. It makes use of the standard textures for the signs, and colors them based on
description)]. It's an all-in-one sign creator. It makes use of the standard textures for the signs, and colors them based on
the color code that you give it, and names it "mcl_signs:wall_sign" + _name. So, using the spruce sign to illustrate, it
would be named "mcl_signs:wall_sign_sprucewood", as we made _name equal to "_sprucewood" after the name of the
registered wood.
To create a sign with specific textures: use the mcl_signs.register_sign_custom [mcl_signs.register_sign_custom
(modname, _name, tiles, color, inventory_image, wield_image, ttsign)]. Like the register_sign() function, this is also an
(modname, _name, tiles, color, inventory_image, wield_image, description)]. Like the register_sign() function, this is also an
all-in-one sign creation function. With this function you can designate what textures to use, and give them a specified
color. This function follows the same naming conventions.
@ -41,8 +41,7 @@ texture as is.
* _name: the sign's name suffix, such as "_dark" or "_sprucewood", etc., appended to "wall_sign" or "standing_sign"
* ttsign: the tool tip of the sign that gets translated. Shown when the mouse hovers the inventory sign. ttsign stands
for translated tooltip sign.
* description: the tool tip of the sign. Shown when the mouse hovers the inventory sign.
* wood_item_string: example: "mcl_core:wood", "mcl_core:sprucewood" or "mymod:mywood". This is used when defining the
recipe for the sign.
@ -115,7 +114,7 @@ they get your sign (x3).
automatically exist as part of the signs' package. You won't have to change any of your code, it'll just be more
functional. :)
* if you have suggestions, comments, etc., please contact me on VoxeLibre's Discord server.
* if you have suggestions, comments, etc., please contact me on MineClone 2's Discord server.
And that... is all there is to it!

View file

@ -0,0 +1,89 @@
--these are the "rotation strings" of the old sign rotation scheme
local rotkeys = {
"22_5",
"45",
"67_5"
}
--this is a translation table for the old sign rotation scheme to degrotate
--the first level is the itemstring part and the second level represents
--the facedir param2 (+1) mapped to the degrotate param2
local nidp2_degrotate = {
["22_5"] = {
225,
165,
105,
45,
},
["45"] = {
210,
150,
90,
30,
},
["67_5"] = {
195,
135,
75,
15,
}
}
function mcl_signs.upgrade_sign_meta(pos)
local m = minetest.get_meta(pos)
local col = m:get_string("mcl_signs:text_color")
local glo = m:get_string("mcl_signs:glowing_sign")
if col ~= "" then
m:set_string("color",col)
m:set_string("mcl_signs:text_color","")
end
if glo == "true" then
m:set_string("glow",glo)
end
if glo ~= "" then
m:set_string("mcl_signs:glowing_sign","")
end
mcl_signs.get_text_entity (pos, true) -- the 2nd "true" arg means deleting the entity for respawn
end
function mcl_signs.upgrade_sign_rot(pos,node)
local numsign = false
for _,v in pairs(rotkeys) do
if node.name:find(v) then
node.name = node.name:gsub(v,"")
node.param2 = nidp2_degrotate[v][node.param2 + 1]
numsign = true
end
end
if not numsign then
local def = minetest.registered_nodes[node.name]
if def and def._mcl_sign_type == "standing" then
if node.param2 == 1 or node.param2 == 121 then
node.param2 = 180
elseif node.param2 == 2 or node.param2 == 122 then
node.param2 = 120
elseif node.param2 == 3 or node.param2 == 123 then
node.param2 = 60
end
end
end
minetest.swap_node(pos,node)
mcl_signs.upgrade_sign_meta(pos)
mcl_signs.update_sign(pos)
end
minetest.register_lbm({
nodenames = {"group:sign"},
name = "mcl_signs:update_old_signs",
label = "Update old signs",
run_at_every_load = false,
action = mcl_signs.upgrade_sign_rot,
})
minetest.register_lbm({
nodenames = mcl_signs.old_rotnames,
name = "mcl_signs:update_old_rotated_standing",
label = "Update old standing rotated signs",
run_at_every_load = true, --these nodes are supposed to completely be replaced
action = mcl_signs.upgrade_sign_rot
})

View file

@ -1,158 +1,398 @@
---
--- Generated by EmmyLua.
--- Created by Michieal (FaerRaven).
--- DateTime: 10/14/22 4:05 PM
---
mcl_signs = {}
local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
local function table_merge(t, ...)
local t2 = table.copy(t)
return table.update(t2, ...)
end
-- Signs API
dofile(modpath .. "/signs_api.lua")
local SIGN_WIDTH = 115
-- LOCALIZATION
local S = minetest.get_translator(modname)
local LINE_LENGTH = 15
local NUMBER_OF_LINES = 4
-- HANDLE THE FORMSPEC CALLBACK
minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname:find("mcl_signs:set_text_") == 1 then
local x, y, z = formname:match("mcl_signs:set_text_(.-)_(.-)_(.*)")
local pos = { x = tonumber(x), y = tonumber(y), z = tonumber(z) }
if not pos or not pos.x or not pos.y or not pos.z then
return
end
mcl_signs:update_sign(pos, fields, player)
end
end)
local LINE_HEIGHT = 14
local CHAR_WIDTH = 5
-- This defines the text entity for the lettering of the sign.
-- FIXME: Prevent entity destruction by /clearobjects
minetest.register_entity("mcl_signs:text", {
pointable = false,
visual = "upright_sprite",
textures = {},
physical = false,
collide_with_objects = false,
local DEFAULT_COLOR = "#000000"
_signnodename = nil, -- node name of sign node to which the text belongs
local SIGN_GLOW_INTENSITY = 14
on_activate = function(self, staticdata)
local S = minetest.get_translator(minetest.get_current_modname())
local F = minetest.formspec_escape
local meta = minetest.get_meta(self.object:get_pos())
local text = meta:get_string("text")
local text_color = meta:get_string("mcl_signs:text_color")
local glowing_sign = meta:get_string("mcl_signs:glowing_sign")
if staticdata and staticdata ~= "" then
local des = minetest.deserialize(staticdata)
if des then
self._signnodename = des._signnodename
if des._text_color ~= nil and des._text_color ~= "" then
self.text_color = des._text_color
end
if des._glowing_sign ~= nil and des._glowing_sign ~= "" then
self.glowing_sign = des._glowing_sign
end
end
end
local sign_tpl = {
paramtype = "light",
description = S("Sign"),
_tt_help = S("Can be written"),
_doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."),
_doc_items_usagehelp = S("After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow."),
use_texture_alpha = "opaque",
sunlight_propagates = true,
walkable = false,
is_ground_content = false,
paramtype2 = "degrotate",
drawtype = "mesh",
mesh = "mcl_signs_sign.obj",
inventory_image = "default_sign.png",
wield_image = "default_sign.png",
selection_box = { type = "fixed", fixed = { -0.2, -0.5, -0.2, 0.2, 0.5, 0.2 } },
tiles = { "mcl_signs_sign.png" },
groups = { axey = 1, handy = 2, sign = 1, not_in_creative_inventory = 1 },
drop = "mcl_signs:sign",
stack_max = 16,
sounds = mcl_sounds.node_sound_wood_defaults(),
node_placement_prediction = "",
_mcl_sign_type = "standing"
}
if text_color == "" or text_color == nil then
text_color = "#000000" -- default to black text.
meta:set_string("mcl_signs:text_color", text_color)
end
--Signs data / meta
local function normalize_rotation(rot) return math.floor(0.5 + rot / 15) * 15 end
if glowing_sign == "" or glowing_sign == nil then
glowing_sign = "false" -- default to not glowing.
meta:set_string("mcl_signs:glowing_sign", glowing_sign)
end
local function get_signdata(pos)
local node = minetest.get_node(pos)
local def = minetest.registered_nodes[node.name]
if not def or minetest.get_item_group(node.name,"sign") < 1 then return end
local meta = minetest.get_meta(pos)
local text = meta:get_string("text")
local color = meta:get_string("color")
local glow = meta:get_string("glow")
if glow == "true" then
glow = true
else
glow = false
end
local yaw, spos
local typ = "standing"
if def.paramtype2 == "wallmounted" then
typ = "wall"
local dir = minetest.wallmounted_to_dir(node.param2)
spos = vector.add(vector.offset(pos,0,-0.25,0),dir * 0.41 )
yaw = minetest.dir_to_yaw(dir)
else
yaw = math.rad(((node.param2 * 1.5 ) + 1 ) % 360)
local dir = minetest.yaw_to_dir(yaw)
spos = vector.add(vector.offset(pos,0,0.08,0),dir * -0.05)
end
if color == "" then color = DEFAULT_COLOR end
return {
text = text,
color = color,
yaw = yaw,
node = node,
typ = typ,
glow = glow,
text_pos = spos,
}
end
self.object:set_properties({
textures = { mcl_signs:create_lettering(text, self._signnodename, text_color) },
})
if glowing_sign == "true" then
self.object:set_properties({
glow = 6, --sign_glow,
})
end
local function set_signmeta(pos,def)
local meta = minetest.get_meta(pos)
if def.text then meta:set_string("text",def.text) end
if def.color then meta:set_string("color",def.color) end
if def.glow then meta:set_string("glow",def.glow) end
end
self.object:set_armor_groups({ immortal = 1 })
-- Text/texture
--[[ File format of characters.txt:
It's an UTF-8 encoded text file that contains metadata for all supported characters. It contains a sequence of info
blocks, one for each character. Each info block is made out of 3 lines:
Line 1: The literal UTF-8 encoded character
Line 2: Name of the texture file for this character minus the .png suffix; found in the textures/ sub-directory
Line 3: Currently ignored. Previously this was for the character width in pixels
end,
get_staticdata = function(self)
local out = {
_signnodename = self._signnodename,
}
return minetest.serialize(out)
end,
After line 3, another info block may follow. This repeats until the end of the file.
All character files must be 5 or 6 pixels wide (5 pixels are preferred)
]]
local modpath = minetest.get_modpath(minetest.get_current_modname())
local chars_file = io.open(modpath .. "/characters.txt", "r")
-- FIXME: Support more characters (many characters are missing). Currently ASCII and Latin-1 Supplement are supported.
assert(chars_file,"[mcl_signs] characters.txt not found")
local charmap = {}
while true do
local char = chars_file:read("*l")
if char == nil then
break
end
local img = chars_file:read("*l")
chars_file:read("*l")
charmap[char] = img
end
local function string_to_line_array(str)
local linechar_table = {}
local current = 1
local linechar = 1
linechar_table[current] = ""
for char in str:gmatch(".") do
if char == "\n" then
current = current + 1
linechar_table[current] = ""
linechar = 1
else
linechar_table[current] = linechar_table[current] .. char
linechar = linechar + 1
end
end
return linechar_table
end
function mcl_signs.create_lines(text)
local line_num = 1
local text_table = {}
for _, line in ipairs(string_to_line_array(text)) do
if line_num > NUMBER_OF_LINES then
break
end
table.insert(text_table, line)
line_num = line_num + 1
end
return text_table
end
function mcl_signs.generate_line(s, ypos)
local i = 1
local parsed = {}
local width = 0
local chars = 0
local printed_char_width = CHAR_WIDTH + 1
while chars < LINE_LENGTH and i <= #s do
local file
-- Get and render character
if charmap[s:sub(i, i)] then
file = charmap[s:sub(i, i)]
i = i + 1
elseif i < #s and charmap[s:sub(i, i + 1)] then
file = charmap[s:sub(i, i + 1)]
i = i + 2
else
-- Use replacement character:
file = "_rc"
i = i + 1
end
if file then
width = width + printed_char_width
table.insert(parsed, file)
chars = chars + 1
end
end
width = width - 1
local texture = ""
local xpos = math.floor((SIGN_WIDTH - width) / 2)
for j = 1, #parsed do
texture = texture .. ":" .. xpos .. "," .. ypos .. "=" .. parsed[j] .. ".png"
xpos = xpos + printed_char_width
end
return texture
end
function mcl_signs.generate_texture(data)
local lines = mcl_signs.create_lines(data.text or "")
local texture = "[combine:" .. SIGN_WIDTH .. "x" .. SIGN_WIDTH
local ypos = 0
local letter_color = data.color or DEFAULT_COLOR
for i = 1, #lines do
texture = texture .. mcl_signs.generate_line(lines[i], ypos)
ypos = ypos + LINE_HEIGHT
end
texture = "(" .. texture .. "^[multiply:" .. letter_color .. ")"
return texture
end
function sign_tpl.on_place(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then
return itemstack
end
local under = pointed_thing.under
local node = minetest.get_node(under)
local def = minetest.registered_nodes[node.name]
if not def then return itemstack end
if mcl_util.call_on_rightclick(itemstack, placer, pointed_thing) then
return itemstack
end
local above = pointed_thing.above
local dir = {x = under.x - above.x, y = under.y - above.y, z = under.z - above.z}
local wdir = minetest.dir_to_wallmounted(dir)
local itemstring = itemstack:get_name()
local placestack = ItemStack(itemstack)
local def = itemstack:get_definition()
local pos
-- place on wall
if wdir ~= 0 and wdir ~= 1 then
placestack:set_name("mcl_signs:wall_sign_"..def._mcl_sign_wood)
itemstack, pos = minetest.item_place(placestack, placer, pointed_thing, wdir)
elseif wdir == 1 then -- standing, not ceiling
placestack:set_name("mcl_signs:standing_sign_"..def._mcl_sign_wood)
local rot = normalize_rotation(placer:get_look_horizontal() * 180 / math.pi / 1.5)
itemstack, pos = minetest.item_place(placestack, placer, pointed_thing, rot) -- param2 value is degrees / 1.5
else
return itemstack
end
mcl_signs.show_formspec(placer, pos)
itemstack:set_name(itemstring)
return itemstack
end
function sign_tpl.on_rightclick(pos, node, clicker, itemstack, pointed_thing)
if itemstack:get_name() == "mcl_mobitems:glow_ink_sac" then
local data = get_signdata(pos)
if data.color == "#000000" then
data.color = "#7e7e7e" --black doesn't glow in the dark
end
set_signmeta(pos,{glow="true",color=data.color})
mcl_signs.update_sign(pos)
if not minetest.is_creative_enabled(clicker:get_player_name()) then
itemstack:take_item()
end
end
return itemstack
end
function sign_tpl.after_dig_node(pos)
mcl_signs.get_text_entity (pos, true)
end
function sign_tpl._on_dye_place(pos,color)
set_signmeta(pos,{
color = mcl_dyes.colors[color].rgb
})
mcl_signs.update_sign(pos)
end
local sign_wall = table_merge(sign_tpl,{
mesh = "mcl_signs_signonwallmount.obj",
paramtype2 = "wallmounted",
selection_box = { type = "wallmounted", wall_side = { -0.5, -7 / 28, -0.5, -23 / 56, 7 / 28, 0.5 }},
groups = { axey = 1, handy = 2, sign = 1 },
_mcl_sign_type = "wall",
})
-- Build the signs x,y,z & rotations so that they work. (IE, do not remove!)
mcl_signs.build_signs_info()
-- ---------------------------- --
-- Register Signs for use. --
-- ---------------------------- --
-- Standard (original) Sign
mcl_signs.register_sign("mcl_core", "#ffffff", "", S("Sign"))
mcl_signs.register_sign_craft("mcl_core", "mcl_core:wood", "")
-- birchwood Sign "#d5cb8d" / "#ffdba7"
mcl_signs.register_sign_custom("mcl_core", "_birchwood",
"mcl_signs_sign_greyscale.png","#ffdba7", "mcl_signs_default_sign_greyscale.png",
"mcl_signs_default_sign_greyscale.png", S("Birch Sign")
)
mcl_signs.register_sign_craft("mcl_core", "mcl_core:birchwood", "_birchwood")
-- sprucewood Sign
mcl_signs.register_sign_custom("mcl_core", "_sprucewood",
"mcl_signs_sign_dark.png","#ffffff", "mcl_signs_default_sign_dark.png",
"mcl_signs_default_sign_dark.png", S("Spruce Sign")
)
mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood")
-- darkwood Sign "#291f1a" / "#856443"
mcl_signs.register_sign_custom("mcl_core", "_darkwood",
"mcl_signs_sign_greyscale.png","#856443", "mcl_signs_default_sign_greyscale.png",
"mcl_signs_default_sign_greyscale.png", S("Dark Oak Sign")
)
mcl_signs.register_sign_craft("mcl_core", "mcl_core:darkwood", "_darkwood")
-- junglewood Sign
mcl_signs.register_sign("mcl_core", "#866249", "_junglewood", S("Jungle Sign"))
mcl_signs.register_sign_craft("mcl_core", "mcl_core:junglewood", "_junglewood")
-- acaciawood Sign "b8693d"
mcl_signs.register_sign("mcl_core", "#ea7479", "_acaciawood", S("Acacia Sign"))
mcl_signs.register_sign_craft("mcl_core", "mcl_core:acaciawood", "_acaciawood")
if minetest.get_modpath("mcl_mangrove") then
-- mangrove_wood Sign "#c7545c"
mcl_signs.register_sign("mcl_mangrove", "#b8693d", "_mangrove_wood", S("Mangrove Sign"))
mcl_signs.register_sign_craft("mcl_mangrove", "mcl_mangrove:mangrove_wood", "_mangrove_wood")
--Formspec
function mcl_signs.show_formspec(player, pos)
if not pos then return end
minetest.show_formspec(
player:get_player_name(),
"mcl_signs:set_text_" .. pos.x .. "_" .. pos.y .. "_" .. pos.z,
"size[6,3]textarea[0.25,0.25;6,1.5;text;" ..
F(S("Enter sign text:")) .. ";]label[0,1.5;" ..
F(S("Maximum line length: 15")) .. "\n" ..
F(S("Maximum lines: 4")) ..
"]button_exit[0,2.5;6,1;submit;" .. F(S("Done")) .. "]"
)
end
-- add in the nether wood signs
if minetest.get_modpath("mcl_crimson") then
minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname:find("mcl_signs:set_text_") == 1 then
local x, y, z = formname:match("mcl_signs:set_text_(.-)_(.-)_(.*)")
local pos = { x = tonumber(x), y = tonumber(y), z = tonumber(z) }
if not pos or not pos.x or not pos.y or not pos.z then
return
end
-- warped_hyphae_wood Sign
mcl_signs.register_sign_custom("mcl_crimson","_warped_hyphae_wood", "mcl_signs_sign_greyscale.png",
"#9f7dcf", "mcl_signs_default_sign_greyscale.png", "mcl_signs_default_sign_greyscale.png",
S("Warped Hyphae Sign"))
mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:warped_hyphae_wood", "_warped_hyphae_wood")
-- crimson_hyphae_wood Sign
mcl_signs.register_sign_custom("mcl_crimson", "_crimson_hyphae_wood","mcl_signs_sign_greyscale.png",
"#c35f51","mcl_signs_default_sign_greyscale.png", "mcl_signs_default_sign_greyscale.png",
S("Crimson Hyphae Sign"))
mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:crimson_hyphae_wood", "_crimson_hyphae_wood")
set_signmeta(pos,{
text = fields.text,
})
mcl_signs.update_sign(pos)
end
end)
--Text entity handling
function mcl_signs.get_text_entity (pos, force_remove)
local objects = minetest.get_objects_inside_radius(pos, 0.5)
local text_entity
for _, v in pairs(objects) do
local ent = v:get_luaentity()
if ent and ent.name == "mcl_signs:text" then
if force_remove ~= nil and force_remove == true then
v:remove()
else
text_entity = v
break
end
end
end
return text_entity
end
-- Register the LBMs for the created signs.
mcl_signs.make_lbm()
function mcl_signs.update_sign(pos)
local data = get_signdata(pos)
-- really ancient compatibility.
minetest.register_alias("signs:sign_wall", "mcl_signs:wall_sign")
minetest.register_alias("signs:sign_yard", "mcl_signs:standing_sign")
minetest.register_alias("mcl_signs:wall_sign_dark", "mcl_signs:wall_sign_sprucewood")
minetest.register_alias("mcl_signs:standing_sign_dark", "mcl_signs:standing_sign_sprucewood")
if not data then
return false
end
local text_entity = mcl_signs.get_text_entity(pos)
if not text_entity then
text_entity = minetest.add_entity(data.text_pos, "mcl_signs:text")
if not text_entity or not text_entity:get_pos() then return end
end
local glow
if data.glow then
glow = SIGN_GLOW_INTENSITY
end
text_entity:set_properties({
textures = { mcl_signs.generate_texture(data) },
glow = glow,
})
text_entity:set_yaw(data.yaw)
text_entity:set_armor_groups({ immortal = 1 })
return true
end
minetest.register_lbm({
nodenames = {"group:sign"},
name = "mcl_signs:restore_entities",
label = "Restore sign text",
run_at_every_load = true,
action = function(pos, node)
mcl_signs.update_sign(pos)
end
})
minetest.register_entity("mcl_signs:text", {
pointable = false,
visual = "upright_sprite",
textures = {},
physical = false,
collide_with_objects = false,
on_activate = function(self, staticdata)
local pos = self.object:get_pos()
mcl_signs.update_sign(pos)
end,
})
local function colored_texture(texture,color)
return texture.."^[multiply:"..color
end
mcl_signs.old_rotnames = {}
function mcl_signs.register_sign(name,color,def)
local newfields = {
tiles = { colored_texture("mcl_signs_sign_greyscale.png", color) },
inventory_image = colored_texture("default_sign_greyscale.png", color),
wield_image = colored_texture("default_sign_greyscale.png", color),
drop = "mcl_signs:wall_sign_"..name,
_mcl_sign_wood = name,
}
minetest.register_node(":mcl_signs:standing_sign_"..name, table_merge(sign_tpl, newfields, def or {}))
minetest.register_node(":mcl_signs:wall_sign_"..name,table_merge(sign_wall, newfields, def or {}))
table.insert(mcl_signs.old_rotnames,"mcl_signs:standing_sign22_5_"..name)
table.insert(mcl_signs.old_rotnames,"mcl_signs:standing_sign45_"..name)
table.insert(mcl_signs.old_rotnames,"mcl_signs:standing_sign67_5_"..name)
end
dofile(modpath.."/compat.lua")

View file

@ -1,18 +1,18 @@
# textdomain: mcl_signs
Sign=Schild
Birch Sign=Birkenholzschild
Spruce Sign=Fichtenholzschild
Dark Oak Sign=Schwarzeichenschild
Jungle Sign=Dschungelholzschild
Acacia Sign=Akazienholzschild
Mangrove Sign=Mangrovenholzschild
Warped Hyphae Sign=Wirrhyphenschild
Crimson Hyphae Sign=Karmesinhyphenschild
##[ signs_api.lua ]##
Can be written=Kann beschriftet werden
Sign=Zeichen / Schild
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Schilder können beschrieben werden und kommen in zwei Varianten: Wandschild und stehendes Schild. Sie können auf und an den Seiten von anderen Blöclen platziert werden, aber nicht unter ihnen.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Nachdem das Schild platziert wurde, kann man etwas darauf schreiben. 4 Zeilen mit je 15 Zeichen pro Zeile sind verfügbar, alles darüber geht verloren. Es werden nicht alle Zeichen unterstützt. Der Text kann nicht geändert werden, sobald er geschrieben wurde; man muss das Schild erneut platzieren. Kann gefärbt und zum Leuchten gebracht werden.
Enter sign text:=Schildtext eingeben:
Maximum line length: 15=Maximale Zeilenlänge: 15
Maximum lines: 4=Maximale Zeilen: 4
Done=Fertig
Can be written=Kann beschriftet werden
Oak Sign=Eichezeichen
Birch Sign=Birke Zeichen
Spruce Sign=Fichtenzeichen
Dark Oak Sign=Dunkles Eichenschild
Jungle Sign=Dschungelzeichen
Acacia Sign=Akazienzeichen
Mangrove Sign=Mangroven-Zeichen
Warped Hyphae Sign=Verzerrtes Hyphen-Zeichen
Crimson Hyphae Sign=Hochrotes Hyphen-Zeichen

View file

@ -1,5 +1,13 @@
# textdomain: mcl_signs
Sign=Signo / Firmar
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Los letreros se pueden escribir y vienen en dos variantes: letrero de muro y letrero en un poste de letrero. Los letreros se pueden colocar en la parte superior y en los costados de otros bloques, pero no debajo de ellos.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Después de colocar el letrero, puede escribir algo en él. Tiene 4 líneas de texto con hasta 15 caracteres para cada línea; todo lo que esté más allá de estos límites se pierde. No todos los personajes son compatibles. El texto no se puede cambiar una vez que se ha escrito; tienes que romper y colocar el letrero nuevamente.
Enter sign text:=Inserte el texto del letrero:
Maximum line length: 15=Longitud máxima de línea: 15
Maximum lines: 4=Líneas máximas: 4
Can be written=Los letreros se pueden escribir
Done=Escribir cartel
Oak Sign=Signo de roble
Birch Sign=Signo de abedul
Spruce Sign=Signo de abeto
Dark Oak Sign=Signo de roble oscuro
@ -8,16 +16,3 @@ Acacia Sign= Signo de acacia
Mangrove Sign= Signo de manglar
Warped Hyphae Sign=Signo de hifas deformadas
Crimson Hyphae Sign=Signo de hifas carmesí
##[ signs_api.lua ]##
Can be written=Los letreros se pueden escribir
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Los letreros se pueden escribir y vienen en dos variantes: letrero de muro y letrero en un poste de letrero. Los letreros se pueden colocar en la parte superior y en los costados de otros bloques, pero no debajo de ellos.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Después de colocar el letrero, puede escribir algo en él. Tiene 4 líneas de texto con hasta 15 caracteres para cada línea; todo lo que esté más allá de estos límites se pierde. No todos los personajes son compatibles. El texto no se puede cambiar una vez que se ha escrito; tienes que romper y colocar el letrero nuevamente.
Enter sign text:=Inserte el texto del letrero:
Maximum line length: 15=Longitud máxima de línea: 15
Maximum lines: 4=Líneas máximas: 4
Done=Escribir cartel
##### not used anymore #####
Oak Sign=Signo de roble

View file

@ -1,24 +1,18 @@
# textdomain: mcl_signs
Sign=Panneau
Birch Sign=Panneau de bouleau
Spruce Sign=Panneau de sapin
Dark Oak Sign=Panneau de chêne noir
Jungle Sign=Panneau d'acajou
Acacia Sign=Panneau d'acacia
Mangrove Sign=Panneau de palétuvier
Warped Hyphae Sign=Panneau d'hyphe tordu
Crimson Hyphae Sign=Panneau d'hyphe écarlate
##[ signs_api.lua ]##
Can be written=Peut être écrit
Sign=Panneau / signe
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Les panneaux peuvent être écrits et se déclinent en deux variantes: panneau mural et panneau sur poteau. Des panneaux peuvent être placés en haut et sur les côtés des autres blocs, mais pas en dessous.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Après avoir placé le panneau, vous pouvez écrire quelque chose dessus. Vous avez 4 lignes de texte avec jusqu'à 15 caractères pour chaque ligne; tout ce qui dépasse ces limites est perdu. Tous les caractères ne sont pas pris en charge. Le texte ne peut pas être modifié une fois qu'il a été écrit; vous devez casser et placer à nouveau le panneau. Peut être coloré et rendu brillant.
Enter sign text:=Saisir le texte du panneau :
Maximum line length: 15=Longueur maximum des lignes : 15
Maximum lines: 4=Nombre maximum de lignes : 4
Enter sign text:=Saisir le texte du panneau:
Maximum line length: 15=Longueur maximum des lignes: 15
Maximum lines: 4=Nombre maximum de lignes: 4
Done=Terminé
##### not used anymore #####
Oak Sign=Panneau de chêne
Bamboo Sign=Panneau de bambou
Can be written=Peut être écrit
Oak Sign=Signe de chêne
Birch Sign=Signe de bouleau
Spruce Sign=Signe d'épinette
Dark Oak Sign=Enseigne Chêne Foncé
Jungle Sign=Signe de la jungle
Acacia Sign=Signe d'acacia
Mangrove Sign=Signe de la mangrove
Warped Hyphae Sign=Signe hyphe déformé
Crimson Hyphae Sign=Signe d'hyphes cramoisi

View file

@ -1,24 +0,0 @@
# textdomain: mcl_signs
Sign=Letreiro
Birch Sign=Letreiro de bidueiro
Spruce Sign=Letreiro de abeto
Dark Oak Sign=Letreiro de carballo escuro
Jungle Sign=Letreiro da xungla
Acacia Sign=Letreiro de acacia
Mangrove Sign=Letreiro de mangle
Warped Hyphae Sign=Letreiro de hifas deformadas
Crimson Hyphae Sign=Letreiro de hifas carmesí
##[ signs_api.lua ]##
Can be written=Os lLetreiros podense escribir
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Os letreiros pódense escribir e presentarse en dúas variantes: sinal de parede e sinal nun poste de sinalización. Pódense colocar sinais na parte superior e nos laterais doutros bloques, pero non debaixo deles.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Despois de colocar o sinal, podes escribir algo nel. Tes 4 liñas de texto con ata 15 caracteres por cada liña; todo alén destes límites pérdese. Non todos os caracteres son compatibles. O texto non se pode cambiar unha vez escrito; tes que romper e volver colocar o cartel. Pódese colorear e facer brillar.
Enter sign text:=Introduza o texto do letreiro:
Maximum line length: 15=Lonxitude máxima da liña: 15
Maximum lines: 4=Liñas máximas: 4
Done=Feito
##### not used anymore #####
Oak Sign=Letreiro de carballo
Bamboo Sign=Letreiro de bambú

View file

@ -1,23 +1,16 @@
# textdomain: mcl_signs
Sign=看板
Birch Sign=シラカバの看板
Spruce Sign=トウヒの看板
Dark Oak Sign=ダークオークの看板
Jungle Sign=ジャングルの看板
Acacia Sign=アカシアの看板
Mangrove Sign=マングローブの看板
Warped Hyphae Sign=
Crimson Hyphae Sign=
##[ signs_api.lua ]##
Can be written=書き込み可能
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=看板は書くことができ、2つのバリエーションがあります壁かけ看板と立て看板。看板の設置は、他のブロックの上部と側面にできますが、下部にはできません。
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=看板を設置した後、そこに何かを書き込めます。文字数は、1行あたり15文字で4行まで、それ以上は失われます。すべての文字がサポートされているわけではありません。一度書いた文字は変更できません変えるには看板を壊して再配置。着色や発光が可能です。
Enter sign text:=看板の文字を入力:
Maximum line length: 15=1行あたりの最大文字数15
Maximum lines: 4=最大行数4
Done=完了
##### not used anymore #####
Can be written=書き込み可能
Oak Sign=オークの看板
Birch Sign=シラカバの看板
Spruce Sign=トウヒの看板
Dark Oak Sign=ダークオークの看板
Jungle Sign=ジャングルの看板
Acacia Sign=アカシアの看板
Mangrove Sign=マングローブの看板

View file

@ -1,24 +0,0 @@
# textdomain: mcl_signs
Sign=Skilt
Birch Sign=Bjørkeskilt
Spruce Sign=Granskilt
Dark Oak Sign=Mørkeikskilt
Jungle Sign=Jungelskilt
Acacia Sign=Akasieskilt
Mangrove Sign=Mangroveskilt
Warped Hyphae Sign=Forvridd hyfeskilt
Crimson Hyphae Sign=Karmosinhyfeskilt
##[ signs_api.lua ]##
Can be written=Kan skrives på
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Skilt kan skrives på og kommer i to varianter: Veggskilt og skilt på stolpe. Skilt kan plasseres på toppen og sidene av andre blokker, men ikke under dem.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Etter å ha plassert skiltet kan du skrive noe på det. Du har 4 linjer med tekst og opptil 15 tegn for hver linje; alt utover disse grensene går tapt. Ikke alle tegn støttes. Teksten kan ikke endres når den først er skrevet; du må knuse og plassere skiltet på nytt. Kan farges og tilføres en glød.
Enter sign text:=Skriv inn skilttekst
Maximum line length: 15=Maks tegn per linje: 15
Maximum lines: 4=Maks linjer: 4
Done=Ferdig
##### not used anymore #####
Oak Sign=Eikeskilt
Bamboo Sign=Bambusskilt

View file

@ -1,5 +1,13 @@
# textdomain: mcl_signs
Sign=Znak
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Na znakach można pisać i postawić je w dwóch wariantach: znak ścienny i znak na patyku. Znaki mogą być stawiane na górze i na bokach bloków, ale nie pod nimi.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Po postawieniu znaku możesz coś na nim napisać. Masz miejsce na cztery linie tekstu po 15 znaków każda; cokolwiek poza limitami będzie utracone. Nie wszystkie znaki są wspierane. Tekstu nie można zmienić po napisaniu; musisz zniszczyć znak i postawić go ponownie. Może być pokolorowany i rozświetlony.
Enter sign text:=Wpisz tekst znaku:
Maximum line length: 15=Maksymalna długość linii: 15
Maximum lines: 4=Maksymalna liczba linii: 4
Done=Skończone
Can be written=Można na nim coś napisać
Oak Sign=Znak dębu
Birch Sign=Brzoza Znak
Spruce Sign=Świerk Znak
Dark Oak Sign=Znak ciemnego dębu
@ -8,16 +16,3 @@ Acacia Sign=Znak akacji
Mangrove Sign=Znak namorzynowy
Warped Hyphae Sign=Wypaczony znak strzępek
Crimson Hyphae Sign=Karmazynowy znak strzępek
##[ signs_api.lua ]##
Can be written=Można na nim coś napisać
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Na znakach można pisać i postawić je w dwóch wariantach: znak ścienny i znak na patyku. Znaki mogą być stawiane na górze i na bokach bloków, ale nie pod nimi.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Po postawieniu znaku możesz coś na nim napisać. Masz miejsce na cztery linie tekstu po 15 znaków każda; cokolwiek poza limitami będzie utracone. Nie wszystkie znaki są wspierane. Tekstu nie można zmienić po napisaniu; musisz zniszczyć znak i postawić go ponownie. Może być pokolorowany i rozświetlony.
Enter sign text:=Wpisz tekst znaku:
Maximum line length: 15=Maksymalna długość linii: 15
Maximum lines: 4=Maksymalna liczba linii: 4
Done=Skończone
##### not used anymore #####
Oak Sign=Znak dębu

View file

@ -1,24 +0,0 @@
# textdomain: mcl_signs
Sign=Placa
Birch Sign=Placa de Bétula
Spruce Sign=Placa de Pinheiro
Dark Oak Sign=Placa de Carvalho Escuro
Jungle Sign=Placa da Selva
Acacia Sign=Placa de Acácia
Mangrove Sign=Placa de Mangue
Warped Hyphae Sign=Placa de Hifas Distorcidas
Crimson Hyphae Sign=Placa de Hifas Carmesim
##[ signs_api.lua ]##
Can be written=Pode ser escrito
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Placas podem ser escritas e vêm em duas variantes: Placa de parede e placa de poste. Placas podem ser posicionadas na parte superior e nas laterais de outros blocos, mas não abaixo deles.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Depois de posicionar a placa, você pode escrever qualquer coisa nela. Você tem 4 linhas de texto com 15 caracteres em cada linha; qualquer coisa além desses limites será perdido. Nem todos os caracteres são suportados. O texto não pode ser alterado uma vez que esse foi escrito; você terá que quebrar e posicionar a placa novamente. Pode ser colorida e pode brilhar.
Enter sign text:=Insira o texto da placa:
Maximum line length: 15=Comprimento máximo da linha: 15
Maximum lines: 4=Máximo de linhas: 4
Done=Feito
##### not used anymore #####
Oak Sign=Placa de Carvalho
Bamboo Sign=Placa de Bambu

View file

@ -1,24 +1,18 @@
# textdomain: mcl_signs
Sign=Табличка
Birch Sign=Березовая табличка
Spruce Sign=Еловая табличка
Dark Oak Sign=Табличка из тёмного дуба
Jungle Sign=Табличка из тропического дерева
Acacia Sign=Акациевая табличка
Mangrove Sign=Мангровая табличка
Warped Hyphae Sign=Искаженная табличка
Crimson Hyphae Sign=Багровая табличка
##[ signs_api.lua ]##
Can be written=Можно написать текст
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=На табличках можно писать. Таблички бывают двух видов: настенные и стоящие отдельно. Таблички можно размещать сверху и сбоку на блоках, но не под блоками.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=После установки таблички вы можете написать на ней что-нибудь. Вам доступны 4 строки текста, до 15 символов в каждой; всё, что вы напишете сверх лимита, потеряется. Поддерживаются не все символы. Текст на уже подписанной табличке нельзя изменить. Чтобы изменить его, вам придётся сломать табличку и подписать её снова. Может быть окрашена и подствечена.
Enter sign text:=Введите текст таблички:
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=На табличках можно писать. Таблички бывают двух видов: настенные и отдельно стоящие. Таблички можно размещать на верхушках и сторонах блоков, но не под блоками.
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=После установки таблички вы можете написать на ней что-то. Вам доступны 4 строки текста, до 15 символов в каждой; всё, что вы напишете сверх лимита, потеряется. Поддерживаются не все символы. Текст нельзя изменить. Чтобы изменить его, вам придётся сломать табличку и подписать её снова. Можно раскрасить и заставить светиться.
Enter sign text:=Текст на табличке:
Maximum line length: 15=Максимальная длина строки: 15
Maximum lines: 4=Максимум строк: 4
Done=Готово
##### not used anymore #####
Oak Sign=Дубовая табличка
Bamboo Sign=Бамбуковая табличка
Can be written=Может быть подписана
Oak Sign=Дубовый знак
Birch Sign=Березовый знак
Spruce Sign=Ель Знак
Dark Oak Sign=Знак темного дуба
Jungle Sign=Знак джунглей
Acacia Sign=Знак акации
Mangrove Sign=Знак мангровых зарослей
Warped Hyphae Sign=Знак искривленных гиф
Crimson Hyphae Sign=Багровый знак гиф

View file

@ -1,24 +0,0 @@
# textdomain: mcl_signs
Sign=告示牌
Birch Sign=白桦木告示牌
Spruce Sign=云杉木告示牌
Dark Oak Sign=深色橡木告示牌
Jungle Sign=丛林木告示牌
Acacia Sign=金合欢木告示牌
Mangrove Sign=红树木告示牌
Warped Hyphae Sign=诡异菌丝告示牌
Crimson Hyphae Sign=绯红菌丝告示牌
##[ signs_api.lua ]##
Can be written=可书写
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=告示牌可以书写内容,并且有两种样式:墙式告示牌和立在告示牌柱上的告示牌。告示牌可放置在其他方块的顶部和侧面,但不能放置在其下方。
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=放置告示牌后你可以在上面书写内容。每行最多可写15个字符共4行文本超出这些限制的内容将丢失。并非所有字符都受支持。文本一旦书写完成就无法更改你必须破坏后重新放置告示牌才行。告示牌可以被染色并使其发光。
Enter sign text:=输入告示牌文本:
Maximum line length: 15=最大行长度15
Maximum lines: 4=最大行数4
Done=完成
##### not used anymore #####
Oak Sign=橡木告示牌
Bamboo Sign=竹子告示牌

View file

@ -1,23 +1,16 @@
# textdomain: mcl_signs
Sign=告示牌
Birch Sign=樺木標誌
Spruce Sign=雲杉標誌
Dark Oak Sign=深色橡木標誌
Jungle Sign=叢林標誌
Acacia Sign=相思標誌
Mangrove Sign=紅樹林標誌
Warped Hyphae Sign=
Crimson Hyphae Sign=
##[ signs_api.lua ]##
Can be written=可以寫字
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=告示牌可以寫字,有兩種變體:牆上的告示牌和柱上的告示牌。告示牌可以放在其他方塊的頂部和側面,但不能放在下面。
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=放置告示牌後你可以在上面寫東西。你最多可以寫4行文字每行最多可以寫15個字符超過這些限制的文字就會丟失。不是所有的字符都被支持。文字一旦寫完就不能更改你必須打破並重新放置標誌。可以著色並發光。
Enter sign text:=輸入告示牌文字:
Maximum line length: 15=每行最多可以寫15個字符
Maximum lines: 4=最多可以寫4行文字
Done=確認
##### not used anymore #####
Can be written=可以寫字
Oak Sign=橡木標誌
Birch Sign=樺木標誌
Spruce Sign=雲杉標誌
Dark Oak Sign=深色橡木標誌
Jungle Sign=叢林標誌
Acacia Sign=相思標誌
Mangrove Sign=紅樹林標誌

View file

@ -1,5 +1,12 @@
# textdomain: mcl_signs
Sign=
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=
Enter sign text:=
Maximum line length: 15=
Maximum lines: 4=
Done=
Can be written=
Birch Sign=
Spruce Sign=
Dark Oak Sign=
@ -8,11 +15,5 @@ Acacia Sign=
Mangrove Sign=
Warped Hyphae Sign=
Crimson Hyphae Sign=
##[ signs_api.lua ]##
Can be written=
Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=
After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=
Enter sign text:=
Maximum line length: 15=
Maximum lines: 4=
Done=
##### not used anymore #####
Oak Sign=

View file

@ -1,4 +1,2 @@
name = mcl_signs
description = New and Improved signs - can be colored and made to glow.
depends = mcl_core, mcl_sounds, mcl_dye, mcl_colors, mcl_util, mesecons_mvps
optional_depends = doc
depends = mcl_util

View file

@ -1,66 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'sign.blend'
# www.blender.org
mtllib sign.mtl
o wood_Cube.001
v 0.499985 0.082879 -0.041665
v 0.499985 0.582864 -0.041665
v 0.499985 0.082879 0.041666
v 0.499985 0.582864 0.041666
v -0.499985 0.082879 -0.041666
v -0.499985 0.582864 -0.041666
v -0.499985 0.082879 0.041665
v -0.499985 0.582864 0.041665
v 0.041665 -0.500001 -0.041665
v 0.041665 0.083315 -0.041665
v 0.041665 -0.500001 0.041665
v 0.041665 0.083315 0.041665
v -0.041665 -0.500001 -0.041665
v -0.041665 0.083315 -0.041665
v -0.041665 -0.500001 0.041665
v -0.041665 0.083315 0.041665
vt 0.031250 0.562500
vt 0.031250 0.937500
vt 0.000000 0.937500
vt 0.000000 0.562500
vt 0.812500 0.562500
vt 0.812500 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.406250 0.937500
vt 0.406250 0.562500
vt 0.406250 1.000000
vt 0.781250 1.000000
vt 0.781250 0.937500
vt 0.031250 1.000000
vt 0.031250 0.062500
vt 0.031250 0.500000
vt 0.000000 0.500000
vt 0.000000 0.062500
vt 0.125000 0.062500
vt 0.125000 0.500000
vt 0.093750 0.500000
vt 0.093750 0.062500
vt 0.062500 0.500000
vt 0.062500 0.062500
vt 0.093750 0.562500
vt 0.062500 0.562500
vn 1.000000 0.000000 0.000000
vn -0.000000 0.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
usemtl None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/10/4 6/9/4 2/2/4 1/1/4
f 3/11/5 7/12/5 5/13/5 1/9/5
f 8/11/6 4/14/6 2/2/6 6/9/6
f 9/15/1 10/16/1 12/17/1 11/18/1
f 11/19/2 12/20/2 16/21/2 15/22/2
f 15/22/3 16/21/3 14/23/3 13/24/3
f 13/24/4 14/23/4 10/16/4 9/15/4
f 11/23/5 15/21/5 13/25/5 9/26/5
f 16/16/6 12/23/6 10/26/6 14/1/6

View file

@ -1,66 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'sign 22.5.blend'
# www.blender.org
mtllib sign 22.5.mtl
o wood_Cube.001
v 0.477871 0.082879 0.152842
v 0.477871 0.582864 0.152842
v 0.445982 0.082879 0.229830
v 0.445982 0.582864 0.229830
v -0.445982 0.082879 -0.229830
v -0.445982 0.582864 -0.229830
v -0.477871 0.082879 -0.152842
v -0.477871 0.582864 -0.152842
v 0.054439 -0.500001 -0.022549
v 0.054439 0.083315 -0.022549
v 0.022549 -0.500001 0.054439
v 0.022549 0.083315 0.054439
v -0.022549 -0.500001 -0.054439
v -0.022549 0.083315 -0.054439
v -0.054439 -0.500001 0.022549
v -0.054439 0.083315 0.022549
vt 0.031250 0.562500
vt 0.031250 0.937500
vt 0.000000 0.937500
vt 0.000000 0.562500
vt 0.812500 0.562500
vt 0.812500 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.406250 0.937500
vt 0.406250 0.562500
vt 0.406250 1.000000
vt 0.781250 1.000000
vt 0.781250 0.937500
vt 0.031250 1.000000
vt 0.031250 0.062500
vt 0.031250 0.500000
vt 0.000000 0.500000
vt 0.000000 0.062500
vt 0.125000 0.062500
vt 0.125000 0.500000
vt 0.093750 0.500000
vt 0.093750 0.062500
vt 0.062500 0.500000
vt 0.062500 0.062500
vt 0.093750 0.562500
vt 0.062500 0.562500
vn 0.923900 0.000000 0.382700
vn -0.382700 0.000000 0.923900
vn -0.923900 0.000000 -0.382700
vn 0.382700 0.000000 -0.923900
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
usemtl None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/10/4 6/9/4 2/2/4 1/1/4
f 3/11/5 7/12/5 5/13/5 1/9/5
f 8/11/6 4/14/6 2/2/6 6/9/6
f 9/15/1 10/16/1 12/17/1 11/18/1
f 11/19/2 12/20/2 16/21/2 15/22/2
f 15/22/3 16/21/3 14/23/3 13/24/3
f 13/24/4 14/23/4 10/16/4 9/15/4
f 11/23/5 15/21/5 13/25/5 9/26/5
f 16/16/6 12/23/6 10/26/6 14/1/6

View file

@ -1,66 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'mcl_signs_sign45.blend'
# www.blender.org
mtllib mcl_signs_sign45.mtl
o wood_Cube.001
v 0.383005 0.082879 0.324081
v 0.383005 0.582864 0.324081
v 0.324081 0.082879 0.383005
v 0.324081 0.582864 0.383005
v -0.324081 0.082879 -0.383005
v -0.324081 0.582864 -0.383005
v -0.383005 0.082879 -0.324081
v -0.383005 0.582864 -0.324081
v 0.058924 -0.500001 0.000000
v 0.058924 0.083315 0.000000
v -0.000000 -0.500001 0.058924
v -0.000000 0.083315 0.058924
v 0.000000 -0.500001 -0.058924
v 0.000000 0.083315 -0.058924
v -0.058924 -0.500001 -0.000000
v -0.058924 0.083315 -0.000000
vt 0.031250 0.562500
vt 0.031250 0.937500
vt 0.000000 0.937500
vt 0.000000 0.562500
vt 0.812500 0.562500
vt 0.812500 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.406250 0.937500
vt 0.406250 0.562500
vt 0.406250 1.000000
vt 0.781250 1.000000
vt 0.781250 0.937500
vt 0.031250 1.000000
vt 0.031250 0.062500
vt 0.031250 0.500000
vt 0.000000 0.500000
vt 0.000000 0.062500
vt 0.125000 0.062500
vt 0.125000 0.500000
vt 0.093750 0.500000
vt 0.093750 0.062500
vt 0.062500 0.500000
vt 0.062500 0.062500
vt 0.093750 0.562500
vt 0.062500 0.562500
vn 0.707100 0.000000 0.707100
vn -0.707100 0.000000 0.707100
vn -0.707100 0.000000 -0.707100
vn 0.707100 0.000000 -0.707100
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
usemtl None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/10/4 6/9/4 2/2/4 1/1/4
f 3/11/5 7/12/5 5/13/5 1/9/5
f 8/11/6 4/14/6 2/2/6 6/9/6
f 9/15/1 10/16/1 12/17/1 11/18/1
f 11/19/2 12/20/2 16/21/2 15/22/2
f 15/22/3 16/21/3 14/23/3 13/24/3
f 13/24/4 14/23/4 10/16/4 9/15/4
f 11/23/5 15/21/5 13/25/5 9/26/5
f 16/16/6 12/23/6 10/26/6 14/1/6

View file

@ -1,66 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'mcl_signs_sign67.5.blend'
# www.blender.org
mtllib mcl_signs_sign67.5.mtl
o wood_Cube.001
v 0.229830 0.082879 0.445982
v 0.229830 0.582864 0.445982
v 0.152842 0.082879 0.477871
v 0.152842 0.582864 0.477871
v -0.152842 0.082879 -0.477871
v -0.152842 0.582864 -0.477871
v -0.229830 0.082879 -0.445982
v -0.229830 0.582864 -0.445982
v 0.054439 -0.500001 0.022549
v 0.054439 0.083315 0.022549
v -0.022549 -0.500001 0.054439
v -0.022549 0.083315 0.054439
v 0.022549 -0.500001 -0.054439
v 0.022549 0.083315 -0.054439
v -0.054439 -0.500001 -0.022549
v -0.054439 0.083315 -0.022549
vt 0.031250 0.562500
vt 0.031250 0.937500
vt 0.000000 0.937500
vt 0.000000 0.562500
vt 0.812500 0.562500
vt 0.812500 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.406250 0.937500
vt 0.406250 0.562500
vt 0.406250 1.000000
vt 0.781250 1.000000
vt 0.781250 0.937500
vt 0.031250 1.000000
vt 0.031250 0.062500
vt 0.031250 0.500000
vt 0.000000 0.500000
vt 0.000000 0.062500
vt 0.125000 0.062500
vt 0.125000 0.500000
vt 0.093750 0.500000
vt 0.093750 0.062500
vt 0.062500 0.500000
vt 0.062500 0.062500
vt 0.093750 0.562500
vt 0.062500 0.562500
vn 0.382700 0.000000 0.923900
vn -0.923900 0.000000 0.382700
vn -0.382700 0.000000 -0.923900
vn 0.923900 0.000000 -0.382700
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
usemtl None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/10/4 6/9/4 2/2/4 1/1/4
f 3/11/5 7/12/5 5/13/5 1/9/5
f 8/11/6 4/14/6 2/2/6 6/9/6
f 9/15/1 10/16/1 12/17/1 11/18/1
f 11/19/2 12/20/2 16/21/2 15/22/2
f 15/22/3 16/21/3 14/23/3 13/24/3
f 13/24/4 14/23/4 10/16/4 9/15/4
f 11/23/5 15/21/5 13/25/5 9/26/5
f 16/16/6 12/23/6 10/26/6 14/1/6

View file

@ -1,40 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'mcl_signs_signonwall.blend'
# www.blender.org
mtllib mcl_signs_signonwall.mtl
o wood_Cube.001
v 0.499985 -0.249993 0.416671
v 0.499985 0.249993 0.416671
v 0.499985 -0.249993 0.500002
v 0.499985 0.249993 0.500002
v -0.499985 -0.249993 0.416671
v -0.499985 0.249993 0.416671
v -0.499985 -0.249993 0.500002
v -0.499985 0.249993 0.500002
vt 0.031250 0.562500
vt 0.031250 0.937500
vt 0.000000 0.937500
vt 0.000000 0.562500
vt 0.812500 0.562500
vt 0.812500 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.406250 0.937500
vt 0.406250 0.562500
vt 0.406250 1.000000
vt 0.781250 1.000000
vt 0.781250 0.937500
vt 0.031250 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn -1.000000 0.000000 0.000000
vn -0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
usemtl None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/10/4 6/9/4 2/2/4 1/1/4
f 3/11/5 7/12/5 5/13/5 1/9/5
f 8/11/6 4/14/6 2/2/6 6/9/6

View file

@ -1,40 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'signonwallmount.blend'
# www.blender.org
mtllib signonwallmount.mtl
o wood_Cube.001
v 0.499985 -0.416668 -0.249992
v 0.499985 -0.416668 0.249993
v 0.499985 -0.499999 -0.249992
v 0.499985 -0.499999 0.249993
v -0.499985 -0.416668 -0.249993
v -0.499985 -0.416668 0.249992
v -0.499985 -0.499999 -0.249993
v -0.499985 -0.499999 0.249992
vt 0.031250 0.562500
vt 0.031250 0.937500
vt 0.000000 0.937500
vt 0.000000 0.562500
vt 0.812500 0.562500
vt 0.812500 0.937500
vt 0.437500 0.937500
vt 0.437500 0.562500
vt 0.406250 0.937500
vt 0.406250 0.562500
vt 0.406250 1.000000
vt 0.781250 1.000000
vt 0.781250 0.937500
vt 0.031250 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -1.000000 -0.000000
vn -1.000000 0.000000 -0.000000
vn -0.000000 1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn -0.000000 -0.000000 1.000000
usemtl None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/10/4 6/9/4 2/2/4 1/1/4
f 3/11/5 7/12/5 5/13/5 1/9/5
f 8/11/6 4/14/6 2/2/6 6/9/6

File diff suppressed because it is too large Load diff