diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index aa660447b7..b8838f2873 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -27,6 +27,13 @@ local NUMBER_OF_LINES = 4 local LINE_HEIGHT = 14 local CHAR_WIDTH = 5 + +-- Helper functions +local function round(num, idp) + local mult = 10^(idp or 0) + return math.floor(num * mult + 0.5) / mult +end + local string_to_array = function(str) local tab = {} for i=1,string.len(str) do @@ -103,9 +110,14 @@ local generate_line = function(s, ypos) return texture end -local generate_texture = function(lines) +local generate_texture = function(lines, signnodename) local texture = "[combine:"..SIGN_WIDTH.."x"..SIGN_WIDTH - local ypos = 9 + local ypos + if signnodename == "mcl_signs:wall_sign" then + ypos = 29 + else + ypos = -2 + end for i = 1, #lines do texture = texture..generate_line(lines[i], ypos) ypos = ypos + LINE_HEIGHT @@ -113,23 +125,35 @@ local generate_texture = function(lines) return texture end -local n = 7/16 - 1/128 +local n = 23/56 - 1/128 -local signs = { +local signtext_info_wall = { {delta = {x = 0, y = 0, z = n}, yaw = 0}, {delta = {x = n, y = 0, z = 0}, yaw = math.pi / -2}, {delta = {x = 0, y = 0, z = -n}, yaw = math.pi}, {delta = {x = -n, y = 0, z = 0}, yaw = math.pi / 2}, } -local m = 1/32 + 1/128 +local signtext_info_standing = {} -local signs_yard = { - {delta = {x = 0, y = 0, z = -m}, yaw = 0}, - {delta = {x = -m, y = 0, z = 0}, yaw = math.pi / -2}, - {delta = {x = 0, y = 0, z = m}, yaw = math.pi}, - {delta = {x = m, y = 0, z = 0}, yaw = math.pi / 2}, -} +local m = -1/16 + 1/64 +for rot=0, 15 do + local yaw = math.pi*2 - (((math.pi*2) / 16) * rot) + local delta = vector.multiply(minetest.yaw_to_dir(yaw), m) + table.insert(signtext_info_standing, { delta = delta, yaw = yaw }) +end + +local function get_rotation_level(facedir, nodename) + local rl = facedir * 4 + if nodename == "mcl_signs:standing_sign22_5" then + rl = rl + 1 + elseif nodename == "mcl_signs:standing_sign45" then + rl = rl + 2 + elseif nodename == "mcl_signs:standing_sign67_5" then + rl = rl + 3 + end + return rl +end local sign_groups = {handy=1,axey=1, flammable=1, deco_block=1, material_wood=1, attached_node=1} @@ -158,24 +182,36 @@ local update_sign = function(pos, fields, sender) local objects = minetest.get_objects_inside_radius(pos, 0.5) for _, v in ipairs(objects) do if v:get_entity_name() == "mcl_signs:text" then - v:set_properties({textures={generate_texture(create_lines(text))}}) + v:set_properties({textures={generate_texture(create_lines(text), v:get_luaentity()._signnodename)}}) return end end -- if there is no entity local sign_info - if minetest.get_node(pos).name == "mcl_signs:standing_sign" then - sign_info = signs_yard[minetest.get_node(pos).param2 + 1] - elseif minetest.get_node(pos).name == "mcl_signs:wall_sign" then - sign_info = signs[minetest.get_node(pos).param2 + 1] + local n = minetest.get_node(pos) + local nn = n.name + if nn == "mcl_signs:standing_sign" or nn == "mcl_signs:standing_sign22_5" or nn == "mcl_signs:standing_sign45" or nn == "mcl_signs:standing_sign67_5" then + sign_info = signtext_info_standing[get_rotation_level(n.param2, nn) + 1] + elseif nn == "mcl_signs:wall_sign" then + sign_info = signtext_info_wall[n.param2 + 1] end if sign_info == nil then return end - local text_entity = minetest.add_entity({x = pos.x + sign_info.delta.x, - y = pos.y + sign_info.delta.y, - z = pos.z + sign_info.delta.z}, "mcl_signs:text") + local text_entity = minetest.add_entity({ + x = pos.x + sign_info.delta.x, + y = pos.y + sign_info.delta.y, + z = pos.z + sign_info.delta.z}, "mcl_signs:text") + if nn == "mcl_signs:standing_sign22_5" then + sign_info.yaw = sign_info.yaw + math.pi / 8 + elseif nn == "mcl_signs:standing_sign45" then + sign_info.yaw = sign_info.yaw + 2 * (math.pi / 8) + elseif nn == "mcl_signs:standing_sign67_5" then + sign_info.yaw = sign_info.yaw + 3 * (math.pi / 8) + end + text_entity:get_luaentity()._signnodename = nn + text_entity:setyaw(sign_info.yaw) end @@ -210,9 +246,10 @@ minetest.register_node("mcl_signs:wall_sign", { paramtype = "light", sunlight_propagates = true, paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = {type = "wallmounted", wall_side = {-0.499, -1/16, -7/16, -7/16, 7/16, 7/16}}, - tiles = {"signs_wall.png"}, + drawtype = "mesh", + mesh = "mcl_signs_signonwallmount.obj", + selection_box = {type = "wallmounted", wall_side = {-0.5, -7/28, -0.5, -23/56, 7/28, 0.5}}, + tiles = {"mcl_signs_sign.png"}, groups = sign_groups, stack_max = 16, sounds = mcl_sounds.node_sound_wood_defaults(), @@ -222,16 +259,14 @@ minetest.register_node("mcl_signs:wall_sign", { local under = pointed_thing.under -- Use pointed node's on_rightclick function first, if present - local node = minetest.get_node(under) + local node_under = minetest.get_node(under) if placer and not placer:get_player_control().sneak then - if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then - return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack end end - local dir = {x = under.x - above.x, - y = under.y - above.y, - z = under.z - above.z} + local dir = vector.subtract(under, above) -- Only build when it's legal local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] @@ -242,44 +277,73 @@ minetest.register_node("mcl_signs:wall_sign", { local wdir = minetest.dir_to_wallmounted(dir) local placer_pos = placer:getpos() - if placer_pos then - dir = { - x = above.x - placer_pos.x, - y = above.y - placer_pos.y, - z = above.z - placer_pos.z - } - end local fdir = minetest.dir_to_facedir(dir) local sign_info - local place_pos + local nodeitem = ItemStack(itemstack) + -- Ceiling if wdir == 0 then --how would you add sign to ceiling? return itemstack + -- Floor elseif wdir == 1 then - place_pos = above - local stand = ItemStack(itemstack) - stand:set_name("mcl_signs:standing_sign") - local _, success = minetest.item_place_node(stand, placer, pointed_thing, fdir) + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = math.pi*2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = round((yaw / (math.pi*2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign") + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5") + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45") + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5") + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) if not success then return itemstack end - sign_info = signs_yard[fdir + 1] + sign_info = signtext_info_standing[rotation_level + 1] + -- Side else - place_pos = above + -- Wall sign local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) if not success then return itemstack end - sign_info = signs[fdir + 1] + sign_info = signtext_info_wall[fdir + 1] end - local text = minetest.add_entity({ + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + local text_entity = minetest.add_entity({ x = place_pos.x + sign_info.delta.x, y = place_pos.y + sign_info.delta.y, z = place_pos.z + sign_info.delta.z}, "mcl_signs:text") - text:setyaw(sign_info.yaw) + text_entity:setyaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() if not minetest.setting_getbool("creative_mode") then itemstack:take_item() @@ -300,19 +364,23 @@ minetest.register_node("mcl_signs:wall_sign", { _mcl_blast_resistance = 5, }) -minetest.register_node("mcl_signs:standing_sign", { + +-- Standing sign nodes. +-- 4 rotations at 0°, 22.5°, 45° and 67.5°. +-- These are 4 out of 16 possible rotations. +-- With facedir the remaining 12 rotations are constructed. + +-- 0° +local ssign = { paramtype = "light", sunlight_propagates = true, walkable = false, is_ground_content = false, paramtype2 = "facedir", - drawtype = "nodebox", - node_box = {type = "fixed", fixed = { - {-7/16, -1/16, -1/32, 7/16, 7/16, 1/32}, - {-1/16, -0.5, -1/32, 1/16, -1/16, 1/32}, - }}, - selection_box = {type = "fixed", fixed = {-7/16, -0.5, -1/32, 7/16, 7/16, 1/32}}, - tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"}, + drawtype = "mesh", + mesh = "mcl_signs_1sign0.obj", + selection_box = {type = "fixed", fixed = {-0.2, -0.5, -0.2, 0.2, 0.5, 0.2}}, + tiles = {"mcl_signs_sign.png"}, groups = sign_groups, drop = "mcl_signs:wall_sign", stack_max = 16, @@ -327,7 +395,24 @@ minetest.register_node("mcl_signs:standing_sign", { end, _mcl_hardness = 1, _mcl_blast_resistance = 5, -}) +} + +-- 22.5° +minetest.register_node("mcl_signs:standing_sign", ssign) +local ssign22_5 = table.copy(ssign) +ssign22_5.mesh = "mcl_signs_1sign22.5.obj" + +-- 45° +minetest.register_node("mcl_signs:standing_sign22_5", ssign22_5) +local ssign45 = table.copy(ssign) +ssign45.mesh = "mcl_signs_1sign45.obj" +minetest.register_node("mcl_signs:standing_sign45", ssign45) + +-- 67.5° +local ssign67 = table.copy(ssign) +ssign67.mesh = "mcl_signs_1sign67.5.obj" +minetest.register_node("mcl_signs:standing_sign67_5", ssign67) + minetest.register_entity("mcl_signs:text", { collisionbox = { 0, 0, 0, 0, 0, 0 }, @@ -336,20 +421,28 @@ minetest.register_entity("mcl_signs:text", { physical = false, collide_with_objects = false, - on_activate = function(self) + _signnodename = nil, -- node name of sign node to which the text belongs + + on_activate = function(self, staticdata) + if staticdata ~= nil and staticdata ~= "" then + local des = minetest.deserialize(staticdata) + if des then + self._signnodename = des._signnodename + end + end local meta = minetest.get_meta(self.object:getpos()) local text = meta:get_string("text") self.object:set_properties({ - textures={generate_texture(create_lines(text))}, + textures={generate_texture(create_lines(text), self._signnodename)}, }) self.object:set_armor_groups({ immortal = 1 }) - end + end, + get_staticdata = function(self) + local out = { _signnodename = self._signnodename } + return minetest.serialize(out) + end, }) -if minetest.setting_get("log_mods") then - minetest.log("action", "[mcl_signs] loaded") -end - minetest.register_craft({ type = "fuel", recipe = "mcl_signs:wall_sign", @@ -371,3 +464,8 @@ end minetest.register_alias("signs:sign_wall", "mcl_signs:wall_sign") minetest.register_alias("signs:sign_yard", "mcl_signs:standing_sign") + + +if minetest.setting_get("log_mods") then + minetest.log("action", "[mcl_signs] loaded") +end diff --git a/mods/ITEMS/mcl_signs/models/mcl_signs_1sign0.obj b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign0.obj new file mode 100644 index 0000000000..9ffba988d0 --- /dev/null +++ b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign0.obj @@ -0,0 +1,66 @@ +# Blender v2.76 (sub 0) OBJ File: '1sign0.blend' +# www.blender.org +mtllib 1sign0.mtl +o wood_Cube.001 +v 0.461724 0.038277 -0.038477 +v 0.461724 0.500000 -0.038477 +v 0.461724 0.038277 0.038477 +v 0.461724 0.500000 0.038477 +v -0.461724 0.038277 -0.038477 +v -0.461724 0.500000 -0.038477 +v -0.461724 0.038277 0.038477 +v -0.461724 0.500000 0.038477 +v 0.038477 -0.499999 -0.038477 +v 0.038477 0.038679 -0.038477 +v 0.038477 -0.499999 0.038477 +v 0.038477 0.038679 0.038477 +v -0.038477 -0.499999 -0.038477 +v -0.038477 0.038679 -0.038477 +v -0.038477 -0.499999 0.038477 +v -0.038477 0.038679 0.038477 +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 diff --git a/mods/ITEMS/mcl_signs/models/mcl_signs_1sign22.5.obj b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign22.5.obj new file mode 100644 index 0000000000..d502db793b --- /dev/null +++ b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign22.5.obj @@ -0,0 +1,66 @@ +# Blender v2.76 (sub 0) OBJ File: '1sign22.5.blend' +# www.blender.org +mtllib 1sign22.5.mtl +o wood_Cube.001 +v 0.441302 0.038277 0.141146 +v 0.441302 0.500000 0.141146 +v 0.411853 0.038277 0.212242 +v 0.411853 0.500000 0.212242 +v -0.411853 0.038277 -0.212242 +v -0.411853 0.500000 -0.212242 +v -0.441302 0.038277 -0.141146 +v -0.441302 0.500000 -0.141146 +v 0.050273 -0.499999 -0.020824 +v 0.050273 0.038679 -0.020824 +v 0.020824 -0.499999 0.050273 +v 0.020824 0.038679 0.050273 +v -0.020824 -0.499999 -0.050273 +v -0.020824 0.038679 -0.050273 +v -0.050273 -0.499999 0.020824 +v -0.050273 0.038679 0.020824 +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 diff --git a/mods/ITEMS/mcl_signs/models/mcl_signs_1sign45.obj b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign45.obj new file mode 100644 index 0000000000..59f0393048 --- /dev/null +++ b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign45.obj @@ -0,0 +1,66 @@ +# Blender v2.76 (sub 0) OBJ File: '1sign45.blend' +# www.blender.org +mtllib 1sign45.mtl +o wood_Cube.001 +v 0.353695 0.038277 0.299281 +v 0.353695 0.500000 0.299281 +v 0.299281 0.038277 0.353696 +v 0.299281 0.500000 0.353696 +v -0.299281 0.038277 -0.353696 +v -0.299281 0.500000 -0.353696 +v -0.353695 0.038277 -0.299281 +v -0.353695 0.500000 -0.299281 +v 0.054415 -0.499999 0.000000 +v 0.054415 0.038679 0.000000 +v -0.000000 -0.499999 0.054415 +v -0.000000 0.038679 0.054415 +v 0.000000 -0.499999 -0.054415 +v 0.000000 0.038679 -0.054415 +v -0.054415 -0.499999 -0.000000 +v -0.054415 0.038679 -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 diff --git a/mods/ITEMS/mcl_signs/models/mcl_signs_1sign67.5.obj b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign67.5.obj new file mode 100644 index 0000000000..e2ae06b494 --- /dev/null +++ b/mods/ITEMS/mcl_signs/models/mcl_signs_1sign67.5.obj @@ -0,0 +1,66 @@ +# Blender v2.76 (sub 0) OBJ File: '1sign67.5.blend' +# www.blender.org +mtllib 1sign67.5.mtl +o wood_Cube.001 +v 0.212242 0.038277 0.411853 +v 0.212242 0.500000 0.411853 +v 0.141146 0.038277 0.441302 +v 0.141146 0.500000 0.441302 +v -0.141146 0.038277 -0.441302 +v -0.141146 0.500000 -0.441302 +v -0.212242 0.038277 -0.411853 +v -0.212242 0.500000 -0.411853 +v 0.050273 -0.499999 0.020824 +v 0.050273 0.038679 0.020824 +v -0.020824 -0.499999 0.050273 +v -0.020824 0.038679 0.050273 +v 0.020824 -0.499999 -0.050273 +v 0.020824 0.038679 -0.050273 +v -0.050273 -0.499999 -0.020824 +v -0.050273 0.038679 -0.020824 +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 diff --git a/mods/ITEMS/mcl_signs/models/mcl_signs_signonwallmount.obj b/mods/ITEMS/mcl_signs/models/mcl_signs_signonwallmount.obj new file mode 100644 index 0000000000..098cdb965a --- /dev/null +++ b/mods/ITEMS/mcl_signs/models/mcl_signs_signonwallmount.obj @@ -0,0 +1,40 @@ +# 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 diff --git a/mods/ITEMS/mcl_signs/textures/mcl_signs_sign.png b/mods/ITEMS/mcl_signs/textures/mcl_signs_sign.png new file mode 100644 index 0000000000..e312cb52c6 Binary files /dev/null and b/mods/ITEMS/mcl_signs/textures/mcl_signs_sign.png differ diff --git a/mods/ITEMS/mcl_signs/textures/signs_back.png b/mods/ITEMS/mcl_signs/textures/signs_back.png deleted file mode 100644 index a19dc2f1d5..0000000000 Binary files a/mods/ITEMS/mcl_signs/textures/signs_back.png and /dev/null differ diff --git a/mods/ITEMS/mcl_signs/textures/signs_bottom.png b/mods/ITEMS/mcl_signs/textures/signs_bottom.png deleted file mode 100644 index d6b45e2fa5..0000000000 Binary files a/mods/ITEMS/mcl_signs/textures/signs_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_signs/textures/signs_front.png b/mods/ITEMS/mcl_signs/textures/signs_front.png deleted file mode 100644 index e04e9b1d4c..0000000000 Binary files a/mods/ITEMS/mcl_signs/textures/signs_front.png and /dev/null differ diff --git a/mods/ITEMS/mcl_signs/textures/signs_side.png b/mods/ITEMS/mcl_signs/textures/signs_side.png deleted file mode 100644 index 0c0243630d..0000000000 Binary files a/mods/ITEMS/mcl_signs/textures/signs_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_signs/textures/signs_top.png b/mods/ITEMS/mcl_signs/textures/signs_top.png deleted file mode 100644 index f7bd16358f..0000000000 Binary files a/mods/ITEMS/mcl_signs/textures/signs_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_signs/textures/signs_wall.png b/mods/ITEMS/mcl_signs/textures/signs_wall.png deleted file mode 100644 index dced78e40c..0000000000 Binary files a/mods/ITEMS/mcl_signs/textures/signs_wall.png and /dev/null differ