this new release provide columns by registering quartz blocs through the mod columnia (if present) :
Add the line "columnia?" into the depends.txt file of quartz mod ;
replace the content of init.lua file of the mod quartz with the following :
============= New init.lua file : ==============
Code: Select all
--[[
Patched by Tagada on 2018 february 21th :
- solved conflict names between stairs, stairsplus and the recipes of quartz mod :
all the names 'block', 'chiseled' and 'pillar' became 'quartzblock', 'quartzchiseled' and 'quartzpillar';
- stairsplus is called first (if installed and enabled in settings.txt) and
- stairs is called as fallback if stairsplus is not called;
then with stairsplus :
- all the names will be 'quartz:The_Name_Of_The_Block';
- all the stairs, slabs, microblocks, slopes and panels are available using the circular saw;
- all precedents (micro)blocks are NOT visible in the creative inventory unless you modify the
moreblocks\config.lua (at the last line) to set :
setting("bool", "stairsplus_in_creative_inventory", true)
(it is set to false by default)
note that if you do that, you will see in the creative inventory ALL the possible microblocks
from all the nodes (not only this mod): this might represent a lot of pages for your inventory.
And with stairs as fallback (if you disable stairsplus in settings.txt or if moreblocks isn't installed) :
- all the names will be 'stairs:The_Name_Of_The_Block' ('stairs', not 'quartz');
- only blocks, stairs and slabs are available and visible in creative inventory;
- circular saw will reject the quartz blocks so you can't use it with quartz blocks;
- some panels and microblocks stay available using the workbench (xdecor mod)
- stairs and slabs added or fixed for chiseled and pillar
02, 23rd, 2018 :
- integration of columnia mod if present :
/\
/! \ be sure to insert a line 'columnia?' in the quartz\depends.txt file !
]]
local settings = Settings(minetest.get_modpath("quartz").."/settings.txt")
-- internationalization boilerplate
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
--
-- Item Registration
--
-- Quartz Crystal
minetest.register_craftitem("quartz:quartz_crystal", {
description = S("Quartz Crystal"),
inventory_image = "quartz_crystal_full.png",
})
minetest.register_craftitem("quartz:quartz_crystal_piece", {
description = S("Quartz Crystal Piece"),
inventory_image = "quartz_crystal_piece.png",
})
--
-- Node Registration
--
-- Ore
minetest.register_node("quartz:quartz_ore", {
description = S("Quartz Ore"),
tiles = {"default_stone.png^quartz_ore.png"},
groups = {cracky=3, stone=1},
drop = 'quartz:quartz_crystal',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_ore({
ore_type = "scatter",
ore = "quartz:quartz_ore",
wherein = "default:stone",
clust_scarcity = 10*10*10,
clust_num_ores = 6,
clust_size = 5,
y_min = -31000,
y_max = -5,
})
-- Quartz Block
minetest.register_node("quartz:quartzblock", {
description = S("Quartz Block"),
tiles = {"quartz_block.png"},
groups = {cracky=3, oddly_breakable_by_hand=1},
sounds = default.node_sound_glass_defaults(),
})
-- Chiseled Quartz
minetest.register_node("quartz:quartzchiseled", {
description = S("Chiseled Quartz"),
tiles = {"quartz_chiseled.png"},
groups = {cracky=3, oddly_breakable_by_hand=1},
sounds = default.node_sound_glass_defaults(),
})
-- Quartz Pillar
minetest.register_node("quartz:quartzpillar", {
description = S("Quartz Pillar"),
paramtype2 = "facedir",
tiles = {"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
groups = {cracky=3, oddly_breakable_by_hand=1},
sounds = default.node_sound_glass_defaults(),
on_place = minetest.rotate_node
})
--
-- If stairsplus mod is installed and enabled (see: quartz\settings.txt) then
-- register slabs, stairs and others microblocks with stairsplus which is better than stairs because it use
-- microblocks and slopes with circular saw;
-- note : if you want to see stairs, slabs but also microblocs and slopes in creative inventory (like for crafting guide),
-- then you must modify the last line of moreblocks\config.lua to setting( ... true) !
-- if not enabled, fall back to register with stairs
--
if minetest.get_modpath("moreblocks") and settings:get_bool("ENABLE_STAIRSPLUS") then
register_stair_slab_panel_micro("quartz", "quartzblock", "quartz:quartzblock",
{cracky=3},
{"quartz_block.png"},
"Quartz Block",
"quartzblock",
0
)
register_stair_slab_panel_micro("quartz", "quartzchiseled", "quartz:quartzchiseled",
{cracky=3},
{"quartz_chiseled.png"},
"Chiseled Quartz",
"quartzchiseled",
0
)
register_stair_slab_panel_micro("quartz", "quartzpillar", "quartz:quartzpillar",
{cracky=3},
{"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
"Quartz Pillar",
"quartzpillar",
0
)
table.insert(circular_saw.known_stairs, "quartz:quartzblock")
table.insert(circular_saw.known_stairs, "quartz:quartzchiseled")
table.insert(circular_saw.known_stairs, "quartz:quartzpillar")
else
-- fall back to register slabs and stairs with stairs mod :
-- Stairs & Slabs
stairs.register_stair_and_slab("quartzblock", "quartz:quartzblock",
{cracky=3, oddly_breakable_by_hand=1},
{"quartz_block.png"},
S("Quartz stair"),
S("Quartz slab"),
default.node_sound_glass_defaults())
stairs.register_stair_and_slab("quartzpillar", "quartz:quartzpillar",
{cracky=3, oddly_breakable_by_hand=1},
{"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
S("Quartz Pillar stair"),
S("Quartz Pillar slab"),
default.node_sound_glass_defaults())
stairs.register_stair_and_slab("quartzchiseled", "quartz:quartzchiseled",
{cracky=3, oddly_breakable_by_hand=1},
{"quartz_chiseled.png"},
S("Quartz Chiseled stair"),
S("Quartz Chiseled slab"),
default.node_sound_glass_defaults())
end
--
-- Crafting
--
-- Quartz Crystal Piece
minetest.register_craft({
output = '"quartz:quartz_crystal_piece" 3',
recipe = {
{'quartz:quartz_crystal'}
}
})
-- Quartz Block
minetest.register_craft({
output = '"quartz:quartzblock" 4',
recipe = {
{'quartz:quartz_crystal', 'quartz:quartz_crystal', ''},
{'quartz:quartz_crystal', 'quartz:quartz_crystal', ''},
{'', '', ''}
}
})
-- Chiseled Quartz
minetest.register_craft({
output = 'quartz:quartzchiseled 2',
recipe = {
{'stairs:slab_quartzblock', '', ''},
{'stairs:slab_quartzblock', '', ''},
{'', '', ''},
}
})
-- Chiseled Quartz (for stairsplus)
minetest.register_craft({
output = 'quartz:quartzchiseled 2',
recipe = {
{'quartz:slab_quartzblock', '', ''},
{'quartz:slab_quartzblock', '', ''},
{'', '', ''},
}
})
-- Quartz Pillar
minetest.register_craft({
output = 'quartz:quartzpillar 2',
recipe = {
{'quartz:quartzblock', '', ''},
{'quartz:quartzblock', '', ''},
{'', '', ''},
}
})
--
-- ABMS
--
local dirs2 = {12, 9, 18, 7, 12}
-- Replace all instances of the horizontal quartz pillar with the
minetest.register_abm({
nodenames = {"quartz:pillar_horizontal"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local fdir = node.param2 or 0
nfdir = dirs2[fdir+1]
minetest.add_node(pos, {name = "quartz:quartzpillar", param2 = nfdir})
end,
})
--
-- Deprecated
--
if settings:get_bool("ENABLE_HORIZONTAL_PILLAR") then
-- Quartz Pillar (horizontal)
minetest.register_node("quartz:pillar_horizontal", {
description = "Quartz Pillar Horizontal",
tiles = {"quartz_pillar_side.png", "quartz_pillar_side.png", "quartz_pillar_side.png^[transformR90",
"quartz_pillar_side.png^[transformR90", "quartz_pillar_top.png", "quartz_pillar_top.png"},
paramtype2 = "facedir",
drop = 'quartz:quartzpillar',
groups = {cracky=3, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
sounds = default.node_sound_glass_defaults(),
})
end
-- alias for compatibility with original names :
-- full blocks :
minetest.register_alias("quartz:block", "quartz:quartzblock")
minetest.register_alias("quartz:chiseled", "quartz:quartzchiseled")
minetest.register_alias("quartz:pillar", "quartz:quartzpillar")
-- slabs by stairs mod :
minetest.register_alias("stairs:slab_block", "stairs:slab_quartzblock")
minetest.register_alias("stairs:slab_pillar", "stairs:slab_quartzpillar")
minetest.register_alias("stairs:slab_quartzstair", "stairs:slab_quartzpillar")
-- stairs by stairs mod :
minetest.register_alias("stairs:stair_quartzstair", "stairs:stair_quartzpillar")
-- use benefit of 'columnia' mod if present, registering quartz blocks as columns :
if minetest.get_modpath("columnia") then
columnia.register_column_ia("quartzblock", "quartz:quartzblock",
{cracky=3, oddly_breakable_by_hand=1},
{"quartz_block.png"},
"Quartz Solid Column",
"Quartz Solid Column Top",
"Quartz Solid Column Bottom",
"Quartz Solid Column Crosslink",
"Quartz Solid Column Link",
"Quartz Solid Column Linkdown",
default.node_sound_glass_defaults())
columnia.register_column_ia("quartzchiseled", "quartz:quartzchiseled",
{cracky=3, oddly_breakable_by_hand=1},
{"quartz_chiseled.png"},
"Quartz Chiseled Column",
"Quartz Chiseled Column Top",
"Quartz Chiseled Column Bottom",
"Quartz Chiseled Column Crosslink",
"Quartz Chiseled Column Link",
"Quartz Chiseled Column Linkdown",
default.node_sound_glass_defaults())
columnia.register_column_ia("quartzpillar", "quartz:quartzpillar",
{cracky=3, oddly_breakable_by_hand=1},
{"quartz_pillar_top.png", "quartz_pillar_top.png", "quartz_pillar_side.png"},
"Quartz Pillar Column",
"Quartz Pillar Column Top",
"Quartz Pillar Column Bottom",
"Quartz Pillar Column Crosslink",
"Quartz Pillar Column Link",
"Quartz Pillar Column Linkdown",
default.node_sound_glass_defaults())
end