1 -- CC0/Unlicense Emilia 2020
3 if minetest
.settings
:get("slow_blocks_per_second") == nil then
4 minetest
.settings
:set("slow_blocks_per_second", 8)
7 -- Could remove the queue and have nowplace() check if it can place at the position
13 local function posq_pos(pos
)
14 local plen
= #posqueue
15 for i
= 0, #posqueue
- 1 do
16 if vector
.equals(pos
, posqueue
[plen
- i
]) then
22 local function nowplace(pos
)
23 local p
= posq_pos(pos
)
25 table.remove(posqueue
, p
)
28 minetest
.place_node(pos
)
31 local function place(pos
)
32 if not posq_pos(pos
) then
33 local now
= os
.clock()
39 local interval
= 1 / minetest
.settings
:get("slow_blocks_per_second")
40 lastt
= lastt
+ interval
42 minetest
.after(lastt
- now
, nowplace
, pos
)
44 posqueue
[#posqueue
+ 1] = pos
48 scaffold
.register_template_scaffold("SlowScaffold", "scaffold_slow", function(pos
)
49 if scaffold
.can_place_wielded_at(pos
) then