Skip to content

Commit b36b154

Browse files
tenplus1paramat
authored andcommittedMay 7, 2016
Creative: Fix inventory crash after toggling creative mode in-game
1 parent 3976dc6 commit b36b154

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed
 

‎mods/creative/init.lua

+7-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
creative = {}
44
local player_inventory = {}
5+
local creative_mode = minetest.setting_getbool("creative_mode")
56

67
-- Create detached creative inventory after loading all mods
78
creative.init_creative_inventory = function(player)
@@ -14,7 +15,7 @@ creative.init_creative_inventory = function(player)
1415

1516
minetest.create_detached_inventory("creative_" .. player_name, {
1617
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
17-
if minetest.setting_getbool("creative_mode") and not to_list == "main" then
18+
if creative_mode and not to_list == "main" then
1819
return count
1920
else
2021
return 0
@@ -24,7 +25,7 @@ creative.init_creative_inventory = function(player)
2425
return 0
2526
end,
2627
allow_take = function(inv, listname, index, stack, player)
27-
if minetest.setting_getbool("creative_mode") then
28+
if creative_mode then
2829
return -1
2930
else
3031
return 0
@@ -86,7 +87,7 @@ local trash = minetest.create_detached_inventory("creative_trash", {
8687
-- Allow the stack to be placed and remove it in on_put()
8788
-- This allows the creative inventory to restore the stack
8889
allow_put = function(inv, listname, index, stack, player)
89-
if minetest.setting_getbool("creative_mode") then
90+
if creative_mode then
9091
return stack:get_count()
9192
else
9293
return 0
@@ -155,15 +156,15 @@ end
155156

156157
minetest.register_on_joinplayer(function(player)
157158
-- If in creative mode, modify player's inventory forms
158-
if not minetest.setting_getbool("creative_mode") then
159+
if not creative_mode then
159160
return
160161
end
161162
creative.init_creative_inventory(player)
162163
creative.set_creative_formspec(player, 0)
163164
end)
164165

165166
minetest.register_on_player_receive_fields(function(player, formname, fields)
166-
if formname ~= "" or not minetest.setting_getbool("creative_mode") then
167+
if formname ~= "" or not creative_mode then
167168
return
168169
end
169170

@@ -216,7 +217,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
216217
end
217218
end)
218219

219-
if minetest.setting_getbool("creative_mode") then
220+
if creative_mode then
220221
local digtime = 0.5
221222
local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 3}
222223

0 commit comments

Comments
 (0)