-- overwrites default:mese to use a nodebox with the MESE text imprinted -- if something goes wrong just blame puhfa local base = { -- 'window frame' shape around the letters { 0, 0, 0, 16, 1, 1}, { 0, 1, 0, 3, 15, 1}, { 8, 1, 0, 10, 15, 1}, {14, 1, 0, 16, 15, 1}, { 3, 7, 0, 14, 9, 1}, { 0, 15, 0, 16, 16, 1}, -- S, E { 3, 1, 0, 4, 2, 1}, { 7, 1, 0, 8, 2, 1}, { 4, 2, 0, 6, 4, 1}, { 6, 2, 0, 7, 3, 1}, {11, 2, 0, 14, 4, 1}, { 3, 3, 0, 6, 4, 1}, { 7, 3, 0, 8, 4, 1}, { 3, 4, 0, 4, 5, 1}, { 6, 4, 0, 8, 5, 1}, {13, 4, 0, 14, 5, 1}, { 4, 5, 0, 7, 6, 1}, {11, 5, 0, 14, 6, 1}, { 3, 6, 0, 4, 7, 1}, { 7, 6, 0, 8, 7, 1}, -- M, E { 4, 9, 0, 7, 12, 1}, {11, 10, 0, 14, 12, 1}, { 4, 12, 0, 5, 13, 1}, { 6, 12, 0, 7, 13, 1}, {13, 12, 0, 14, 13, 1}, { 5, 13, 0, 6, 14, 1}, {11, 13, 0, 14, 14, 1}, { 4, 14, 0, 7, 15, 1} } local boundingbox = { type = "fixed", fixed = { -.5, -.5, -.5, .5, .5, .5 } } local add_base = function(nodebox) for _, v in pairs(base) do table.insert(nodebox, {v[1], v[2], v[3], v[4], v[5], v[6]}) end return nodebox end local rotate_y = function(nodebox) -- rotates nodebox around Y axis local temp for k, v in pairs(nodebox) do for i = 1, 4, 3 do temp = v[i] v[i] = v[i + 2] v[i + 2] = -temp end end return nodebox end local rotate_x = function(nodebox) -- rotates nodebox around X axis local temp for k, v in pairs(nodebox) do for i = 1, 4, 3 do temp = v[i + 1] v[i + 1] = v[i + 2] v[i + 2] = -temp end end return nodebox end local nodebox = {} for k, v in pairs(base) do for i = 1, 6 do v[i] = v[i] / 16.0 - .5 end end -- lol for _ = 1, 4 do nodebox = rotate_y(nodebox) nodebox = add_base(nodebox) end nodebox = rotate_x(nodebox) nodebox = add_base(nodebox) nodebox = rotate_x(nodebox) nodebox = rotate_x(nodebox) nodebox = add_base(nodebox) nodebox = rotate_x(nodebox) table.insert(nodebox, {-7 / 16, -7 / 16, -7 / 16, 7 / 16, 7 / 16, 7 / 16}) minetest.override_item("default:mese", { description = "Mese Block", tiles = {"default_mese_block.png"}, is_ground_content = true, groups = {cracky=1,level=2}, sounds = default.node_sound_stone_defaults(), drawtype = "nodebox", paramtype = "light", node_box = { type = "fixed", fixed = nodebox }, selection_box = boundingbox, collision_box = boundingbox })