aboutsummaryrefslogtreecommitdiff
path: root/signs
diff options
context:
space:
mode:
authorPierre-Yves Rollo <dev@pyrollo.com>2015-11-28 20:44:04 +0100
committerPierre-Yves Rollo <dev@pyrollo.com>2015-11-28 20:44:04 +0100
commit1b39bf7ae31f0781c65c0a8f9e1d94a37def5f56 (patch)
treeb1ca35fc4238e17eedf782c3b0f631e81d2f7558 /signs
parent9b4513bf9ded0ec759431140b59382fea0bc6009 (diff)
downloaddisplay_modpack-1b39bf7ae31f0781c65c0a8f9e1d94a37def5f56.tar.gz
display_modpack-1b39bf7ae31f0781c65c0a8f9e1d94a37def5f56.tar.bz2
display_modpack-1b39bf7ae31f0781c65c0a8f9e1d94a37def5f56.zip
Added facedir node support to display_lib, created font_lib, updated mods accordingly
Diffstat (limited to 'signs')
-rw-r--r--signs/README.md30
-rw-r--r--signs/common.lua173
-rw-r--r--signs/crafts.lua27
-rw-r--r--signs/depends.txt2
-rw-r--r--signs/font.lua63
-rw-r--r--signs/nodes.lua173
-rw-r--r--signs/textures/signs_20.pngbin232 -> 0 bytes
-rw-r--r--signs/textures/signs_21.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_22.pngbin235 -> 0 bytes
-rw-r--r--signs/textures/signs_23.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_24.pngbin247 -> 0 bytes
-rw-r--r--signs/textures/signs_25.pngbin247 -> 0 bytes
-rw-r--r--signs/textures/signs_26.pngbin246 -> 0 bytes
-rw-r--r--signs/textures/signs_27.pngbin238 -> 0 bytes
-rw-r--r--signs/textures/signs_28.pngbin242 -> 0 bytes
-rw-r--r--signs/textures/signs_29.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_2a.pngbin238 -> 0 bytes
-rw-r--r--signs/textures/signs_2b.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_2c.pngbin238 -> 0 bytes
-rw-r--r--signs/textures/signs_2d.pngbin237 -> 0 bytes
-rw-r--r--signs/textures/signs_2e.pngbin236 -> 0 bytes
-rw-r--r--signs/textures/signs_2f.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_30.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_31.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_32.pngbin247 -> 0 bytes
-rw-r--r--signs/textures/signs_33.pngbin246 -> 0 bytes
-rw-r--r--signs/textures/signs_34.pngbin247 -> 0 bytes
-rw-r--r--signs/textures/signs_35.pngbin247 -> 0 bytes
-rw-r--r--signs/textures/signs_36.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_37.pngbin242 -> 0 bytes
-rw-r--r--signs/textures/signs_38.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_39.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_3a.pngbin237 -> 0 bytes
-rw-r--r--signs/textures/signs_3b.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_3c.pngbin245 -> 0 bytes
-rw-r--r--signs/textures/signs_3d.pngbin236 -> 0 bytes
-rw-r--r--signs/textures/signs_3e.pngbin245 -> 0 bytes
-rw-r--r--signs/textures/signs_3f.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_40.pngbin259 -> 0 bytes
-rw-r--r--signs/textures/signs_41.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_42.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_43.pngbin246 -> 0 bytes
-rw-r--r--signs/textures/signs_44.pngbin242 -> 0 bytes
-rw-r--r--signs/textures/signs_45.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_46.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_47.pngbin247 -> 0 bytes
-rw-r--r--signs/textures/signs_48.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_49.pngbin236 -> 0 bytes
-rw-r--r--signs/textures/signs_4a.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_4b.pngbin246 -> 0 bytes
-rw-r--r--signs/textures/signs_4c.pngbin238 -> 0 bytes
-rw-r--r--signs/textures/signs_4d.pngbin249 -> 0 bytes
-rw-r--r--signs/textures/signs_4e.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_4f.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_50.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_51.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_52.pngbin238 -> 0 bytes
-rw-r--r--signs/textures/signs_53.pngbin247 -> 0 bytes
-rw-r--r--signs/textures/signs_54.pngbin237 -> 0 bytes
-rw-r--r--signs/textures/signs_55.pngbin238 -> 0 bytes
-rw-r--r--signs/textures/signs_56.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_57.pngbin246 -> 0 bytes
-rw-r--r--signs/textures/signs_58.pngbin245 -> 0 bytes
-rw-r--r--signs/textures/signs_59.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_5a.pngbin248 -> 0 bytes
-rw-r--r--signs/textures/signs_5b.pngbin234 -> 0 bytes
-rw-r--r--signs/textures/signs_5c.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_5d.pngbin234 -> 0 bytes
-rw-r--r--signs/textures/signs_5e.pngbin238 -> 0 bytes
-rw-r--r--signs/textures/signs_5f.pngbin233 -> 0 bytes
-rw-r--r--signs/textures/signs_60.pngbin234 -> 0 bytes
-rw-r--r--signs/textures/signs_61.pngbin245 -> 0 bytes
-rw-r--r--signs/textures/signs_62.pngbin242 -> 0 bytes
-rw-r--r--signs/textures/signs_63.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_64.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_65.pngbin245 -> 0 bytes
-rw-r--r--signs/textures/signs_66.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_67.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_68.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_69.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_6a.pngbin236 -> 0 bytes
-rw-r--r--signs/textures/signs_6b.pngbin246 -> 0 bytes
-rw-r--r--signs/textures/signs_6c.pngbin236 -> 0 bytes
-rw-r--r--signs/textures/signs_6d.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_6e.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_6f.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_70.pngbin242 -> 0 bytes
-rw-r--r--signs/textures/signs_71.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_72.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_73.pngbin242 -> 0 bytes
-rw-r--r--signs/textures/signs_74.pngbin243 -> 0 bytes
-rw-r--r--signs/textures/signs_75.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_76.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_77.pngbin240 -> 0 bytes
-rw-r--r--signs/textures/signs_78.pngbin244 -> 0 bytes
-rw-r--r--signs/textures/signs_79.pngbin241 -> 0 bytes
-rw-r--r--signs/textures/signs_7a.pngbin246 -> 0 bytes
-rw-r--r--signs/textures/signs_7b.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_7c.pngbin232 -> 0 bytes
-rw-r--r--signs/textures/signs_7d.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_7e.pngbin239 -> 0 bytes
-rw-r--r--signs/textures/signs_black_inventory.pngbin265 -> 0 bytes
-rw-r--r--signs/textures/signs_black_left.pngbin263 -> 0 bytes
-rw-r--r--signs/textures/signs_black_right.pngbin258 -> 0 bytes
-rw-r--r--signs/textures/signs_blue_street.pngbin436 -> 0 bytes
-rw-r--r--signs/textures/signs_blue_street_inventory.pngbin472 -> 0 bytes
-rw-r--r--signs/textures/signs_default.pngbin0 -> 554 bytes
-rw-r--r--signs/textures/signs_default_inventory.pngbin0 -> 617 bytes
-rw-r--r--signs/textures/signs_green_street.pngbin274 -> 0 bytes
-rw-r--r--signs/textures/signs_green_street_inventory.pngbin279 -> 0 bytes
110 files changed, 114 insertions, 354 deletions
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,22 +1,4 @@
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 = {
{'group:wood', 'group:wood', 'group:wood'},
@@ -26,15 +8,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 = {
{'default:paper', 'default:paper', ''},
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
--- a/signs/textures/signs_20.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_21.png b/signs/textures/signs_21.png
deleted file mode 100644
index b927105..0000000
--- a/signs/textures/signs_21.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_22.png b/signs/textures/signs_22.png
deleted file mode 100644
index fae7109..0000000
--- a/signs/textures/signs_22.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_23.png b/signs/textures/signs_23.png
deleted file mode 100644
index 0995756..0000000
--- a/signs/textures/signs_23.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_24.png b/signs/textures/signs_24.png
deleted file mode 100644
index 18b37d9..0000000
--- a/signs/textures/signs_24.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_25.png b/signs/textures/signs_25.png
deleted file mode 100644
index 83737d3..0000000
--- a/signs/textures/signs_25.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_26.png b/signs/textures/signs_26.png
deleted file mode 100644
index 94357c4..0000000
--- a/signs/textures/signs_26.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_27.png b/signs/textures/signs_27.png
deleted file mode 100644
index cd4426c..0000000
--- a/signs/textures/signs_27.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_28.png b/signs/textures/signs_28.png
deleted file mode 100644
index 66fd16e..0000000
--- a/signs/textures/signs_28.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_29.png b/signs/textures/signs_29.png
deleted file mode 100644
index 324d1d2..0000000
--- a/signs/textures/signs_29.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_2a.png b/signs/textures/signs_2a.png
deleted file mode 100644
index 27bafea..0000000
--- a/signs/textures/signs_2a.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_2b.png b/signs/textures/signs_2b.png
deleted file mode 100644
index 28a8c7f..0000000
--- a/signs/textures/signs_2b.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_2c.png b/signs/textures/signs_2c.png
deleted file mode 100644
index 16bf1e4..0000000
--- a/signs/textures/signs_2c.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_2d.png b/signs/textures/signs_2d.png
deleted file mode 100644
index b555ad6..0000000
--- a/signs/textures/signs_2d.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_2e.png b/signs/textures/signs_2e.png
deleted file mode 100644
index cdfa677..0000000
--- a/signs/textures/signs_2e.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_2f.png b/signs/textures/signs_2f.png
deleted file mode 100644
index e76fdf4..0000000
--- a/signs/textures/signs_2f.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_30.png b/signs/textures/signs_30.png
deleted file mode 100644
index 5a57af3..0000000
--- a/signs/textures/signs_30.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_31.png b/signs/textures/signs_31.png
deleted file mode 100644
index 3b8ebf0..0000000
--- a/signs/textures/signs_31.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_32.png b/signs/textures/signs_32.png
deleted file mode 100644
index 9a869a8..0000000
--- a/signs/textures/signs_32.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_33.png b/signs/textures/signs_33.png
deleted file mode 100644
index 0bbaf59..0000000
--- a/signs/textures/signs_33.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_34.png b/signs/textures/signs_34.png
deleted file mode 100644
index f6dfe63..0000000
--- a/signs/textures/signs_34.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_35.png b/signs/textures/signs_35.png
deleted file mode 100644
index 71a9883..0000000
--- a/signs/textures/signs_35.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_36.png b/signs/textures/signs_36.png
deleted file mode 100644
index 6553bed..0000000
--- a/signs/textures/signs_36.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_37.png b/signs/textures/signs_37.png
deleted file mode 100644
index 53b9541..0000000
--- a/signs/textures/signs_37.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_38.png b/signs/textures/signs_38.png
deleted file mode 100644
index 0933814..0000000
--- a/signs/textures/signs_38.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_39.png b/signs/textures/signs_39.png
deleted file mode 100644
index 94dae88..0000000
--- a/signs/textures/signs_39.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_3a.png b/signs/textures/signs_3a.png
deleted file mode 100644
index 09b4793..0000000
--- a/signs/textures/signs_3a.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_3b.png b/signs/textures/signs_3b.png
deleted file mode 100644
index 8f9076b..0000000
--- a/signs/textures/signs_3b.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_3c.png b/signs/textures/signs_3c.png
deleted file mode 100644
index a5313c9..0000000
--- a/signs/textures/signs_3c.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_3d.png b/signs/textures/signs_3d.png
deleted file mode 100644
index 153c272..0000000
--- a/signs/textures/signs_3d.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_3e.png b/signs/textures/signs_3e.png
deleted file mode 100644
index ced7868..0000000
--- a/signs/textures/signs_3e.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_3f.png b/signs/textures/signs_3f.png
deleted file mode 100644
index 3dfc73b..0000000
--- a/signs/textures/signs_3f.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_40.png b/signs/textures/signs_40.png
deleted file mode 100644
index 65dc19f..0000000
--- a/signs/textures/signs_40.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_41.png b/signs/textures/signs_41.png
deleted file mode 100644
index 0d74cdb..0000000
--- a/signs/textures/signs_41.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_42.png b/signs/textures/signs_42.png
deleted file mode 100644
index 7432e5f..0000000
--- a/signs/textures/signs_42.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_43.png b/signs/textures/signs_43.png
deleted file mode 100644
index 5a2e165..0000000
--- a/signs/textures/signs_43.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_44.png b/signs/textures/signs_44.png
deleted file mode 100644
index f2c4d07..0000000
--- a/signs/textures/signs_44.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_45.png b/signs/textures/signs_45.png
deleted file mode 100644
index de77e41..0000000
--- a/signs/textures/signs_45.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_46.png b/signs/textures/signs_46.png
deleted file mode 100644
index a19af77..0000000
--- a/signs/textures/signs_46.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_47.png b/signs/textures/signs_47.png
deleted file mode 100644
index 30c6818..0000000
--- a/signs/textures/signs_47.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_48.png b/signs/textures/signs_48.png
deleted file mode 100644
index e49cee4..0000000
--- a/signs/textures/signs_48.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_49.png b/signs/textures/signs_49.png
deleted file mode 100644
index 534500b..0000000
--- a/signs/textures/signs_49.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_4a.png b/signs/textures/signs_4a.png
deleted file mode 100644
index 5575e6d..0000000
--- a/signs/textures/signs_4a.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_4b.png b/signs/textures/signs_4b.png
deleted file mode 100644
index 0afb35d..0000000
--- a/signs/textures/signs_4b.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_4c.png b/signs/textures/signs_4c.png
deleted file mode 100644
index 99af40d..0000000
--- a/signs/textures/signs_4c.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_4d.png b/signs/textures/signs_4d.png
deleted file mode 100644
index 14648ed..0000000
--- a/signs/textures/signs_4d.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_4e.png b/signs/textures/signs_4e.png
deleted file mode 100644
index 57abfbb..0000000
--- a/signs/textures/signs_4e.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_4f.png b/signs/textures/signs_4f.png
deleted file mode 100644
index 06e0c8d..0000000
--- a/signs/textures/signs_4f.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_50.png b/signs/textures/signs_50.png
deleted file mode 100644
index fba27a0..0000000
--- a/signs/textures/signs_50.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_51.png b/signs/textures/signs_51.png
deleted file mode 100644
index 081e272..0000000
--- a/signs/textures/signs_51.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_52.png b/signs/textures/signs_52.png
deleted file mode 100644
index 12fe421..0000000
--- a/signs/textures/signs_52.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_53.png b/signs/textures/signs_53.png
deleted file mode 100644
index 7e1bbe0..0000000
--- a/signs/textures/signs_53.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_54.png b/signs/textures/signs_54.png
deleted file mode 100644
index f50a8b8..0000000
--- a/signs/textures/signs_54.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_55.png b/signs/textures/signs_55.png
deleted file mode 100644
index 4682223..0000000
--- a/signs/textures/signs_55.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_56.png b/signs/textures/signs_56.png
deleted file mode 100644
index c8a55c4..0000000
--- a/signs/textures/signs_56.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_57.png b/signs/textures/signs_57.png
deleted file mode 100644
index 419191c..0000000
--- a/signs/textures/signs_57.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_58.png b/signs/textures/signs_58.png
deleted file mode 100644
index 1175a0e..0000000
--- a/signs/textures/signs_58.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_59.png b/signs/textures/signs_59.png
deleted file mode 100644
index 9a52397..0000000
--- a/signs/textures/signs_59.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_5a.png b/signs/textures/signs_5a.png
deleted file mode 100644
index 64c1c4f..0000000
--- a/signs/textures/signs_5a.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_5b.png b/signs/textures/signs_5b.png
deleted file mode 100644
index c360403..0000000
--- a/signs/textures/signs_5b.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_5c.png b/signs/textures/signs_5c.png
deleted file mode 100644
index 08cf8b6..0000000
--- a/signs/textures/signs_5c.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_5d.png b/signs/textures/signs_5d.png
deleted file mode 100644
index 2309ee8..0000000
--- a/signs/textures/signs_5d.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_5e.png b/signs/textures/signs_5e.png
deleted file mode 100644
index 60a1dbd..0000000
--- a/signs/textures/signs_5e.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_5f.png b/signs/textures/signs_5f.png
deleted file mode 100644
index e7a4d90..0000000
--- a/signs/textures/signs_5f.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_60.png b/signs/textures/signs_60.png
deleted file mode 100644
index cd2b1ef..0000000
--- a/signs/textures/signs_60.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_61.png b/signs/textures/signs_61.png
deleted file mode 100644
index 874433d..0000000
--- a/signs/textures/signs_61.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_62.png b/signs/textures/signs_62.png
deleted file mode 100644
index f29b709..0000000
--- a/signs/textures/signs_62.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_63.png b/signs/textures/signs_63.png
deleted file mode 100644
index 6d46292..0000000
--- a/signs/textures/signs_63.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_64.png b/signs/textures/signs_64.png
deleted file mode 100644
index 30e4497..0000000
--- a/signs/textures/signs_64.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_65.png b/signs/textures/signs_65.png
deleted file mode 100644
index 8644032..0000000
--- a/signs/textures/signs_65.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_66.png b/signs/textures/signs_66.png
deleted file mode 100644
index 5d4f4b9..0000000
--- a/signs/textures/signs_66.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_67.png b/signs/textures/signs_67.png
deleted file mode 100644
index 990e8e3..0000000
--- a/signs/textures/signs_67.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_68.png b/signs/textures/signs_68.png
deleted file mode 100644
index 6b936aa..0000000
--- a/signs/textures/signs_68.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_69.png b/signs/textures/signs_69.png
deleted file mode 100644
index 3251e2e..0000000
--- a/signs/textures/signs_69.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_6a.png b/signs/textures/signs_6a.png
deleted file mode 100644
index 1e0082c..0000000
--- a/signs/textures/signs_6a.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_6b.png b/signs/textures/signs_6b.png
deleted file mode 100644
index 788c3df..0000000
--- a/signs/textures/signs_6b.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_6c.png b/signs/textures/signs_6c.png
deleted file mode 100644
index 534500b..0000000
--- a/signs/textures/signs_6c.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_6d.png b/signs/textures/signs_6d.png
deleted file mode 100644
index fca6d31..0000000
--- a/signs/textures/signs_6d.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_6e.png b/signs/textures/signs_6e.png
deleted file mode 100644
index 10930a1..0000000
--- a/signs/textures/signs_6e.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_6f.png b/signs/textures/signs_6f.png
deleted file mode 100644
index f4aef64..0000000
--- a/signs/textures/signs_6f.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_70.png b/signs/textures/signs_70.png
deleted file mode 100644
index dac5f79..0000000
--- a/signs/textures/signs_70.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_71.png b/signs/textures/signs_71.png
deleted file mode 100644
index cc31972..0000000
--- a/signs/textures/signs_71.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_72.png b/signs/textures/signs_72.png
deleted file mode 100644
index d8dbcee..0000000
--- a/signs/textures/signs_72.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_73.png b/signs/textures/signs_73.png
deleted file mode 100644
index 60911df..0000000
--- a/signs/textures/signs_73.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_74.png b/signs/textures/signs_74.png
deleted file mode 100644
index 079e2f1..0000000
--- a/signs/textures/signs_74.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_75.png b/signs/textures/signs_75.png
deleted file mode 100644
index c86aaad..0000000
--- a/signs/textures/signs_75.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_76.png b/signs/textures/signs_76.png
deleted file mode 100644
index 5101584..0000000
--- a/signs/textures/signs_76.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_77.png b/signs/textures/signs_77.png
deleted file mode 100644
index d2bdb98..0000000
--- a/signs/textures/signs_77.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_78.png b/signs/textures/signs_78.png
deleted file mode 100644
index 20927d9..0000000
--- a/signs/textures/signs_78.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_79.png b/signs/textures/signs_79.png
deleted file mode 100644
index 15a76a7..0000000
--- a/signs/textures/signs_79.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_7a.png b/signs/textures/signs_7a.png
deleted file mode 100644
index 43a1f05..0000000
--- a/signs/textures/signs_7a.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_7b.png b/signs/textures/signs_7b.png
deleted file mode 100644
index 08c27a1..0000000
--- a/signs/textures/signs_7b.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_7c.png b/signs/textures/signs_7c.png
deleted file mode 100644
index db5bdb3..0000000
--- a/signs/textures/signs_7c.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_7d.png b/signs/textures/signs_7d.png
deleted file mode 100644
index 52a64af..0000000
--- a/signs/textures/signs_7d.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_7e.png b/signs/textures/signs_7e.png
deleted file mode 100644
index 8a9a865..0000000
--- a/signs/textures/signs_7e.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_black_inventory.png b/signs/textures/signs_black_inventory.png
deleted file mode 100644
index 4b10ee3..0000000
--- a/signs/textures/signs_black_inventory.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_black_left.png b/signs/textures/signs_black_left.png
deleted file mode 100644
index 8837dcb..0000000
--- a/signs/textures/signs_black_left.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_black_right.png b/signs/textures/signs_black_right.png
deleted file mode 100644
index 0951da0..0000000
--- a/signs/textures/signs_black_right.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_blue_street.png b/signs/textures/signs_blue_street.png
deleted file mode 100644
index 540a390..0000000
--- a/signs/textures/signs_blue_street.png
+++ /dev/null
Binary files 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
--- a/signs/textures/signs_blue_street_inventory.png
+++ /dev/null
Binary files differ
diff --git a/signs/textures/signs_default.png b/signs/textures/signs_default.png
new file mode 100644
index 0000000..0db6bfd
--- /dev/null
+++ b/signs/textures/signs_default.png
Binary files differ
diff --git a/signs/textures/signs_default_inventory.png b/signs/textures/signs_default_inventory.png
new file mode 100644
index 0000000..55a5120
--- /dev/null
+++ b/signs/textures/signs_default_inventory.png
Binary files differ
diff --git a/signs/textures/signs_green_street.png b/signs/textures/signs_green_street.png
deleted file mode 100644
index b5c653d..0000000
--- a/signs/textures/signs_green_street.png
+++ /dev/null
Binary files 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
--- a/signs/textures/signs_green_street_inventory.png
+++ /dev/null
Binary files differ