Skip to content

Commit 71c7e21

Browse files
t4imparamat
authored andcommittedJul 9, 2016
Always return the leftover ItemStack for on_place and on_rightclick
1 parent e380992 commit 71c7e21

File tree

6 files changed

+20
-15
lines changed

6 files changed

+20
-15
lines changed
 

‎mods/beds/api.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,9 @@ function beds.register_bed(name, def)
9191
destruct_bed(pos, 1)
9292
end,
9393

94-
on_rightclick = function(pos, node, clicker)
94+
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
9595
beds.on_rightclick(pos, clicker)
96+
return itemstack
9697
end,
9798

9899
on_rotate = function(pos, node, user, mode, new_param2)

‎mods/boats/init.lua

+2-2
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,10 @@ minetest.register_craftitem("boats:boat", {
224224

225225
on_place = function(itemstack, placer, pointed_thing)
226226
if pointed_thing.type ~= "node" then
227-
return
227+
return itemstack
228228
end
229229
if not is_water(pointed_thing.under) then
230-
return
230+
return itemstack
231231
end
232232
pointed_thing.under.y = pointed_thing.under.y + 0.5
233233
minetest.add_entity(pointed_thing.under, "boats:boat")

‎mods/default/nodes.lua

+2-1
Original file line numberDiff line numberDiff line change
@@ -1612,7 +1612,7 @@ minetest.register_node("default:chest_locked", {
16121612
" takes " .. stack:get_name() ..
16131613
" from locked chest at " .. minetest.pos_to_string(pos))
16141614
end,
1615-
on_rightclick = function(pos, node, clicker)
1615+
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
16161616
local meta = minetest.get_meta(pos)
16171617
if has_locked_chest_privilege(meta, clicker) then
16181618
minetest.show_formspec(
@@ -1621,6 +1621,7 @@ minetest.register_node("default:chest_locked", {
16211621
get_locked_chest_formspec(pos)
16221622
)
16231623
end
1624+
return itemstack
16241625
end,
16251626
on_blast = function() end,
16261627
})

‎mods/doors/init.lua

+6-3
Original file line numberDiff line numberDiff line change
@@ -373,8 +373,9 @@ function doors.register(name, def)
373373
sounds = { def.sound_close, def.sound_open },
374374
}
375375

376-
def.on_rightclick = function(pos, node, clicker)
376+
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
377377
_doors.door_toggle(pos, clicker)
378+
return itemstack
378379
end
379380
def.after_dig_node = function(pos, node, meta, digger)
380381
minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z})
@@ -547,8 +548,9 @@ function doors.register_trapdoor(name, def)
547548
return meta:get_string("doors_owner") == pn
548549
end
549550

550-
def.on_rightclick = function(pos, node, clicker)
551+
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
551552
_doors.trapdoor_toggle(pos, clicker)
553+
return itemstack
552554
end
553555

554556
-- Common trapdoor configuration
@@ -681,12 +683,13 @@ function doors.register_fencegate(name, def)
681683
connect_sides = {"left", "right"},
682684
groups = def.groups,
683685
sounds = def.sounds,
684-
on_rightclick = function(pos, clicker)
686+
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
685687
local node = minetest.get_node(pos)
686688
local node_def = minetest.registered_nodes[node.name]
687689
minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2})
688690
minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3,
689691
max_hear_distance = 8})
692+
return itemstack
690693
end,
691694
selection_box = {
692695
type = "fixed",

‎mods/farming/api.lua

+7-7
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
133133
local pt = pointed_thing
134134
-- check if pointing at a node
135135
if not pt then
136-
return
136+
return itemstack
137137
end
138138
if pt.type ~= "node" then
139-
return
139+
return itemstack
140140
end
141141

142142
local under = minetest.get_node(pt.under)
@@ -153,25 +153,25 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
153153

154154
-- return if any of the nodes is not registered
155155
if not minetest.registered_nodes[under.name] then
156-
return
156+
return itemstack
157157
end
158158
if not minetest.registered_nodes[above.name] then
159-
return
159+
return itemstack
160160
end
161161

162162
-- check if pointing at the top of the node
163163
if pt.above.y ~= pt.under.y+1 then
164-
return
164+
return itemstack
165165
end
166166

167167
-- check if you can replace the node above the pointed node
168168
if not minetest.registered_nodes[above.name].buildable_to then
169-
return
169+
return itemstack
170170
end
171171

172172
-- check if pointing at soil
173173
if minetest.get_item_group(under.name, "soil") < 2 then
174-
return
174+
return itemstack
175175
end
176176

177177
-- add the node and remove 1 item from the itemstack

‎mods/flowers/init.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,8 @@ minetest.register_node("flowers:waterlily", {
251251
end
252252
if not minetest.setting_getbool("creative_mode") then
253253
itemstack:take_item()
254-
return itemstack
255254
end
256255
end
256+
return itemstack
257257
end
258258
})

0 commit comments

Comments
 (0)
Please sign in to comment.