Browse Source

Dungeon loot: Warn on unknown registered loot items (#2613)

sfan5 4 years ago
parent
commit
3a863053c0
1 changed files with 13 additions and 13 deletions
  1. 13 13
      mods/dungeon_loot/mapgen.lua

+ 13 - 13
mods/dungeon_loot/mapgen.lua

@@ -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