Use minetest.is_creative_enabled everywhere
This commit is contained in:
parent
1971ec1573
commit
5525c5e52a
@ -1389,7 +1389,7 @@ function mobs:register_mob(name, def)
|
||||
local weapon = hitter:get_wielded_item()
|
||||
if weapon:get_definition().tool_capabilities ~= nil then
|
||||
local wear = ( (weapon:get_definition().tool_capabilities.full_punch_interval or 1.4) / 75 ) * 9000
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(hitter:get_player_name()) then
|
||||
weapon:add_wear(wear)
|
||||
end
|
||||
hitter:set_wielded_item(weapon)
|
||||
@ -1636,7 +1636,7 @@ function mobs:register_egg(mob, desc, background)
|
||||
ent.owner = placer:get_player_name()
|
||||
ent.tamed = true
|
||||
end
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
@ -1692,7 +1692,7 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso,
|
||||
pos = clicker:get_pos(),
|
||||
gain = 0.2, max_hear_distance = 16, pitch=1.25}, true)
|
||||
chance = chance_net
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(name) then
|
||||
tool:add_wear(4000) -- 17 uses
|
||||
end
|
||||
clicker:set_wielded_item(tool)
|
||||
@ -1701,7 +1701,7 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso,
|
||||
pos = clicker:get_pos(),
|
||||
gain = 0.2, max_hear_distance = 16, pitch=1}, true)
|
||||
chance = chance_lasso
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(name) then
|
||||
tool:add_wear(1500) -- 43 uses
|
||||
end
|
||||
clicker:set_wielded_item(tool)
|
||||
@ -1757,7 +1757,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, effect)
|
||||
if name ~= nil then
|
||||
-- Take item
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(name) then
|
||||
item:take_item()
|
||||
|
||||
clicker:set_wielded_item(item)
|
||||
|
@ -127,7 +127,7 @@ mobs:register_mob(
|
||||
z = math.random(-1,1)
|
||||
})
|
||||
end
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(clicker:get_player_name()) then
|
||||
local def = item:get_definition()
|
||||
local cuts = minetest.get_item_group(itemname, "sheep_cuts")
|
||||
if cuts > 0 then
|
||||
|
@ -61,7 +61,7 @@ minetest.register_craftitem(
|
||||
|
||||
rp_player.player_attached[player:get_player_name()] = true
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
|
@ -330,7 +330,7 @@ minetest.register_node(
|
||||
minetest.set_node(pos, {name = "rp_bed:bed_foot", param2 = dir})
|
||||
minetest.set_node(botpos, {name = "rp_bed:bed_head", param2 = dir})
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
|
@ -24,7 +24,7 @@ local function create_creative_inventory(player)
|
||||
local inv = minetest.create_detached_inventory("creative_"..player_name, {
|
||||
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
|
||||
local name = player:get_player_name()
|
||||
if minetest.settings:get_bool("creative_mode") and to_list ~= "main" then
|
||||
if minetest.is_creative_enabled(player_name) and to_list ~= "main" then
|
||||
return count
|
||||
else
|
||||
return 0
|
||||
@ -34,7 +34,7 @@ local function create_creative_inventory(player)
|
||||
return 0
|
||||
end,
|
||||
allow_take = function(inv, listname, index, stack, player)
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
if minetest.is_creative_enabled(player:get_player_name()) then
|
||||
return -1
|
||||
else
|
||||
return 0
|
||||
@ -72,7 +72,7 @@ local trash = minetest.create_detached_inventory("creative!trash", {
|
||||
-- Allow the stack to be placed and remove it in on_put()
|
||||
-- This allows the creative inventory to restore the stack
|
||||
allow_put = function(inv, listname, index, stack, player)
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
if minetest.is_creative_enabled(player:get_player_name()) then
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
@ -123,7 +123,7 @@ local get_page_and_start_i = function(playername)
|
||||
end
|
||||
|
||||
creative.get_formspec = function(playername)
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(playername) then
|
||||
return ""
|
||||
end
|
||||
local player = minetest.get_player_by_name(playername)
|
||||
@ -137,7 +137,7 @@ end
|
||||
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
-- If in creative mode, modify player's inventory forms
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
return
|
||||
end
|
||||
init_playerdata(player:get_player_name())
|
||||
@ -151,7 +151,7 @@ minetest.register_on_leaveplayer(function(player)
|
||||
end)
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
return
|
||||
end
|
||||
local playername = player:get_player_name()
|
||||
@ -195,17 +195,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Dummy implementation
|
||||
-- TODO: Implement per-player creative mode
|
||||
creative.is_enabled_for = function(player)
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
return minetest.is_creative_enabled(player:get_player_name())
|
||||
end
|
||||
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
if minetest.is_creative_enabled("") then
|
||||
minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack)
|
||||
-- Place infinite nodes, except for shulker boxes
|
||||
local group = minetest.get_item_group(itemstack:get_name(), "shulker_box")
|
||||
|
@ -39,7 +39,7 @@ for b=1, #water_buckets do
|
||||
end
|
||||
|
||||
if not above_nodedef.walkable then
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(user:get_player_name()) then
|
||||
if itemstack:get_count() == 1 then
|
||||
itemstack:set_name("rp_default:bucket")
|
||||
elseif inv:room_for_item("main", {name="rp_default:bucket"}) then
|
||||
@ -84,7 +84,7 @@ minetest.register_craftitem(
|
||||
local nodename=minetest.get_node(pointed_thing.under).name
|
||||
|
||||
local replace_bucket = function(itemstack, new_bucket)
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
if minetest.is_creative_enabled(user:get_player_name()) then
|
||||
-- no-op
|
||||
elseif itemstack:get_count() == 1 then
|
||||
itemstack:set_name(new_bucket)
|
||||
|
@ -133,7 +133,7 @@ minetest.register_craftitem(
|
||||
end
|
||||
end
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(user:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
|
@ -54,7 +54,7 @@ function default.place_sapling(itemstack, placer, pointed_thing)
|
||||
|
||||
minetest.set_node(pointed_thing.above, {name = itemstack:get_name()})
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
|
@ -951,7 +951,7 @@ minetest.register_node(
|
||||
item_drop.drop_item(pos, "rp_default:grass")
|
||||
|
||||
-- Add wear
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
local def = itemstack:get_definition()
|
||||
itemstack:add_wear(math.ceil(65536 / def.tool_capabilities.groupcaps.snappy.uses))
|
||||
end
|
||||
|
@ -37,7 +37,7 @@ local creative_digtable = {
|
||||
}
|
||||
|
||||
-- Creative mode/hand defs
|
||||
if minetest.settings:get_bool("creative_mode") == true then
|
||||
if minetest.is_creative_enabled("") then
|
||||
tool_levels = {
|
||||
wood = creative_digtable,
|
||||
stone = creative_digtable,
|
||||
@ -878,7 +878,7 @@ minetest.register_tool(
|
||||
minetest.sound_play({name="rp_default_ignite_torch", gain=0.4}, {pos=pos}, true)
|
||||
end
|
||||
|
||||
if wear and not minetest.settings:get_bool("creative_mode") then
|
||||
if wear and not minetest.is_creative_enabled(user:get_player_name()) then
|
||||
itemstack:add_wear(800)
|
||||
end
|
||||
|
||||
|
@ -88,7 +88,7 @@ function door.register_door(name, def)
|
||||
minetest.sound_play(def.sounds.place, {pos=pt}, true)
|
||||
end
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
|
@ -223,7 +223,7 @@ local trim_cotton = function(pos, node, player, tool)
|
||||
end
|
||||
|
||||
-- Add wear
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
local def = tool:get_definition()
|
||||
tool:add_wear(math.ceil(65536 / def.tool_capabilities.groupcaps.snappy.uses))
|
||||
end
|
||||
|
@ -317,7 +317,7 @@ end
|
||||
if minetest.get_modpath("rp_player_skins") ~= nil then
|
||||
form_default_default = form_default_default .. rp_formspec.tab(-0.9, 2.84, "tab_player_skins", "ui_icon_player_skins.png", S("Player Skins"))
|
||||
end
|
||||
if minetest.get_modpath("rp_creative") ~= nil and minetest.settings:get_bool("creative_mode") then
|
||||
if minetest.get_modpath("rp_creative") ~= nil and minetest.is_creative_enabled("") then
|
||||
form_default_default = form_default_default .. rp_formspec.tab(-0.9, 3.64, "tab_creative", "ui_icon_creative.png", S("Creative Inventory"))
|
||||
end
|
||||
form_default_default = form_default_default .. "background[0,0;8.5,9;ui_formspec_bg_tall.png]"
|
||||
@ -355,7 +355,7 @@ function rp_formspec.receive_fields(player, form_name, fields)
|
||||
elseif minetest.get_modpath("rp_player_skins") ~= nil and fields.tab_player_skins then
|
||||
formname = "player_skins:player_skins"
|
||||
form = player_skins.get_formspec(name)
|
||||
elseif minetest.get_modpath("rp_creative") ~= nil and minetest.settings:get_bool("creative_mode") and fields.tab_creative then
|
||||
elseif minetest.get_modpath("rp_creative") ~= nil and minetest.is_creative_enabled(name) and fields.tab_creative then
|
||||
formname = "rp_creative:creative"
|
||||
form = creative.get_formspec(name)
|
||||
end
|
||||
@ -375,7 +375,7 @@ minetest.register_on_joinplayer(
|
||||
function(player)
|
||||
player:set_formspec_prepend(formspec_prepend)
|
||||
local name = player:get_player_name()
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
if minetest.is_creative_enabled(name) then
|
||||
player:set_inventory_formspec(creative.get_formspec(name))
|
||||
rp_formspec.current_page[name] = "rp_creative:creative"
|
||||
else
|
||||
|
@ -224,7 +224,7 @@ local function on_item_eat(hpdata, replace_with_item, itemstack,
|
||||
hunger.update_bar(player)
|
||||
delayed_save()
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(name) then
|
||||
itemstack:take_item(1)
|
||||
end
|
||||
|
||||
@ -339,7 +339,7 @@ local function fake_on_item_eat(hpdata, replace_with_item, itemstack,
|
||||
object = player,
|
||||
}, true)
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
itemstack:take_item(1)
|
||||
end
|
||||
|
||||
|
@ -89,7 +89,7 @@ minetest.register_globalstep(
|
||||
end
|
||||
|
||||
if inv:room_for_item("main", ItemStack(lua.itemstring)) then
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
if minetest.is_creative_enabled(player:get_player_name()) then
|
||||
if not inv:contains_item("main", ItemStack(lua.itemstring), true) then
|
||||
inv:add_item("main", ItemStack(lua.itemstring))
|
||||
end
|
||||
@ -127,19 +127,18 @@ minetest.register_globalstep(
|
||||
end)
|
||||
|
||||
function minetest.handle_node_drops(pos, drops, digger)
|
||||
if minetest.settings:get_bool("creative_mode") then
|
||||
if not digger or not digger:is_player() then
|
||||
return
|
||||
do
|
||||
if digger and digger:is_player() and minetest.is_creative_enabled(digger:get_player_name()) then
|
||||
local inv = digger:get_inventory()
|
||||
if inv then
|
||||
for _,item in ipairs(drops) do
|
||||
if not inv:contains_item("main", item, true) then
|
||||
inv:add_item("main", item)
|
||||
end
|
||||
end
|
||||
end
|
||||
return
|
||||
end
|
||||
local inv = digger:get_inventory()
|
||||
if inv then
|
||||
for _,item in ipairs(drops) do
|
||||
if not inv:contains_item("main", item, true) then
|
||||
inv:add_item("main", item)
|
||||
end
|
||||
end
|
||||
end
|
||||
return
|
||||
end
|
||||
for _,item in ipairs(drops) do
|
||||
local obj = minetest.add_item(pos, item)
|
||||
|
@ -336,7 +336,7 @@ minetest.register_node(
|
||||
-- Success
|
||||
inv:set_stack("main", 1, ItemStack(jewels.get_jeweled(itemname)))
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
itemstack_changed = true
|
||||
end
|
||||
|
@ -132,7 +132,7 @@ minetest.register_tool(
|
||||
minetest.sound_play({name="locks_pick",gain=0.5},{pos=pos, max_hear_distance=16}, true)
|
||||
end
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
itemstack:add_wear(8200) -- about 8 uses
|
||||
end
|
||||
return itemstack
|
||||
@ -165,7 +165,13 @@ local put_lock = function(itemstack, putter, pointed_thing)
|
||||
else
|
||||
meta:set_string("infotext", S(INFOTEXT_PUBLIC))
|
||||
end
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
local creative_name
|
||||
if not name or name == "" then
|
||||
creative_name = ""
|
||||
else
|
||||
creative_name = name
|
||||
end
|
||||
if not minetest.is_creative_enabled(creative_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
|
@ -9,18 +9,11 @@ local S = minetest.get_translator("rp_nav")
|
||||
|
||||
nav.map = {}
|
||||
|
||||
-- Cache creative mode setting
|
||||
|
||||
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
|
||||
|
||||
|
||||
-- Update HUD flags
|
||||
-- Global to allow overriding
|
||||
|
||||
function nav.map.update_hud_flags(player)
|
||||
local creative_enabled =
|
||||
(minetest.global_exists("creative") and creative.is_enabled_for(player:get_player_name())) or
|
||||
creative_mode_cache
|
||||
local creative_enabled = minetest.is_creative_enabled(player:get_player_name())
|
||||
|
||||
local minimap_enabled = creative_enabled or
|
||||
player:get_inventory():contains_item("main", "rp_nav:map")
|
||||
|
@ -65,7 +65,7 @@ function partialblocks.register_material(name, desc_slab, desc_stair, node, grou
|
||||
and itemstack:get_count() >= 1 then
|
||||
minetest.set_node(pos, {name = node})
|
||||
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
|
||||
|
@ -283,7 +283,7 @@ minetest.register_node(
|
||||
minetest.record_protection_violation(pos, puncher:get_player_name())
|
||||
return
|
||||
end
|
||||
if not minetest.settings:get_bool("creative_mode") then
|
||||
if not minetest.is_creative_enabled(puncher:get_player_name()) then
|
||||
item:add_wear(800)
|
||||
puncher:set_wielded_item(item)
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user