aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-12-11 17:39:18 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-12-11 17:39:18 +0100
commit56751529201cc6350c3ed88e0a4235f0e1a4cf6f (patch)
treee36f689f9a0631fb513763fa901abba75e61d894
downloadinvutil-56751529201cc6350c3ed88e0a4235f0e1a4cf6f.tar.xz
Initial Commit
-rw-r--r--README2
-rw-r--r--init.lua34
-rw-r--r--mod.conf3
-rw-r--r--settingtypes.txt2
4 files changed, 41 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..df7a64d
--- /dev/null
+++ b/README
@@ -0,0 +1,2 @@
+# invutil
+Inventory utilities for dragonfire (Includes AutoRefill and AutoEject)
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..c8b7e64
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,34 @@
+minetest.register_globalstep(function(dtime)
+ local player = minetest.localplayer
+ if not player then return end
+ local item = player:get_wielded_item()
+ local itemdef = minetest.get_item_def(item:get_name())
+ local wieldindex = player:get_wield_index()
+ if minetest.settings:get_bool("autorefill") and itemdef then
+ local space = item:get_free_space()
+ local i = minetest.find_item(item:get_name(), wieldindex + 1)
+ if i and space > 0 then
+ local invact = InventoryAction("move")
+ invact:to("current_player", "main", wieldindex)
+ invact:from("current_player", "main", i)
+ invact:set_count(space)
+ invact:apply()
+ end
+ end
+ if minetest.settings:get_bool("autoeject") then
+ local invact = InventoryAction("drop")
+ local list = (minetest.settings:get("eject_items") or ""):split(",")
+ local inventory = minetest.get_inventory("current_player")
+ for index, stack in pairs(inventory.main) do
+ if table.indexof(list, stack:get_name()) ~= -1 then
+ invact:from("current_player", "main", index)
+ invact:apply()
+ end
+ end
+ end
+end)
+
+minetest.register_list_command("eject", "Configure AutoEject", "eject_items")
+
+minetest.register_cheat("AutoRefill", "Inventory", "autorefill")
+minetest.register_cheat("AutoEject", "Inventory", "autoeject")
diff --git a/mod.conf b/mod.conf
new file mode 100644
index 0000000..61f6e06
--- /dev/null
+++ b/mod.conf
@@ -0,0 +1,3 @@
+name = invutil
+author = Fleckenstein
+description = Inventory utilities for dragonfire (Includes AutoRefill and AutoEject)
diff --git a/settingtypes.txt b/settingtypes.txt
new file mode 100644
index 0000000..6dad0b1
--- /dev/null
+++ b/settingtypes.txt
@@ -0,0 +1,2 @@
+autorefill (AutoRefill) bool false
+autoeject (AutoEject) bool false