forked from mtcontrib/scifi_nodes
		
	Compare commits
	
		
			9 Commits
		
	
	
		
			f79e84b92d
			...
			add-plastc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					745250cf2a | ||
| 
						 | 
					62037ad60a | ||
| 
						 | 
					36b0c5cc05 | ||
| 
						 | 
					fbd56e67c9 | ||
| 
						 | 
					08c83f52ce | ||
| 
						 | 
					364211ebf1 | ||
| 
						 | 
					93bdcda2dd | ||
| 
						 | 
					1159a02f76 | ||
| 
						 | 
					e519d3c6e0 | 
							
								
								
									
										17
									
								
								.github/workflows/luacheck.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.github/workflows/luacheck.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,17 +1,10 @@
 | 
			
		||||
name: luacheck
 | 
			
		||||
 | 
			
		||||
on: [push, pull_request]
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
 | 
			
		||||
  luacheck:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - uses: actions/checkout@v1
 | 
			
		||||
    - name: apt
 | 
			
		||||
      run: sudo apt-get install -y luarocks
 | 
			
		||||
    - name: luacheck install
 | 
			
		||||
      run: luarocks install --local luacheck
 | 
			
		||||
    - name: luacheck run
 | 
			
		||||
      run: $HOME/.luarocks/bin/luacheck ./
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@main
 | 
			
		||||
      - name: Luacheck
 | 
			
		||||
        uses: lunarmodules/luacheck@master
 | 
			
		||||
							
								
								
									
										13
									
								
								.luacheckrc
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								.luacheckrc
									
									
									
									
									
								
							@@ -1,20 +1,14 @@
 | 
			
		||||
std = "min+minetest"
 | 
			
		||||
 | 
			
		||||
unused_args = false
 | 
			
		||||
max_line_length = 180
 | 
			
		||||
 | 
			
		||||
globals = {
 | 
			
		||||
	"scifi_nodes"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
read_globals = {
 | 
			
		||||
	-- Stdlib
 | 
			
		||||
	string = {fields = {"split"}},
 | 
			
		||||
	table = {fields = {"copy", "getn"}},
 | 
			
		||||
 | 
			
		||||
	-- Minetest
 | 
			
		||||
	"vector", "ItemStack",
 | 
			
		||||
	"dump",
 | 
			
		||||
 | 
			
		||||
	-- optional deps
 | 
			
		||||
	"advtrains",
 | 
			
		||||
	"default",
 | 
			
		||||
	"stairsplus",
 | 
			
		||||
	"xpanes",
 | 
			
		||||
@@ -23,6 +17,7 @@ read_globals = {
 | 
			
		||||
	"mesecon",
 | 
			
		||||
	"unifieddyes",
 | 
			
		||||
	"letters",
 | 
			
		||||
	"signs_api",
 | 
			
		||||
	"stealthnode",
 | 
			
		||||
	"slats",
 | 
			
		||||
	"mtt"
 | 
			
		||||
 
 | 
			
		||||
@@ -46,6 +46,7 @@ CC BY 3.0
 | 
			
		||||
* scifi_nodes_grass_top.png https://github.com/minetest/minetest_game
 | 
			
		||||
* scifi_nodes_grass_side.png https://github.com/minetest/minetest_game
 | 
			
		||||
* scifi_nodes_wood.png https://github.com/minetest/minetest_game
 | 
			
		||||
* scifi_nodes_plastcrete.png https://github.com/mt-mods/basic_materials
 | 
			
		||||
 | 
			
		||||
CC0
 | 
			
		||||
* scifi_nodes_digicode.ogg https://freesound.org/people/benjaminharveydesign/sounds/315921/
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ local chest_formspec =
 | 
			
		||||
 | 
			
		||||
-- Helper functions
 | 
			
		||||
local function drop_chest_stuff()
 | 
			
		||||
	return function(pos, oldnode, oldmetadata, digger)
 | 
			
		||||
	return function(pos, _, oldmetadata)
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		meta:from_table(oldmetadata)
 | 
			
		||||
		local inv = meta:get_inventory()
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								common.lua
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								common.lua
									
									
									
									
									
								
							@@ -1,7 +1,5 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
scifi_nodes.get_switch_rules = function(param2)
 | 
			
		||||
 | 
			
		||||
function scifi_nodes.get_switch_rules(param2)
 | 
			
		||||
	-- param2 = 2
 | 
			
		||||
	local rules = {
 | 
			
		||||
		{x=1, y=-1, z=-1},
 | 
			
		||||
@@ -10,7 +8,7 @@ scifi_nodes.get_switch_rules = function(param2)
 | 
			
		||||
		{x=0, y=-1, z=1},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
-- Left and right when looking to +y ?
 | 
			
		||||
	-- Left and right when looking to +y ?
 | 
			
		||||
	if param2 == 3 then
 | 
			
		||||
		rules = mesecon.rotate_rules_right(mesecon.rotate_rules_right (rules))
 | 
			
		||||
	elseif param2 == 4 then
 | 
			
		||||
@@ -20,3 +18,23 @@ scifi_nodes.get_switch_rules = function(param2)
 | 
			
		||||
	end
 | 
			
		||||
	return rules
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
scifi_nodes.slope_box = {
 | 
			
		||||
	type = "fixed",
 | 
			
		||||
	fixed = {
 | 
			
		||||
		{-0.5,  -0.5,  -0.5, 0.5, -0.25, 0.5},
 | 
			
		||||
		{-0.5, -0.25, -0.25, 0.5,     0, 0.5},
 | 
			
		||||
		{-0.5,     0,     0, 0.5,  0.25, 0.5},
 | 
			
		||||
		{-0.5,  0.25,  0.25, 0.5,   0.5, 0.5}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
scifi_nodes.slope_box_simple = {
 | 
			
		||||
	type = "fixed",
 | 
			
		||||
	fixed = {
 | 
			
		||||
		{-0.5,  -0.5,  -0.5, 0.5, -0.25, -0.25},
 | 
			
		||||
		{-0.5, -0.25, -0.25, 0.5,     0, 0},
 | 
			
		||||
		{-0.5,     0,     0, 0.5,  0.25, 0.25},
 | 
			
		||||
		{-0.5,  0.25,  0.25, 0.5,   0.5, 0.5}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,15 @@ if not minetest.get_modpath("default") or not minetest.get_modpath("dye") then
 | 
			
		||||
    return
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
    output = "scifi_nodes:plastcrete 6",
 | 
			
		||||
    recipe = {
 | 
			
		||||
        {"scifi_nodes:white2", "default:gravel", "scifi_nodes:white2"},
 | 
			
		||||
        {"default:gravel", "scifi_nodes:white2", "default:gravel"},
 | 
			
		||||
        {"scifi_nodes:white2", "default:gravel", "scifi_nodes:white2"}
 | 
			
		||||
    }
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "scifi_nodes:super_white",
 | 
			
		||||
	recipe = {
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ local digicode_context = {}
 | 
			
		||||
 | 
			
		||||
-- after_place_node, use by digicode and palm_scanner
 | 
			
		||||
-- placer is a player object
 | 
			
		||||
local function set_owner(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
local function set_owner(pos, placer)
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	meta:set_string("owner", placer:get_player_name())
 | 
			
		||||
	meta:set_string("code", secret_code)
 | 
			
		||||
@@ -48,7 +48,7 @@ local function update_code(pos, code)
 | 
			
		||||
	meta:set_string("code", code)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function show_digicode_formspec(pos, node, player, itemstack, pointed_thing)
 | 
			
		||||
local function show_digicode_formspec(pos, _, player)
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local owner = meta:get_string("owner")
 | 
			
		||||
	local current_code = meta:get_string("code")
 | 
			
		||||
 
 | 
			
		||||
@@ -120,7 +120,7 @@ for _, current_door in ipairs(doors) do
 | 
			
		||||
		return itemstack;
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local function afterdestruct(pos, oldnode)
 | 
			
		||||
	local function afterdestruct(pos)
 | 
			
		||||
		minetest.set_node({x=pos.x,y=pos.y+1,z=pos.z},{name="air"})
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
@@ -173,12 +173,12 @@ for _, current_door in ipairs(doors) do
 | 
			
		||||
		timer:start(3)
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local function afterplace(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	local function afterplace(pos)
 | 
			
		||||
		local node = minetest.get_node(pos)
 | 
			
		||||
		minetest.set_node({x=pos.x,y=pos.y+1,z=pos.z},{name=opened_top,param2=node.param2})
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local function ontimer(pos, elapsed)
 | 
			
		||||
	local function ontimer(pos)
 | 
			
		||||
		-- play sound
 | 
			
		||||
		minetest.sound_play(sound,{
 | 
			
		||||
			max_hear_distance = 16,
 | 
			
		||||
@@ -218,7 +218,7 @@ for _, current_door in ipairs(doors) do
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	local function nodig(pos, digger)
 | 
			
		||||
	local function nodig()
 | 
			
		||||
		return false
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								init.lua
									
									
									
									
									
								
							@@ -30,6 +30,7 @@ dofile(MP.."/nodeboxes.lua")
 | 
			
		||||
dofile(MP.."/palm_scanner.lua")
 | 
			
		||||
dofile(MP.."/digicode.lua")
 | 
			
		||||
dofile(MP.."/octagon_panes.lua")
 | 
			
		||||
dofile(MP.."/octagon_glass.lua")
 | 
			
		||||
dofile(MP.."/forcefield.lua")
 | 
			
		||||
dofile(MP.."/crafts.lua")
 | 
			
		||||
 | 
			
		||||
@@ -46,5 +47,3 @@ end
 | 
			
		||||
if minetest.get_modpath("mtt") and mtt.enabled then
 | 
			
		||||
	dofile(MP .. "/mtt.lua")
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.log("action", "[scifi_nodes] loaded.")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							@@ -1,6 +1,7 @@
 | 
			
		||||
name = scifi_nodes
 | 
			
		||||
description = Minetest mod that adds scifi themed blocks, doors, materials, plants and other assets.
 | 
			
		||||
optional_depends = """
 | 
			
		||||
advtrains,
 | 
			
		||||
default,
 | 
			
		||||
xpanes,
 | 
			
		||||
mesecons,
 | 
			
		||||
@@ -15,5 +16,6 @@ unifieddyes,
 | 
			
		||||
letters,
 | 
			
		||||
mesecons_stealthnode,
 | 
			
		||||
mtt,
 | 
			
		||||
slats
 | 
			
		||||
slats,
 | 
			
		||||
signs_api
 | 
			
		||||
"""
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								models.lua
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								models.lua
									
									
									
									
									
								
							@@ -16,24 +16,8 @@ function scifi_nodes.register_slope(name, desc, texture, light, soundtype)
 | 
			
		||||
		drawtype = "mesh",
 | 
			
		||||
		mesh = "scifi_nodes_slope.obj",
 | 
			
		||||
		tiles = texture,
 | 
			
		||||
		selection_box = {
 | 
			
		||||
			type = "fixed",
 | 
			
		||||
			fixed = {
 | 
			
		||||
				{-0.5,  -0.5,  -0.5, 0.5, -0.25, 0.5},
 | 
			
		||||
				{-0.5, -0.25, -0.25, 0.5,     0, 0.5},
 | 
			
		||||
				{-0.5,     0,     0, 0.5,  0.25, 0.5},
 | 
			
		||||
				{-0.5,  0.25,  0.25, 0.5,   0.5, 0.5}
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		collision_box = {
 | 
			
		||||
			type = "fixed",
 | 
			
		||||
			fixed = {
 | 
			
		||||
				{-0.5,  -0.5,  -0.5, 0.5, -0.25, 0.5},
 | 
			
		||||
				{-0.5, -0.25, -0.25, 0.5,     0, 0.5},
 | 
			
		||||
				{-0.5,     0,     0, 0.5,  0.25, 0.5},
 | 
			
		||||
				{-0.5,  0.25,  0.25, 0.5,   0.5, 0.5}
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		selection_box = scifi_nodes.slope_box,
 | 
			
		||||
		collision_box = scifi_nodes.slope_box,
 | 
			
		||||
		paramtype = "light",
 | 
			
		||||
		paramtype2 = "facedir",
 | 
			
		||||
		use_texture_alpha = "clip",
 | 
			
		||||
@@ -48,7 +32,7 @@ end
 | 
			
		||||
-- register some blocks in stairsplus if available (part of moreblocks)
 | 
			
		||||
scifi_nodes.register_slope("white2", "Plastic", {"scifi_nodes_white2.png",}, 0, "stone")
 | 
			
		||||
scifi_nodes.register_slope("super_white", "Super Plastic", {"scifi_nodes_super_white.png",}, 11, "stone")
 | 
			
		||||
scifi_nodes.register_slope("ultra_white", "Super Plastic", {"scifi_nodes_ultra_white.png",}, minetest.LIGHT_MAX, "stone")
 | 
			
		||||
scifi_nodes.register_slope("ultra_white", "Super Plastic", {"scifi_nodes_ultra_white.png",},minetest.LIGHT_MAX, "stone")
 | 
			
		||||
scifi_nodes.register_slope("black", "Black", {"scifi_nodes_black.png",}, 0)
 | 
			
		||||
scifi_nodes.register_slope("white", "White", {"scifi_nodes_white.png",}, 0)
 | 
			
		||||
scifi_nodes.register_slope("grey", "Grey", {"scifi_nodes_grey.png",}, 0)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								models/scifi_nodes_slope_simple.obj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								models/scifi_nodes_slope_simple.obj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
g top
 | 
			
		||||
v 0.500000 0.500000 0.500000
 | 
			
		||||
v -0.500000 0.500000 0.500000
 | 
			
		||||
v -0.500000 -0.500000 -0.500000
 | 
			
		||||
v 0.500000 -0.500000 -0.500000
 | 
			
		||||
vt 1.0000 1.0000
 | 
			
		||||
vt 0.0000 1.0000
 | 
			
		||||
vt 0.0000 0.0000
 | 
			
		||||
vt 1.0000 0.0000
 | 
			
		||||
vn 0.0000 0.7071 -0.7071
 | 
			
		||||
s off
 | 
			
		||||
f 2/1/1 1/2/1 4/3/1 3/4/1
 | 
			
		||||
							
								
								
									
										35
									
								
								nodes.json
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								nodes.json
									
									
									
									
									
								
							@@ -8,17 +8,21 @@
 | 
			
		||||
    "white2": {
 | 
			
		||||
        "description": "plastic",
 | 
			
		||||
        "colorable": true,
 | 
			
		||||
        "sounds": "stone"
 | 
			
		||||
        "sounds": "stone",
 | 
			
		||||
        "signs_banner": true,
 | 
			
		||||
        "signs_banner_color": "#000"
 | 
			
		||||
    },
 | 
			
		||||
    "super_white": {
 | 
			
		||||
        "description": "Super Plastic",
 | 
			
		||||
        "light": 11,
 | 
			
		||||
        "sounds": "stone"
 | 
			
		||||
        "sounds": "stone",
 | 
			
		||||
        "texture_name": "white2"
 | 
			
		||||
    },
 | 
			
		||||
    "ultra_white": {
 | 
			
		||||
        "description": "Ultra Plastic",
 | 
			
		||||
        "light": 14,
 | 
			
		||||
        "sounds": "stone"
 | 
			
		||||
        "sounds": "stone",
 | 
			
		||||
        "texture_name": "white2"
 | 
			
		||||
    },
 | 
			
		||||
    "engine": {
 | 
			
		||||
        "description": "Engine"
 | 
			
		||||
@@ -58,7 +62,8 @@
 | 
			
		||||
    },
 | 
			
		||||
    "stripes": {
 | 
			
		||||
        "description": "hazard stripes",
 | 
			
		||||
        "slat": true
 | 
			
		||||
        "slat": true,
 | 
			
		||||
        "advtrains_platform": true
 | 
			
		||||
    },
 | 
			
		||||
    "rust": {
 | 
			
		||||
        "description": "rusty metal"
 | 
			
		||||
@@ -67,7 +72,8 @@
 | 
			
		||||
        "description": "metal mesh"
 | 
			
		||||
    },
 | 
			
		||||
    "black": {
 | 
			
		||||
        "description": "black wall"
 | 
			
		||||
        "description": "black wall",
 | 
			
		||||
        "signs_banner": true
 | 
			
		||||
    },
 | 
			
		||||
    "blackoct": {
 | 
			
		||||
        "description": "black octagon"
 | 
			
		||||
@@ -88,7 +94,8 @@
 | 
			
		||||
        "description": "blue bars"
 | 
			
		||||
    },
 | 
			
		||||
    "bluemetal": {
 | 
			
		||||
        "description": "blue metal"
 | 
			
		||||
        "description": "blue metal",
 | 
			
		||||
        "signs_banner": true
 | 
			
		||||
    },
 | 
			
		||||
    "bluetile": {
 | 
			
		||||
        "description": "blue tile",
 | 
			
		||||
@@ -147,7 +154,8 @@
 | 
			
		||||
        "colorable": true
 | 
			
		||||
    },
 | 
			
		||||
    "greenmetal": {
 | 
			
		||||
        "description": "green metal wall"
 | 
			
		||||
        "description": "green metal wall",
 | 
			
		||||
        "signs_banner": true
 | 
			
		||||
    },
 | 
			
		||||
    "greenmetal2": {
 | 
			
		||||
        "description": "green metal wall2"
 | 
			
		||||
@@ -171,7 +179,8 @@
 | 
			
		||||
        "description": "green pipes"
 | 
			
		||||
    },
 | 
			
		||||
    "grey": {
 | 
			
		||||
        "description": "grey wall"
 | 
			
		||||
        "description": "grey wall",
 | 
			
		||||
        "signs_banner": true
 | 
			
		||||
    },
 | 
			
		||||
    "greybolts": {
 | 
			
		||||
        "description": "grey wall bolts"
 | 
			
		||||
@@ -275,7 +284,8 @@
 | 
			
		||||
        "slat": true
 | 
			
		||||
    },
 | 
			
		||||
    "purple": {
 | 
			
		||||
        "description": "Purple node"
 | 
			
		||||
        "description": "Purple node",
 | 
			
		||||
        "signs_banner": true
 | 
			
		||||
    },
 | 
			
		||||
    "rock": {
 | 
			
		||||
        "description": "Moonstone",
 | 
			
		||||
@@ -292,5 +302,12 @@
 | 
			
		||||
    },
 | 
			
		||||
    "blackplate": {
 | 
			
		||||
        "description": "Black plate"
 | 
			
		||||
    },
 | 
			
		||||
    "plastcrete": {
 | 
			
		||||
        "description": "Plastcrete",
 | 
			
		||||
        "sounds": "stone",
 | 
			
		||||
        "colorable": true,
 | 
			
		||||
        "moreblocks": false,
 | 
			
		||||
        "paramtype2": "none"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										115
									
								
								nodes.lua
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								nodes.lua
									
									
									
									
									
								
							@@ -1,6 +1,8 @@
 | 
			
		||||
local has_unifieddyes_mod = minetest.get_modpath("unifieddyes")
 | 
			
		||||
local has_moreblocks_mod = minetest.get_modpath("moreblocks")
 | 
			
		||||
local has_slats_mod = minetest.get_modpath("slats")
 | 
			
		||||
local has_advtrains_mod = minetest.get_modpath("advtrains")
 | 
			
		||||
local has_signs_api_mod = minetest.get_modpath("signs_api")
 | 
			
		||||
 | 
			
		||||
--nodes
 | 
			
		||||
 | 
			
		||||
@@ -367,95 +369,6 @@ minetest.register_node("scifi_nodes:grnpipe2", {
 | 
			
		||||
	on_place = minetest.rotate_node
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("scifi_nodes:octrng", {
 | 
			
		||||
	description = "Orange Octagon Glass",
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	drawtype = "glasslike",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"scifi_nodes_octrng.png",
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
	use_texture_alpha = "blend",
 | 
			
		||||
	light_source = 10,
 | 
			
		||||
	groups = {cracky=2, dig_generic = 3},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = scifi_nodes.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("scifi_nodes:octgrn", {
 | 
			
		||||
	description = "Green Octagon Glass",
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	drawtype = "glasslike",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"scifi_nodes_octgrn.png",
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
	use_texture_alpha = "blend",
 | 
			
		||||
	light_source = 10,
 | 
			
		||||
	groups = {cracky=2, dig_generic = 3},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = scifi_nodes.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("scifi_nodes:octbl", {
 | 
			
		||||
	description = "Blue Octagon Glass",
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	drawtype = "glasslike",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"scifi_nodes_octbl.png",
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
	use_texture_alpha = "blend",
 | 
			
		||||
	light_source = 10,
 | 
			
		||||
	groups = {cracky=2, dig_generic = 3},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = scifi_nodes.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("scifi_nodes:octppl", {
 | 
			
		||||
	description = "Purple Octagon Glass",
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	drawtype = "glasslike",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"scifi_nodes_octppl.png",
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
	use_texture_alpha = "blend",
 | 
			
		||||
	light_source = 10,
 | 
			
		||||
	groups = {cracky=2, dig_generic = 3},
 | 
			
		||||
	is_ground_content = false,
 | 
			
		||||
	sounds = scifi_nodes.node_sound_glass_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
if has_unifieddyes_mod then
 | 
			
		||||
	minetest.register_node("scifi_nodes:octwht", {
 | 
			
		||||
		description = "Octagon Glass",
 | 
			
		||||
		sunlight_propagates = true,
 | 
			
		||||
		drawtype = "glasslike",
 | 
			
		||||
		tiles = {
 | 
			
		||||
			"scifi_nodes_octwht.png",
 | 
			
		||||
		},
 | 
			
		||||
		palette = "unifieddyes_palette_extended.png",
 | 
			
		||||
		paramtype = "light",
 | 
			
		||||
		paramtype2 = "color",
 | 
			
		||||
		use_texture_alpha = "blend",
 | 
			
		||||
		light_source = 10,
 | 
			
		||||
		groups = {
 | 
			
		||||
			cracky = 2,
 | 
			
		||||
			dig_generic = 3,
 | 
			
		||||
			ud_param2_colorable = 1
 | 
			
		||||
		},
 | 
			
		||||
		is_ground_content = false,
 | 
			
		||||
		sounds = scifi_nodes.node_sound_glass_defaults(),
 | 
			
		||||
		on_construct = unifieddyes.on_construct,
 | 
			
		||||
		on_dig = unifieddyes.on_dig
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_node("scifi_nodes:tower", {
 | 
			
		||||
	description = "Wind tower",
 | 
			
		||||
	sunlight_propagates = false,
 | 
			
		||||
@@ -661,6 +574,30 @@ for name, def in pairs(nodes) do
 | 
			
		||||
		})
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	-- advtrains platform registration
 | 
			
		||||
	if has_advtrains_mod and def.advtrains_platform then
 | 
			
		||||
		advtrains.register_platform("scifi_nodes", "scifi_nodes:" .. name)
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	if has_signs_api_mod and def.signs_banner then
 | 
			
		||||
		signs_api.register_sign("scifi_nodes", name .. "_banner", {
 | 
			
		||||
			depth = 1/16,
 | 
			
		||||
			width = 5,
 | 
			
		||||
			height = 1,
 | 
			
		||||
			entity_fields = {
 | 
			
		||||
				maxlines = 1,
 | 
			
		||||
				color = def.signs_banner_color or "#fff",
 | 
			
		||||
			},
 | 
			
		||||
			node_fields = {
 | 
			
		||||
				visual_scale = 1,
 | 
			
		||||
				description = name .. " banner",
 | 
			
		||||
				tiles = tiles,
 | 
			
		||||
				inventory_image = "scifi_nodes_" .. name .. ".png",
 | 
			
		||||
				use_texture_alpha = "clip",
 | 
			
		||||
			},
 | 
			
		||||
		})
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	if has_slats_mod and def.slat then
 | 
			
		||||
		slats.register_slat(
 | 
			
		||||
			name,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										53
									
								
								octagon_glass.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								octagon_glass.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
local has_unifieddyes_mod = minetest.get_modpath("unifieddyes")
 | 
			
		||||
 | 
			
		||||
local function register_glass(key, name)
 | 
			
		||||
    local tiles = {"scifi_nodes_" .. key .. ".png"}
 | 
			
		||||
 | 
			
		||||
    minetest.register_node("scifi_nodes:" .. key, {
 | 
			
		||||
        description = name .. " Octagon Glass",
 | 
			
		||||
        sunlight_propagates = true,
 | 
			
		||||
        drawtype = "glasslike",
 | 
			
		||||
        tiles = tiles,
 | 
			
		||||
        paramtype = "light",
 | 
			
		||||
        paramtype2 = "facedir",
 | 
			
		||||
        use_texture_alpha = "blend",
 | 
			
		||||
        light_source = 10,
 | 
			
		||||
        groups = {
 | 
			
		||||
            cracky = 2,
 | 
			
		||||
            dig_generic = 3
 | 
			
		||||
        },
 | 
			
		||||
        is_ground_content = false,
 | 
			
		||||
        sounds = scifi_nodes.node_sound_glass_defaults(),
 | 
			
		||||
    })
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
register_glass("octppl", "Purple")
 | 
			
		||||
register_glass("octbl", "Blue")
 | 
			
		||||
register_glass("octgrn", "Green")
 | 
			
		||||
register_glass("octrng", "Orange")
 | 
			
		||||
register_glass("octwht", "White")
 | 
			
		||||
 | 
			
		||||
if has_unifieddyes_mod then
 | 
			
		||||
	minetest.register_node("scifi_nodes:octwht", {
 | 
			
		||||
		description = "Octagon Glass",
 | 
			
		||||
		sunlight_propagates = true,
 | 
			
		||||
		drawtype = "glasslike",
 | 
			
		||||
		tiles = {
 | 
			
		||||
			"scifi_nodes_octwht.png",
 | 
			
		||||
		},
 | 
			
		||||
		palette = "unifieddyes_palette_extended.png",
 | 
			
		||||
		paramtype = "light",
 | 
			
		||||
		paramtype2 = "color",
 | 
			
		||||
		use_texture_alpha = "blend",
 | 
			
		||||
		light_source = 10,
 | 
			
		||||
		groups = {
 | 
			
		||||
			cracky = 2,
 | 
			
		||||
			dig_generic = 3,
 | 
			
		||||
			ud_param2_colorable = 1
 | 
			
		||||
		},
 | 
			
		||||
		is_ground_content = false,
 | 
			
		||||
		sounds = scifi_nodes.node_sound_glass_defaults(),
 | 
			
		||||
		on_construct = unifieddyes.on_construct,
 | 
			
		||||
		on_dig = unifieddyes.on_dig
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
@@ -1,13 +1,15 @@
 | 
			
		||||
 | 
			
		||||
local function register(basename, description, texture)
 | 
			
		||||
local function register(basename, color, texture)
 | 
			
		||||
  local nodename_single = "scifi_nodes:" .. basename .. "_pane"
 | 
			
		||||
  local nodename_double = "scifi_nodes:" .. basename .. "_pane_double"
 | 
			
		||||
  local nodename_offset = "scifi_nodes:" .. basename .. "_pane_offset"
 | 
			
		||||
  local nodename_slope = "scifi_nodes:" .. basename .. "_slope"
 | 
			
		||||
  local recipe_ingredient = "scifi_nodes:" .. basename
 | 
			
		||||
  local base_decription = color ..  " octagon glass"
 | 
			
		||||
 | 
			
		||||
  -- single height
 | 
			
		||||
  minetest.register_node(nodename_single, {
 | 
			
		||||
    description = description,
 | 
			
		||||
    description = base_decription .. " pane",
 | 
			
		||||
    drawtype = "nodebox",
 | 
			
		||||
    tiles = {
 | 
			
		||||
      texture
 | 
			
		||||
@@ -25,14 +27,17 @@ local function register(basename, description, texture)
 | 
			
		||||
      type = "fixed",
 | 
			
		||||
      fixed = {{-0.5, -0.5, -0.25, 0.5, 0.5, 0.25}},
 | 
			
		||||
    },
 | 
			
		||||
    groups = {cracky = 3, oddly_breakable_by_hand = 3},
 | 
			
		||||
    groups = {
 | 
			
		||||
      cracky = 3,
 | 
			
		||||
      oddly_breakable_by_hand = 3
 | 
			
		||||
    },
 | 
			
		||||
    use_texture_alpha = "blend",
 | 
			
		||||
    sounds = scifi_nodes.node_sound_glass_defaults()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  -- double height
 | 
			
		||||
  minetest.register_node(nodename_double, {
 | 
			
		||||
    description = description,
 | 
			
		||||
    description = base_decription .. " pane (double)",
 | 
			
		||||
    drawtype = "nodebox",
 | 
			
		||||
    tiles = {
 | 
			
		||||
      texture
 | 
			
		||||
@@ -50,14 +55,17 @@ local function register(basename, description, texture)
 | 
			
		||||
      type = "fixed",
 | 
			
		||||
      fixed = {{-0.5, -0.5, -0.25, 0.5, 1.5, 0.25}},
 | 
			
		||||
    },
 | 
			
		||||
    groups = {cracky = 3, oddly_breakable_by_hand = 3},
 | 
			
		||||
    groups = {
 | 
			
		||||
      cracky = 3,
 | 
			
		||||
      oddly_breakable_by_hand = 3
 | 
			
		||||
    },
 | 
			
		||||
    use_texture_alpha = "blend",
 | 
			
		||||
    sounds = scifi_nodes.node_sound_glass_defaults()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  -- single height with offset
 | 
			
		||||
  minetest.register_node(nodename_offset, {
 | 
			
		||||
    description = description,
 | 
			
		||||
    description = base_decription .. " pane (offset)",
 | 
			
		||||
    drawtype = "nodebox",
 | 
			
		||||
    tiles = {
 | 
			
		||||
      texture
 | 
			
		||||
@@ -75,11 +83,37 @@ local function register(basename, description, texture)
 | 
			
		||||
      type = "fixed",
 | 
			
		||||
      fixed = {{-0.5, -0.5, 0.75, 0.5, 0.5, 1.25}},
 | 
			
		||||
    },
 | 
			
		||||
    groups = {cracky = 3, oddly_breakable_by_hand = 3},
 | 
			
		||||
    groups = {
 | 
			
		||||
      cracky = 3,
 | 
			
		||||
      oddly_breakable_by_hand = 3,
 | 
			
		||||
      not_blocking_trains = 1
 | 
			
		||||
    },
 | 
			
		||||
    use_texture_alpha = "blend",
 | 
			
		||||
    sounds = scifi_nodes.node_sound_glass_defaults()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  -- slope pane
 | 
			
		||||
  minetest.register_node(nodename_slope, {
 | 
			
		||||
    description = base_decription .. " pane (slope)",
 | 
			
		||||
		sunlight_propagates = true,
 | 
			
		||||
		drawtype = "mesh",
 | 
			
		||||
		mesh = "scifi_nodes_slope_simple.obj",
 | 
			
		||||
		tiles = {
 | 
			
		||||
      texture
 | 
			
		||||
    },
 | 
			
		||||
    paramtype = "light",
 | 
			
		||||
		paramtype2 = "facedir",
 | 
			
		||||
		use_texture_alpha = "blend",
 | 
			
		||||
		light_source = 10,
 | 
			
		||||
		groups = {
 | 
			
		||||
			cracky = 2,
 | 
			
		||||
			dig_generic = 3
 | 
			
		||||
		},
 | 
			
		||||
		selection_box = scifi_nodes.slope_box_simple,
 | 
			
		||||
		collision_box = scifi_nodes.slope_box_simple,
 | 
			
		||||
		is_ground_content = false,
 | 
			
		||||
		sounds = scifi_nodes.node_sound_glass_defaults()
 | 
			
		||||
	})
 | 
			
		||||
  -- register recipes
 | 
			
		||||
 | 
			
		||||
  minetest.register_craft({
 | 
			
		||||
@@ -89,6 +123,15 @@ local function register(basename, description, texture)
 | 
			
		||||
    },
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  minetest.register_craft({
 | 
			
		||||
    output = nodename_slope .. " 16",
 | 
			
		||||
    recipe = {
 | 
			
		||||
      {"", "", recipe_ingredient},
 | 
			
		||||
      {"", recipe_ingredient, ""},
 | 
			
		||||
      {recipe_ingredient, "", ""}
 | 
			
		||||
    },
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  minetest.register_craft({
 | 
			
		||||
    output = nodename_double .. " 16",
 | 
			
		||||
    recipe = {
 | 
			
		||||
@@ -104,8 +147,9 @@ local function register(basename, description, texture)
 | 
			
		||||
  })
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
register("octrng", "Orange Octagon Glass pane", "scifi_nodes_octrng.png")
 | 
			
		||||
register("octgrn", "Green Octagon Glass pane", "scifi_nodes_octgrn.png")
 | 
			
		||||
register("octbl", "Blue Octagon Glass pane", "scifi_nodes_octbl.png")
 | 
			
		||||
register("octppl", "Purple Octagon Glass pane", "scifi_nodes_octppl.png")
 | 
			
		||||
register("octrng", "Orange", "scifi_nodes_octrng.png")
 | 
			
		||||
register("octgrn", "Green", "scifi_nodes_octgrn.png")
 | 
			
		||||
register("octbl", "Blue", "scifi_nodes_octbl.png")
 | 
			
		||||
register("octppl", "Purple", "scifi_nodes_octppl.png")
 | 
			
		||||
register("octwht", "White", "scifi_nodes_octwht.png")
 | 
			
		||||
register("glass", "Dark Glass pane", "scifi_nodes_glass.png")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								textures/scifi_nodes_plastcrete.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								textures/scifi_nodes_plastcrete.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 5.1 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 83 B  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 83 B  | 
		Reference in New Issue
	
	Block a user