aboutsummaryrefslogtreecommitdiff
path: root/builtin/client
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/client')
-rw-r--r--builtin/client/chatcommands.lua2
-rw-r--r--builtin/client/cheats/combat.lua6
-rw-r--r--builtin/client/cheats/init.lua2
-rw-r--r--builtin/client/cheats/inventory.lua48
-rw-r--r--builtin/client/util.lua6
5 files changed, 49 insertions, 15 deletions
diff --git a/builtin/client/chatcommands.lua b/builtin/client/chatcommands.lua
index 7c3dd521e..8090b2bef 100644
--- a/builtin/client/chatcommands.lua
+++ b/builtin/client/chatcommands.lua
@@ -155,7 +155,7 @@ core.register_chatcommand("place", {
func = function(param)
local success, pos = core.parse_relative_pos(param)
if success then
- cores.place_node(pos)
+ core.place_node(pos)
return true, "Node placed at " .. core.pos_to_string(pos)
end
return false, pos
diff --git a/builtin/client/cheats/combat.lua b/builtin/client/cheats/combat.lua
index b497c6c1b..1f9ba9a91 100644
--- a/builtin/client/cheats/combat.lua
+++ b/builtin/client/cheats/combat.lua
@@ -2,7 +2,7 @@ local placed_crystal
local switched_to_totem = 0
local used_sneak = true
local totem_move_action = InventoryAction("move")
-totem_move_action:to("current_player", "main", 8)
+totem_move_action:to("current_player", "main", 9)
core.register_globalstep(function(dtime)
local player = core.localplayer
@@ -48,9 +48,9 @@ core.register_globalstep(function(dtime)
if totem_stack and totem_stack:get_name() ~= "mobs_mc:totem" then
local totem_index = core.find_item("mobs_mc:totem")
if totem_index then
- totem_move_action:from("current_player", "main", totem_index - 1)
+ totem_move_action:from("current_player", "main", totem_index)
totem_move_action:apply()
- player:set_wield_index(8)
+ player:set_wield_index(9)
end
end
end
diff --git a/builtin/client/cheats/init.lua b/builtin/client/cheats/init.lua
index a7be83cee..c579f2b89 100644
--- a/builtin/client/cheats/init.lua
+++ b/builtin/client/cheats/init.lua
@@ -62,6 +62,8 @@ core.cheats = {
["Enderchest"] = function() core.open_enderchest() end,
["HandSlot"] = function() core.open_handslot() end,
["NextItem"] = "next_item",
+ ["Strip"] = "strip",
+ ["AutoRefill"] = "autorefill",
}
}
diff --git a/builtin/client/cheats/inventory.lua b/builtin/client/cheats/inventory.lua
index faa7d1c0e..b9943f507 100644
--- a/builtin/client/cheats/inventory.lua
+++ b/builtin/client/cheats/inventory.lua
@@ -2,15 +2,48 @@ local elapsed_time = 0
local tick_time = 0.05
local drop_action = InventoryAction("drop")
+local strip_move_act = InventoryAction("move")
+strip_move_act:to("current_player", "craft", 1)
+local strip_craft_act = InventoryAction("craft")
+strip_craft_act:craft("current_player")
+local strip_move_back_act = InventoryAction("move")
+strip_move_back_act:from("current_player", "craftresult", 1)
+
core.register_globalstep(function(dtime)
+ local player = core.localplayer
+ if not player then return end
+ local item = player:get_wielded_item()
+ local itemdef = core.get_item_def(item:get_name())
+ local wieldindex = player:get_wield_index()
+ -- AutoRefill
+ if core.settings:get_bool("autorefill") and itemdef then
+ local space = item:get_free_space()
+ local i = core.find_item(item:get_name(), wieldindex + 1)
+ if i and space > 0 then
+ local move_act = InventoryAction("move")
+ move_act:to("current_player", "main", wieldindex)
+ move_act:from("current_player", "main", i)
+ move_act:set_count(space)
+ move_act:apply()
+ end
+ end
+ -- Strip
+ if core.settings:get_bool("strip") then
+ if itemdef and itemdef.groups.tree and player:get_control().RMB then
+ strip_move_act:from("current_player", "main", wieldindex)
+ strip_move_back_act:to("current_player", "main", wieldindex)
+ strip_move_act:apply()
+ strip_craft_act:apply()
+ strip_move_back_act:apply()
+ end
+ end
-- AutoEject
if core.settings:get_bool("autoeject") then
- local player = core.localplayer
local list = (core.settings:get("eject_items") or ""):split(",")
local inventory = core.get_inventory("current_player")
for index, stack in pairs(inventory.main) do
if table.indexof(list, stack:get_name()) ~= -1 then
- drop_action:from("current_player", "main", index - 1)
+ drop_action:from("current_player", "main", index)
drop_action:apply()
end
end
@@ -19,12 +52,8 @@ core.register_globalstep(function(dtime)
if core.settings:get_bool("next_item") then
elapsed_time = elapsed_time + dtime
if elapsed_time < tick_time then return end
- local player = minetest.localplayer
- if not player then return end
- local item = player:get_wielded_item()
if item:get_count() == 0 then
- local index = player:get_wield_index()
- player:set_wield_index(index + 1)
+ player:set_wield_index(wieldindex + 1)
end
elapsed_time = 0
end
@@ -62,7 +91,7 @@ core.register_on_punchnode(function(pos, node)
for index, stack in pairs(inventory.main) do
is_better, best_time = check_tool(stack, node_groups, best_time)
if is_better then
- new_index = index - 1
+ new_index = index
end
end
player:set_wield_index(new_index)
@@ -113,3 +142,6 @@ local hand_formspec = "size[9,8.75]"..
function core.open_handslot()
minetest.show_formspec("__builtin__:hand", hand_formspec)
end
+
+
+
diff --git a/builtin/client/util.lua b/builtin/client/util.lua
index d61b547c6..20e0e1d1b 100644
--- a/builtin/client/util.lua
+++ b/builtin/client/util.lua
@@ -21,9 +21,9 @@ function core.parse_relative_pos(param)
return success, pos
end
-function core.find_item(item)
+function core.find_item(item, mini, maxi)
for index, stack in ipairs(core.get_inventory("current_player").main) do
- if stack:get_name() == item then
+ if (not mini or index >= mini) and (not maxi or index <= maxi) and stack:get_name() == item then
return index
end
end
@@ -32,7 +32,7 @@ end
function core.switch_to_item(item)
local i = core.find_item(item)
if i then
- core.localplayer:set_wield_index(i - 1)
+ core.localplayer:set_wield_index(i)
return true
else
return false