add new lucky blocks, traps and special item

This commit is contained in:
TenPlus1 2017-07-23 15:37:52 +01:00
parent 567a09d396
commit b99f024b11
4 changed files with 102 additions and 6 deletions

@ -19,3 +19,5 @@ Changelog:
- 0.4 - Added ability to add custom functions within lucky blocks
- 0.5 - Explosions now have radius and fire setting, also added new blocks
- 0.6 - Use TNT mod for explosions and if not active do entity damage only
Lucky Blocks: 117 (depending on mods enabled)

@ -9,6 +9,9 @@ lucky_block:add_schematics({
{"acaciatree", dpath .. "acacia_tree_from_sapling.mts", {x = 4, y = 1, z = 4}},
{"aspentree", dpath .. "aspen_tree_from_sapling.mts", {x = 2, y = 1, z = 2}},
{"corals", dpath .. "corals.mts", {x = 2, y = 1, z = 2}},
{"largecactus", dpath .. "large_cactus.mts", {x = 2, y = 0, z = 0}},
{"defaultbush", dpath .. "bush.mts", {x = 1, y = 1, z = 1}},
{"acaciabush", dpath .. "acacia_bush.mts", {x = 1, y = 1, z = 1}},
})
-- Default blocks
@ -25,11 +28,11 @@ lucky_block:add_blocks({
{name = "default:pick_diamond", max = 1},
{name = "default:coal_lump", max = 3}}},
{"sch", "sandtrap", 1, true},
{"nod", "flowers:rose", 0},
{"sch", "defpinetree", 0, false},
{"sch", "lavatrap", 1, true},
{"dro", {"default:mese_crystal_fragment", "default:mese_crystal"}, 10},
{"exp", 2},
{"sch", "acaciabush", 0, false},
{"nod", "default:diamondblock", 0},
{"nod", "default:steelblock", 0},
{"nod", "default:dirt", 0},
@ -39,6 +42,7 @@ lucky_block:add_blocks({
{"dro", {"default:pick_steel"}, 1},
{"dro", {"default:shovel_steel"}, 1},
{"dro", {"default:coal_lump"}, 3},
{"sch", "defaultbush", 0, false},
{"tro", "default:mese", "tnt_blast", true},
{"sch", "acaciatree", 0, false},
{"dro", {"default:axe_steel"}, 1},
@ -50,10 +54,12 @@ lucky_block:add_blocks({
{"sch", "aspentree", 0, false},
{"dro", {"default:shovel_bronze"}, 1},
{"nod", "default:gravel", 0},
{"sch", "largecactus", 0, false},
{"dro", {"default:axe_bronze"}, 1},
{"dro", {"default:bookshelf", "default:book", "default:paper"}, 5},
{"dro", {"default:fence_wood", "default:fence_acacia_wood", "default:fence_aspen_wood",
"default:fence_junglewood", "default:fence_pine_wood"}, 15},
{"sch", "obsidiantrap", 1, true},
})
-- default coral blocks
@ -73,7 +79,17 @@ if minetest.registered_nodes["default:mese_post_light"] then
})
end
-- doors mod
-- Flowers mod
if minetest.get_modpath("flowers") then
lucky_block:add_blocks({
{"nod", "flowers:rose", 0},
{"dro", {"flowers:mushroom_red", "flowers:mushroom_brown"}, 5},
{"dro", {"flowers:rose", "flowers:tulip", "flowers:dandelion_yellow",
"flowers:geranium", "flowers:viola", "flowers:dandelion_white"}, 12},
})
end
-- Doors mod
if minetest.get_modpath("doors") then
lucky_block:add_blocks({
{"dro", {"doors:door_wood", "doors:door_steel", "doors:door_glass",
@ -83,14 +99,31 @@ if minetest.get_modpath("doors") then
})
end
-- screwdriver mod
-- Screwdriver mod
if minetest.get_modpath("screwdriver") then
minetest.register_tool(":screwdriver:screwdriver_magenta", {
description = "Magenta Screwdriver 1500 (left-click to rotate face, right to rotates axis)",
inventory_image = "screwdriver.png^[colorize:#ff009970",
on_use = function(itemstack, user, pointed_thing)
screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 1500)
return itemstack
end,
on_place = function(itemstack, user, pointed_thing)
screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS, 1500)
return itemstack
end,
})
lucky_block:add_blocks({
{"dro", {"screwdriver:screwdriver"}, 1},
{"dro", {"screwdriver:screwdriver_mithril"}, 1},
})
end
-- vessels mod
-- Vessels mod
if minetest.get_modpath("vessels") then
lucky_block:add_blocks({
{"dro", {"vessels:shelf", "vessels:drinking_glass", "vessels:glass_bottle",
@ -125,6 +158,22 @@ if minetest.get_modpath("boats") then
})
end
-- Beds mod
if minetest.get_modpath("beds") then
lucky_block:add_blocks({
{"dro", {"beds:bed", "beds:fancy_bed"}, 1},
})
end
-- Walls mod
if minetest.get_modpath("walls") then
lucky_block:add_blocks({
{"dro", {"walls:cobble"}, 10},
{"dro", {"walls:mossycobble"}, 10},
{"dro", {"walls:desertcobble"}, 10},
})
end
-- Carts mod
if minetest.get_modpath("carts")
or minetest.get_modpath("boost_cart") then
@ -165,6 +214,7 @@ lucky_block:add_blocks({
{"dro", {"fire:flint_and_steel", "default:flint"}, 1},
{"nod", "fire:basic_flame", 1},
{"nod", "fire:permanent_flame", 1},
{"sch", "firetrap", 1, true},
})
end
@ -236,6 +286,6 @@ end
-- Bonemeal mod
if minetest.get_modpath("bonemeal") then
lucky_block:add_blocks({
{"dro", {"bonemeal:mulch", "bonemeal:bonemeal", "bonemeal:fertiliser"}, 8},
{"dro", {"bonemeal:mulch", "bonemeal:bonemeal", "bonemeal:fertiliser"}, 10},
})
end

@ -243,7 +243,7 @@ end
-- this is what happens when you dig a lucky block
local lucky_block = function(pos, digger)
local luck = math.random(1, #lucky_list) ; -- luck = 2
local luck = math.random(1, #lucky_list) ; -- luck = 1
local action = lucky_list[luck][1]
local schem
@ -619,6 +619,12 @@ minetest.register_node('lucky_block:super_lucky_block', {
gain = 1.0,
max_hear_distance = 10
})
if math.random(1, 5) == 1 then
pos.y = pos.y + 0.5
minetest.add_item(pos, "default:goldblock 5")
end
else
minetest.set_node(pos, {name = "lucky_block:lucky_block"})
end

@ -13,6 +13,8 @@ local wat = {name = "default:water_source"}
local whe = {name = "farming:wheat_8"}
local cot = {name = "farming:cotton_8"}
local obg = {name = "default:obsidian_glass"}
local fir = {name = "fire:basic_flame"}
local obs = {name = "default:obsidian"}
local platform = {
size = {x = 5, y = 3, z = 5},
@ -116,6 +118,40 @@ local water_trap = {
},
}
local fire_trap = {
size = {x = 3, y = 3, z = 3},
data = {
fir, fir, fir,
fir, fir, fir,
fir, fir, fir,
fir, fir, fir,
fir, fir, fir,
fir, fir, fir,
fir, fir, fir,
fir, fir, fir,
fir, fir, fir,
},
}
local obsidian_trap = {
size = {x = 3, y = 3, z = 3},
data = {
obs, obs, obs,
obs, obs, obs,
obs, obs, obs,
obs, air, obs,
obs, air, obs,
obs, lav, obs,
obs, obs, obs,
obs, obs, obs,
obs, obs, obs,
},
}
-- add schematics to list
lucky_block:add_schematics({
@ -124,4 +160,6 @@ lucky_block:add_schematics({
{"lavatrap", lava_trap, {x = 1, y = 5, z = 1}},
{"platform", platform, {x = 2, y = 1, z = 2}},
{"instafarm", insta_farm, {x = 2, y = 2, z = 1}},
{"firetrap", fire_trap, {x = 1, y = 0, z = 1}},
{"obsidiantrap", obsidian_trap, {x = 1, y = 0, z = 1}},
})