Dungeon loot: Warn on unknown registered loot items (#2613)
authorsfan5 <sfan5@live.de>
Fri, 6 Mar 2020 20:51:07 +0000 (21:51 +0100)
committerGitHub <noreply@github.com>
Fri, 6 Mar 2020 20:51:07 +0000 (21:51 +0100)
mods/dungeon_loot/mapgen.lua

index 624e9a855e9539a8fb7149cd8513220c79820e09..b2c80fa8896b0155803b7649e7a4763e1cfaeab3 100644 (file)
@@ -89,20 +89,20 @@ local function populate_chest(pos, rand, dungeontype)
                                amount = rand:next(loot.count[1], loot.count[2])
                        end
 
-                       if itemdef then
-                               if itemdef.tool_capabilities then
-                                       for n = 1, amount do
-                                               local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear
-                                               table.insert(items, ItemStack({name = loot.name, wear = wear}))
-                                       end
-                               elseif itemdef.stack_max == 1 then
-                                       -- not stackable, add separately
-                                       for n = 1, amount do
-                                               table.insert(items, loot.name)
-                                       end
-                               else
-                                       table.insert(items, ItemStack({name = loot.name, count = amount}))
+                       if not itemdef then
+                               minetest.log("warning", "Registered loot item " .. loot.name .. " does not exist")
+                       elseif itemdef.tool_capabilities then
+                               for n = 1, amount do
+                                       local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear
+                                       table.insert(items, ItemStack({name = loot.name, wear = wear}))
+                               end
+                       elseif itemdef.stack_max == 1 then
+                               -- not stackable, add separately
+                               for n = 1, amount do
+                                       table.insert(items, loot.name)
                                end
+                       else
+                               table.insert(items, ItemStack({name = loot.name, count = amount}))
                        end
                end
        end