From 1b39bf7ae31f0781c65c0a8f9e1d94a37def5f56 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Rollo Date: Sat, 28 Nov 2015 20:44:04 +0100 Subject: Added facedir node support to display_lib, created font_lib, updated mods accordingly --- signs/README.md | 30 +--- signs/common.lua | 173 ++++++++---------------- signs/crafts.lua | 27 ---- signs/depends.txt | 2 +- signs/font.lua | 63 --------- signs/nodes.lua | 173 +++++++----------------- signs/textures/signs_20.png | Bin 232 -> 0 bytes signs/textures/signs_21.png | Bin 241 -> 0 bytes signs/textures/signs_22.png | Bin 235 -> 0 bytes signs/textures/signs_23.png | Bin 244 -> 0 bytes signs/textures/signs_24.png | Bin 247 -> 0 bytes signs/textures/signs_25.png | Bin 247 -> 0 bytes signs/textures/signs_26.png | Bin 246 -> 0 bytes signs/textures/signs_27.png | Bin 238 -> 0 bytes signs/textures/signs_28.png | Bin 242 -> 0 bytes signs/textures/signs_29.png | Bin 241 -> 0 bytes signs/textures/signs_2a.png | Bin 238 -> 0 bytes signs/textures/signs_2b.png | Bin 241 -> 0 bytes signs/textures/signs_2c.png | Bin 238 -> 0 bytes signs/textures/signs_2d.png | Bin 237 -> 0 bytes signs/textures/signs_2e.png | Bin 236 -> 0 bytes signs/textures/signs_2f.png | Bin 244 -> 0 bytes signs/textures/signs_30.png | Bin 239 -> 0 bytes signs/textures/signs_31.png | Bin 239 -> 0 bytes signs/textures/signs_32.png | Bin 247 -> 0 bytes signs/textures/signs_33.png | Bin 246 -> 0 bytes signs/textures/signs_34.png | Bin 247 -> 0 bytes signs/textures/signs_35.png | Bin 247 -> 0 bytes signs/textures/signs_36.png | Bin 244 -> 0 bytes signs/textures/signs_37.png | Bin 242 -> 0 bytes signs/textures/signs_38.png | Bin 240 -> 0 bytes signs/textures/signs_39.png | Bin 243 -> 0 bytes signs/textures/signs_3a.png | Bin 237 -> 0 bytes signs/textures/signs_3b.png | Bin 240 -> 0 bytes signs/textures/signs_3c.png | Bin 245 -> 0 bytes signs/textures/signs_3d.png | Bin 236 -> 0 bytes signs/textures/signs_3e.png | Bin 245 -> 0 bytes signs/textures/signs_3f.png | Bin 243 -> 0 bytes signs/textures/signs_40.png | Bin 259 -> 0 bytes signs/textures/signs_41.png | Bin 243 -> 0 bytes signs/textures/signs_42.png | Bin 240 -> 0 bytes signs/textures/signs_43.png | Bin 246 -> 0 bytes signs/textures/signs_44.png | Bin 242 -> 0 bytes signs/textures/signs_45.png | Bin 240 -> 0 bytes signs/textures/signs_46.png | Bin 241 -> 0 bytes signs/textures/signs_47.png | Bin 247 -> 0 bytes signs/textures/signs_48.png | Bin 240 -> 0 bytes signs/textures/signs_49.png | Bin 236 -> 0 bytes signs/textures/signs_4a.png | Bin 240 -> 0 bytes signs/textures/signs_4b.png | Bin 246 -> 0 bytes signs/textures/signs_4c.png | Bin 238 -> 0 bytes signs/textures/signs_4d.png | Bin 249 -> 0 bytes signs/textures/signs_4e.png | Bin 243 -> 0 bytes signs/textures/signs_4f.png | Bin 243 -> 0 bytes signs/textures/signs_50.png | Bin 241 -> 0 bytes signs/textures/signs_51.png | Bin 244 -> 0 bytes signs/textures/signs_52.png | Bin 238 -> 0 bytes signs/textures/signs_53.png | Bin 247 -> 0 bytes signs/textures/signs_54.png | Bin 237 -> 0 bytes signs/textures/signs_55.png | Bin 238 -> 0 bytes signs/textures/signs_56.png | Bin 243 -> 0 bytes signs/textures/signs_57.png | Bin 246 -> 0 bytes signs/textures/signs_58.png | Bin 245 -> 0 bytes signs/textures/signs_59.png | Bin 244 -> 0 bytes signs/textures/signs_5a.png | Bin 248 -> 0 bytes signs/textures/signs_5b.png | Bin 234 -> 0 bytes signs/textures/signs_5c.png | Bin 244 -> 0 bytes signs/textures/signs_5d.png | Bin 234 -> 0 bytes signs/textures/signs_5e.png | Bin 238 -> 0 bytes signs/textures/signs_5f.png | Bin 233 -> 0 bytes signs/textures/signs_60.png | Bin 234 -> 0 bytes signs/textures/signs_61.png | Bin 245 -> 0 bytes signs/textures/signs_62.png | Bin 242 -> 0 bytes signs/textures/signs_63.png | Bin 244 -> 0 bytes signs/textures/signs_64.png | Bin 243 -> 0 bytes signs/textures/signs_65.png | Bin 245 -> 0 bytes signs/textures/signs_66.png | Bin 240 -> 0 bytes signs/textures/signs_67.png | Bin 243 -> 0 bytes signs/textures/signs_68.png | Bin 240 -> 0 bytes signs/textures/signs_69.png | Bin 239 -> 0 bytes signs/textures/signs_6a.png | Bin 236 -> 0 bytes signs/textures/signs_6b.png | Bin 246 -> 0 bytes signs/textures/signs_6c.png | Bin 236 -> 0 bytes signs/textures/signs_6d.png | Bin 241 -> 0 bytes signs/textures/signs_6e.png | Bin 239 -> 0 bytes signs/textures/signs_6f.png | Bin 241 -> 0 bytes signs/textures/signs_70.png | Bin 242 -> 0 bytes signs/textures/signs_71.png | Bin 243 -> 0 bytes signs/textures/signs_72.png | Bin 241 -> 0 bytes signs/textures/signs_73.png | Bin 242 -> 0 bytes signs/textures/signs_74.png | Bin 243 -> 0 bytes signs/textures/signs_75.png | Bin 239 -> 0 bytes signs/textures/signs_76.png | Bin 244 -> 0 bytes signs/textures/signs_77.png | Bin 240 -> 0 bytes signs/textures/signs_78.png | Bin 244 -> 0 bytes signs/textures/signs_79.png | Bin 241 -> 0 bytes signs/textures/signs_7a.png | Bin 246 -> 0 bytes signs/textures/signs_7b.png | Bin 239 -> 0 bytes signs/textures/signs_7c.png | Bin 232 -> 0 bytes signs/textures/signs_7d.png | Bin 239 -> 0 bytes signs/textures/signs_7e.png | Bin 239 -> 0 bytes signs/textures/signs_black_inventory.png | Bin 265 -> 0 bytes signs/textures/signs_black_left.png | Bin 263 -> 0 bytes signs/textures/signs_black_right.png | Bin 258 -> 0 bytes signs/textures/signs_blue_street.png | Bin 436 -> 0 bytes signs/textures/signs_blue_street_inventory.png | Bin 472 -> 0 bytes signs/textures/signs_default.png | Bin 0 -> 554 bytes signs/textures/signs_default_inventory.png | Bin 0 -> 617 bytes signs/textures/signs_green_street.png | Bin 274 -> 0 bytes signs/textures/signs_green_street_inventory.png | Bin 279 -> 0 bytes 110 files changed, 114 insertions(+), 354 deletions(-) delete mode 100644 signs/font.lua delete mode 100644 signs/textures/signs_20.png delete mode 100644 signs/textures/signs_21.png delete mode 100644 signs/textures/signs_22.png delete mode 100644 signs/textures/signs_23.png delete mode 100644 signs/textures/signs_24.png delete mode 100644 signs/textures/signs_25.png delete mode 100644 signs/textures/signs_26.png delete mode 100644 signs/textures/signs_27.png delete mode 100644 signs/textures/signs_28.png delete mode 100644 signs/textures/signs_29.png delete mode 100644 signs/textures/signs_2a.png delete mode 100644 signs/textures/signs_2b.png delete mode 100644 signs/textures/signs_2c.png delete mode 100644 signs/textures/signs_2d.png delete mode 100644 signs/textures/signs_2e.png delete mode 100644 signs/textures/signs_2f.png delete mode 100644 signs/textures/signs_30.png delete mode 100644 signs/textures/signs_31.png delete mode 100644 signs/textures/signs_32.png delete mode 100644 signs/textures/signs_33.png delete mode 100644 signs/textures/signs_34.png delete mode 100644 signs/textures/signs_35.png delete mode 100644 signs/textures/signs_36.png delete mode 100644 signs/textures/signs_37.png delete mode 100644 signs/textures/signs_38.png delete mode 100644 signs/textures/signs_39.png delete mode 100644 signs/textures/signs_3a.png delete mode 100644 signs/textures/signs_3b.png delete mode 100644 signs/textures/signs_3c.png delete mode 100644 signs/textures/signs_3d.png delete mode 100644 signs/textures/signs_3e.png delete mode 100644 signs/textures/signs_3f.png delete mode 100644 signs/textures/signs_40.png delete mode 100644 signs/textures/signs_41.png delete mode 100644 signs/textures/signs_42.png delete mode 100644 signs/textures/signs_43.png delete mode 100644 signs/textures/signs_44.png delete mode 100644 signs/textures/signs_45.png delete mode 100644 signs/textures/signs_46.png delete mode 100644 signs/textures/signs_47.png delete mode 100644 signs/textures/signs_48.png delete mode 100644 signs/textures/signs_49.png delete mode 100644 signs/textures/signs_4a.png delete mode 100644 signs/textures/signs_4b.png delete mode 100644 signs/textures/signs_4c.png delete mode 100644 signs/textures/signs_4d.png delete mode 100644 signs/textures/signs_4e.png delete mode 100644 signs/textures/signs_4f.png delete mode 100644 signs/textures/signs_50.png delete mode 100644 signs/textures/signs_51.png delete mode 100644 signs/textures/signs_52.png delete mode 100644 signs/textures/signs_53.png delete mode 100644 signs/textures/signs_54.png delete mode 100644 signs/textures/signs_55.png delete mode 100644 signs/textures/signs_56.png delete mode 100644 signs/textures/signs_57.png delete mode 100644 signs/textures/signs_58.png delete mode 100644 signs/textures/signs_59.png delete mode 100644 signs/textures/signs_5a.png delete mode 100644 signs/textures/signs_5b.png delete mode 100644 signs/textures/signs_5c.png delete mode 100644 signs/textures/signs_5d.png delete mode 100644 signs/textures/signs_5e.png delete mode 100644 signs/textures/signs_5f.png delete mode 100644 signs/textures/signs_60.png delete mode 100644 signs/textures/signs_61.png delete mode 100644 signs/textures/signs_62.png delete mode 100644 signs/textures/signs_63.png delete mode 100644 signs/textures/signs_64.png delete mode 100644 signs/textures/signs_65.png delete mode 100644 signs/textures/signs_66.png delete mode 100644 signs/textures/signs_67.png delete mode 100644 signs/textures/signs_68.png delete mode 100644 signs/textures/signs_69.png delete mode 100644 signs/textures/signs_6a.png delete mode 100644 signs/textures/signs_6b.png delete mode 100644 signs/textures/signs_6c.png delete mode 100644 signs/textures/signs_6d.png delete mode 100644 signs/textures/signs_6e.png delete mode 100644 signs/textures/signs_6f.png delete mode 100644 signs/textures/signs_70.png delete mode 100644 signs/textures/signs_71.png delete mode 100644 signs/textures/signs_72.png delete mode 100644 signs/textures/signs_73.png delete mode 100644 signs/textures/signs_74.png delete mode 100644 signs/textures/signs_75.png delete mode 100644 signs/textures/signs_76.png delete mode 100644 signs/textures/signs_77.png delete mode 100644 signs/textures/signs_78.png delete mode 100644 signs/textures/signs_79.png delete mode 100644 signs/textures/signs_7a.png delete mode 100644 signs/textures/signs_7b.png delete mode 100644 signs/textures/signs_7c.png delete mode 100644 signs/textures/signs_7d.png delete mode 100644 signs/textures/signs_7e.png delete mode 100644 signs/textures/signs_black_inventory.png delete mode 100644 signs/textures/signs_black_left.png delete mode 100644 signs/textures/signs_black_right.png delete mode 100644 signs/textures/signs_blue_street.png delete mode 100644 signs/textures/signs_blue_street_inventory.png create mode 100644 signs/textures/signs_default.png create mode 100644 signs/textures/signs_default_inventory.png delete mode 100644 signs/textures/signs_green_street.png delete mode 100644 signs/textures/signs_green_street_inventory.png (limited to 'signs') diff --git a/signs/README.md b/signs/README.md index f85018f..8e38019 100644 --- a/signs/README.md +++ b/signs/README.md @@ -2,29 +2,19 @@ This mod provides various signs with text display. Text is locked if area is protected. -**Dependancies**: display_lib, default +**Dependancies**: default, display\_lib, font\_lib **License**: WTFPL -(Font taken from VanessaE's homedecor/signs_lib) - ## Recipes -**Blue Street Sign** - - B W S - S S S - - - - - -B = Blue Dye, W = White Dye, S = Steel Ingot - -**Green Street Sign** +**Sign** (overrides default sign) - G W S - S S S - - - - + W W W + W W W + - S - -G = Green Dye, W = White Dye, S = Steel Ingot +W = Wooden Plank, S = Stick **Poster** @@ -44,11 +34,3 @@ Poster displays only title, much more text can be read by right-clicking on it. W = Wooden Plank (group) -**Black direction sign** - - B W S - S S - - - - - - -B = Black Dye, W = White Dye, S = Steel Ingot - diff --git a/signs/common.lua b/signs/common.lua index 7ae420c..24286b9 100644 --- a/signs/common.lua +++ b/signs/common.lua @@ -1,120 +1,18 @@ -local font = {} -signs.font_height = 10 - --- Get png width, suposing png width is less than 256 (it is the case for all font textures) -local function get_png_width(filename) - local file=assert(io.open(filename,"rb")) - -- All font png are smaller than 256x256 --> read only last byte - file:seek("set",19) - local w = file:read(1) - file:close() - return w:byte() -end - --- Computes line width for a given font height and text -function signs.get_line_width(text) - local char - local width = 0 - - for p=1,#text - do - char = text:sub(p,p):byte() - if font[char] then - width = width + font[char].width - end - end - - return width -end - ---- Builds texture part for a text line --- @param text Text to be rendered --- @param x Starting x position in texture --- @param width Width of the texture (extra text is not rendered) --- @param y Vertical position of the line in texture --- @return Texture string -function signs.make_line_texture(text, x, width, y) - local char - - local texture = "" - - for p=1,#text - do - char = text:sub(p,p):byte() - if font[char] then - -- Add image only if it is visible (at least partly) - if x + font[char].width >= 0 and x <= width then - texture = texture..string.format(":%d,%d=%s", x, y, font[char].filename) - end - x = x + font[char].width - end - end - return texture -end - -local function split_lines(text, maxlines) - local splits = text:split("\n") - if maxlines then - local lines = {} - for num = 1,maxlines do - lines[num] = splits[num] - end - return lines - else - return splits - end -end - -function signs.on_display_update(pos, objref) - local meta = minetest.get_meta(pos) - local text = meta:get_string("display_text") - - local ndef = minetest.registered_nodes[minetest.get_node(pos).name] - if ndef and ndef.sign_model then - local model = signs.sign_models[ndef.sign_model] - local lines = split_lines(text, model.maxlines) - - local texturew = model.width/model.xscale - local textureh = model.height/model.yscale - - local texture = "" - - local y - if model.valing == "top" then - y = signs.font_height / 2 - else - y = (textureh - signs.font_height * #lines) / 2 + 1 - end - - for _, line in pairs(lines) do - texture = texture..signs.make_line_texture(line, - (texturew - signs.get_line_width(line)) / 2, - texturew, y) - y = y + signs.font_height - end - - local texture = string.format("[combine:%dx%d", texturew, textureh)..texture - if model.color then texture = texture.."^[colorize:"..model.color end - - objref:set_properties({ textures={texture}, visual_size = {x=model.width, y=model.height}}) - end -end - function signs.set_formspec(pos) local meta = minetest.get_meta(pos) local ndef = minetest.registered_nodes[minetest.get_node(pos).name] - if ndef and ndef.sign_model then - local model = signs.sign_models[ndef.sign_model] + if ndef and ndef.display_entities and ndef.display_entities["signs:text"] then + local maxlines = ndef.display_entities["signs:text"].maxlines local formspec - if model.maxlines == 1 then + if maxlines == 1 then formspec = "size[6,3]".. "field[0.5,0.7;5.5,1;display_text;Displayed text;${display_text}]".. "button_exit[2,2;2,1;ok;Write]" else local extralabel = "" - if model.maxlines then - extralabel = " (first "..model.maxlines.." lines only)" + if maxlines then + extralabel = " (first "..maxlines.." lines only)" end formspec = "size[6,4]".. @@ -192,14 +90,6 @@ function signs.on_rotate_direction(pos, node, user, mode, new_param2) end end --- Populate fonts table -local w, filename -for charnum=32,126 do - filename = string.format("signs_%02x.png", charnum) - w = get_png_width(signs.path.."/textures/"..filename) - font[charnum] = {filename=filename, width=w} -end - -- Generic callback for show_formspec displayed formspecs minetest.register_on_player_receive_fields(function(player, formname, fields) local found, _, mod, node_name, pos = formname:find("([%w_]+):([%w_]+)@(.+)") @@ -214,3 +104,56 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end end) + +function signs.register_sign(mod, name, model) + -- Default fields + local fields = { + sunlight_propagates = true, + paramtype = "light", + paramtype2 = "wallmounted", + drawtype = "nodebox", + node_box = { + type = "wallmounted", + wall_side = {-0.5, -model.height/2, -model.width/2, + -0.5 + model.depth, model.height/2, model.width/2}, + wall_bottom = {-model.width/2, -0.5, -model.height/2, + model.width/2, -0.5 + model.depth, model.height/2}, + wall_top = {-model.width/2, 0.5, -model.height/2, + model.width/2, 0.5 - model.depth, model.height/2}, + }, + groups = {choppy=2,dig_immediate=2,attached_node=1}, + sounds = default.node_sound_defaults(), + display_entities = { + ["signs:text"] = { + on_display_update = font_lib.on_display_update, + depth = 0.499 - model.depth, + size = { x = 1, y = 1 }, + resolution = { x = 64, y = 64 }, + maxlines = 1, + }, + + }, + on_place = display_lib.on_place, + on_construct = function(pos) + signs.set_formspec(pos) + display_lib.on_construct(pos) + end, + on_destruct = display_lib.on_destruct, + on_rotate = display_lib.on_rotate, + on_receive_fields = signs.on_receive_fields, + } + + -- Node fields override + for key, value in pairs(model.node_fields) do + fields[key] = value + end + + if not fields.wield_image then fields.wield_image = fields.inventory_image end + + -- Entity fields override + for key, value in pairs(model.entity_fields) do + fields.display_entities["signs:text"][key] = value + end + + minetest.register_node(mod..":"..name, fields) +end diff --git a/signs/crafts.lua b/signs/crafts.lua index 16b873d..2d90e52 100644 --- a/signs/crafts.lua +++ b/signs/crafts.lua @@ -1,21 +1,3 @@ -minetest.register_craft({ - output = 'signs:blue_street', - recipe = { - {'dye:blue', 'dye:white', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'signs:green_street', - recipe = { - {'dye:green', 'dye:white', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', '', ''}, - } -}) - minetest.register_craft({ output = 'signs:wooden_right', recipe = { @@ -25,15 +7,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = 'signs:black_right', - recipe = { - {'dye:black', 'dye:white', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot', ''}, - {'', '', ''}, - } -}) - minetest.register_craft({ output = 'signs:poster', recipe = { diff --git a/signs/depends.txt b/signs/depends.txt index c1feb90..a5e20d4 100644 --- a/signs/depends.txt +++ b/signs/depends.txt @@ -1,3 +1,3 @@ default display_lib - +font_lib diff --git a/signs/font.lua b/signs/font.lua deleted file mode 100644 index 2da6611..0000000 --- a/signs/font.lua +++ /dev/null @@ -1,63 +0,0 @@ - -local font = {} -signs.font_height = 10 - --- Get png width, suposing png width is less than 256 (it is the case for all font textures) -local function get_png_width(filename) - local file=assert(io.open(filename,"rb")) - -- All font png are smaller than 256x256 --> read only last byte - file:seek("set",19) - local w = file:read(1) - file:close() - return w:byte() -end - --- Computes line width for a given font height and text -function signs.get_line_width(text) - local char - local width = 0 - - for p=1,#text - do - char = text:sub(p,p):byte() - if font[char] then - width = width + font[char].width - end - end - - return width -end - ---- Builds texture part for a text line --- @param text Text to be rendered --- @param x Starting x position in texture --- @param width Width of the texture (extra text is not rendered) --- @param y Vertical position of the line in texture --- @return Texture string -function signs.make_line_texture(text, x, width, y) - local char - - local texture = "" - - for p=1,#text - do - char = text:sub(p,p):byte() - if font[char] then - -- Add image only if it is visible (at least partly) - if x + font[char].width >= 0 and x <= width then - texture = texture..string.format(":%d,%d=%s", x, y, font[char].filename) - end - x = x + font[char].width - end - end - return texture -end - --- Populate fonts table -local w, filename -for charnum=32,126 do - filename = string.format("signs_%02x.png", charnum) - w = get_png_width(signs.path.."/textures/"..filename) - font[charnum] = {filename=filename, width=w} -end - diff --git a/signs/nodes.lua b/signs/nodes.lua index 77d8925..0c23c5e 100644 --- a/signs/nodes.lua +++ b/signs/nodes.lua @@ -39,44 +39,21 @@ local function on_receive_fields_poster(pos, formname, fields, player) end end -signs.sign_models = { - blue_street={ - depth=1/16, - width=14/16, - height=12/16, - color="#fff", - maxlines = 3, - xscale = 1/144, - yscale = 1/64, - fields = { - description="Blue street sign", - tiles={"signs_blue_street.png"}, - inventory_image="signs_blue_street_inventory.png", - }, - }, - green_street={ - depth=1/32, - width=1, - height=6/16, - color="#fff", - maxlines = 1, - xscale = 1/96, - yscale = 1/64, - fields = { - description="Green street sign", - tiles={"signs_green_street.png"}, - inventory_image="signs_green_street_inventory.png", - }, - }, +-- Text entity for all signs +display_lib.register_display_entity("signs:text") + +-- Sign models and registration +local models = { wooden_right={ depth=1/16, - width=14/16, - height=7/16, - color="#000", - maxlines = 2, - xscale = 1/112, - yscale = 1/64, - fields = { + width = 14/16, + height = 7/16, + entity_fields = { + resolution = { x = 112, y = 64 }, + maxlines = 2, + color="#000", + }, + node_fields = { description="Wooden direction sign", tiles={"signs_wooden_right.png"}, inventory_image="signs_wooden_inventory.png", @@ -87,13 +64,14 @@ signs.sign_models = { }, wooden_left={ depth=1/16, - width=14/16, - height=7/16, - color="#000", - maxlines = 2, - xscale = 1/112, - yscale = 1/64, - fields = { + width = 14/16, + height = 7/16, + entity_fields = { + resolution = { x = 112, y = 64 }, + maxlines = 2, + color="#000", + }, + node_fields = { description="Wooden direction sign", tiles={"signs_wooden_left.png"}, inventory_image="signs_wooden_inventory.png", @@ -103,50 +81,17 @@ signs.sign_models = { on_rotate=signs.on_rotate_direction, }, }, - black_right={ - depth=1/32, - width=1, - height=0.5, - color="#000", - maxlines = 1, - xscale = 1/96, - yscale = 1/64, - fields = { - description="Black direction sign", - tiles={"signs_black_right.png"}, - inventory_image="signs_black_inventory.png", - on_place=signs.on_place_direction, - on_rotate=signs.on_rotate_direction, - }, - }, - black_left={ - depth=1/32, - width=1, - height=0.5, - color="#000", - maxlines = 1, - xscale = 1/96, - yscale = 1/64, - fields = { - description="Black direction sign", - tiles={"signs_black_left.png"}, - inventory_image="signs_black_inventory.png", - groups={choppy=1,oddly_breakable_by_hand=1,not_in_creative_inventory=1}, - drop="signs:black_right", - on_place=signs.on_place_direction, - on_rotate=signs.on_rotate_direction, - }, - }, poster={ depth=1/32, - width=26/32, - height=30/32, - color="#000", - valing="top", - maxlines = 1, - xscale = 1/144, - yscale = 1/64, - fields = { + width = 26/32, + height = 30/32, + entity_fields = { + resolution = { x = 144, y = 64 }, + maxlines = 1, + color="#000", + valign="top", + }, + node_fields = { description="Poster", tiles={"signs_poster.png"}, inventory_image="signs_poster_inventory.png", @@ -157,47 +102,27 @@ signs.sign_models = { }, } -display_lib.register_display_entity("signs:text") -for model_name, model in pairs(signs.sign_models) +for name, model in pairs(models) do - local fields = { - sunlight_propagates = true, - paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_side = {-0.5, -model.height/2, -model.width/2, - -0.5 + model.depth, model.height/2, model.width/2}, - wall_bottom = {-model.width/2, -0.5, -model.height/2, - model.width/2, -0.5 + model.depth, model.height/2}, - wall_top = {-model.width/2, 0.5, -model.height/2, - model.width/2, 0.5 - model.depth, model.height/2}, + signs.register_sign("signs", name, model) +end + +-- Override default sign +signs.register_sign(":default", "sign_wall", { + depth = 1/16, + width = 14/16, + height = 10/16, + entity_fields = { + size = { x = 12/16, y = 8/16 }, + resolution = { x = 144, y = 64 }, + maxlines = 3, + color="#000", }, - groups = {choppy=1,oddly_breakable_by_hand=1}, - sign_model = model_name, - display_entities = { - ["signs:text"] = { - depth = model.depth-0.499, - on_display_update = signs.on_display_update }, + node_fields = { + description="Sign", + tiles={"signs_default.png"}, + inventory_image="signs_default_inventory.png", }, - on_place = display_lib.on_place, - on_construct = function(pos) - signs.set_formspec(pos) - display_lib.on_construct(pos) - end, - on_destruct = display_lib.on_destruct, - on_rotate = display_lib.on_rotate, - on_receive_fields = signs.on_receive_fields, - } - - for key, value in pairs(model.fields) do - fields[key] = value - end - - if not fields.wield_image then fields.wield_image = fields.inventory_image end - - minetest.register_node("signs:"..model_name, fields) -end + }) diff --git a/signs/textures/signs_20.png b/signs/textures/signs_20.png deleted file mode 100644 index 43df9d1..0000000 Binary files a/signs/textures/signs_20.png and /dev/null differ diff --git a/signs/textures/signs_21.png b/signs/textures/signs_21.png deleted file mode 100644 index b927105..0000000 Binary files a/signs/textures/signs_21.png and /dev/null differ diff --git a/signs/textures/signs_22.png b/signs/textures/signs_22.png deleted file mode 100644 index fae7109..0000000 Binary files a/signs/textures/signs_22.png and /dev/null differ diff --git a/signs/textures/signs_23.png b/signs/textures/signs_23.png deleted file mode 100644 index 0995756..0000000 Binary files a/signs/textures/signs_23.png and /dev/null differ diff --git a/signs/textures/signs_24.png b/signs/textures/signs_24.png deleted file mode 100644 index 18b37d9..0000000 Binary files a/signs/textures/signs_24.png and /dev/null differ diff --git a/signs/textures/signs_25.png b/signs/textures/signs_25.png deleted file mode 100644 index 83737d3..0000000 Binary files a/signs/textures/signs_25.png and /dev/null differ diff --git a/signs/textures/signs_26.png b/signs/textures/signs_26.png deleted file mode 100644 index 94357c4..0000000 Binary files a/signs/textures/signs_26.png and /dev/null differ diff --git a/signs/textures/signs_27.png b/signs/textures/signs_27.png deleted file mode 100644 index cd4426c..0000000 Binary files a/signs/textures/signs_27.png and /dev/null differ diff --git a/signs/textures/signs_28.png b/signs/textures/signs_28.png deleted file mode 100644 index 66fd16e..0000000 Binary files a/signs/textures/signs_28.png and /dev/null differ diff --git a/signs/textures/signs_29.png b/signs/textures/signs_29.png deleted file mode 100644 index 324d1d2..0000000 Binary files a/signs/textures/signs_29.png and /dev/null differ diff --git a/signs/textures/signs_2a.png b/signs/textures/signs_2a.png deleted file mode 100644 index 27bafea..0000000 Binary files a/signs/textures/signs_2a.png and /dev/null differ diff --git a/signs/textures/signs_2b.png b/signs/textures/signs_2b.png deleted file mode 100644 index 28a8c7f..0000000 Binary files a/signs/textures/signs_2b.png and /dev/null differ diff --git a/signs/textures/signs_2c.png b/signs/textures/signs_2c.png deleted file mode 100644 index 16bf1e4..0000000 Binary files a/signs/textures/signs_2c.png and /dev/null differ diff --git a/signs/textures/signs_2d.png b/signs/textures/signs_2d.png deleted file mode 100644 index b555ad6..0000000 Binary files a/signs/textures/signs_2d.png and /dev/null differ diff --git a/signs/textures/signs_2e.png b/signs/textures/signs_2e.png deleted file mode 100644 index cdfa677..0000000 Binary files a/signs/textures/signs_2e.png and /dev/null differ diff --git a/signs/textures/signs_2f.png b/signs/textures/signs_2f.png deleted file mode 100644 index e76fdf4..0000000 Binary files a/signs/textures/signs_2f.png and /dev/null differ diff --git a/signs/textures/signs_30.png b/signs/textures/signs_30.png deleted file mode 100644 index 5a57af3..0000000 Binary files a/signs/textures/signs_30.png and /dev/null differ diff --git a/signs/textures/signs_31.png b/signs/textures/signs_31.png deleted file mode 100644 index 3b8ebf0..0000000 Binary files a/signs/textures/signs_31.png and /dev/null differ diff --git a/signs/textures/signs_32.png b/signs/textures/signs_32.png deleted file mode 100644 index 9a869a8..0000000 Binary files a/signs/textures/signs_32.png and /dev/null differ diff --git a/signs/textures/signs_33.png b/signs/textures/signs_33.png deleted file mode 100644 index 0bbaf59..0000000 Binary files a/signs/textures/signs_33.png and /dev/null differ diff --git a/signs/textures/signs_34.png b/signs/textures/signs_34.png deleted file mode 100644 index f6dfe63..0000000 Binary files a/signs/textures/signs_34.png and /dev/null differ diff --git a/signs/textures/signs_35.png b/signs/textures/signs_35.png deleted file mode 100644 index 71a9883..0000000 Binary files a/signs/textures/signs_35.png and /dev/null differ diff --git a/signs/textures/signs_36.png b/signs/textures/signs_36.png deleted file mode 100644 index 6553bed..0000000 Binary files a/signs/textures/signs_36.png and /dev/null differ diff --git a/signs/textures/signs_37.png b/signs/textures/signs_37.png deleted file mode 100644 index 53b9541..0000000 Binary files a/signs/textures/signs_37.png and /dev/null differ diff --git a/signs/textures/signs_38.png b/signs/textures/signs_38.png deleted file mode 100644 index 0933814..0000000 Binary files a/signs/textures/signs_38.png and /dev/null differ diff --git a/signs/textures/signs_39.png b/signs/textures/signs_39.png deleted file mode 100644 index 94dae88..0000000 Binary files a/signs/textures/signs_39.png and /dev/null differ diff --git a/signs/textures/signs_3a.png b/signs/textures/signs_3a.png deleted file mode 100644 index 09b4793..0000000 Binary files a/signs/textures/signs_3a.png and /dev/null differ diff --git a/signs/textures/signs_3b.png b/signs/textures/signs_3b.png deleted file mode 100644 index 8f9076b..0000000 Binary files a/signs/textures/signs_3b.png and /dev/null differ diff --git a/signs/textures/signs_3c.png b/signs/textures/signs_3c.png deleted file mode 100644 index a5313c9..0000000 Binary files a/signs/textures/signs_3c.png and /dev/null differ diff --git a/signs/textures/signs_3d.png b/signs/textures/signs_3d.png deleted file mode 100644 index 153c272..0000000 Binary files a/signs/textures/signs_3d.png and /dev/null differ diff --git a/signs/textures/signs_3e.png b/signs/textures/signs_3e.png deleted file mode 100644 index ced7868..0000000 Binary files a/signs/textures/signs_3e.png and /dev/null differ diff --git a/signs/textures/signs_3f.png b/signs/textures/signs_3f.png deleted file mode 100644 index 3dfc73b..0000000 Binary files a/signs/textures/signs_3f.png and /dev/null differ diff --git a/signs/textures/signs_40.png b/signs/textures/signs_40.png deleted file mode 100644 index 65dc19f..0000000 Binary files a/signs/textures/signs_40.png and /dev/null differ diff --git a/signs/textures/signs_41.png b/signs/textures/signs_41.png deleted file mode 100644 index 0d74cdb..0000000 Binary files a/signs/textures/signs_41.png and /dev/null differ diff --git a/signs/textures/signs_42.png b/signs/textures/signs_42.png deleted file mode 100644 index 7432e5f..0000000 Binary files a/signs/textures/signs_42.png and /dev/null differ diff --git a/signs/textures/signs_43.png b/signs/textures/signs_43.png deleted file mode 100644 index 5a2e165..0000000 Binary files a/signs/textures/signs_43.png and /dev/null differ diff --git a/signs/textures/signs_44.png b/signs/textures/signs_44.png deleted file mode 100644 index f2c4d07..0000000 Binary files a/signs/textures/signs_44.png and /dev/null differ diff --git a/signs/textures/signs_45.png b/signs/textures/signs_45.png deleted file mode 100644 index de77e41..0000000 Binary files a/signs/textures/signs_45.png and /dev/null differ diff --git a/signs/textures/signs_46.png b/signs/textures/signs_46.png deleted file mode 100644 index a19af77..0000000 Binary files a/signs/textures/signs_46.png and /dev/null differ diff --git a/signs/textures/signs_47.png b/signs/textures/signs_47.png deleted file mode 100644 index 30c6818..0000000 Binary files a/signs/textures/signs_47.png and /dev/null differ diff --git a/signs/textures/signs_48.png b/signs/textures/signs_48.png deleted file mode 100644 index e49cee4..0000000 Binary files a/signs/textures/signs_48.png and /dev/null differ diff --git a/signs/textures/signs_49.png b/signs/textures/signs_49.png deleted file mode 100644 index 534500b..0000000 Binary files a/signs/textures/signs_49.png and /dev/null differ diff --git a/signs/textures/signs_4a.png b/signs/textures/signs_4a.png deleted file mode 100644 index 5575e6d..0000000 Binary files a/signs/textures/signs_4a.png and /dev/null differ diff --git a/signs/textures/signs_4b.png b/signs/textures/signs_4b.png deleted file mode 100644 index 0afb35d..0000000 Binary files a/signs/textures/signs_4b.png and /dev/null differ diff --git a/signs/textures/signs_4c.png b/signs/textures/signs_4c.png deleted file mode 100644 index 99af40d..0000000 Binary files a/signs/textures/signs_4c.png and /dev/null differ diff --git a/signs/textures/signs_4d.png b/signs/textures/signs_4d.png deleted file mode 100644 index 14648ed..0000000 Binary files a/signs/textures/signs_4d.png and /dev/null differ diff --git a/signs/textures/signs_4e.png b/signs/textures/signs_4e.png deleted file mode 100644 index 57abfbb..0000000 Binary files a/signs/textures/signs_4e.png and /dev/null differ diff --git a/signs/textures/signs_4f.png b/signs/textures/signs_4f.png deleted file mode 100644 index 06e0c8d..0000000 Binary files a/signs/textures/signs_4f.png and /dev/null differ diff --git a/signs/textures/signs_50.png b/signs/textures/signs_50.png deleted file mode 100644 index fba27a0..0000000 Binary files a/signs/textures/signs_50.png and /dev/null differ diff --git a/signs/textures/signs_51.png b/signs/textures/signs_51.png deleted file mode 100644 index 081e272..0000000 Binary files a/signs/textures/signs_51.png and /dev/null differ diff --git a/signs/textures/signs_52.png b/signs/textures/signs_52.png deleted file mode 100644 index 12fe421..0000000 Binary files a/signs/textures/signs_52.png and /dev/null differ diff --git a/signs/textures/signs_53.png b/signs/textures/signs_53.png deleted file mode 100644 index 7e1bbe0..0000000 Binary files a/signs/textures/signs_53.png and /dev/null differ diff --git a/signs/textures/signs_54.png b/signs/textures/signs_54.png deleted file mode 100644 index f50a8b8..0000000 Binary files a/signs/textures/signs_54.png and /dev/null differ diff --git a/signs/textures/signs_55.png b/signs/textures/signs_55.png deleted file mode 100644 index 4682223..0000000 Binary files a/signs/textures/signs_55.png and /dev/null differ diff --git a/signs/textures/signs_56.png b/signs/textures/signs_56.png deleted file mode 100644 index c8a55c4..0000000 Binary files a/signs/textures/signs_56.png and /dev/null differ diff --git a/signs/textures/signs_57.png b/signs/textures/signs_57.png deleted file mode 100644 index 419191c..0000000 Binary files a/signs/textures/signs_57.png and /dev/null differ diff --git a/signs/textures/signs_58.png b/signs/textures/signs_58.png deleted file mode 100644 index 1175a0e..0000000 Binary files a/signs/textures/signs_58.png and /dev/null differ diff --git a/signs/textures/signs_59.png b/signs/textures/signs_59.png deleted file mode 100644 index 9a52397..0000000 Binary files a/signs/textures/signs_59.png and /dev/null differ diff --git a/signs/textures/signs_5a.png b/signs/textures/signs_5a.png deleted file mode 100644 index 64c1c4f..0000000 Binary files a/signs/textures/signs_5a.png and /dev/null differ diff --git a/signs/textures/signs_5b.png b/signs/textures/signs_5b.png deleted file mode 100644 index c360403..0000000 Binary files a/signs/textures/signs_5b.png and /dev/null differ diff --git a/signs/textures/signs_5c.png b/signs/textures/signs_5c.png deleted file mode 100644 index 08cf8b6..0000000 Binary files a/signs/textures/signs_5c.png and /dev/null differ diff --git a/signs/textures/signs_5d.png b/signs/textures/signs_5d.png deleted file mode 100644 index 2309ee8..0000000 Binary files a/signs/textures/signs_5d.png and /dev/null differ diff --git a/signs/textures/signs_5e.png b/signs/textures/signs_5e.png deleted file mode 100644 index 60a1dbd..0000000 Binary files a/signs/textures/signs_5e.png and /dev/null differ diff --git a/signs/textures/signs_5f.png b/signs/textures/signs_5f.png deleted file mode 100644 index e7a4d90..0000000 Binary files a/signs/textures/signs_5f.png and /dev/null differ diff --git a/signs/textures/signs_60.png b/signs/textures/signs_60.png deleted file mode 100644 index cd2b1ef..0000000 Binary files a/signs/textures/signs_60.png and /dev/null differ diff --git a/signs/textures/signs_61.png b/signs/textures/signs_61.png deleted file mode 100644 index 874433d..0000000 Binary files a/signs/textures/signs_61.png and /dev/null differ diff --git a/signs/textures/signs_62.png b/signs/textures/signs_62.png deleted file mode 100644 index f29b709..0000000 Binary files a/signs/textures/signs_62.png and /dev/null differ diff --git a/signs/textures/signs_63.png b/signs/textures/signs_63.png deleted file mode 100644 index 6d46292..0000000 Binary files a/signs/textures/signs_63.png and /dev/null differ diff --git a/signs/textures/signs_64.png b/signs/textures/signs_64.png deleted file mode 100644 index 30e4497..0000000 Binary files a/signs/textures/signs_64.png and /dev/null differ diff --git a/signs/textures/signs_65.png b/signs/textures/signs_65.png deleted file mode 100644 index 8644032..0000000 Binary files a/signs/textures/signs_65.png and /dev/null differ diff --git a/signs/textures/signs_66.png b/signs/textures/signs_66.png deleted file mode 100644 index 5d4f4b9..0000000 Binary files a/signs/textures/signs_66.png and /dev/null differ diff --git a/signs/textures/signs_67.png b/signs/textures/signs_67.png deleted file mode 100644 index 990e8e3..0000000 Binary files a/signs/textures/signs_67.png and /dev/null differ diff --git a/signs/textures/signs_68.png b/signs/textures/signs_68.png deleted file mode 100644 index 6b936aa..0000000 Binary files a/signs/textures/signs_68.png and /dev/null differ diff --git a/signs/textures/signs_69.png b/signs/textures/signs_69.png deleted file mode 100644 index 3251e2e..0000000 Binary files a/signs/textures/signs_69.png and /dev/null differ diff --git a/signs/textures/signs_6a.png b/signs/textures/signs_6a.png deleted file mode 100644 index 1e0082c..0000000 Binary files a/signs/textures/signs_6a.png and /dev/null differ diff --git a/signs/textures/signs_6b.png b/signs/textures/signs_6b.png deleted file mode 100644 index 788c3df..0000000 Binary files a/signs/textures/signs_6b.png and /dev/null differ diff --git a/signs/textures/signs_6c.png b/signs/textures/signs_6c.png deleted file mode 100644 index 534500b..0000000 Binary files a/signs/textures/signs_6c.png and /dev/null differ diff --git a/signs/textures/signs_6d.png b/signs/textures/signs_6d.png deleted file mode 100644 index fca6d31..0000000 Binary files a/signs/textures/signs_6d.png and /dev/null differ diff --git a/signs/textures/signs_6e.png b/signs/textures/signs_6e.png deleted file mode 100644 index 10930a1..0000000 Binary files a/signs/textures/signs_6e.png and /dev/null differ diff --git a/signs/textures/signs_6f.png b/signs/textures/signs_6f.png deleted file mode 100644 index f4aef64..0000000 Binary files a/signs/textures/signs_6f.png and /dev/null differ diff --git a/signs/textures/signs_70.png b/signs/textures/signs_70.png deleted file mode 100644 index dac5f79..0000000 Binary files a/signs/textures/signs_70.png and /dev/null differ diff --git a/signs/textures/signs_71.png b/signs/textures/signs_71.png deleted file mode 100644 index cc31972..0000000 Binary files a/signs/textures/signs_71.png and /dev/null differ diff --git a/signs/textures/signs_72.png b/signs/textures/signs_72.png deleted file mode 100644 index d8dbcee..0000000 Binary files a/signs/textures/signs_72.png and /dev/null differ diff --git a/signs/textures/signs_73.png b/signs/textures/signs_73.png deleted file mode 100644 index 60911df..0000000 Binary files a/signs/textures/signs_73.png and /dev/null differ diff --git a/signs/textures/signs_74.png b/signs/textures/signs_74.png deleted file mode 100644 index 079e2f1..0000000 Binary files a/signs/textures/signs_74.png and /dev/null differ diff --git a/signs/textures/signs_75.png b/signs/textures/signs_75.png deleted file mode 100644 index c86aaad..0000000 Binary files a/signs/textures/signs_75.png and /dev/null differ diff --git a/signs/textures/signs_76.png b/signs/textures/signs_76.png deleted file mode 100644 index 5101584..0000000 Binary files a/signs/textures/signs_76.png and /dev/null differ diff --git a/signs/textures/signs_77.png b/signs/textures/signs_77.png deleted file mode 100644 index d2bdb98..0000000 Binary files a/signs/textures/signs_77.png and /dev/null differ diff --git a/signs/textures/signs_78.png b/signs/textures/signs_78.png deleted file mode 100644 index 20927d9..0000000 Binary files a/signs/textures/signs_78.png and /dev/null differ diff --git a/signs/textures/signs_79.png b/signs/textures/signs_79.png deleted file mode 100644 index 15a76a7..0000000 Binary files a/signs/textures/signs_79.png and /dev/null differ diff --git a/signs/textures/signs_7a.png b/signs/textures/signs_7a.png deleted file mode 100644 index 43a1f05..0000000 Binary files a/signs/textures/signs_7a.png and /dev/null differ diff --git a/signs/textures/signs_7b.png b/signs/textures/signs_7b.png deleted file mode 100644 index 08c27a1..0000000 Binary files a/signs/textures/signs_7b.png and /dev/null differ diff --git a/signs/textures/signs_7c.png b/signs/textures/signs_7c.png deleted file mode 100644 index db5bdb3..0000000 Binary files a/signs/textures/signs_7c.png and /dev/null differ diff --git a/signs/textures/signs_7d.png b/signs/textures/signs_7d.png deleted file mode 100644 index 52a64af..0000000 Binary files a/signs/textures/signs_7d.png and /dev/null differ diff --git a/signs/textures/signs_7e.png b/signs/textures/signs_7e.png deleted file mode 100644 index 8a9a865..0000000 Binary files a/signs/textures/signs_7e.png and /dev/null differ diff --git a/signs/textures/signs_black_inventory.png b/signs/textures/signs_black_inventory.png deleted file mode 100644 index 4b10ee3..0000000 Binary files a/signs/textures/signs_black_inventory.png and /dev/null differ diff --git a/signs/textures/signs_black_left.png b/signs/textures/signs_black_left.png deleted file mode 100644 index 8837dcb..0000000 Binary files a/signs/textures/signs_black_left.png and /dev/null differ diff --git a/signs/textures/signs_black_right.png b/signs/textures/signs_black_right.png deleted file mode 100644 index 0951da0..0000000 Binary files a/signs/textures/signs_black_right.png and /dev/null differ diff --git a/signs/textures/signs_blue_street.png b/signs/textures/signs_blue_street.png deleted file mode 100644 index 540a390..0000000 Binary files a/signs/textures/signs_blue_street.png and /dev/null differ diff --git a/signs/textures/signs_blue_street_inventory.png b/signs/textures/signs_blue_street_inventory.png deleted file mode 100644 index a702669..0000000 Binary files a/signs/textures/signs_blue_street_inventory.png and /dev/null differ diff --git a/signs/textures/signs_default.png b/signs/textures/signs_default.png new file mode 100644 index 0000000..0db6bfd Binary files /dev/null and b/signs/textures/signs_default.png differ diff --git a/signs/textures/signs_default_inventory.png b/signs/textures/signs_default_inventory.png new file mode 100644 index 0000000..55a5120 Binary files /dev/null and b/signs/textures/signs_default_inventory.png differ diff --git a/signs/textures/signs_green_street.png b/signs/textures/signs_green_street.png deleted file mode 100644 index b5c653d..0000000 Binary files a/signs/textures/signs_green_street.png and /dev/null differ diff --git a/signs/textures/signs_green_street_inventory.png b/signs/textures/signs_green_street_inventory.png deleted file mode 100644 index 6c2a52c..0000000 Binary files a/signs/textures/signs_green_street_inventory.png and /dev/null differ -- cgit v1.2.3