348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
...
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
...
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
|
local function pointChanged(a,b)
return a.type ~= b.type
or a.type == 'node' and vector.new(a.under) ~= vector.new(b.under)
or a.type == 'object' and a.ref ~= b.ref
end
local function triggerPower(_, luser, point)
for k,v in pairs(starlit.activeUsers) do
print (k,v) end
print("trigger", luser, luser:get_player_name())
local user = starlit.activeUsers[luser:get_player_name()]
local oldTgt = user.action.tgt
user.action.tgt = point
if bit.band(user.action.bits, 0x100)==0 then
user.action.bits = bit.bor(user.action.bits, 0x100)
--return user:trigger('secondary', {state = 'prog', delta = 0})
elseif pointChanged(oldTgt, point) then
................................................................................
minetest.register_item("starlit:_hand_dig", {
type = "none",
wield_image = "wieldhand.png",
wield_scale = {x=1,y=1,z=2.5},
tool_capabilities = {
groupcaps = {
plant = {maxlevel=1, times = {.50}};
dirt = {maxlevel=1, times = {2.5}};
log = {maxlevel=1, times = {1}};
};
}
})
minetest.register_on_player_inventory_action(function(luser, act, inv, p)
local name = luser:get_player_name()
local user = starlit.activeUsers[name]
................................................................................
return vector.new(
r(pos.x),
r(pos.y),
r(pos.z)
)
end
for i, it in ipairs(drops) do
local it = minetest.add_item(jitter(pos), it)
local dp = vector.new(0,0,0)
if digger then dp = digger:get_pos() end
local delta = dp - it:get_pos()
it:add_velocity(vector.new(delta.x,0,delta.z));
end
end
-- TODO timer iterates live UI
|
<
<
|
|
|
|
>
>
|
>
|
|
|
|
>
>
|
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
...
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
...
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
|
local function pointChanged(a,b)
return a.type ~= b.type
or a.type == 'node' and vector.new(a.under) ~= vector.new(b.under)
or a.type == 'object' and a.ref ~= b.ref
end
local function triggerPower(_, luser, point)
-- print("trigger", luser, luser:get_player_name())
local user = starlit.activeUsers[luser:get_player_name()]
local oldTgt = user.action.tgt
user.action.tgt = point
if bit.band(user.action.bits, 0x100)==0 then
user.action.bits = bit.bor(user.action.bits, 0x100)
--return user:trigger('secondary', {state = 'prog', delta = 0})
elseif pointChanged(oldTgt, point) then
................................................................................
minetest.register_item("starlit:_hand_dig", {
type = "none",
wield_image = "wieldhand.png",
wield_scale = {x=1,y=1,z=2.5},
tool_capabilities = {
groupcaps = {
plant = {maxlevel=1, times = {.50}};
-- sand, dirt, gravel
looseClump = {maxlevel=1, times = {1.5, 2.5}};
};
}
})
minetest.register_on_player_inventory_action(function(luser, act, inv, p)
local name = luser:get_player_name()
local user = starlit.activeUsers[name]
................................................................................
return vector.new(
r(pos.x),
r(pos.y),
r(pos.z)
)
end
for i, it in ipairs(drops) do
if type(it) == 'string' then it = ItemStack(it) end
if not it:is_empty() then
local ent = minetest.add_item(jitter(pos), it)
if ent ~= nil then -- avoid crash when dropping unknown item
local dp = vector.new(0,0,0)
if digger then dp = digger:get_pos() end
local delta = dp - ent:get_pos()
ent:add_velocity(vector.new(delta.x,0,delta.z));
end
end
end
end
-- TODO timer iterates live UI
|