2019-01-26 14:15:40 +01:00
|
|
|
--Minetest 0.4.7 mod: concrete
|
2013-04-04 01:17:39 +02:00
|
|
|
--(c) 2013 by RealBadAngel <mk@realbadangel.pl>
|
|
|
|
|
2015-02-05 09:47:37 +01:00
|
|
|
local technic = rawget(_G, "technic") or {}
|
2013-07-17 21:34:35 +02:00
|
|
|
technic.concrete_posts = {}
|
|
|
|
|
2023-12-20 09:20:56 +01:00
|
|
|
-- Mineclone2 Support
|
|
|
|
local stone_ingrediant = nil
|
|
|
|
if minetest.get_modpath("mcl_core") then
|
|
|
|
stone_ingrediant = "mcl_core:stone"
|
|
|
|
else
|
|
|
|
stone_ingrediant = "default:stone"
|
|
|
|
end
|
|
|
|
|
|
|
|
local stone_sounds = nil
|
|
|
|
if minetest.get_modpath("mcl_sounds") then
|
|
|
|
stone_sounds = mcl_sounds.node_sound_stone_defaults()
|
|
|
|
else
|
|
|
|
stone_sounds = default.node_sound_stone_defaults()
|
|
|
|
end
|
|
|
|
|
2014-04-16 19:10:00 +02:00
|
|
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
2015-02-05 10:07:38 +01:00
|
|
|
local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end
|
2014-04-16 19:10:00 +02:00
|
|
|
|
2016-03-20 03:55:00 +01:00
|
|
|
for i = 0, 31 do
|
|
|
|
minetest.register_alias("technic:concrete_post"..i,
|
|
|
|
"technic:concrete_post")
|
|
|
|
end
|
|
|
|
for i = 32, 63 do
|
|
|
|
minetest.register_alias("technic:concrete_post"..i,
|
|
|
|
"technic:concrete_post_with_platform")
|
|
|
|
end
|
2013-07-17 21:34:35 +02:00
|
|
|
|
2013-04-04 01:17:39 +02:00
|
|
|
minetest.register_craft({
|
2013-07-14 11:30:03 +02:00
|
|
|
output = 'technic:concrete_post_platform 6',
|
2013-04-04 01:17:39 +02:00
|
|
|
recipe = {
|
2016-03-20 03:55:00 +01:00
|
|
|
{'technic:concrete','technic:concrete_post','technic:concrete'},
|
2013-04-04 01:17:39 +02:00
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
2016-03-20 03:55:00 +01:00
|
|
|
output = 'technic:concrete_post 12',
|
2013-04-04 01:17:39 +02:00
|
|
|
recipe = {
|
2023-12-20 09:20:56 +01:00
|
|
|
{stone_ingrediant,'basic_materials:steel_bar',stone_ingrediant},
|
|
|
|
{stone_ingrediant,'basic_materials:steel_bar',stone_ingrediant},
|
|
|
|
{stone_ingrediant,'basic_materials:steel_bar',stone_ingrediant},
|
2016-03-20 03:55:00 +01:00
|
|
|
}
|
2013-04-04 01:17:39 +02:00
|
|
|
})
|
|
|
|
|
2013-07-14 12:11:56 +02:00
|
|
|
minetest.register_craft({
|
|
|
|
output = 'technic:blast_resistant_concrete 5',
|
|
|
|
recipe = {
|
|
|
|
{'technic:concrete','technic:composite_plate','technic:concrete'},
|
|
|
|
{'technic:composite_plate','technic:concrete','technic:composite_plate'},
|
|
|
|
{'technic:concrete','technic:composite_plate','technic:concrete'},
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node(":technic:blast_resistant_concrete", {
|
2014-04-16 19:10:00 +02:00
|
|
|
description = S("Blast-resistant Concrete Block"),
|
2015-10-02 19:45:39 +02:00
|
|
|
tiles = {"technic_blast_resistant_concrete_block.png",},
|
2016-03-20 03:55:00 +01:00
|
|
|
groups = {cracky=1, level=3, concrete=1},
|
2023-12-20 09:20:56 +01:00
|
|
|
sounds = stone_sounds,
|
2016-03-20 05:08:50 +01:00
|
|
|
on_blast = function(pos, intensity)
|
2016-10-05 01:37:26 +02:00
|
|
|
if intensity > 9 then
|
2016-03-20 05:08:50 +01:00
|
|
|
minetest.remove_node(pos)
|
2016-10-05 01:37:26 +02:00
|
|
|
return {"technic:blast_resistant_concrete"}
|
2016-03-20 05:08:50 +01:00
|
|
|
end
|
|
|
|
end,
|
2013-07-14 12:11:56 +02:00
|
|
|
})
|
|
|
|
|
2018-11-23 20:48:23 +01:00
|
|
|
if minetest.get_modpath("moreblocks") then
|
|
|
|
stairsplus:register_all("technic","blast_resistant_concrete","technic:blast_resistant_concrete",{
|
|
|
|
description = "Blast-resistant Concrete",
|
|
|
|
tiles = {"technic_blast_resistant_concrete_block.png",},
|
|
|
|
groups = {cracky=1, level=3, concrete=1},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
on_blast = function(pos, intensity)
|
|
|
|
if intensity > 1 then
|
|
|
|
minetest.remove_node(pos)
|
|
|
|
minetest.add_item(pos, "technic:blast_resistant_concrete")
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
})
|
|
|
|
end
|
2016-03-20 03:55:00 +01:00
|
|
|
|
|
|
|
local box_platform = {-0.5, 0.3, -0.5, 0.5, 0.5, 0.5}
|
|
|
|
local box_post = {-0.15, -0.5, -0.15, 0.15, 0.5, 0.15}
|
2017-04-13 19:12:46 +02:00
|
|
|
local box_front = {-0.1, -0.3, -0.5, 0.1, 0.3, 0}
|
2016-03-20 03:55:00 +01:00
|
|
|
local box_back = {-0.1, -0.3, 0, 0.1, 0.3, 0.5}
|
2017-04-13 19:12:46 +02:00
|
|
|
local box_left = {-0.5, -0.3, -0.1, 0, 0.3, 0.1}
|
2016-03-20 03:55:00 +01:00
|
|
|
local box_right = {0, -0.3, -0.1, 0.5, 0.3, 0.1}
|
|
|
|
|
2013-04-04 01:17:39 +02:00
|
|
|
minetest.register_node(":technic:concrete_post_platform", {
|
2014-04-16 19:10:00 +02:00
|
|
|
description = S("Concrete Post Platform"),
|
2018-10-31 01:29:28 +01:00
|
|
|
tiles = {"basic_materials_concrete_block.png",},
|
2013-07-17 21:34:35 +02:00
|
|
|
groups={cracky=1, level=2},
|
2023-12-20 09:20:56 +01:00
|
|
|
sounds = stone_sounds,
|
2013-04-04 01:17:39 +02:00
|
|
|
paramtype = "light",
|
2019-01-26 14:15:40 +01:00
|
|
|
drawtype = "nodebox",
|
2013-04-04 01:17:39 +02:00
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
2013-07-17 21:34:35 +02:00
|
|
|
fixed = {box_platform}
|
|
|
|
},
|
|
|
|
on_place = function (itemstack, placer, pointed_thing)
|
|
|
|
local node = minetest.get_node(pointed_thing.under)
|
2019-01-26 14:15:40 +01:00
|
|
|
if node.name ~= "technic:concrete_post" then
|
|
|
|
return minetest.item_place_node(itemstack, placer, pointed_thing)
|
2013-07-17 21:34:35 +02:00
|
|
|
end
|
2016-03-20 03:55:00 +01:00
|
|
|
minetest.set_node(pointed_thing.under, {name="technic:concrete_post_with_platform"})
|
2013-07-17 21:34:35 +02:00
|
|
|
itemstack:take_item()
|
|
|
|
placer:set_wielded_item(itemstack)
|
|
|
|
return itemstack
|
2013-04-04 01:17:39 +02:00
|
|
|
end,
|
|
|
|
})
|
|
|
|
|
2013-07-17 21:34:35 +02:00
|
|
|
for platform = 0, 1 do
|
2016-03-20 03:55:00 +01:00
|
|
|
local after_dig_node = nil
|
|
|
|
if platform == 1 then
|
|
|
|
after_dig_node = function(pos, old_node)
|
|
|
|
old_node.name = "technic:concrete_post"
|
|
|
|
minetest.set_node(pos, old_node)
|
2013-07-17 21:34:35 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-03-20 03:55:00 +01:00
|
|
|
minetest.register_node(":technic:concrete_post"..(platform == 1 and "_with_platform" or ""), {
|
2014-04-16 19:10:00 +02:00
|
|
|
description = S("Concrete Post"),
|
2018-10-31 01:29:28 +01:00
|
|
|
tiles = {"basic_materials_concrete_block.png"},
|
2016-03-20 03:55:00 +01:00
|
|
|
groups = {cracky=1, level=2, concrete_post=1, not_in_creative_inventory=platform},
|
2023-12-20 09:20:56 +01:00
|
|
|
sounds = stone_sounds,
|
2016-03-20 03:55:00 +01:00
|
|
|
drop = (platform == 1 and "technic:concrete_post_platform" or
|
|
|
|
"technic:concrete_post"),
|
2013-07-17 21:34:35 +02:00
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
2016-03-20 03:55:00 +01:00
|
|
|
drawtype = "nodebox",
|
|
|
|
connects_to = {"group:concrete", "group:concrete_post"},
|
2013-07-17 21:34:35 +02:00
|
|
|
node_box = {
|
2016-03-20 03:55:00 +01:00
|
|
|
type = "connected",
|
|
|
|
fixed = {box_post, (platform == 1 and box_platform or nil)},
|
|
|
|
connect_front = box_front,
|
|
|
|
connect_back = box_back,
|
|
|
|
connect_left = box_left,
|
|
|
|
connect_right = box_right,
|
2013-07-17 21:34:35 +02:00
|
|
|
},
|
|
|
|
after_dig_node = after_dig_node,
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|