2108 lines
51 KiB
Lua
2108 lines
51 KiB
Lua
--other files
|
|
if minetest.get_modpath("mobs") then
|
|
dofile(minetest.get_modpath("horror").."/mobs.lua")
|
|
end
|
|
|
|
--flint and steel override(not included in the license since it's only changing the node placed)
|
|
|
|
minetest.override_item("fire:flint_and_steel", {
|
|
description = "Flint and Steel",
|
|
inventory_image = "fire_flint_steel.png",
|
|
on_use = function(itemstack, user, pointed_thing)
|
|
local player_name = user:get_player_name()
|
|
local pt = pointed_thing
|
|
|
|
if pt.type == "node" and minetest.get_node(pt.above).name == "air" then
|
|
itemstack:add_wear(1000)
|
|
local node_under = minetest.get_node(pt.under).name
|
|
|
|
if minetest.get_item_group(node_under, "flammable") >= 1 then
|
|
if not minetest.is_protected(pt.above, player_name) then
|
|
minetest.set_node(pt.above, {name = "horror:fire"})
|
|
else
|
|
minetest.chat_send_player(player_name, "This area is protected")
|
|
end
|
|
end
|
|
end
|
|
|
|
if not minetest.setting_getbool("creative_mode") then
|
|
return itemstack
|
|
end
|
|
end
|
|
})
|
|
|
|
--dark setting
|
|
dark = false
|
|
|
|
--new style, set to false for the nodebox candle and candlestick
|
|
local new_style = true
|
|
|
|
--needed for functions
|
|
horror = {}
|
|
|
|
--Vignette overlay from Vignette mod by TriBlade9(license MIT)
|
|
--permanent dawn
|
|
if dark == true then
|
|
minetest.register_on_joinplayer(function(player)
|
|
minetest.after(0,function()
|
|
player:override_day_night_ratio(0.41)
|
|
end)
|
|
player:hud_add({
|
|
hud_elem_type = "image",
|
|
position = {x = 0.5, y = 0.5},
|
|
scale = {
|
|
x = -100,
|
|
y = -100
|
|
},
|
|
text = "horror_hud.png"
|
|
})
|
|
end)
|
|
end
|
|
--drop head on death
|
|
|
|
minetest.register_on_dieplayer(function(player)
|
|
local pos = player:getpos();
|
|
minetest.add_item(pos, "horror:sam_head")
|
|
end)
|
|
|
|
--blood
|
|
|
|
minetest.register_node("horror:blood_flowing", {
|
|
description = "blood_source",
|
|
inventory_image = minetest.inventorycube("horror_bloodsource.png"),
|
|
drawtype = "flowingliquid",
|
|
tiles = {"horror_bloodsource.png"},
|
|
special_tiles = {
|
|
{
|
|
image="horror_animblood.png",
|
|
backface_culling=false,
|
|
animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1}
|
|
},
|
|
{
|
|
image="horror_animblood.png",
|
|
backface_culling=true,
|
|
animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1}
|
|
},
|
|
},
|
|
alpha = 190,
|
|
paramtype = "light",
|
|
paramtype2 = "flowingliquid",
|
|
walkable = false,
|
|
pointable = false,
|
|
diggable = false,
|
|
buildable_to = true,
|
|
drop = "",
|
|
drowning = 2,
|
|
liquidtype = "flowing",
|
|
liquid_alternative_flowing = "horror:blood_flowing",
|
|
liquid_alternative_source = "horror:bloodsource",
|
|
liquid_viscosity = WATER_VISC,
|
|
freezemelt = "default:snow",
|
|
post_effect_color = {a=70, r=200, g=70, b=70},
|
|
groups = {liquid=3, puts_out_fire=1, not_in_creative_inventory=1, freezes=1, melt_around=1},
|
|
})
|
|
|
|
minetest.register_node("horror:bloodsource", {
|
|
description = "Bloodsource",
|
|
inventory_image = minetest.inventorycube("horror_bloodsource.png"),
|
|
drawtype = "liquid",
|
|
tiles = {
|
|
{name="horror_animblood.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1}}
|
|
},
|
|
special_tiles = {
|
|
-- New-style water source material (mostly unused)
|
|
{
|
|
name="horror_animblood.png",
|
|
animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1},
|
|
backface_culling = false,
|
|
}
|
|
},
|
|
alpha = 190,
|
|
paramtype = "light",
|
|
walkable = false,
|
|
pointable = false,
|
|
diggable = false,
|
|
buildable_to = true,
|
|
drop = "",
|
|
drowning = 2,
|
|
liquidtype = "source",
|
|
liquid_alternative_flowing = "horror:blood_flowing",
|
|
liquid_alternative_source = "horror:bloodsource",
|
|
liquid_viscosity = WATER_VISC,
|
|
freezemelt = "default:ice",
|
|
post_effect_color = {a=70, r=200, g=70, b=70},
|
|
groups = {liquid=3, puts_out_fire=1, freezes=1}
|
|
})
|
|
|
|
--bucket
|
|
if minetest.get_modpath("bucket") then
|
|
bucket.register_liquid(
|
|
"horror:bloodsource",
|
|
"horror:blood_flowing",
|
|
"horror:bucket_blood",
|
|
"bucket_blood.png",
|
|
"Blood Bucket"
|
|
)
|
|
end
|
|
|
|
--stair
|
|
stairs.register_stair_and_slab("oldstone", "horror:stone",
|
|
{snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
|
|
{"horror_stone.png"},
|
|
"Old Stone Stair",
|
|
"Old Stone Slab",
|
|
default.node_sound_wood_defaults())
|
|
|
|
|
|
--corners
|
|
|
|
function horror.register_corner(name, desc, text, breakeable_by_hand)
|
|
|
|
minetest.register_node("horror:"..name.."_corner", {
|
|
description = desc,
|
|
tiles = {
|
|
text,
|
|
text,
|
|
text,
|
|
text,
|
|
text,
|
|
text
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, -0.5, 0.4375, 0.0625, 0.4375, 0.5}, -- NodeBox1
|
|
{-0.0625, 0.4375, -0.5, 0.0625, 0.5, 0.5}, -- NodeBox4
|
|
{-0.0625, 0.0625, 0.3125, 0.0625, 0.3125, 0.4375}, -- NodeBox5
|
|
{-0.0625, 0.3125, 0.125, 0.0625, 0.4375, 0.3125}, -- NodeBox6
|
|
{-0.0625, 0.375, -0.4375, 0.0625, 0.4375, -0.0625}, -- NodeBox7
|
|
{-0.0625, -0.4375, 0.375, 0.0625, -0.125, 0.4375}, -- NodeBox8
|
|
{-0.0625, 0.25, 0.25, 0.0625, 0.3125, 0.3125}, -- NodeBox9
|
|
{-0.0625, 0.25, -0.125, 0.0625, 0.3125, 0.1875}, -- NodeBox10
|
|
{-0.0625, -0.1875, 0.25, 0.0625, 0.1875, 0.3125}, -- NodeBox11
|
|
{-0.0625, 0.125, -0.0625, 0.0625, 0.25, 0.125}, -- NodeBox12
|
|
{-0.0625, -0.0625, 0.125, 0.0625, 0.125, 0.25}, -- NodeBox13
|
|
{-0.0625, 0.0625, 0.0625, 0.0625, 0.125, 0.125}, -- NodeBox14
|
|
{-0.0625, -0.3125, 0.3125, 0.0625, -0.125, 0.375}, -- NodeBox15
|
|
{-0.0625, 0.3125, -0.3125, 0.0625, 0.375, -0.0625}, -- NodeBox16
|
|
}
|
|
},
|
|
groups = {cracky=3, oddly_breakable_by_hand=breakeable_by_hand},
|
|
})
|
|
end
|
|
|
|
horror.register_corner("oldstone", "Old stone corner", "horror_stone.png", 0)
|
|
horror.register_corner("stone", "Stone corner", "default_stone.png", 0)
|
|
horror.register_corner("wood", "Wooden corner", "default_wood.png", 1)
|
|
horror.register_corner("obsidian", "Obsidian corner", "default_obsidian.png", 0)
|
|
|
|
--alternate style nodes
|
|
|
|
if new_style == false then
|
|
minetest.register_node("horror:candlestick", {
|
|
description = "Candlestick",
|
|
tiles = {
|
|
"horror_candlestick_top.png",
|
|
"horror_metal.png",
|
|
"horror_candlestick_side.png",
|
|
"horror_candlestick_side.png",
|
|
"horror_candlestick_side.png",
|
|
"horror_candlestick_side.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1, oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.5, -0.25, 0.25, -0.4375, 0.25}, -- NodeBox1
|
|
{-0.0625, -0.4375, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox2
|
|
{-0.125, 0, 0, 0.125, 0.0625, 0.0625}, -- NodeBox4
|
|
{-0.25, -0.0625, 0, -0.125, 0, 0.0625}, -- NodeBox5
|
|
{0.125, -0.0625, 0, 0.25, 0, 0.0625}, -- NodeBox6
|
|
{-0.3125, 0, 0, -0.25, 0.0625, 0.0625}, -- NodeBox7
|
|
{0.25, 0, 0, 0.3125, 0.0625, 0.0625}, -- NodeBox8
|
|
{-0.4375, -0.0625, -0.0625, -0.3125, 0.375, 0.0625}, -- NodeBox9
|
|
{0.3125, -0.0625, -0.0625, 0.4375, 0.375, 0.0625}, -- NodeBox10
|
|
{-0.125, -0.25, -0.125, 0.125, -0.125, 0.125}, -- NodeBox11
|
|
{-0.125, 0.125, -0.0625, 0.125, 0.1875, 0.0625}, -- NodeBox16
|
|
}
|
|
}
|
|
})
|
|
else
|
|
minetest.register_node("horror:candlestick", {
|
|
description = "Candlestick",
|
|
drawtype = "torchlike",
|
|
tiles = {{
|
|
name = "horror_candlestick_anim.png",
|
|
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.00},
|
|
}},
|
|
inventory_image = "horror_candlestick.png",
|
|
wield_image = "horror_candlestick.png",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
light_source = 20,
|
|
groups = {snappy=1, oddly_breakable_by_hand=1, dig_immediate=1},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.5, -0.25, 0.25, 0.4375, 0.25},
|
|
}
|
|
},
|
|
})
|
|
end
|
|
|
|
|
|
if new_style == false then
|
|
minetest.register_node("horror:candle", {
|
|
description = "candle",
|
|
tiles = {
|
|
"horror_candle_top.png",
|
|
"horror_candle_base.png",
|
|
"horror_candle.png",
|
|
"horror_candle.png",
|
|
"horror_candle.png",
|
|
"horror_candle.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
light_source = 20,
|
|
groups = {cracky=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.125, -0.5, -0.125, 0.125, 0.1875, 0.125}, -- NodeBox1
|
|
{-0.3125, -0.5, -0.3125, 0.3125, -0.3125, 0.3125}, -- NodeBox2
|
|
{-0.125, -0.4375, -0.4375, 0.0625, -0.25, -0.25}, -- NodeBox3
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.3125, 0.0625}, -- NodeBox5
|
|
}
|
|
}
|
|
})
|
|
else
|
|
minetest.register_node("horror:candle", {
|
|
description = "Candle",
|
|
drawtype = "torchlike",
|
|
tiles = {{
|
|
name = "horror_candle_anim.png",
|
|
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.00},
|
|
}},
|
|
inventory_image = "horror_candle_inv.png",
|
|
wield_image = "horror_candle_inv.png",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
light_source = 15,
|
|
groups = {cracky=1, oddly_breakable_by_hand=1},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.5, -0.25, 0.25, 0.3, 0.25},
|
|
}
|
|
},
|
|
})
|
|
end
|
|
|
|
--ABMs
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:sunorb", "horror:gloworb"},
|
|
interval = 5,
|
|
chance = 1,
|
|
action = function(pos)
|
|
local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 5)
|
|
for k, obj in pairs(objs) do
|
|
if obj:get_luaentity() ~= nil then
|
|
local ent = obj:get_luaentity().name
|
|
if ent == "horror:ghost" or ent == "horror:centipede" or ent == "horror:spider" or ent == "horror:demon" or ent == "horror:pinky" or ent == "horror:skull" or ent == "horror:mancubus" or ent == "horror:manticore" or ent == "horror:shadow" or ent == "horror:cacodemon" or ent == "horror:mogall" or ent == "creatures:zombie" then
|
|
obj:punch(obj, 0.5, {
|
|
full_punch_interval=0.5,
|
|
damage_groups={fleshy=4},
|
|
}, nil)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
--don't disable this one if mobs is enabled, unless you want a big mess of fire wherever there are demons
|
|
minetest.register_abm({
|
|
nodenames = {"horror:gfire"},
|
|
interval = 5,
|
|
chance = 1,
|
|
action = function(pos)
|
|
minetest.remove_node(pos)
|
|
end
|
|
})
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:fire"},
|
|
interval = 1,
|
|
chance = 2,
|
|
action = function(pos, node)
|
|
minetest.add_particlespawner({
|
|
amount = 30,
|
|
time = 4,
|
|
minpos = {x=pos.x-0.5, y=pos.y, z=pos.z-0.5},
|
|
maxpos = {x=pos.x+0.5, y=pos.y+1, z=pos.z+0.5},
|
|
minvel = {x=-0.1, y=0.5, z=-0.1},
|
|
maxvel = {x=0.1, y=0.5, z=0.1},
|
|
minacc = {x=0, y=0, z=0},
|
|
maxacc = {x=0, y=0, z=0},
|
|
minexptime = 0.5,
|
|
maxexptime = 0.5,
|
|
minsize = 0.1,
|
|
maxsize = 0.5,
|
|
collisiondetection = false,
|
|
texture = "horror_smoke.png"
|
|
})
|
|
end
|
|
})
|
|
|
|
--left behind for cleaning up during testing ;)
|
|
-- minetest.register_abm({
|
|
-- nodenames = {"horror:spiderweb"},
|
|
-- interval = 50,
|
|
-- chance = 1,
|
|
-- action = function(pos)
|
|
-- minetest.remove_node(pos)
|
|
-- end
|
|
-- })
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:lantern"},
|
|
interval = 1,
|
|
chance = 2,
|
|
action = function(pos, node)
|
|
minetest.add_particlespawner({
|
|
amount = 10,
|
|
time = 4,
|
|
minpos = {x=pos.x-0.5, y=pos.y-0.5, z=pos.z-0.5},
|
|
maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5},
|
|
minvel = {x=-0.1, y=-0.1, z=-0.1},
|
|
maxvel = {x=0.1, y=0.1, z=0.1},
|
|
minacc = {x=0, y=0, z=0},
|
|
maxacc = {x=0, y=0, z=0},
|
|
minexptime = 1,
|
|
maxexptime = 2,
|
|
minsize = 1,
|
|
maxsize = 2,
|
|
collisiondetection = false,
|
|
texture = "horror_fly.png"
|
|
})
|
|
end
|
|
})
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:fountain"},
|
|
interval = 1,
|
|
chance = 2,
|
|
action = function(pos, node)
|
|
minetest.add_particlespawner({
|
|
amount = 59,
|
|
time = 4,
|
|
minpos = {x=pos.x+0.1, y=pos.y-0.1, z=pos.z},
|
|
maxpos = {x=pos.x+0.1, y=pos.y-0.1, z=pos.z},
|
|
minvel = {x=0, y=-1, z=0},
|
|
maxvel = {x=0, y=-2, z=0},
|
|
minacc = {x=0, y=0, z=0},
|
|
maxacc = {x=0, y=0, z=0},
|
|
minexptime = 0.5,
|
|
maxexptime = 1,
|
|
minsize = 2,
|
|
maxsize = 3,
|
|
collisiondetection = false,
|
|
texture = "horror_gunk.png"
|
|
})
|
|
end
|
|
})
|
|
|
|
--the flames are useless without this
|
|
minetest.register_abm({
|
|
nodenames = {"horror:flames"},
|
|
interval = 3,
|
|
chance = 1,
|
|
action = function(pos, node)
|
|
minetest.add_particlespawner({
|
|
amount = 70,
|
|
time = 4,
|
|
minpos = {x=pos.x-0.2, y=pos.y-0.5, z=pos.z-0.2},
|
|
maxpos = {x=pos.x+0.2, y=pos.y-0.5, z=pos.z+0.2},
|
|
minvel = {x=0, y=0.7, z=0},
|
|
maxvel = {x=0, y=0.9, z=0},
|
|
minacc = {x=0, y=0, z=0},
|
|
maxacc = {x=0, y=0, z=0},
|
|
minexptime = 0.2,
|
|
maxexptime = 0.5,
|
|
minsize = 2,
|
|
maxsize = 3,
|
|
collisiondetection = false,
|
|
texture = "horror_flame.png"
|
|
})
|
|
end
|
|
})
|
|
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:head"},
|
|
interval = 2,
|
|
chance = 5,
|
|
action = function(pos, node)
|
|
minetest.add_particlespawner({
|
|
amount = 2,
|
|
time = 4,
|
|
minpos = {x=pos.x-0.2, y=pos.y-0.2, z=pos.z-0.1},
|
|
maxpos = {x=pos.x+0.2, y=pos.y-0.2, z=pos.z+0.1},
|
|
minvel = {x=0, y=-0.7, z=0},
|
|
maxvel = {x=0, y=-0.8, z=0},
|
|
minacc = {x=0, y=-1, z=0},
|
|
maxacc = {x=0, y=-1, z=0},
|
|
minexptime = 4,
|
|
maxexptime = 5,
|
|
minsize = 1,
|
|
maxsize = 2,
|
|
collisiondetection = false,
|
|
texture = "horror_blood.png"
|
|
})
|
|
end
|
|
})
|
|
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:clock"},
|
|
interval = 1.0,
|
|
chance = 1,
|
|
action = function(pos, node)
|
|
minetest.sound_play("clock",
|
|
{gain = 3, max_hear_distance = 1, loop = false})
|
|
local meta = minetest.get_meta(pos)
|
|
local time1 = minetest.get_timeofday()*24000
|
|
meta:set_string("infotext", "time:"..time1)
|
|
end
|
|
})
|
|
|
|
-- minetest.register_abm({
|
|
-- nodenames = {"horror:radio"},
|
|
-- interval = 143.0,
|
|
-- chance = 1,
|
|
-- action = function(...)
|
|
-- minetest.sound_play("Undersea_Garden",
|
|
-- {gain = 2, max_hear_distance = 1, loop = false})
|
|
-- end
|
|
-- })
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:roach_spawner"},
|
|
interval = 2,
|
|
chance = 2,
|
|
action = function(pos, node)
|
|
minetest.add_particlespawner({
|
|
amount = 10,
|
|
time = 4,
|
|
minpos = {x=pos.x+0.2, y=pos.y-0.2, z=pos.z},
|
|
maxpos = {x=pos.x+0.2, y=pos.y-0.2, z=pos.z},
|
|
minvel = {x=-0.5, y=0, z=-0.5},
|
|
maxvel = {x=0.5, y=0, z=0.5},
|
|
minacc = {x=0, y=-1, z=0},
|
|
maxacc = {x=0, y=-1, z=0},
|
|
minexptime = 8,
|
|
maxexptime = 10,
|
|
minsize = 2,
|
|
maxsize = 3,
|
|
collisiondetection = true,
|
|
texture = "horror_roach.png"
|
|
})
|
|
end
|
|
})
|
|
|
|
minetest.register_abm({
|
|
nodenames = {"horror:cactus"},
|
|
interval = 10,
|
|
chance = 150,
|
|
action = function(pos, node)
|
|
local num = math.random(1,4)
|
|
if minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "air" or minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "horror:cactus" then
|
|
minetest.env:set_node({x=pos.x, y=pos.y-1, z=pos.z}, {name="horror:cactus"})
|
|
minetest.env:remove_node(pos)
|
|
end
|
|
if num == 1 then
|
|
if minetest.get_node({x=pos.x-2, y=pos.y, z=pos.z}).name == "air" then
|
|
minetest.env:set_node({x=pos.x-2, y=pos.y, z=pos.z}, {name="horror:cactus"})
|
|
end
|
|
elseif num == 2 then
|
|
if minetest.get_node({x=pos.x+2, y=pos.y, z=pos.z}).name == "air" then
|
|
minetest.env:set_node({x=pos.x+2, y=pos.y, z=pos.z}, {name="horror:cactus"})
|
|
end
|
|
elseif num == 3 then
|
|
if minetest.get_node({x=pos.x, y=pos.y, z=pos.z-2}).name == "air" then
|
|
minetest.env:set_node({x=pos.x, y=pos.y, z=pos.z-2}, {name="horror:cactus"})
|
|
end
|
|
elseif num == 4 then
|
|
if minetest.get_node({x=pos.x, y=pos.y, z=pos.z+2}).name == "air" then
|
|
minetest.env:set_node({x=pos.x, y=pos.y, z=pos.z+2}, {name="horror:cactus"})
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
--nodes
|
|
|
|
minetest.register_node("horror:bookshelf", {
|
|
description = "Bookshelf (fake)",
|
|
tiles = {"default_wood.png", "default_wood.png", "default_bookshelf.png"},
|
|
is_ground_content = false,
|
|
walkable = false,
|
|
drop = "default:bookshelf",
|
|
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
})
|
|
|
|
minetest.register_node("horror:gargoyle2", {
|
|
description = "Small gargoyle",
|
|
tiles = {
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=3},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.4375, -0.5, -0.4375, 0.4375, -0.125, 0.4375}, -- NodeBox21
|
|
{-0.25, -0.125, -0.125, 0.25, 0.25, 0.3125}, -- NodeBox22
|
|
{-0.25, 0.25, -0.125, 0.25, 0.3125, 0.25}, -- NodeBox23
|
|
{-0.1875, 0.3125, -0.125, 0.1875, 0.375, 0.1875}, -- NodeBox24
|
|
{-0.125, 0.25, -0.3125, 0.125, 0.5, 0}, -- NodeBox25
|
|
{-0.0625, 0.25, -0.375, 0.0625, 0.4375, -0.3125}, -- NodeBox26
|
|
{-0.0625, 0.1875, -0.4375, 0.0625, 0.375, -0.375}, -- NodeBox27
|
|
{0.125, -0.125, -0.1875, 0.25, 0.125, -0.0625}, -- NodeBox28
|
|
{-0.25, -0.125, -0.1875, -0.125, 0.125, -0.0625}, -- NodeBox29
|
|
{-0.25, -0.125, -0.25, -0.125, -0.0625, -0.1875}, -- NodeBox30
|
|
{0.125, -0.125, -0.25, 0.25, -0.0625, -0.1875}, -- NodeBox31
|
|
{-0.1875, 0.375, 0.0625, -0.0625, 0.5, 0.5}, -- NodeBox32
|
|
{0.0625, 0.375, 0.0625, 0.1875, 0.5, 0.5}, -- NodeBox33
|
|
{0.0625, 0.3125, 0.25, 0.1875, 0.5, 0.5}, -- NodeBox34
|
|
{-0.1875, 0.3125, 0.25, -0.0625, 0.5, 0.5}, -- NodeBox35
|
|
{-0.1875, 0.25, 0.3125, -0.0625, 0.5, 0.5}, -- NodeBox36
|
|
{0.0625, 0.25, 0.3125, 0.1875, 0.5, 0.5}, -- NodeBox37
|
|
{0.0625, 0.125, 0.375, 0.1875, 0.5, 0.5}, -- NodeBox38
|
|
{-0.1875, 0.125, 0.375, -0.0625, 0.5, 0.5}, -- NodeBox39
|
|
{0.0625, 0, 0.4375, 0.1875, 0.5, 0.5}, -- NodeBox40
|
|
{-0.1875, 0, 0.4375, -0.0625, 0.5, 0.5}, -- NodeBox41
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
|
|
|
|
minetest.register_node("horror:sunorb", {
|
|
description = "sun orb",
|
|
drawtype = "plantlike",
|
|
visual_scale = 1.0,
|
|
tiles = {"horror_orb.png"},
|
|
inventory_image = "horror_orb.png",
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
light_source = 2000,
|
|
alpha = 100,
|
|
walkable = false,
|
|
is_ground_content = true,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
|
},
|
|
groups = {cracky=3,dig_immediate=3},
|
|
after_place_node = function(pos, placer, itemstack)
|
|
if placer:is_player() then
|
|
minetest.set_node(pos, {name="horror:sunorb", param2=1})
|
|
end
|
|
end,
|
|
})
|
|
|
|
minetest.register_node("horror:pentagram", {
|
|
description = "pentagram",
|
|
drawtype = "signlike",
|
|
visual_scale = 3.0,
|
|
tiles = {"horror_pentagram.png"},
|
|
inventory_image = "horror_pentagram.png",
|
|
use_texture_alpha = true,
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
sunlight_propagates = true,
|
|
light_source = 50,
|
|
walkable = false,
|
|
is_ground_content = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}
|
|
},
|
|
on_rightclick = function(pos, node, _)
|
|
if minetest.get_modpath("mobs") then
|
|
minetest.after(0.5, function()
|
|
minetest.set_node(pos, {name="horror:portal", param2=node.param2})
|
|
minetest.add_particlespawner(
|
|
25, --amount
|
|
1, --time
|
|
{x=pos.x-1, y=pos.y, z=pos.z-1}, --minpos
|
|
{x=pos.x+1, y=pos.y, z=pos.z+1}, --maxpos
|
|
{x=-0, y=-0, z=-0}, --minvel
|
|
{x=0, y=0, z=0}, --maxvel
|
|
{x=-0.5,y=1,z=-0.5}, --minacc
|
|
{x=0.5,y=1,z=0.5}, --maxacc
|
|
1, --minexptime
|
|
1.5, --maxexptime
|
|
5, --minsize
|
|
6, --maxsize
|
|
false, --collisiondetection
|
|
"horror_flame2.png" --texture
|
|
)
|
|
end)
|
|
end
|
|
end,
|
|
groups = {cracky=3,dig_immediate=3},
|
|
})
|
|
|
|
minetest.register_node("horror:portal", {
|
|
description = "portal",
|
|
drawtype = "signlike",
|
|
visual_scale = 3.0,
|
|
tiles = {"horror_portal.png"},
|
|
inventory_image = "horror_portal.png",
|
|
use_texture_alpha = true,
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
sunlight_propagates = true,
|
|
light_source = 50,
|
|
walkable = false,
|
|
is_ground_content = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}
|
|
},
|
|
on_construct = function(pos, node, _)
|
|
minetest.after(1, function()
|
|
minetest.env:add_entity(pos, "horror:pinky")
|
|
minetest.remove_node(pos)
|
|
end)
|
|
end,
|
|
groups = {cracky=3,dig_immediate=3, not_in_creative_inventory=1},
|
|
})
|
|
|
|
minetest.register_node("horror:blood_splatter", {
|
|
description = "blood patch",
|
|
drawtype = "signlike",
|
|
tiles = {"horror_bloodsplat.png"},
|
|
inventory_image = "horror_bloodsplat.png",
|
|
use_texture_alpha = true,
|
|
paramtype = "light",
|
|
paramtype2 = "wallmounted",
|
|
sunlight_propagates = true,
|
|
walkable = false,
|
|
is_ground_content = true,
|
|
selection_box = {
|
|
type = "wallmounted",
|
|
fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}
|
|
},
|
|
groups = {cracky=3,dig_immediate=3},
|
|
})
|
|
|
|
minetest.register_node("horror:glowsteel_block", {
|
|
description = "glowsteel_block",
|
|
tiles = {{
|
|
name="horror_glowsteel.png",
|
|
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.00},
|
|
}},
|
|
inventory_image = "horror_glowsteelinv.png",
|
|
groups = {cracky = 2},
|
|
sunlight_propagates = true,
|
|
light_source = 2,
|
|
paramtype = "light"
|
|
})
|
|
|
|
minetest.register_node("horror:fire", {
|
|
description = "decorative fire",
|
|
drawtype = "plantlike",
|
|
sunlight_propagates = true,
|
|
paramtype = "light",
|
|
light_source = 40,
|
|
walkable = false,
|
|
damage_per_second = 2,
|
|
tiles = {{
|
|
name = "horror_fire.png",
|
|
animation = {type = "vertical_frames", aspect_w = 32, aspect_h = 32, length = 1.00},
|
|
}}
|
|
,
|
|
inventory_image = "horror_fire_inv.png",
|
|
wield_image = "horror_fire_inv.png",
|
|
groups = {crumbly=1, oddly_breakable_by_hand=1, dig_immediate=3},
|
|
})
|
|
|
|
minetest.register_node("horror:gfire", {
|
|
description = "decorative green fire",
|
|
drawtype = "plantlike",
|
|
sunlight_propagates = true,
|
|
paramtype = "light",
|
|
light_source = 30,
|
|
walkable = false,
|
|
damage_per_second = 2,
|
|
tiles = {{
|
|
name = "horror_gfire.png",
|
|
animation = {type = "vertical_frames", aspect_w = 32, aspect_h = 32, length = 1.00},
|
|
}}
|
|
,
|
|
inventory_image = "horror_gfire_inv.png",
|
|
wield_image = "horror_gfire_inv.png",
|
|
groups = {crumbly=1, leafdecay=1, not_in_creative_inventory=1},
|
|
})
|
|
|
|
|
|
minetest.register_node("horror:gargoyle", {
|
|
description = "stone gargoyle",
|
|
drawtype = "plantlike",
|
|
sunlight_propagates = true,
|
|
paramtype = "light",
|
|
tiles = {
|
|
"horror_gargoyle.png"
|
|
},
|
|
inventory_image = "horror_gargoyle.png",
|
|
groups = {cracky=1}
|
|
})
|
|
|
|
minetest.register_node("horror:bones", {
|
|
description = "bonepile",
|
|
drawtype = "plantlike",
|
|
sunlight_propagates = true,
|
|
paramtype = "light",
|
|
walkable = false,
|
|
tiles = {
|
|
"horror_bones.png"
|
|
},
|
|
groups = {cracky=1}
|
|
})
|
|
|
|
minetest.register_node("horror:spiderweb", {
|
|
description = "spiderweb",
|
|
drawtype = "plantlike",
|
|
sunlight_propagates = true,
|
|
paramtype = "light",
|
|
liquid_viscosity = 8,
|
|
liquidtype = "source",
|
|
liquid_alternative_flowing = "horror:spiderweb",
|
|
liquid_alternative_source = "horror:spiderweb",
|
|
liquid_renewable = false,
|
|
liquid_range = 0,
|
|
walkable = false,
|
|
tiles = {
|
|
"horror_spiderweb.png"
|
|
},
|
|
inventory_image = "horror_spiderweb.png",
|
|
groups = {snappy=1, oddly_breakable_by_hand=1, liquid=3, dig_immediate=1}
|
|
})
|
|
|
|
minetest.register_node("horror:spiderweb_decaying", {
|
|
description = "spiderweb",
|
|
drawtype = "plantlike",
|
|
sunlight_propagates = true,
|
|
paramtype = "light",
|
|
liquid_viscosity = 8,
|
|
liquidtype = "source",
|
|
liquid_alternative_flowing = "horror:spiderweb",
|
|
liquid_alternative_source = "horror:spiderweb",
|
|
liquid_renewable = false,
|
|
liquid_range = 0,
|
|
walkable = false,
|
|
tiles = {
|
|
"horror_spiderweb.png"
|
|
},
|
|
drop = "horror:spiderweb",
|
|
inventory_image = "horror_spiderweb.png",
|
|
groups = {snappy=1, oddly_breakable_by_hand=1, liquid=3, not_in_creative_inventory=1, leafdecay=1}
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("horror:lantern", {
|
|
description = "Lantern",
|
|
drawtype = "plantlike",
|
|
use_texture_alpha = true,
|
|
sunlight_propagates = true,
|
|
paramtype = "light",
|
|
light_source = 100,
|
|
walkable = false,
|
|
tiles = {
|
|
"horror_lantern.png"
|
|
},
|
|
inventory_image = "horror_lantern.png",
|
|
groups = {snappy=1, oddly_breakable_by_hand=1}
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("horror:lavastone", {
|
|
description = "lavastone",
|
|
sunlight_propagates = true,
|
|
light_source = 10,
|
|
tiles = {{
|
|
name="horror_lavastone.png",
|
|
animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.00},
|
|
}},
|
|
inventory_image = "horror_fire_inv.png",
|
|
wield_image = "horror_fire_inv.png",
|
|
groups = {cracky=1}
|
|
})
|
|
|
|
minetest.register_node("horror:animflesh", {
|
|
description = "undeadblock",
|
|
tiles = {{
|
|
name="flesh_anim.png",
|
|
animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.00},
|
|
}},
|
|
inventory_image = "horror_flesh.png",
|
|
wield_image = "horror_flesh.png",
|
|
groups = {fleshy=1, dig_immediate=3, oddly_breakable_by_hand=1}
|
|
})
|
|
|
|
minetest.register_node("horror:furry", {
|
|
description = "Gnorm statue",
|
|
tiles = {
|
|
"horror_fur.png",
|
|
"horror_fur.png",
|
|
"horror_fur.png",
|
|
"horror_fur.png",
|
|
"horror_fur.png",
|
|
"horror_fur_front.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.4375, -0.3125, -0.3125, 0.4375, 0.5, 0.5}, -- NodeBox1
|
|
{-0.125, -0.125, -0.4375, 0.125, 0.125, -0.0625}, -- NodeBox2
|
|
{0.25, -0.5, -0.5, 0.5, -0.4375, 0.1875}, -- NodeBox3
|
|
{-0.5, -0.5, -0.5, -0.25, -0.4375, 0.1875}, -- NodeBox4
|
|
{0.1875, -0.5, -0.125, 0.5, -0.1875, 0.125}, -- NodeBox5
|
|
{-0.5, -0.5, -0.125, -0.25, -0.1875, 0.125}, -- NodeBox6
|
|
}
|
|
},
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1, oddly_breakable_by_hand=1, falling_node=1}
|
|
})
|
|
|
|
minetest.register_node("horror:fountain", {
|
|
description = "gargoyle_fountain",
|
|
tiles = {
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}, -- NodeBox1
|
|
{-0.3125, -0.4375, 0.375, 0.3125, 0.375, 0.5}, -- NodeBox2
|
|
{-0.25, -0.375, 0.25, 0.1875, 0.3125, 0.5}, -- NodeBox3
|
|
{-0.25, -0.3125, 0.125, 0.25, 0.3125, 0.5}, -- NodeBox4
|
|
{-0.25, -0.3125, -0.0625, 0.25, -0.125, 0.5}, -- NodeBox5
|
|
{-0.25, 0, -0.1875, 0.25, 0.1875, 0.5}, -- NodeBox6
|
|
{-0.125, 0.1875, -0.0625, 0.125, 0.25, 0.5}, -- NodeBox7
|
|
}
|
|
},
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1},
|
|
})
|
|
|
|
|
|
|
|
|
|
minetest.register_node("horror:cross", {
|
|
description = "cross",
|
|
tiles = {
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.3125, -0.5, -0.3125, 0.3125, -0.4375, 0.3125}, -- NodeBox1
|
|
{-0.125, -0.5, -0.125, 0.125, 0.5, 0.125}, -- NodeBox2
|
|
{-0.375, 0.0625, -0.125, 0.375, 0.25, 0.125}, -- NodeBox3
|
|
}
|
|
},
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1}
|
|
})
|
|
|
|
minetest.register_node("horror:tombstone", {
|
|
description = "tombstone",
|
|
tiles = {
|
|
"horror_crackedstone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_crackedstone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.25, 0.5, -0.4375, 0.3125}, -- NodeBox1
|
|
{-0.4375, -0.5, -0.125, 0.4375, 0.125, 0.1875}, -- NodeBox2
|
|
{-0.375, -0.5, -0.125, 0.375, 0.25, 0.1875}, -- NodeBox3
|
|
{-0.3125, -0.5, -0.125, 0.3125, 0.375, 0.1875}, -- NodeBox4
|
|
}
|
|
},
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1}
|
|
})
|
|
|
|
minetest.register_node("horror:mud", {
|
|
description = "solid mud",
|
|
tiles = {
|
|
"horror_mud.png"
|
|
},
|
|
paramtype2 = "facedir",
|
|
paramtype = "light",
|
|
groups = {crumbly=1, falling_node=1}
|
|
})
|
|
|
|
minetest.register_node("horror:bush", {
|
|
description = "bush",
|
|
drawtype = "allfaces",
|
|
tiles = {
|
|
"default_leaves_simple.png^default_leaves.png"
|
|
},
|
|
paramtype2 = "facedir",
|
|
paramtype = "light",
|
|
groups = {snappy=1}
|
|
})
|
|
|
|
|
|
minetest.register_node("horror:stone", {
|
|
description = "Old Stone",
|
|
tiles = {
|
|
"horror_stone.png"
|
|
},
|
|
paramtype2 = "facedir",
|
|
paramtype = "light",
|
|
groups = {cracky=1}
|
|
})
|
|
|
|
minetest.register_node("horror:mud_liquid", {
|
|
description = "mud",
|
|
liquid_viscosity = 8,
|
|
liquidtype = "source",
|
|
liquid_alternative_flowing = "horror:mud_liquid",
|
|
liquid_alternative_source = "horror:mud_liquid",
|
|
liquid_renewable = false,
|
|
liquid_range = 0,
|
|
walkable = false,
|
|
tiles = {
|
|
"horror_mud.png"
|
|
},
|
|
paramtype2 = "facedir",
|
|
paramtype = "light",
|
|
groups = {crumbly=1, liquid=1, falling_node=1}
|
|
})
|
|
|
|
minetest.register_node("horror:spikes", {
|
|
description = "spikes",
|
|
tiles = {
|
|
"horror_spikes_side.png",
|
|
"horror_spikes_side.png",
|
|
"horror_spikes_side.png",
|
|
"horror_spikes_side.png",
|
|
"horror_spikes.png",
|
|
"horror_spikes.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
groups = {cracky=1, falling_node=1},
|
|
damage_per_second = 1,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.4375, -0.5, -0.125, -0.375, 0.375, -0.0625}, -- NodeBox1
|
|
{0.125, -0.5, 0.0625, 0.1875, 0.1875, 0.125}, -- NodeBox2
|
|
{-0.0625, -0.5, -0.1875, 0, 0.5, -0.125}, -- NodeBox3
|
|
{-0.25, -0.5, 0.1875, -0.1875, 0, 0.25}, -- NodeBox4
|
|
{0.3125, -0.5, -0.3125, 0.375, 0.25, -0.25}, -- NodeBox5
|
|
{-0.0625, -0.5, -0.4375, 0, 0.0625, -0.375}, -- NodeBox6
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:chain", {
|
|
description = "chain",
|
|
tiles = {
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.1875, 0.25, 0.25, -0.125, 0.4375, 0.5}, -- NodeBox1
|
|
{0.125, 0.25, 0.25, 0.1875, 0.4375, 0.5}, -- NodeBox2
|
|
{-0.1875, 0.25, 0.1875, 0.1875, 0.4375, 0.25}, -- NodeBox3
|
|
{-0.0625, 0.4375, 0, 0.0625, 0.5, 0.375}, -- NodeBox4
|
|
{-0.0625, 0.1875, 0, 0.0625, 0.5, 0.0625}, -- NodeBox5
|
|
{-0.0625, 0.125, 0, 0.0625, 0.1875, 0.375}, -- NodeBox6
|
|
{-0.0625, 0.125, 0.3125, 0.0625, 0.5, 0.375}, -- NodeBox7
|
|
{-0.1875, 0.1875, 0.0625, 0.1875, 0.25, 0.1875}, -- NodeBox8
|
|
{-0.1875, -0.125, 0.0625, -0.125, 0.1875, 0.1875}, -- NodeBox9
|
|
{-0.1875, -0.125, 0.1875, 0.1875, -0.0625, 0.0625}, -- NodeBox10
|
|
{0.125, -0.125, 0.0625, 0.1875, 0.25, 0.1875}, -- NodeBox11
|
|
{0.0625, -0.0625, 0, -0.0625, 0, 0.375}, -- NodeBox12
|
|
{-0.0625, -0.375, 0.3125, 0.0625, 0, 0.375}, -- NodeBox13
|
|
{-0.0625, -0.375, 0, 0.0625, 0, 0.0625}, -- NodeBox14
|
|
{-0.0625, -0.375, 0, 0.0625, -0.3125, 0.375}, -- NodeBox15
|
|
{-0.1875, -0.3125, 0.125, 0.1875, -0.25, 0.25}, -- NodeBox16
|
|
{0.125, -0.25, 0.125, 0.1875, -0.5, 0.25}, -- NodeBox17
|
|
{-0.1875, -0.5, 0.125, -0.125, -0.3125, 0.25}, -- NodeBox18
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("horror:vines", {
|
|
description = "vines",
|
|
climbable = true,
|
|
tiles = {
|
|
"blank.png",
|
|
"blank.png",
|
|
"blank.png",
|
|
"blank.png",
|
|
"horror_vines.png",
|
|
"horror_vines.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}, -- NodeBox1
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:gloworb", {
|
|
description = "gloworb",
|
|
tiles = {
|
|
"horror_orb.png",
|
|
"horror_orb.png",
|
|
"horror_orb.png",
|
|
"horror_orb.png",
|
|
"horror_orb.png",
|
|
"horror_orb.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
light_source = 1000,
|
|
groups = {cracky=1},
|
|
walkable = false,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, -0.1875, -0.1875, 0.375, 0.1875, 0.1875}, -- NodeBox5
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox6
|
|
{-0.3125, -0.25, -0.25, 0.3125, 0.25, 0.25}, -- NodeBox7
|
|
{-0.25, -0.25, -0.3125, 0.25, 0.25, 0.3125}, -- NodeBox8
|
|
{-0.25, -0.3125, -0.25, 0.25, 0.3125, 0.25}, -- NodeBox9
|
|
{-0.1875, -0.1875, -0.375, 0.1875, 0.1875, 0.375}, -- NodeBox12
|
|
}
|
|
}
|
|
})
|
|
|
|
if new_style == false then
|
|
minetest.register_node("horror:candle", {
|
|
description = "candle",
|
|
tiles = {
|
|
"horror_candle_top.png",
|
|
"horror_candle_base.png",
|
|
"horror_candle.png",
|
|
"horror_candle.png",
|
|
"horror_candle.png",
|
|
"horror_candle.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
light_source = 20,
|
|
groups = {cracky=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.125, -0.5, -0.125, 0.125, 0.1875, 0.125}, -- NodeBox1
|
|
{-0.3125, -0.5, -0.3125, 0.3125, -0.3125, 0.3125}, -- NodeBox2
|
|
{-0.125, -0.4375, -0.4375, 0.0625, -0.25, -0.25}, -- NodeBox3
|
|
{-0.0625, 0.1875, -0.0625, 0.0625, 0.3125, 0.0625}, -- NodeBox5
|
|
}
|
|
}
|
|
})
|
|
else
|
|
minetest.register_node("horror:candle", {
|
|
description = "Candle",
|
|
drawtype = "torchlike",
|
|
tiles = {{
|
|
name = "horror_candle_anim.png",
|
|
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.00},
|
|
}},
|
|
inventory_image = "horror_candle_inv.png",
|
|
wield_image = "horror_candle_inv.png",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
light_source = 15,
|
|
groups = {cracky=1, oddly_breakable_by_hand=1},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.5, -0.25, 0.25, 0.3, 0.25},
|
|
}
|
|
},
|
|
})
|
|
end
|
|
|
|
minetest.register_node("horror:clock", {
|
|
description = "clock",
|
|
tiles = {
|
|
"horror_clock_top.png",
|
|
"horror_clock_top.png",
|
|
"horror_clock_side.png",
|
|
"horror_clock_side.png",
|
|
"horror_clock_back.png",
|
|
"horror_clock_front.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy=2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, -0.5, -0.25, 0.375, 0.4375, 0.25}, -- NodeBox1
|
|
{-0.3125, 0.25, -0.1875, 0.3125, 0.5, 0.1875}, -- NodeBox2
|
|
{-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, -- NodeBox3
|
|
}
|
|
},
|
|
})
|
|
|
|
minetest.register_node("horror:knife", {
|
|
description = "knife",
|
|
tiles = {
|
|
"horror_knife_top.png",
|
|
"horror_knife_bottom.png",
|
|
"horror_knife.png",
|
|
"horror_knife.png",
|
|
"horror_knife.png",
|
|
"horror_knife.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.3125, 0.0625, -0.0625, 0.3125, 0.1875, 0}, -- NodeBox2
|
|
{-0.125, -0.5, -0.0625, 0.125, 0.4375, 0}, -- NodeBox3
|
|
{-0.0625, -0.5, 0, 0.0625, 0.5, -0.0625}, -- NodeBox4
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:ring", {
|
|
description = "ring",
|
|
tiles = {
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png",
|
|
"horror_metal.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.0625, 0.25, 0.3125, 0.125, 0.5, 0.5}, -- NodeBox1
|
|
{0.125, 0, 0.375, 0.1875, 0.375, 0.5}, -- NodeBox2
|
|
{-0.125, 0, 0.375, -0.0625, 0.375, 0.5}, -- NodeBox3
|
|
{-0.125, 0, 0.375, 0.1875, 0.0625, 0.5}, -- NodeBox4
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
minetest.register_node("horror:jar", {
|
|
description = "eye_jar",
|
|
tiles = {
|
|
"jar_top.png",
|
|
"jar_top.png",
|
|
"jar_side.png",
|
|
"jar_side.png",
|
|
"jar_side.png",
|
|
"jar_side.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
groups = {cracky=2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.4375, -0.5, -0.4375, 0.4375, -0.375, 0.4375}, -- NodeBox1
|
|
{-0.4375, 0.375, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox2
|
|
{-0.375, -0.5, -0.375, 0.375, 0.5, 0.375}, -- NodeBox3
|
|
{-0.4375, -0.5, -0.3125, 0.4375, 0.5, 0.3125}, -- NodeBox4
|
|
{-0.3125, -0.5, -0.4375, 0.25, 0.5, 0.4375}, -- NodeBox5
|
|
{-0.5, -0.5, -0.375, 0.5, -0.375, 0.375}, -- NodeBox6
|
|
{-0.375, -0.5, -0.5, 0.375, -0.375, 0.5}, -- NodeBox7
|
|
{-0.3125, 0.375, -0.5, 0.375, 0.5, 0.5}, -- NodeBox8
|
|
{-0.5, 0.375, -0.375, 0.5, 0.5, 0.375}, -- NodeBox9
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:stand", {
|
|
description = "itemstand",
|
|
tiles = {
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
groups = {cracky=2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.4375, 0.4375, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox1
|
|
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, 0.4375}, -- NodeBox2
|
|
{-0.375, -0.4375, -0.375, 0.375, -0.375, 0.375}, -- NodeBox3
|
|
{-0.375, 0.375, -0.375, 0.375, 0.4375, 0.375}, -- NodeBox4
|
|
{-0.1875, -0.375, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox5
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:fence", {
|
|
description = "spike_fence",
|
|
tiles = {
|
|
"blank.png",
|
|
"blank.png",
|
|
"horror_spikes_side.png",
|
|
"horror_spikes_side.png",
|
|
"horror_spikes.png",
|
|
"horror_spikes.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1},
|
|
damage_per_second = 1,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.0625, 0.5, 0.5, 0}, -- NodeBox1
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:tree", {
|
|
description = "Dead tree",
|
|
drawtype = "plantlike",
|
|
tiles = {"horror_tree.png"},
|
|
paramtype = "light",
|
|
is_ground_content = false,
|
|
buildable_to = true,
|
|
sunlight_propagates = true,
|
|
inventory_image = "horror_tree.png",
|
|
visual_scale = 2,
|
|
wield_scale = {x=0.5, y=0.5, z=0.5},
|
|
groups = {choppy=1, oddly_breakable_by_hand=1, flammable=1, attatched_node=1},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.3, -0.5, -0.3, 0.3, 1, 0.3}
|
|
},
|
|
drop = "default:wood",
|
|
walkable = true,
|
|
})
|
|
|
|
minetest.register_node("horror:cactus", {
|
|
description = "Prickly Pear",
|
|
drawtype = "plantlike",
|
|
tiles = {"horror_cactus.png"},
|
|
paramtype = "light",
|
|
is_ground_content = false,
|
|
buildable_to = true,
|
|
sunlight_propagates = true,
|
|
inventory_image = "horror_cactus.png",
|
|
visual_scale = 2,
|
|
wield_scale = {x=0.5, y=0.5, z=0.5},
|
|
groups = {choppy=1, oddly_breakable_by_hand=1, flammable=1, falling_node=1},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.5, -0.5, -0.5, 0.5, 1, 0.5}
|
|
},
|
|
damage_per_second = 1,
|
|
walkable = false,
|
|
})
|
|
|
|
minetest.register_node("horror:radio", {
|
|
description = "radio",
|
|
tiles = {
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {oddly_breakable_by_hand=1},
|
|
on_rightclick = function(pos)
|
|
minetest.sound_play("Undersea_Garden",
|
|
{gain = 0.5, max_hear_distance = 1, loop = false})
|
|
end,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.1875, 0.5, 0, 0.125}, -- NodeBox1
|
|
{-0.4375, 0, -0.0625, -0.25, 0.125, 0}, -- NodeBox2
|
|
{-0.375, 0.0625, -0.0625, 0.375, 0.125, 0}, -- NodeBox3
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:roach_spawner", {
|
|
description = "cockroach_box",
|
|
tiles = {
|
|
"horror_mud.png",
|
|
"horror_mud.png",
|
|
"horror_mud.png",
|
|
"horror_mud.png",
|
|
"horror_mud.png",
|
|
"horror_mud.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
drop = "horror:roach",
|
|
groups = {cracky=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.5, 0, 0.25, -0.4375, 0.5}, -- NodeBox1
|
|
{-0.25, -0.25, 0, 0.25, -0.1875, 0.5}, -- NodeBox2
|
|
{-0.25, -0.5, 0.4375, 0.25, -0.1875, 0.5}, -- NodeBox3
|
|
{-0.25, -0.5, 0, -0.1875, -0.1875, 0.5}, -- NodeBox4
|
|
{0.1875, -0.5, 0, 0.25, -0.1875, 0.5}, -- NodeBox5
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("horror:roach", {
|
|
description = "cockroach",
|
|
drawtype = "plantlike",
|
|
visual_scale = 1.0,
|
|
tiles = {"horror_roach.png"},
|
|
inventory_image = "horror_roach.png",
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
walkable = false,
|
|
is_ground_content = true,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
|
},
|
|
groups = {cracky=3,dig_immediate=3},
|
|
on_use = minetest.item_eat(2)
|
|
})
|
|
|
|
minetest.register_node("horror:head", {
|
|
description = "head",
|
|
drawtype = "plantlike",
|
|
visual_scale = 1.0,
|
|
tiles = {"horror_head.png"},
|
|
inventory_image = "horror_head.png",
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
walkable = true,
|
|
is_ground_content = false,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
|
},
|
|
groups = {cracky=3,dig_immediate=3}
|
|
})
|
|
|
|
|
|
minetest.register_node("horror:flames", {
|
|
description = "flames",
|
|
drawtype = "plantlike",
|
|
visual_scale = 0.5,
|
|
tiles = {"horror_flame.png"},
|
|
inventory_image = "horror_flame.png",
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
light_source = 50,
|
|
walkable = false,
|
|
is_ground_content = false,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
|
},
|
|
groups = {cracky=3,dig_immediate=3}
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("horror:boards", {
|
|
description = "boards",
|
|
tiles = {
|
|
"horror_wood.png",
|
|
"horror_wood.png",
|
|
"horror_wood.png",
|
|
"horror_wood.png",
|
|
"horror_wood.png",
|
|
"horror_wood.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy=2, oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, 0.125, 0.4375, 0.5, 0.4375, 0.5}, -- NodeBox1
|
|
{-0.4375, -0.5, 0.375, -0.0625, 0.5, 0.4375}, -- NodeBox2
|
|
{-0.5, -0.4375, 0.4375, 0.5, -0.1875, 0.5}, -- NodeBox3
|
|
{0.0625, -0.5, 0.375, 0.4375, 0.5, 0.4375}, -- NodeBox8
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:bottle", {
|
|
description = "bottle",
|
|
tiles = {
|
|
"jar_top.png",
|
|
"jar_top.png",
|
|
"jar_side.png",
|
|
"jar_side.png",
|
|
"jar_side.png",
|
|
"jar_side.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
groups = {oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.1875, -0.5, -0.1875, 0.1875, -0.375, 0.1875}, -- NodeBox1
|
|
{-0.125, -0.5, -0.125, 0.125, 0.125, 0.125}, -- NodeBox2
|
|
{-0.0625, 0.125, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox3
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:phone", {
|
|
description = "phone",
|
|
tiles = {
|
|
"horror_phone_top.png",
|
|
"horror_phone_bottom.png",
|
|
"horror_phone_side.png",
|
|
"horror_phone_side.png",
|
|
"horror_phone_back.png",
|
|
"horror_phone_front.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.4375, -0.4375, 0.5, -0.1875, 0.4375}, -- NodeBox1
|
|
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, -- NodeBox2
|
|
{-0.5, -0.5, -0.375, 0.5, -0.1875, 0.4375}, -- NodeBox3
|
|
{-0.25, -0.5, -0.375, 0.25, -0.0625, 0.1875}, -- NodeBox4
|
|
{-0.5, -0.0625, -0.125, 0.5, 0.25, 0.125}, -- NodeBox6
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("horror:shelf", {
|
|
description = "shelf",
|
|
tiles = {
|
|
"horror_barrel_top.png",
|
|
"horror_barrel_top.png",
|
|
"horror_barrel_top.png",
|
|
"horror_barrel_top.png",
|
|
"horror_barrel_top.png",
|
|
"horror_barrel_top.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy=2, oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, 0.4375, -0.0625, 0.5, 0.5, 0.5}, -- NodeBox5
|
|
{0.4375, 0.3125, 0.125, 0.5, 0.4375, 0.5}, -- NodeBox6
|
|
{0.4375, 0.1875, 0.3125, 0.5, 0.5, 0.5}, -- NodeBox7
|
|
{-0.5, 0.1875, 0.3125, -0.4375, 0.5, 0.5}, -- NodeBox10
|
|
{-0.5, 0.3125, 0.125, -0.4375, 0.4375, 0.5}, -- NodeBox11
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:barrel", {
|
|
description = "barrel",
|
|
tiles = {
|
|
"horror_barrel_top.png",
|
|
"horror_barrel_top.png",
|
|
"horror_barrel.png",
|
|
"horror_barrel.png",
|
|
"horror_barrel.png",
|
|
"horror_barrel.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
groups = {choppy=2, oddly_breakable_by_hand=1},
|
|
drop = {
|
|
items = {
|
|
{items = {'farming:bread'}, rarity = 1},
|
|
{items = {'farming:bread'}, rarity = 1},
|
|
{items = {'default:apple'}, rarity = 1},
|
|
{items = {'default:apple'}, rarity = 1},
|
|
{items = {'default:apple'}, rarity = 1},
|
|
{items = {'default:coal_lump'}, rarity = 1},
|
|
{items = {'default:coal_lump'}, rarity = 1},
|
|
}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.3125, -0.5, -0.5, 0.3125, 0.5, 0.5}, -- NodeBox1
|
|
{-0.5, -0.5, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox2
|
|
{-0.4375, -0.5, -0.375, 0.4375, 0.5, 0.375}, -- NodeBox3
|
|
{-0.375, -0.5, -0.4375, 0.375, 0.5, 0.4375}, -- NodeBox4
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:keypad", {
|
|
description = "keypad",
|
|
tiles = {
|
|
"horror_phone_bottom.png",
|
|
"horror_phone_bottom.png",
|
|
"horror_phone_bottom.png",
|
|
"horror_phone_bottom.png",
|
|
"horror_phone_bottom.png",
|
|
"horror_phone_front.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.4375, 0.375, 0.25, 0.0625, 0.5}, -- NodeBox1
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:speaker", {
|
|
description = "speaker",
|
|
tiles = {
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio_top.png",
|
|
"horror_radio.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{0, -0.5, 0.25, 0.5, 0, 0.5}, -- NodeBox1
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:table", {
|
|
description = "table",
|
|
tiles = {
|
|
"default_wood.png",
|
|
"default_wood.png",
|
|
"default_wood.png",
|
|
"default_wood.png",
|
|
"default_wood.png",
|
|
"default_wood.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy=1, oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{0.3125, -0.5, -0.5, 0.5, 0.375, -0.3125}, -- NodeBox2
|
|
{-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3
|
|
{0.3125, 0.3125, -0.3125, 0.5, 0.375, -0.0625}, -- NodeBox4
|
|
{0.3125, 0.125, -0.3125, 0.5, 0.375, -0.25}, -- NodeBox5
|
|
{0.125, 0.3125, -0.5, 0.3125, 0.375, -0.3125}, -- NodeBox6
|
|
{0.25, 0.125, -0.5, 0.3125, 0.375, -0.3125}, -- NodeBox7
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:table_stone", {
|
|
description = "stone table",
|
|
tiles = {
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png",
|
|
"horror_stone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy=1, oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{0.3125, -0.5, -0.5, 0.5, 0.375, -0.3125}, -- NodeBox2
|
|
{-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3
|
|
{0.3125, 0.3125, -0.3125, 0.5, 0.375, -0.0625}, -- NodeBox4
|
|
{0.3125, 0.125, -0.3125, 0.5, 0.375, -0.25}, -- NodeBox5
|
|
{0.125, 0.3125, -0.5, 0.3125, 0.375, -0.3125}, -- NodeBox6
|
|
{0.25, 0.125, -0.5, 0.3125, 0.375, -0.3125}, -- NodeBox7
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:skull", {
|
|
description = "skull",
|
|
tiles = {
|
|
"horror_skull_top.png",
|
|
"horror_skull_bottom.png",
|
|
"horror_skull_right.png",
|
|
"horror_skull_left.png",
|
|
"horror_skull_back.png",
|
|
"horror_skull_front.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1, oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.3125, -0.5, -0.3125, 0.3125, 0.125, 0.3125}, -- NodeBox1
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("horror:sam_head", {
|
|
description = "Sam head",
|
|
tiles = {
|
|
"horror_sam_top.png",
|
|
"horror_sam_bottom.png",
|
|
"horror_sam_right.png",
|
|
"horror_sam_left.png",
|
|
"horror_sam_back.png",
|
|
"horror_sam_front.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky=1, oddly_breakable_by_hand=1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.3125, -0.5, -0.3125, 0.3125, 0.125, 0.3125}, -- NodeBox1
|
|
}
|
|
}
|
|
})
|
|
|
|
|
|
|
|
--All nodeboxes were generated using NodeBoxEditor Windows
|
|
|
|
--3d models
|
|
|
|
|
|
--tools
|
|
minetest.register_tool("horror:cleaver", {
|
|
description = "cleaver",
|
|
inventory_image = "horror_cleaver.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.2,
|
|
max_drop_level = 0,
|
|
groupcaps = {
|
|
fleshy = {times={[3]=1.35}, uses=45, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy = 6},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("horror:rapier", {
|
|
description = "Rapier",
|
|
inventory_image = "horror_rapier.png",
|
|
wield_scale = {x = 1.5, y = 1.5, z = 0.6},
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.9,
|
|
max_drop_level = 0,
|
|
groupcaps = {
|
|
fleshy = {times={[3]=1.35}, uses=15, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy = 9},
|
|
},
|
|
})
|
|
|
|
minetest.register_tool("horror:pitchfork", {
|
|
description = "Pitchfork",
|
|
inventory_image = "horror_pitchfork.png",
|
|
wield_scale = {x = 1.5, y = 1.5, z = 1.5},
|
|
tool_capabilities = {
|
|
full_punch_interval = 2.9,
|
|
max_drop_level = 0,
|
|
groupcaps = {
|
|
fleshy = {times={[3]=1.35}, uses=15, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy = 12},
|
|
},
|
|
})
|
|
|
|
--craftitems
|
|
|
|
minetest.register_craftitem("horror:ring", {
|
|
description = "Ghosts Ring",
|
|
inventory_image = "horror_ring.png"
|
|
})
|
|
|
|
--crafting
|
|
minetest.register_craft({
|
|
output = 'horror:lantern',
|
|
recipe = {
|
|
{'default:glass'},
|
|
{'default:torch'},
|
|
{'default:glass'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:skull',
|
|
recipe = {
|
|
{'bones:bones'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:candlestick',
|
|
recipe = {
|
|
{'', 'default:torch', ''},
|
|
{'default:torch', 'group:stick', 'default:torch'},
|
|
{'', 'group:stick', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:candle',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'', 'default:torch', ''},
|
|
{'', 'default:copper_ingot', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:bookshelf',
|
|
recipe = {
|
|
{'default:bookshelf'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:cleaver',
|
|
recipe = {
|
|
{'group:stick', 'default:steel_ingot', ''},
|
|
{'group:stick', 'default:steel_ingot', ''},
|
|
{'group:stick', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:rapier',
|
|
recipe = {
|
|
{'default:steel_ingot', ''},
|
|
{'default:steel_ingot', ''},
|
|
{'group:stick', 'default:steel_ingot'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:pitchfork',
|
|
recipe = {
|
|
{'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'},
|
|
{'', 'group:stick', ''},
|
|
{'', 'group:stick', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:knife',
|
|
recipe = {
|
|
{'', 'group:stick', ''},
|
|
{'', 'default:steel_ingot', ''},
|
|
{'', 'default:steel_ingot', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:eye_jar',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'', 'default:glass', ''},
|
|
{'', 'default:glass', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:roach_spawner',
|
|
recipe = {
|
|
{'group:wood', 'group:wood', ''},
|
|
{'group:wood', '', ''},
|
|
{'group:wood', 'group:wood', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:radio',
|
|
recipe = {
|
|
{'group:stick', '', ''},
|
|
{'default:steel_ingot', 'default:steel_ingot', ''},
|
|
{'default:steel_ingot', 'default:steel_ingot', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:clock',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'', 'group:stick', ''},
|
|
{'', 'default:wood', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:tombstone',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'', 'default:stone', ''},
|
|
{'', 'default:stone', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:cross',
|
|
recipe = {
|
|
{'', 'default:stone', ''},
|
|
{'default:stone', 'default:stone', 'default:stone'},
|
|
{'', 'default:stone', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:obsidian_corner 4',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'default:obsidian', 'default:obsidian', ''},
|
|
{'default:obsidian', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:wood_corner 4',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'default:wood', 'default:wood', ''},
|
|
{'default:wood', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:stone_corner 4',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'default:stone', 'default:stone', ''},
|
|
{'default:stone', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:oldstone_corner 4',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'horror:stone', 'horror:stone', ''},
|
|
{'horror:stone', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:boards 4',
|
|
recipe = {
|
|
{'default:wood', '', 'default:wood'},
|
|
{'', 'default:wood', ''},
|
|
{'default:wood', '', 'default:wood'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:table 4',
|
|
recipe = {
|
|
{'group:wood', 'group:wood', 'default:wood'},
|
|
{'group:wood', '', ''},
|
|
{'group:wood', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:table_stone 4',
|
|
recipe = {
|
|
{'default:stone', 'default:stone', 'default:stone'},
|
|
{'default:stone', '', ''},
|
|
{'default:stone', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = 'cooking',
|
|
output = 'default:coal_lump',
|
|
recipe = 'default:tree',
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = 'cooking',
|
|
output = 'horror:stone',
|
|
recipe = 'default:stone',
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:shelf',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'group:wood', 'group:wood', ''},
|
|
{'group:stick', '', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:gargoyle2',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'', 'default:stone', ''},
|
|
{'default:stone', 'default:stone', 'default:stone'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:stand',
|
|
recipe = {
|
|
{'default:stone', 'default:stone', 'default:stone'},
|
|
{'', 'default:stone', ''},
|
|
{'default:stone', 'default:stone', 'default:stone'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:fountain',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'default:stone', 'bucket:bucket_water', ''},
|
|
{'default:stone', '', ''},
|
|
}
|
|
})
|
|
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:lavastone 10',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'', 'bucket:bucket_lava', ''},
|
|
{'', 'default:stone', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:chain 6',
|
|
recipe = {
|
|
{'', 'default:steel_ingot', ''},
|
|
{'', 'default:steel_ingot', ''},
|
|
{'', 'default:steel_ingot', ''},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'horror:vines 2',
|
|
recipe = {
|
|
{'', '', ''},
|
|
{'default:leaves', 'default:leaves', ''},
|
|
{'', '', ''},
|
|
}
|
|
})
|