diff --git a/init.lua b/init.lua index 95c4eee..c9aa6a8 100644 --- a/init.lua +++ b/init.lua @@ -107,51 +107,42 @@ end -- one-way glass -minetest.register_node("abriglass:oneway_glass_dark", { - description = "Dark One-Way Glass", - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - }, - }, - groups = {cracky = 3}, - tiles = {"abriglass_oneway_plain_glass.png", -- up - "abriglass_oneway_plain_glass.png", -- down - "abriglass_oneway_plain_glass.png", -- right - "abriglass_oneway_plain_glass.png", -- left - "abriglass_oneway_face.png", -- back - "abriglass_oneway_wall.png"}, -- front - is_ground_content = false, - sunlight_propagates = true, - inventory_image = minetest.inventorycube("abriglass_oneway_face.png") -}) +local oneway_list = { --{name, description, image} + {"dark", "Dark", "oneway_plain_glass", "oneway_face.png", "oneway_wall.png",}, + {"pale", "White", "oneway_plain_glass", "oneway_face.png^[colorize:#F8F8FF:200", "oneway_wall.png^[colorize:#E6E6FA:200",}, +} -minetest.register_node("abriglass:oneway_glass_pale", { - description = "White One-Way Glass", - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, +for i in ipairs(oneway_list) do + local name = oneway_list[i][1] + local description = oneway_list[i][2] + local image1 = oneway_list[i][3] + local image2 = oneway_list[i][4] + local image3 = oneway_list[i][5] + + minetest.register_node("abriglass:oneway_glass_"..name, { + description = description.." One-Way Glass", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, }, - }, - groups = {cracky = 3}, - tiles = {"abriglass_oneway_plain_glass.png", -- up - "abriglass_oneway_plain_glass.png", -- down - "abriglass_oneway_plain_glass.png", -- right - "abriglass_oneway_plain_glass.png", -- left - "abriglass_oneway_face.png^[colorize:#F8F8FF:200", -- back - "abriglass_oneway_wall.png^[colorize:#E6E6FA:200"}, -- front - is_ground_content = false, - sunlight_propagates = true, - inventory_image = minetest.inventorycube("abriglass_oneway_face.png^[colorize:#F8F8FF:200") -}) + groups = {cracky = 3}, + tiles = {"abriglass_"..image1..".png", -- up + "abriglass_"..image1..".png", -- down + "abriglass_"..image1..".png", -- right + "abriglass_"..image1..".png", -- left + "abriglass_"..image2, -- back + "abriglass_"..image3 -- front + }, + is_ground_content = false, + sunlight_propagates = true, + inventory_image = minetest.inventorycube("abriglass_"..image2) + }) +end -- normal nodes to match one-way glass @@ -169,6 +160,7 @@ minetest.register_node("abriglass:oneway_wall_pale", { paramtype2 = "facedir", }) + -- crystal, for later use in crafting recipes minetest.register_node("abriglass:ghost_crystal", { description = "Ghost Crystal", @@ -182,6 +174,7 @@ minetest.register_node("abriglass:ghost_crystal", { sounds = default.node_sound_glass_defaults(), }) + -- hidden light node minetest.register_node("abriglass:hidden_light", { description = "Hidden Light", @@ -193,6 +186,3 @@ minetest.register_node("abriglass:hidden_light", { light_source = 7, drawtype = "glasslike", }) - - -