Initial commit

master
BlockMen 2015-10-26 21:57:11 +01:00
commit ef037eac2f
4 changed files with 130 additions and 0 deletions

20
LICENSE.txt Normal file
View File

@ -0,0 +1,20 @@
Copyright (c) 2015 BlockMen <blockmen2015@gmail.com>
This software is provided 'as-is', without any express or implied warranty. In no
event will the authors be held liable for any damages arising from the use of
this software.
Permission is granted to anyone to use this software for any purpose, including
commercial applications, and to alter it and redistribute it freely, subject to the
following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software in a
product, an acknowledgment in the product documentation is required.
2. Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

33
README.txt Normal file
View File

@ -0,0 +1,33 @@
Mod "Dungeon Loot" [dungeon_loot]
=================================
Copyright (c) 2015 BlockMen <blockmen2015@gmail.com>
Version: 1.0 alpha
A simple mod that add to dungeons with more than 4 rooms chests that contain some loot.
License:
~~~~~~~~
Code:
(c) Copyright 2015 BlockMen; modified zlib-License
see "LICENSE.txt" for details.
Media(if not stated differently):
(c) Copyright (2014-2015) BlockMen; CC-BY-SA 3.0
Github:
~~~~~~~
https://github.com/BlockMen/dungeon_loot
Forum:
~~~~~~
-
Changelog:
~~~~~~~~~~
-

2
depends.txt Normal file
View File

@ -0,0 +1,2 @@
default
farming?

75
init.lua Normal file
View File

@ -0,0 +1,75 @@
-- "Dungeon Loot" [dungeon_loot]
-- Copyright (c) 2015 BlockMen <blockmen2015@gmail.com>
--
-- init.lua
--
-- This software is provided 'as-is', without any express or implied warranty. In no
-- event will the authors be held liable for any damages arising from the use of
-- this software.
--
-- Permission is granted to anyone to use this software for any purpose, including
-- commercial applications, and to alter it and redistribute it freely, subject to the
-- following restrictions:
--
-- 1. The origin of this software must not be misrepresented; you must not
-- claim that you wrote the original software. If you use this software in a
-- product, an acknowledgment in the product documentation is required.
-- 2. Altered source versions must be plainly marked as such, and must not
-- be misrepresented as being the original software.
-- 3. This notice may not be removed or altered from any source distribution.
--
local chest_stuff = {
{name="default:apple", max = 3},
{name="default:steel_ingot", max = 2},
{name="default:gold_ingot", max = 2},
{name="default:diamond", max = 1},
{name="default:pick_steel", max = 1},
{name="default:pick_diamond", max = 1}
}
if minetest.get_modpath("farming") then
chest_stuff[7] = {name="farming:bread", max = 3}
end
local function fill_chest(pos)
minetest.after(2, function()
local n = minetest.get_node(pos)
if n and n.name and n.name == "default:chest" then
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
if math.random(1, 10) < 7 then
return
end
for i=1,3,1 do
local stuff = chest_stuff[math.random(1, #chest_stuff)]
local stack = ItemStack({name = stuff.name, count = math.random(1, stuff.max)})
if not inv:contains_item("main", stack) then
inv:set_stack("main", math.random(1, 32), stack)
end
end
end
end)
end
-- Place chest in dungeons
local function place_spawner(tab)
local pos = tab[math.random(1, (#tab or 4))]
pos.y = pos.y - 1
local n = core.get_node_or_nil(pos)
if n and n.name ~= "air" then
pos.y = pos.y + 1
core.set_node(pos, {name = "default:chest"})
fill_chest(pos)
end
end
core.set_gen_notify("dungeon")
core.register_on_generated(function(minp, maxp, blockseed)
local ntf = core.get_mapgen_object("gennotify")
if ntf and ntf.dungeon and #ntf.dungeon > 3 then
core.after(3, place_spawner, table.copy(ntf.dungeon))
end
end)