mirror of
https://github.com/Ezhh/abriglass.git
synced 2024-08-19 19:34:03 +02:00
commit
6992461374
345
init.lua
345
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
|
-- undecorated coloured glass, all using plain glass texture
|
||||||
|
local glass_list = {
|
||||||
local glass_list = { --{name, description, colour}
|
|
||||||
{"black", "Darkened", "292421", }, {"blue", "Blue", "0000FF", },
|
{"black", "Darkened", "292421", }, {"blue", "Blue", "0000FF", },
|
||||||
{"cyan", "Cyan", "00FFFF", }, {"green", "Green", "00FF00", },
|
{"cyan", "Cyan", "00FFFF", }, {"green", "Green", "00FF00", },
|
||||||
{"magenta", "Magenta", "FF00FF", }, {"orange", "Orange", "FF6103", },
|
{"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",
|
||||||
|
})
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
|
|
||||||
CC BY-SA 4.0
|
Textures:
|
||||||
https://creativecommons.org/licenses/by-sa/4.0/
|
CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
|
||||||
Attribution: Shara RedCat
|
Attribution: Shara RedCat
|
||||||
|
|
||||||
|
Code:
|
||||||
|
License: MIT (https://opensource.org/licenses/MIT)
|
||||||
|
By Shara RedCat
|
Loading…
Reference in New Issue
Block a user