X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=standard_signs.lua;h=1277c9173bd3d40ad78abb63a425bd926586e190;hb=e92177b83e8c987082810c79b2472a48e91e4c3e;hp=d9ce07d6c2e33a49bcea0ac6989ebfd77170a877;hpb=4614d66cbe5b467b35001f0a90ae5a4286c645ea;p=signs_lib.git diff --git a/standard_signs.lua b/standard_signs.lua index d9ce07d..1277c91 100644 --- a/standard_signs.lua +++ b/standard_signs.lua @@ -1,103 +1,63 @@ -- Definitions for standard minetest_game wooden and steel wall signs -for _, onpole in ipairs({"", "_onpole"}) do +signs_lib.register_sign("default:sign_wall_wood", { + description = "Wooden wall sign", + inventory_image = "signs_lib_sign_wall_wooden_inv.png", + tiles = { + "signs_lib_sign_wall_wooden.png", + "signs_lib_sign_wall_wooden_edges.png", + -- items 3 - 5 are not set, so signs_lib will use its standard pole + -- mount, hanging, and yard sign stick textures. + }, + entity_info = "standard", + allow_hanging = true, + allow_widefont = true, + allow_onpole = true, + allow_onpole_horizontal = true, + allow_yard = true +}) - local nci = nil - local on_rotate = signs_lib.wallmounted_rotate - local pole_mount_tex = nil +signs_lib.register_sign("default:sign_wall_steel", { + description = "Steel wall sign", + inventory_image = "signs_lib_sign_wall_steel_inv.png", + tiles = { + "signs_lib_sign_wall_steel.png", + "signs_lib_sign_wall_steel_edges.png", + nil, -- not set, so it'll use the standard pole mount texture + nil, -- not set, so it'll use the standard hanging chains texture + "default_steel_block.png" -- for the yard sign's stick + }, + groups = signs_lib.standard_steel_groups, + sounds = signs_lib.standard_steel_sign_sounds, + locked = true, + entity_info = "standard", + allow_hanging = true, + allow_widefont = true, + allow_onpole = true, + allow_onpole_horizontal = true, + allow_yard = true +}) - if onpole == "_onpole" then - nci = 1 - on_rotate = nil - pole_mount_tex = "signs_lib_pole_mount.png" -- the metal straps on back, if needed - end - local wood_groups = table.copy(signs_lib.standard_wood_groups) - wood_groups.not_in_creative_inventory = nci - local steel_groups = table.copy(signs_lib.standard_steel_groups) - steel_groups.not_in_creative_inventory = nci +minetest.register_alias("default:sign_wall_wood_onpole", "default:sign_wood_onpole") - cbox = signs_lib.make_selection_boxes(35, 25, onpole) +minetest.register_alias("default:sign_wall_wood_hanging", "default:sign_wood_hanging") +minetest.register_alias("signs:sign_hanging", "default:sign_wood_hanging") +minetest.register_alias("basic_signs:hanging_sign", "default:sign_wood_hanging") - minetest.register_node(":default:sign_wall_wood"..onpole, { - description = "Wooden wall sign", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "wallmounted", - drawtype = "mesh", - node_box = cbox, - selection_box = cbox, - mesh = "signs_lib_standard_wall_sign"..onpole..".obj", - tiles = { - "signs_lib_sign_wall_wooden.png", - "signs_lib_sign_wall_wooden_edges.png", - pole_mount_tex - }, - inventory_image = "signs_lib_sign_wall_wooden_inv.png", - wield_image = "signs_lib_sign_wall_wooden_inv.png", - groups = wood_groups, - default_color = "0", - on_construct = signs_lib.construct_sign, - on_destruct = signs_lib.destruct_sign, - on_receive_fields = signs_lib.receive_fields, - on_punch = signs_lib.update_sign, - on_rotate = signs_lib.wallmounted_rotate, - number_of_lines = signs_lib.standard_lines, - horiz_scaling = signs_lib.standard_hscale, - vert_scaling = signs_lib.standard_vscale, - line_spacing = signs_lib.standard_lspace, - font_size = signs_lib.standard_fsize, - x_offset = signs_lib.standard_xoffs, - y_offset = signs_lib.standard_yoffs, - chars_per_line = signs_lib.standard_cpl, - entity_info = { - mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj", - yaw = signs_lib.wallmounted_yaw - }, - drop = "default:sign_wall_wood" - }) - table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_wood"..onpole) +minetest.register_alias("default:sign_wall_wood_yard", "default:sign_wood_yard") +minetest.register_alias("signs:sign_yard", "default:sign_wood_yard") +minetest.register_alias("basic_signs:yard_sign", "default:sign_wood_yard") - minetest.register_node(":default:sign_wall_steel"..onpole, { - description = "Steel wall sign", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "wallmounted", - drawtype = "mesh", - node_box = cbox, - selection_box = cbox, - mesh = "signs_lib_standard_wall_sign"..onpole..".obj", - tiles = { - "signs_lib_sign_wall_steel.png", - "signs_lib_sign_wall_steel_edges.png", - pole_mount_tex - }, - inventory_image = "signs_lib_sign_wall_steel_inv.png", - wield_image = "signs_lib_sign_wall_steel_inv.png", - groups = wood_groups, - default_color = "0", - on_construct = signs_lib.construct_sign, - on_destruct = signs_lib.destruct_sign, - after_place_node = function(pos, placer, itemstack, pointed_thing) - signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, true) - end, - on_receive_fields = signs_lib.receive_fields, - on_punch = signs_lib.update_sign, - can_dig = signs_lib.can_modify, - on_rotate = signs_lib.wallmounted_rotate, - number_of_lines = signs_lib.standard_lines, - horiz_scaling = signs_lib.standard_hscale, - vert_scaling = signs_lib.standard_vscale, - line_spacing = signs_lib.standard_lspace, - font_size = signs_lib.standard_fsize, - x_offset = signs_lib.standard_xoffs, - y_offset = signs_lib.standard_yoffs, - chars_per_line = signs_lib.standard_cpl, - entity_info = { - mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj", - yaw = signs_lib.wallmounted_yaw - }, - drop = "default:sign_wall_steel" - }) - table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_steel"..onpole) -end +table.insert(signs_lib.lbm_restore_nodes, "signs:sign_hanging") +table.insert(signs_lib.lbm_restore_nodes, "basic_signs:hanging_sign") +table.insert(signs_lib.lbm_restore_nodes, "signs:sign_yard") +table.insert(signs_lib.lbm_restore_nodes, "basic_signs:yard_sign") +table.insert(signs_lib.lbm_restore_nodes, "default:sign_wood_yard") +table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_wood_yard") + +-- insert the old wood sign-on-fencepost into signs_lib's conversion LBM + +table.insert(signs_lib.old_fenceposts_with_signs, "signs:sign_post") +signs_lib.old_fenceposts["signs:sign_post"] = "default:fence_wood" +signs_lib.old_fenceposts_replacement_signs["signs:sign_post"] = "default:sign_wall_wood_onpole"