]> git.lizzy.rs Git - xdecor.git/commitdiff
Add checks to enchanting table formspec/inventory to prevent crashing in some situations.
authorTim <t4im@users.noreply.github.com>
Fri, 5 Aug 2016 20:57:02 +0000 (22:57 +0200)
committerTim <t4im@users.noreply.github.com>
Fri, 5 Aug 2016 22:06:51 +0000 (00:06 +0200)
enchanting.lua

index 63641cdea58fd168e2a01ee39bd1916d580f0862..028a5b417737c9a377cecd1fc01b7b32b202cc14 100644 (file)
@@ -59,7 +59,9 @@ function enchanting.on_put(pos, listname, _, stack)
 end
 
 function enchanting.fields(pos, _, fields, sender)
-       if fields.quit then return end
+       if not next(fields) or fields.quit then
+               return
+       end
        local inv = minetest.get_meta(pos):get_inventory()
        local tool = inv:get_stack("tool", 1)
        local mese = inv:get_stack("mese", 1)
@@ -83,6 +85,9 @@ function enchanting.dig(pos)
 end
 
 local function allowed(tool)
+       if not tool then
+               return false
+       end
        for item in pairs(minetest.registered_tools) do
                if item:find("enchanted_"..tool) then return true end
        end