Initial commit.
commit
664b7c0af0
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "deps/minetest-australopithecus-worldgen-utils"]
|
||||||
|
path = deps/minetest-australopithecus-worldgen-utils
|
||||||
|
url = https://github.com/minetest-australopithecus/minetest-australopithecus-worldgen-utils.git
|
|
@ -0,0 +1,24 @@
|
||||||
|
Copyright (c) 2014, Robert 'Bobby' Zenz
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
deps := deps
|
||||||
|
doc := doc
|
||||||
|
mod_name := auto_drops
|
||||||
|
mods := mods
|
||||||
|
release := release
|
||||||
|
release_name := auto-drops
|
||||||
|
|
||||||
|
all: doc
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) -R $(doc)
|
||||||
|
|
||||||
|
.PHONY: doc
|
||||||
|
doc:
|
||||||
|
ldoc --dir=$(doc) mods/$(mod_name)
|
||||||
|
|
||||||
|
.PHONY: release
|
||||||
|
release:
|
||||||
|
# Prepare the directory structure.
|
||||||
|
mkdir -p $(release)/
|
||||||
|
mkdir -p $(release)/$(release_name)/
|
||||||
|
mkdir -p $(release)/$(release_name)/mods/
|
||||||
|
|
||||||
|
# Copy the dependencies.
|
||||||
|
cp -R $(deps)/utils/utils $(release)/$(release_name)/mods/
|
||||||
|
|
||||||
|
# Copy the mods.
|
||||||
|
cp -R $(mods)/$(mod_name) $(release)/$(release_name)/mods/
|
||||||
|
|
||||||
|
# Copy the files.
|
||||||
|
cp LICENSE $(release)/$(release_name)/
|
||||||
|
cp README $(release)/$(release_name)/
|
||||||
|
|
||||||
|
tar -c --xz -C $(release) -f $(release)/$(release_name).tar.xz $(release_name)/
|
||||||
|
tar -c --gz -C $(release) -f $(release)/$(release_name).tar.gz $(release_name)/
|
||||||
|
cd $(release); zip -r -9 $(release_name).zip $(release_name); cd -
|
||||||
|
|
||||||
|
.PHONY: update-deps
|
||||||
|
update-deps:
|
||||||
|
git submodule foreach git pull origin master
|
||||||
|
git add $(deps)/
|
||||||
|
git commit -m "Updated dependencies."
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
minetest-australopithecus-auto-drops
|
||||||
|
====================================
|
||||||
|
|
||||||
|
A system which drops all drops from a dug node as items.
|
||||||
|
|
||||||
|
|
||||||
|
Usage
|
||||||
|
=====
|
||||||
|
|
||||||
|
The system activates itself, you just need to add the mod to the subgame.
|
||||||
|
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
=============
|
||||||
|
|
||||||
|
The system can be configured by adding settings to the `minetest.conf`:
|
||||||
|
|
||||||
|
# If the system should be activated, defaults to true.
|
||||||
|
autodrops_activate = true.
|
||||||
|
|
||||||
|
# If the stacks that are split in some way, defaults to single.
|
||||||
|
# Possible values are:
|
||||||
|
# random: The dropped stacks are split randomly.
|
||||||
|
# single: The dropped stacks are split into every single item.
|
||||||
|
# stack: The dropped stacks are dropped as they are.
|
||||||
|
autodrops_split = single
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit a00e993a48049840889d1a174699f6486c459709
|
|
@ -0,0 +1,250 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||||
|
<head>
|
||||||
|
<title>Reference</title>
|
||||||
|
<link rel="stylesheet" href="ldoc.css" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="container">
|
||||||
|
|
||||||
|
<div id="product">
|
||||||
|
<div id="product_logo"></div>
|
||||||
|
<div id="product_name"><big><b></b></big></div>
|
||||||
|
<div id="product_description"></div>
|
||||||
|
</div> <!-- id="product" -->
|
||||||
|
|
||||||
|
|
||||||
|
<div id="main">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Menu -->
|
||||||
|
|
||||||
|
<div id="navigation">
|
||||||
|
<br/>
|
||||||
|
<h1>ldoc</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Contents</h2>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#Functions">Functions</a></li>
|
||||||
|
<li><a href="#Fields">Fields</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Modules</h2>
|
||||||
|
<ul class="$(kind=='Topics' and '' or 'nowrap'">
|
||||||
|
<li><strong>autodrops</strong></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="content">
|
||||||
|
|
||||||
|
<h1>Module <code>autodrops</code></h1>
|
||||||
|
<p>Autodrops is a system which enables that drops from nodes become items
|
||||||
|
which are dropped on the ground, instead of being send directly to
|
||||||
|
the player inventory.</p>
|
||||||
|
<p></p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a href="#Functions">Functions</a></h2>
|
||||||
|
<table class="function_list">
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap><a href="#drop">drop (position, stacks)</a></td>
|
||||||
|
<td class="summary">Drops the given ItemStacks at the given position, based on the settings.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap><a href="#drop_random">drop_random (position, stack)</a></td>
|
||||||
|
<td class="summary">Drops the given stack from the given position by splitting it into random
|
||||||
|
amounts.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap><a href="#drop_single">drop_single (position, stack)</a></td>
|
||||||
|
<td class="summary">Drops the given stack from the given position by splitting it into single
|
||||||
|
items.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap><a href="#drop_stack">drop_stack (position, stack)</a></td>
|
||||||
|
<td class="summary">Drops the given stack from the given position.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap><a href="#node_drops_handler">node_drops_handler (position, drops, player, handled)</a></td>
|
||||||
|
<td class="summary">The handler which is registered for handling the node drops.</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<h2><a href="#Fields">Fields</a></h2>
|
||||||
|
<table class="function_list">
|
||||||
|
<tr>
|
||||||
|
<td class="name" nowrap><a href="#split">split</a></td>
|
||||||
|
<td class="summary">The split method that is used.</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a name="Functions"></a>Functions</h2>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
<a name = "drop"></a>
|
||||||
|
<strong>drop (position, stacks)</strong>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Drops the given ItemStacks at the given position, based on the settings.
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Parameters:</h3>
|
||||||
|
<ul>
|
||||||
|
<li><span class="parameter">position</span>
|
||||||
|
The position at which to drop the items.
|
||||||
|
</li>
|
||||||
|
<li><span class="parameter">stacks</span>
|
||||||
|
The array of ItemStacks to drop.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<a name = "drop_random"></a>
|
||||||
|
<strong>drop_random (position, stack)</strong>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Drops the given stack from the given position by splitting it into random
|
||||||
|
amounts.
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Parameters:</h3>
|
||||||
|
<ul>
|
||||||
|
<li><span class="parameter">position</span>
|
||||||
|
The position at which the items should spawn.
|
||||||
|
</li>
|
||||||
|
<li><span class="parameter">stack</span>
|
||||||
|
The ItemStack to drop.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<a name = "drop_single"></a>
|
||||||
|
<strong>drop_single (position, stack)</strong>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Drops the given stack from the given position by splitting it into single
|
||||||
|
items.
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Parameters:</h3>
|
||||||
|
<ul>
|
||||||
|
<li><span class="parameter">position</span>
|
||||||
|
The position at which the items should spawn.
|
||||||
|
</li>
|
||||||
|
<li><span class="parameter">stack</span>
|
||||||
|
The ItemStack to drop.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<a name = "drop_stack"></a>
|
||||||
|
<strong>drop_stack (position, stack)</strong>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Drops the given stack from the given position.
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Parameters:</h3>
|
||||||
|
<ul>
|
||||||
|
<li><span class="parameter">position</span>
|
||||||
|
The position at which the items should spawn.
|
||||||
|
</li>
|
||||||
|
<li><span class="parameter">stack</span>
|
||||||
|
The ItemStack to drop.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<a name = "node_drops_handler"></a>
|
||||||
|
<strong>node_drops_handler (position, drops, player, handled)</strong>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
The handler which is registered for handling the node drops.
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Parameters:</h3>
|
||||||
|
<ul>
|
||||||
|
<li><span class="parameter">position</span>
|
||||||
|
The position at which the drop occured.
|
||||||
|
</li>
|
||||||
|
<li><span class="parameter">drops</span>
|
||||||
|
The array of ItemStacks which are dropped.
|
||||||
|
</li>
|
||||||
|
<li><span class="parameter">player</span>
|
||||||
|
The player which originated the event.
|
||||||
|
</li>
|
||||||
|
<li><span class="parameter">handled</span>
|
||||||
|
If the event has already been handled or not.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Returns:</h3>
|
||||||
|
<ol>
|
||||||
|
|
||||||
|
true, because the event has been handled by this function.
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<h2><a name="Fields"></a>Fields</h2>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
<a name = "split"></a>
|
||||||
|
<strong>split</strong>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
The split method that is used. Possible values are "stack", "random"
|
||||||
|
and "single", defaults to "single". "stack" means that the full stack
|
||||||
|
as provided is dropped, "random" splits the provided stack randomly and
|
||||||
|
"single" splits the provided stack into individual items.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
</div> <!-- id="content" -->
|
||||||
|
</div> <!-- id="main" -->
|
||||||
|
<div id="about">
|
||||||
|
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.2</a></i>
|
||||||
|
</div> <!-- id="about" -->
|
||||||
|
</div> <!-- id="container" -->
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,302 @@
|
||||||
|
/* BEGIN RESET
|
||||||
|
|
||||||
|
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
|
||||||
|
Code licensed under the BSD License:
|
||||||
|
http://developer.yahoo.com/yui/license.html
|
||||||
|
version: 2.8.2r1
|
||||||
|
*/
|
||||||
|
html {
|
||||||
|
color: #000;
|
||||||
|
background: #FFF;
|
||||||
|
}
|
||||||
|
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
fieldset,img {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
address,caption,cite,code,dfn,em,strong,th,var,optgroup {
|
||||||
|
font-style: inherit;
|
||||||
|
font-weight: inherit;
|
||||||
|
}
|
||||||
|
del,ins {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
list-style: disc;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
caption,th {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
h1,h2,h3,h4,h5,h6 {
|
||||||
|
font-size: 100%;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
q:before,q:after {
|
||||||
|
content: '';
|
||||||
|
}
|
||||||
|
abbr,acronym {
|
||||||
|
border: 0;
|
||||||
|
font-variant: normal;
|
||||||
|
}
|
||||||
|
sup {
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
sub {
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
legend {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
input,button,textarea,select,optgroup,option {
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
|
font-style: inherit;
|
||||||
|
font-weight: inherit;
|
||||||
|
}
|
||||||
|
input,button,textarea,select {*font-size:100%;
|
||||||
|
}
|
||||||
|
/* END RESET */
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
font-family: arial, helvetica, geneva, sans-serif;
|
||||||
|
background-color: #ffffff; margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code, tt { font-family: monospace; }
|
||||||
|
span.parameter { font-family:monospace; }
|
||||||
|
span.parameter:after { content:":"; }
|
||||||
|
span.types:before { content:"("; }
|
||||||
|
span.types:after { content:")"; }
|
||||||
|
.type { font-weight: bold; font-style:italic }
|
||||||
|
|
||||||
|
body, p, td, th { font-size: .95em; line-height: 1.2em;}
|
||||||
|
|
||||||
|
p, ul { margin: 10px 0 0 0px;}
|
||||||
|
|
||||||
|
strong { font-weight: bold;}
|
||||||
|
|
||||||
|
em { font-style: italic;}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
margin: 0 0 20px 0;
|
||||||
|
}
|
||||||
|
h2, h3, h4 { margin: 15px 0 10px 0; }
|
||||||
|
h2 { font-size: 1.25em; }
|
||||||
|
h3 { font-size: 1.15em; }
|
||||||
|
h4 { font-size: 1.06em; }
|
||||||
|
|
||||||
|
a:link { font-weight: bold; color: #004080; text-decoration: none; }
|
||||||
|
a:visited { font-weight: bold; color: #006699; text-decoration: none; }
|
||||||
|
a:link:hover { text-decoration: underline; }
|
||||||
|
|
||||||
|
hr {
|
||||||
|
color:#cccccc;
|
||||||
|
background: #00007f;
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote { margin-left: 3em; }
|
||||||
|
|
||||||
|
ul { list-style-type: disc; }
|
||||||
|
|
||||||
|
p.name {
|
||||||
|
font-family: "Andale Mono", monospace;
|
||||||
|
padding-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre.example {
|
||||||
|
background-color: rgb(245, 245, 245);
|
||||||
|
border: 1px solid silver;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px 0 10px 0;
|
||||||
|
font-family: "Andale Mono", monospace;
|
||||||
|
font-size: .85em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
background-color: rgb(245, 245, 245);
|
||||||
|
border: 1px solid silver;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 10px 0 10px 0;
|
||||||
|
overflow: auto;
|
||||||
|
font-family: "Andale Mono", monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table.index { border: 1px #00007f; }
|
||||||
|
table.index td { text-align: left; vertical-align: top; }
|
||||||
|
|
||||||
|
#container {
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#product {
|
||||||
|
text-align: center;
|
||||||
|
border-bottom: 1px solid #cccccc;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#product big {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
border-left: 2px solid #cccccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation {
|
||||||
|
float: left;
|
||||||
|
width: 18em;
|
||||||
|
vertical-align: top;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation h2 {
|
||||||
|
background-color:#e7e7e7;
|
||||||
|
font-size:1.1em;
|
||||||
|
color:#000000;
|
||||||
|
text-align: left;
|
||||||
|
padding:0.2em;
|
||||||
|
border-top:1px solid #dddddd;
|
||||||
|
border-bottom:1px solid #dddddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation ul
|
||||||
|
{
|
||||||
|
font-size:1em;
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 1px 1px 10px 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation li {
|
||||||
|
text-indent: -1em;
|
||||||
|
display: block;
|
||||||
|
margin: 3px 0px 0px 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation li li a {
|
||||||
|
margin: 0px 3px 0px -1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
margin-left: 18em;
|
||||||
|
padding: 1em;
|
||||||
|
width: 700px;
|
||||||
|
border-left: 2px solid #cccccc;
|
||||||
|
border-right: 2px solid #cccccc;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#about {
|
||||||
|
clear: both;
|
||||||
|
padding: 5px;
|
||||||
|
border-top: 2px solid #cccccc;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
body {
|
||||||
|
font: 12pt "Times New Roman", "TimeNR", Times, serif;
|
||||||
|
}
|
||||||
|
a { font-weight: bold; color: #004080; text-decoration: underline; }
|
||||||
|
|
||||||
|
#main {
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
margin-left: 2%;
|
||||||
|
margin-right: 2%;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
padding: 1em;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigation {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
pre.example {
|
||||||
|
font-family: "Andale Mono", monospace;
|
||||||
|
font-size: 10pt;
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
table.module_list {
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #cccccc;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
table.module_list td {
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 3px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #cccccc;
|
||||||
|
}
|
||||||
|
table.module_list td.name { background-color: #f0f0f0; min-width: 200px; }
|
||||||
|
table.module_list td.summary { width: 100%; }
|
||||||
|
|
||||||
|
|
||||||
|
table.function_list {
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #cccccc;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
table.function_list td {
|
||||||
|
border-width: 1px;
|
||||||
|
padding: 3px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #cccccc;
|
||||||
|
}
|
||||||
|
table.function_list td.name { background-color: #f0f0f0; min-width: 200px; }
|
||||||
|
table.function_list td.summary { width: 100%; }
|
||||||
|
|
||||||
|
ul.nowrap {
|
||||||
|
overflow:auto;
|
||||||
|
white-space:nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
|
||||||
|
dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
|
||||||
|
dl.table h3, dl.function h3 {font-size: .95em;}
|
||||||
|
|
||||||
|
/* stop sublists from having initial vertical space */
|
||||||
|
ul ul { margin-top: 0px; }
|
||||||
|
ol ul { margin-top: 0px; }
|
||||||
|
ol ol { margin-top: 0px; }
|
||||||
|
ul ol { margin-top: 0px; }
|
||||||
|
|
||||||
|
/* styles for prettification of source */
|
||||||
|
pre .comment { color: #558817; }
|
||||||
|
pre .constant { color: #a8660d; }
|
||||||
|
pre .escape { color: #844631; }
|
||||||
|
pre .keyword { color: #2239a8; font-weight: bold; }
|
||||||
|
pre .library { color: #0e7c6b; }
|
||||||
|
pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
|
||||||
|
pre .string { color: #a8660d; }
|
||||||
|
pre .number { color: #f8660d; }
|
||||||
|
pre .operator { color: #2239a8; font-weight: bold; }
|
||||||
|
pre .preprocessor, pre .prepro { color: #a33243; }
|
||||||
|
pre .global { color: #800080; }
|
||||||
|
pre .prompt { color: #558817; }
|
||||||
|
pre .url { color: #272fc2; text-decoration: underline; }
|
|
@ -0,0 +1,114 @@
|
||||||
|
--[[
|
||||||
|
Copyright (c) 2015, Robert 'Bobby' Zenz
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
--]]
|
||||||
|
|
||||||
|
|
||||||
|
--- Autodrops is a system which enables that drops from nodes become items
|
||||||
|
-- which are dropped on the ground, instead of being send directly to
|
||||||
|
-- the player inventory.
|
||||||
|
autodrops = {
|
||||||
|
--- The split method that is used. Possible values are "stack", "random"
|
||||||
|
-- and "single", defaults to "single". "stack" means that the full stack
|
||||||
|
-- as provided is dropped, "random" splits the provided stack randomly and
|
||||||
|
-- "single" splits the provided stack into individual items.
|
||||||
|
split = settings.get_string("autodrops_split", "single")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-- Activates the autodrops system.
|
||||||
|
function autodrops.activate()
|
||||||
|
if settings.get_bool("autodrops_active", true) then
|
||||||
|
minetestex.register_on_nodedrops(autodrops.node_drops_handler)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Drops the given ItemStacks at the given position, based on the settings.
|
||||||
|
--
|
||||||
|
-- @param position The position at which to drop the items.
|
||||||
|
-- @param stacks The array of ItemStacks to drop.
|
||||||
|
function autodrops.drop(position, stacks)
|
||||||
|
for index, stack in ipairs(stacks) do
|
||||||
|
if autodrops.split == "random" then
|
||||||
|
autodrops.drop_random(position, stack)
|
||||||
|
elseif autodrops.split == "single" then
|
||||||
|
autodrops.drop_single(position, stack)
|
||||||
|
elseif autodrops.split == "stack" then
|
||||||
|
autodrops.drop_stack(position, stack)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Drops the given stack from the given position by splitting it into random
|
||||||
|
-- amounts.
|
||||||
|
--
|
||||||
|
-- @param position The position at which the items should spawn.
|
||||||
|
-- @param stack The ItemStack to drop.
|
||||||
|
function autodrops.drop_random(position, stack)
|
||||||
|
local name = stack:get_name()
|
||||||
|
local remaining = stack:get_count()
|
||||||
|
|
||||||
|
while remaining > 0 do
|
||||||
|
local count = random.next_int(1, remaining + 1)
|
||||||
|
local item_string = name .. " " .. tostring(count)
|
||||||
|
|
||||||
|
itemutil.blop(position, item_string)
|
||||||
|
|
||||||
|
remaining = remaining - count;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Drops the given stack from the given position by splitting it into single
|
||||||
|
-- items.
|
||||||
|
--
|
||||||
|
-- @param position The position at which the items should spawn.
|
||||||
|
-- @param stack The ItemStack to drop.
|
||||||
|
function autodrops.drop_single(position, stack)
|
||||||
|
local name = stack:get_name()
|
||||||
|
|
||||||
|
for counter = 1, stack:get_count(), 1 do
|
||||||
|
itemutil.blop(position, name, 4, 3, 4)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Drops the given stack from the given position.
|
||||||
|
--
|
||||||
|
-- @param position The position at which the items should spawn.
|
||||||
|
-- @param stack The ItemStack to drop.
|
||||||
|
function autodrops.drop_stack(position, stack)
|
||||||
|
itemutil.blop(position, stack:to_string())
|
||||||
|
end
|
||||||
|
|
||||||
|
--- The handler which is registered for handling the node drops.
|
||||||
|
--
|
||||||
|
-- @param position The position at which the drop occured.
|
||||||
|
-- @param drops The array of ItemStacks which are dropped.
|
||||||
|
-- @param player The player which originated the event.
|
||||||
|
-- @param handled If the event has already been handled or not.
|
||||||
|
-- @return true, because the event has been handled by this function.
|
||||||
|
function autodrops.node_drops_handler(position, drops, player, handled)
|
||||||
|
autodrops.drop(position, drops)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
utils
|
|
@ -0,0 +1,35 @@
|
||||||
|
--[[
|
||||||
|
Copyright (c) 2015, Robert 'Bobby' Zenz
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
--]]
|
||||||
|
|
||||||
|
|
||||||
|
local base_path = minetest.get_modpath(minetest.get_current_modname())
|
||||||
|
|
||||||
|
|
||||||
|
dofile(base_path .. "/autodrops.lua")
|
||||||
|
|
||||||
|
|
||||||
|
autodrops.activate()
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
../deps/minetest-australopithecus-worldgen-utils/deps/minetest-australopithecus-utils/utils
|
Loading…
Reference in New Issue