diff --git a/init.lua b/init.lua index 2b94b69..f2df44b 100644 --- a/init.lua +++ b/init.lua @@ -1,198 +1,6 @@ - ---[[ -What it is: Simple mod for extra glass, including plain and patterned stained glass, and one way glass. -Who did it: Shara RedCat. -]] - - ---boring glass because why not? - -minetest.register_node("abriglass:clear_glass", { - description = "Clear Glass", - tiles = {"abriglass_clearglass.png"}, - groups = {cracky = 3}, - use_texture_alpha = true, - sunlight_propagates = true, - paramtype = "light", - drawtype = "glasslike", - sounds = default.node_sound_glass_defaults(), -}) - - ---glass lights - -minetest.register_node("abriglass:glass_light_green", { - description = "Green Glass Light", - tiles = {"abriglass_lightgreen.png"}, - groups = {cracky = 3}, - use_texture_alpha = true, - sunlight_propagates = true, - light_source = 14, - drawtype = "glasslike", - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_node("abriglass:glass_light_blue", { - description = "Blue Glass Light", - tiles = {"abriglass_lightblue.png"}, - groups = {cracky = 3}, - use_texture_alpha = true, - sunlight_propagates = true, - light_source = 14, - drawtype = "glasslike", - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_node("abriglass:glass_light_red", { - description = "Red Glass Light", - tiles = {"abriglass_lightred.png"}, - groups = {cracky = 3}, - use_texture_alpha = true, - sunlight_propagates = true, - light_source = 14, - drawtype = "glasslike", - sounds = default.node_sound_glass_defaults(), -}) - -minetest.register_node("abriglass:glass_light_yellow", { - description = "Yellow Glass Light", - tiles = {"abriglass_lightyellow.png"}, - groups = {cracky = 3}, - use_texture_alpha = true, - sunlight_propagates = true, - light_source = 14, - drawtype = "glasslike", - sounds = default.node_sound_glass_defaults(), -}) - ---crystal, for later use in crafting recipes - -minetest.register_node("abriglass:ghost_crystal", { - description = "Ghost Crystal", - tiles = {"abriglass_ghost_crystal.png"}, - wield_image = "abriglass_ghost_crystal_wield.png", - groups = {cracky = 3}, - use_texture_alpha = true, - sunlight_propagates = true, - light_source = 14, - drawtype = "glasslike", - sounds = default.node_sound_glass_defaults(), -}) - ---patterned glass - -local pattern_list = { --{name, description, image} - {"stainedglass_tiles_dark", "Stained Glass", "stainedglass_tiles1",}, - {"stainedglass_tiles_pale", "Stained Glass", "stainedglass_tiles2",}, - {"stainedglass_pattern01", "Stained Glass", "stainedglass_pattern01",}, - {"stainedglass_pattern02", "Cage Glass", "stainedglass_pattern02",}, - {"stainedglass_pattern03", "Stained Glass", "stainedglass_pattern03",}, - {"stainedglass_pattern04", "Stained Glass Cross", "stainedglass_pattern04",}, - {"stainedglass_pattern05", "Stained Glass", "stainedglass_pattern05",}, -} - -for i in ipairs(pattern_list) do - local name = pattern_list[i][1] - local description = pattern_list[i][2] - local image = pattern_list[i][3] - - minetest.register_node("abriglass:"..name, { - description = description, - tiles = {"abriglass_"..image..".png"}, - groups = {cracky = 3}, - use_texture_alpha = true, - sunlight_propagates = true, - light_source = 5, - drawtype = "glasslike", - paramtype2 = "facedir", - sounds = default.node_sound_glass_defaults(), - }) -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") -}) - -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}, - }, - }, - 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") -}) - - ---normal blocks to match one-way glass - -minetest.register_node("abriglass:oneway_wall_dark", { - description = "Dark Block", - tiles = {"abriglass_oneway_wall.png"}, - groups = {cracky = 3}, - paramtype2 = "facedir", -}) - -minetest.register_node("abriglass:oneway_wall_pale", { - description = "Pale Block", - tiles = {"abriglass_oneway_wall.png^[colorize:#E6E6FA:200"}, - groups = {cracky = 3}, - paramtype2 = "facedir", -}) - - ---light node - -minetest.register_node("abriglass:hidden_light", { - description = "Hidden Light", - tiles = {"abriglass_oneway_plain_glass.png"}, - groups = {cracky = 3, not_in_creative_inventory=1}, - use_texture_alpha = true, - sunlight_propagates = true, - walkable = false, - light_source = 7, - drawtype = "glasslike", -}) - - ---undecorated coloured glass, all using plain glass texture - -local glass_list = { --{name, description, colour} +-- undecorated coloured glass, all using plain glass texture +local glass_list = { {"black", "Darkened", "292421", }, {"blue", "Blue", "0000FF", }, {"cyan", "Cyan", "00FFFF", }, {"green", "Green", "00FF00", }, {"magenta", "Magenta", "FF00FF", }, {"orange", "Orange", "FF6103", }, @@ -229,3 +37,154 @@ minetest.register_node("abriglass:stained_glass_frosted", { }) +-- boring glass because why not? +minetest.register_node("abriglass:clear_glass", { + description = "Clear Glass", + tiles = {"abriglass_clearglass.png"}, + groups = {cracky = 3}, + use_texture_alpha = true, + sunlight_propagates = true, + paramtype = "light", + drawtype = "glasslike", + sounds = default.node_sound_glass_defaults(), +}) + + +-- glass lights +local light_list = { + {"glass_light_green", "Green", "lightgreen",}, + {"glass_light_blue", "Blue", "lightblue",}, + {"glass_light_red", "Red", "lightred",}, + {"glass_light_yellow", "Yellow", "lightyellow",}, +} + +for i in ipairs(light_list) do + local name = light_list[i][1] + local description = light_list[i][2] + local image = light_list[i][3] + + minetest.register_node("abriglass:" ..name, { + description = description.. "Glass Light", + tiles = {"abriglass_" ..image.. ".png"}, + groups = {cracky = 3}, + use_texture_alpha = true, + sunlight_propagates = true, + light_source = 14, + drawtype = "glasslike", + sounds = default.node_sound_glass_defaults(), + }) +end + + +-- patterned glass +local pattern_list = { --{name, description, image} + {"stainedglass_tiles_dark", "Stained Glass", "stainedglass_tiles1",}, + {"stainedglass_tiles_pale", "Stained Glass", "stainedglass_tiles2",}, + {"stainedglass_pattern01", "Stained Glass", "stainedglass_pattern01",}, + {"stainedglass_pattern02", "Cage Glass", "stainedglass_pattern02",}, + {"stainedglass_pattern03", "Stained Glass", "stainedglass_pattern03",}, + {"stainedglass_pattern04", "Stained Glass Cross", "stainedglass_pattern04",}, + {"stainedglass_pattern05", "Stained Glass", "stainedglass_pattern05",}, +} + +for i in ipairs(pattern_list) do + local name = pattern_list[i][1] + local description = pattern_list[i][2] + local image = pattern_list[i][3] + + minetest.register_node("abriglass:"..name, { + description = description, + tiles = {"abriglass_"..image..".png"}, + groups = {cracky = 3}, + use_texture_alpha = true, + sunlight_propagates = true, + light_source = 5, + drawtype = "glasslike", + paramtype2 = "facedir", + sounds = default.node_sound_glass_defaults(), + }) +end + + +-- one-way glass +local oneway_list = { + {"dark", "Dark", "oneway_plain_glass", "oneway_face.png", "abriglass_oneway_wall.png",}, + {"pale", "White", "oneway_plain_glass", "oneway_face.png^[colorize:#F8F8FF:200", "abriglass_oneway_wall.png^[colorize:#E6E6FA:200",}, + {"desert_brick", "Desert Brick", "oneway_plain_glass", "oneway_face.png^[colorize:#814F3C:200", "default_desert_stone_brick.png",}, + {"stone_brick", "Stone Brick", "oneway_plain_glass", "oneway_face.png^[colorize:#615E5D:200", "default_stone_brick.png",}, +} + +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_"..image1..".png", -- up + "abriglass_"..image1..".png", -- down + "abriglass_"..image1..".png", -- right + "abriglass_"..image1..".png", -- left + "abriglass_"..image2, -- back + image3, -- front + }, + is_ground_content = false, + sunlight_propagates = true, + inventory_image = minetest.inventorycube("abriglass_"..image2) + }) +end + + +-- normal nodes to match one-way glass +minetest.register_node("abriglass:oneway_wall_dark", { + description = "Dark Block", + tiles = {"abriglass_oneway_wall.png"}, + groups = {cracky = 3}, + paramtype2 = "facedir", +}) + +minetest.register_node("abriglass:oneway_wall_pale", { + description = "Pale Block", + tiles = {"abriglass_oneway_wall.png^[colorize:#E6E6FA:200"}, + groups = {cracky = 3}, + paramtype2 = "facedir", +}) + + +-- crystal, for later use in crafting recipes +minetest.register_node("abriglass:ghost_crystal", { + description = "Ghost Crystal", + tiles = {"abriglass_ghost_crystal.png"}, + wield_image = "abriglass_ghost_crystal_wield.png", + groups = {cracky = 3}, + use_texture_alpha = true, + sunlight_propagates = true, + light_source = 14, + drawtype = "glasslike", + sounds = default.node_sound_glass_defaults(), +}) + + +-- hidden light node +minetest.register_node("abriglass:hidden_light", { + description = "Hidden Light", + tiles = {"abriglass_oneway_plain_glass.png"}, + groups = {cracky = 3, not_in_creative_inventory=1}, + use_texture_alpha = true, + sunlight_propagates = true, + walkable = false, + light_source = 7, + drawtype = "glasslike", +}) diff --git a/license.txt b/license.txt index a833e24..d98d3a2 100644 --- a/license.txt +++ b/license.txt @@ -1,4 +1,8 @@ -CC BY-SA 4.0 -https://creativecommons.org/licenses/by-sa/4.0/ -Attribution: Shara RedCat \ No newline at end of file +Textures: +CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/) +Attribution: Shara RedCat + +Code: +License: MIT (https://opensource.org/licenses/MIT) +By Shara RedCat \ No newline at end of file