summaryrefslogtreecommitdiff
path: root/builtin/game
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/game')
-rw-r--r--builtin/game/item.lua2
-rw-r--r--builtin/game/misc.lua6
2 files changed, 7 insertions, 1 deletions
diff --git a/builtin/game/item.lua b/builtin/game/item.lua
index 3aaa71ef2..f680ce0d4 100644
--- a/builtin/game/item.lua
+++ b/builtin/game/item.lua
@@ -582,7 +582,7 @@ function core.node_dig(pos, node, digger)
wielded = wdef.after_use(wielded, digger, node, dp) or wielded
else
-- Wear out tool
- if not core.settings:get_bool("creative_mode") then
+ if not core.is_creative_enabled(diggername) then
wielded:add_wear(dp.wear)
if wielded:get_count() == 0 and wdef.sound and wdef.sound.breaks then
core.sound_play(wdef.sound.breaks, {
diff --git a/builtin/game/misc.lua b/builtin/game/misc.lua
index 0ed11ada0..341e613c2 100644
--- a/builtin/game/misc.lua
+++ b/builtin/game/misc.lua
@@ -164,6 +164,12 @@ function core.record_protection_violation(pos, name)
end
end
+-- To be overridden by Creative mods
+
+local creative_mode_cache = core.settings:get_bool("creative_mode")
+function core.is_creative_enabled(name)
+ return creative_mode_cache
+end
-- Checks if specified volume intersects a protected volume