projects
/
oweals
/
minetest_game.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
ca3e807
)
Add nil checks for placer
author
DTA7
<dta7e@t-online.de>
Sun, 1 Oct 2017 13:41:58 +0000
(15:41 +0200)
committer
sfan5
<sfan5@live.de>
Sun, 19 Nov 2017 22:03:38 +0000
(23:03 +0100)
14 files changed:
mods/beds/api.lua
patch
|
blob
|
history
mods/boats/init.lua
patch
|
blob
|
history
mods/bucket/init.lua
patch
|
blob
|
history
mods/carts/cart_entity.lua
patch
|
blob
|
history
mods/default/functions.lua
patch
|
blob
|
history
mods/default/nodes.lua
patch
|
blob
|
history
mods/default/tools.lua
patch
|
blob
|
history
mods/default/torch.lua
patch
|
blob
|
history
mods/default/trees.lua
patch
|
blob
|
history
mods/doors/init.lua
patch
|
blob
|
history
mods/farming/api.lua
patch
|
blob
|
history
mods/flowers/init.lua
patch
|
blob
|
history
mods/screwdriver/init.lua
patch
|
blob
|
history
mods/stairs/init.lua
patch
|
blob
|
history
diff --git
a/mods/beds/api.lua
b/mods/beds/api.lua
index 3632dc0cd3a465cbbbe3808a99e0490c2000ab17..9349545a972b421bf63a02a4a175c662c9626b6c 100644
(file)
--- a/
mods/beds/api.lua
+++ b/
mods/beds/api.lua
@@
-49,7
+49,8
@@
function beds.register_bed(name, def)
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
- not (placer and placer:get_player_control().sneak) then
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
@@
-61,9
+62,11
@@
function beds.register_bed(name, def)
pos = pointed_thing.above
end
pos = pointed_thing.above
end
- if minetest.is_protected(pos, placer:get_player_name()) and
- not minetest.check_player_privs(placer, "protection_bypass") then
- minetest.record_protection_violation(pos, placer:get_player_name())
+ local player_name = placer and placer:get_player_name() or ""
+
+ if minetest.is_protected(pos, player_name) and
+ not minetest.check_player_privs(player_name, "protection_bypass") then
+ minetest.record_protection_violation(pos, player_name)
return itemstack
end
return itemstack
end
@@
-72,12
+75,13
@@
function beds.register_bed(name, def)
return itemstack
end
return itemstack
end
- local dir = minetest.dir_to_facedir(placer:get_look_dir())
+ local dir = placer and placer:get_look_dir() and
+ minetest.dir_to_facedir(placer:get_look_dir()) or 0
local botpos = vector.add(pos, minetest.facedir_to_dir(dir))
local botpos = vector.add(pos, minetest.facedir_to_dir(dir))
- if minetest.is_protected(botpos, pla
cer:get_player_name()
) and
- not minetest.check_player_privs(pla
cer
, "protection_bypass") then
- minetest.record_protection_violation(botpos, pla
cer:get_player_name()
)
+ if minetest.is_protected(botpos, pla
yer_name
) and
+ not minetest.check_player_privs(pla
yer_name
, "protection_bypass") then
+ minetest.record_protection_violation(botpos, pla
yer_name
)
return itemstack
end
return itemstack
end
@@
-90,7
+94,7
@@
function beds.register_bed(name, def)
minetest.set_node(botpos, {name = name .. "_top", param2 = dir})
if not (creative and creative.is_enabled_for
minetest.set_node(botpos, {name = name .. "_top", param2 = dir})
if not (creative and creative.is_enabled_for
- and creative.is_enabled_for(pla
cer:get_player_name()
)) then
+ and creative.is_enabled_for(pla
yer_name
)) then
itemstack:take_item()
end
return itemstack
itemstack:take_item()
end
return itemstack
diff --git
a/mods/boats/init.lua
b/mods/boats/init.lua
index 4d8f4673db205aff05cd8ace8fdddeb6d050635b..ce67e916111c836270e72006e6b5e44ee73a71b7 100644
(file)
--- a/
mods/boats/init.lua
+++ b/
mods/boats/init.lua
@@
-230,7
+230,8
@@
minetest.register_craftitem("boats:boat", {
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
- not (placer and placer:get_player_control().sneak) then
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
@@
-244,9
+245,12
@@
minetest.register_craftitem("boats:boat", {
pointed_thing.under.y = pointed_thing.under.y + 0.5
boat = minetest.add_entity(pointed_thing.under, "boats:boat")
if boat then
pointed_thing.under.y = pointed_thing.under.y + 0.5
boat = minetest.add_entity(pointed_thing.under, "boats:boat")
if boat then
- boat:setyaw(placer:get_look_horizontal())
- if not (creative and creative.is_enabled_for
- and creative.is_enabled_for(placer:get_player_name())) then
+ if placer then
+ boat:setyaw(placer:get_look_horizontal())
+ end
+ local player_name = placer and placer:get_player_name() or ""
+ if not (creative and creative.is_enabled_for and
+ creative.is_enabled_for(player_name)) then
itemstack:take_item()
end
end
itemstack:take_item()
end
end
diff --git
a/mods/bucket/init.lua
b/mods/bucket/init.lua
index 5076dece3992186b7a679e5b662bdfe72318fe2c..62392e90de6cc93542ff1db4c41e7c6e0682e72a 100644
(file)
--- a/
mods/bucket/init.lua
+++ b/
mods/bucket/init.lua
@@
-69,7
+69,8
@@
function bucket.register_liquid(source, flowing, itemname, inventory_image, name
-- Call on_rightclick if the pointed node defines it
if ndef and ndef.on_rightclick and
-- Call on_rightclick if the pointed node defines it
if ndef and ndef.on_rightclick and
- user and not user:get_player_control().sneak then
+ not (user and user:is_player() and
+ user:get_player_control().sneak) then
return ndef.on_rightclick(
pointed_thing.under,
node, user,
return ndef.on_rightclick(
pointed_thing.under,
node, user,
diff --git
a/mods/carts/cart_entity.lua
b/mods/carts/cart_entity.lua
index 8f73374602e102c240d2cfe3be1b6bf0b79a0ca4..031e456f5915c57dfb5f7c793942e883d400a210 100644
(file)
--- a/
mods/carts/cart_entity.lua
+++ b/
mods/carts/cart_entity.lua
@@
-367,7
+367,8
@@
minetest.register_craftitem("carts:cart", {
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
- not (placer and placer:get_player_control().sneak) then
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
diff --git
a/mods/default/functions.lua
b/mods/default/functions.lua
index 87e7483b6bcf87095bf5e6ac8a659587bb6e53c5..4c8d2f0143510061808b61736ce8ce0f8d5ea321 100644
(file)
--- a/
mods/default/functions.lua
+++ b/
mods/default/functions.lua
@@
-319,7
+319,7
@@
end
-- Prevent decay of placed leaves
default.after_place_leaves = function(pos, placer, itemstack, pointed_thing)
-- Prevent decay of placed leaves
default.after_place_leaves = function(pos, placer, itemstack, pointed_thing)
- if placer and not placer:get_player_control().sneak then
+ if placer and
placer:is_player() and
not placer:get_player_control().sneak then
local node = minetest.get_node(pos)
node.param2 = 1
minetest.set_node(pos, node)
local node = minetest.get_node(pos)
node.param2 = 1
minetest.set_node(pos, node)
diff --git
a/mods/default/nodes.lua
b/mods/default/nodes.lua
index 36d58340d2e66711bfd53d5da9e11bec62821de9..b02951d372e6e0130ed839dff579ff43182ad7ef 100644
(file)
--- a/
mods/default/nodes.lua
+++ b/
mods/default/nodes.lua
@@
-673,9
+673,7
@@
minetest.register_node("default:apple", {
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer, itemstack)
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer, itemstack)
- if placer:is_player() then
- minetest.set_node(pos, {name = "default:apple", param2 = 1})
- end
+ minetest.set_node(pos, {name = "default:apple", param2 = 1})
end,
})
end,
})
diff --git
a/mods/default/tools.lua
b/mods/default/tools.lua
index 45c779f1ca118a163b6aac7baff351a401ff8519..77ea96922ac04c7018949016045988a281560abd 100644
(file)
--- a/
mods/default/tools.lua
+++ b/
mods/default/tools.lua
@@
-389,7
+389,8
@@
minetest.register_tool("default:key", {
local node = minetest.get_node(under)
local def = minetest.registered_nodes[node.name]
if def and def.on_rightclick and
local node = minetest.get_node(under)
local def = minetest.registered_nodes[node.name]
if def and def.on_rightclick and
- not (placer and placer:get_player_control().sneak) then
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return def.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
return def.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
diff --git
a/mods/default/torch.lua
b/mods/default/torch.lua
index 3c3ae965ad10ccd8347ebf740e49c9499ca2b704..a7b83cf0f1bbdc48b52955766f829a69cfb4d63a 100644
(file)
--- a/
mods/default/torch.lua
+++ b/
mods/default/torch.lua
@@
-63,7
+63,8
@@
minetest.register_node("default:torch", {
local node = minetest.get_node(under)
local def = minetest.registered_nodes[node.name]
if def and def.on_rightclick and
local node = minetest.get_node(under)
local def = minetest.registered_nodes[node.name]
if def and def.on_rightclick and
- ((not placer) or (placer and not placer:get_player_control().sneak)) then
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return def.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
return def.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
diff --git
a/mods/default/trees.lua
b/mods/default/trees.lua
index d00a6b5e8caeec956f6c2f0e59f0a7bb8b9b2b82..44176d779e0ac482aa55e50cd603f08135931240 100644
(file)
--- a/
mods/default/trees.lua
+++ b/
mods/default/trees.lua
@@
-468,7
+468,9
@@
function default.sapling_on_place(itemstack, placer, pointed_thing,
local node = minetest.get_node_or_nil(pos)
local pdef = node and minetest.registered_nodes[node.name]
local node = minetest.get_node_or_nil(pos)
local pdef = node and minetest.registered_nodes[node.name]
- if pdef and pdef.on_rightclick and not placer:get_player_control().sneak then
+ if pdef and pdef.on_rightclick and
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing)
end
return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing)
end
@@
-481,7
+483,7
@@
function default.sapling_on_place(itemstack, placer, pointed_thing,
end
end
end
end
- local player_name = placer
:get_player_name()
+ local player_name = placer
and placer:get_player_name() or ""
-- Check sapling position for protection
if minetest.is_protected(pos, player_name) then
minetest.record_protection_violation(pos, player_name)
-- Check sapling position for protection
if minetest.is_protected(pos, player_name) then
minetest.record_protection_violation(pos, player_name)
diff --git
a/mods/doors/init.lua
b/mods/doors/init.lua
index b3535034e2c35d811e6c29bf7af4299773da9df5..4811678da650382778d04bcf06ad55fa16d5952c 100644
(file)
--- a/
mods/doors/init.lua
+++ b/
mods/doors/init.lua
@@
-266,7
+266,8
@@
function doors.register(name, def)
local node = minetest.get_node(pointed_thing.under)
local pdef = minetest.registered_nodes[node.name]
if pdef and pdef.on_rightclick and
local node = minetest.get_node(pointed_thing.under)
local pdef = minetest.registered_nodes[node.name]
if pdef and pdef.on_rightclick and
- not placer:get_player_control().sneak then
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return pdef.on_rightclick(pointed_thing.under,
node, placer, itemstack, pointed_thing)
end
return pdef.on_rightclick(pointed_thing.under,
node, placer, itemstack, pointed_thing)
end
@@
-290,12
+291,12
@@
function doors.register(name, def)
return itemstack
end
return itemstack
end
- local pn = placer
:get_player_name()
+ local pn = placer
and placer:get_player_name() or ""
if minetest.is_protected(pos, pn) or minetest.is_protected(above, pn) then
return itemstack
end
if minetest.is_protected(pos, pn) or minetest.is_protected(above, pn) then
return itemstack
end
- local dir =
minetest.dir_to_facedir(placer:get_look_dir())
+ local dir =
placer and minetest.dir_to_facedir(placer:get_look_dir()) or 0
local ref = {
{x = -1, y = 0, z = 0},
local ref = {
{x = -1, y = 0, z = 0},
diff --git
a/mods/farming/api.lua
b/mods/farming/api.lua
index 150301ad5b0064bfb8ff73ba55cd1a8f6fd687ea..1c63ee348e57f1c8420fc39e84dfa35918d21a7a 100644
(file)
--- a/
mods/farming/api.lua
+++ b/
mods/farming/api.lua
@@
-144,12
+144,14
@@
farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
local under = minetest.get_node(pt.under)
local above = minetest.get_node(pt.above)
local under = minetest.get_node(pt.under)
local above = minetest.get_node(pt.above)
- if minetest.is_protected(pt.under, placer:get_player_name()) then
- minetest.record_protection_violation(pt.under, placer:get_player_name())
+ local player_name = placer and placer:get_player_name() or ""
+
+ if minetest.is_protected(pt.under, player_name) then
+ minetest.record_protection_violation(pt.under, player_name)
return
end
return
end
- if minetest.is_protected(pt.above, pla
cer:get_player_name()
) then
- minetest.record_protection_violation(pt.above, pla
cer:get_player_name()
)
+ if minetest.is_protected(pt.above, pla
yer_name
) then
+ minetest.record_protection_violation(pt.above, pla
yer_name
)
return
end
return
end
@@
-180,7
+182,7
@@
farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
minetest.add_node(pt.above, {name = plantname, param2 = 1})
tick(pt.above)
if not (creative and creative.is_enabled_for
minetest.add_node(pt.above, {name = plantname, param2 = 1})
tick(pt.above)
if not (creative and creative.is_enabled_for
- and creative.is_enabled_for(pla
cer:get_player_name()
)) then
+ and creative.is_enabled_for(pla
yer_name
)) then
itemstack:take_item()
end
return itemstack
itemstack:take_item()
end
return itemstack
@@
-310,7
+312,8
@@
farming.register_plant = function(name, def)
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
local node = minetest.get_node(under)
local udef = minetest.registered_nodes[node.name]
if udef and udef.on_rightclick and
- not (placer and placer:get_player_control().sneak) then
+ not (placer and placer:is_player() and
+ placer:get_player_control().sneak) then
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
return udef.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
diff --git
a/mods/flowers/init.lua
b/mods/flowers/init.lua
index b584939777b2dc2ad2455b47ffd63b6f7615eeaf..006e74dced76bba675bbafcb090572944712455e 100644
(file)
--- a/
mods/flowers/init.lua
+++ b/
mods/flowers/init.lua
@@
-278,7
+278,7
@@
minetest.register_node("flowers:waterlily", {
local pos = pointed_thing.above
local node = minetest.get_node(pointed_thing.under)
local def = minetest.registered_nodes[node.name]
local pos = pointed_thing.above
local node = minetest.get_node(pointed_thing.under)
local def = minetest.registered_nodes[node.name]
- local player_name = placer
:get_player_name()
+ local player_name = placer
and placer:get_player_name() or ""
if def and def.on_rightclick then
return def.on_rightclick(pointed_thing.under, node, placer, itemstack,
if def and def.on_rightclick then
return def.on_rightclick(pointed_thing.under, node, placer, itemstack,
diff --git
a/mods/screwdriver/init.lua
b/mods/screwdriver/init.lua
index e76f0545f1c419e6054ce72e536b8c36b9cdc3c3..634edf85a9ec6295a70ed0d87328cccd024e452e 100644
(file)
--- a/
mods/screwdriver/init.lua
+++ b/
mods/screwdriver/init.lua
@@
-85,9
+85,10
@@
screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses)
end
local pos = pointed_thing.under
end
local pos = pointed_thing.under
+ local player_name = user and user:get_player_name() or ""
- if minetest.is_protected(pos,
user:get_player_name()
) then
- minetest.record_protection_violation(pos,
user:get_player_name()
)
+ if minetest.is_protected(pos,
player_name
) then
+ minetest.record_protection_violation(pos,
player_name
)
return
end
return
end
@@
-133,8
+134,8
@@
screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses)
minetest.check_for_falling(pos)
end
minetest.check_for_falling(pos)
end
- if not (creative and creative.is_enabled_for
-
and creative.is_enabled_for(user:get_player_name()
)) then
+ if not (creative and creative.is_enabled_for
and
+
creative.is_enabled_for(player_name
)) then
itemstack:add_wear(65535 / ((uses or 200) - 1))
end
itemstack:add_wear(65535 / ((uses or 200) - 1))
end
diff --git
a/mods/stairs/init.lua
b/mods/stairs/init.lua
index b88e6a84a7a72d746481f710b8c9ad8538e4c43c..a8f72e81297400902094f335a19e500115c3e886 100644
(file)
--- a/
mods/stairs/init.lua
+++ b/
mods/stairs/init.lua
@@
-22,21
+22,23
@@
local function rotate_and_place(itemstack, placer, pointed_thing)
local p1 = pointed_thing.above
local param2 = 0
local p1 = pointed_thing.above
local param2 = 0
- local placer_pos = placer:getpos()
- if placer_pos then
- param2 = minetest.dir_to_facedir(vector.subtract(p1, placer_pos))
- end
+ if placer then
+ local placer_pos = placer:getpos()
+ if placer_pos then
+ param2 = minetest.dir_to_facedir(vector.subtract(p1, placer_pos))
+ end
- local finepos = minetest.pointed_thing_to_face_pos(placer, pointed_thing)
- local fpos = finepos.y % 1
+
local finepos = minetest.pointed_thing_to_face_pos(placer, pointed_thing)
+
local fpos = finepos.y % 1
- if p0.y - 1 == p1.y or (fpos > 0 and fpos < 0.5)
- or (fpos < -0.5 and fpos > -0.999999999) then
- param2 = param2 + 20
- if param2 == 21 then
- param2 = 23
- elseif param2 == 23 then
- param2 = 21
+ if p0.y - 1 == p1.y or (fpos > 0 and fpos < 0.5)
+ or (fpos < -0.5 and fpos > -0.999999999) then
+ param2 = param2 + 20
+ if param2 == 21 then
+ param2 = 23
+ elseif param2 == 23 then
+ param2 = 21
+ end
end
end
return minetest.item_place(itemstack, placer, pointed_thing, param2)
end
end
return minetest.item_place(itemstack, placer, pointed_thing, param2)
@@
-152,8
+154,9
@@
function stairs.register_slab(subname, recipeitem, groups, images, description,
on_place = function(itemstack, placer, pointed_thing)
local under = minetest.get_node(pointed_thing.under)
local wield_item = itemstack:get_name()
on_place = function(itemstack, placer, pointed_thing)
local under = minetest.get_node(pointed_thing.under)
local wield_item = itemstack:get_name()
+ local player_name = placer and placer:get_player_name() or ""
local creative_enabled = (creative and creative.is_enabled_for
local creative_enabled = (creative and creative.is_enabled_for
- and creative.is_enabled_for(pla
cer:get_player_name()
))
+ and creative.is_enabled_for(pla
yer_name
))
if under and under.name:find("stairs:slab_") then
-- place slab using under node orientation
if under and under.name:find("stairs:slab_") then
-- place slab using under node orientation
@@
-169,9
+172,8
@@
function stairs.register_slab(subname, recipeitem, groups, images, description,
if not recipeitem then
return itemstack
end
if not recipeitem then
return itemstack
end
- local player_name = placer:get_player_name()
if minetest.is_protected(pointed_thing.under, player_name) and not
if minetest.is_protected(pointed_thing.under, player_name) and not
- minetest.check_player_privs(pla
cer
, "protection_bypass") then
+ minetest.check_player_privs(pla
yer_name
, "protection_bypass") then
minetest.record_protection_violation(pointed_thing.under,
player_name)
return
minetest.record_protection_violation(pointed_thing.under,
player_name)
return