Merge (latest playerplus)
commit
36bd151398
|
@ -1,69 +1,28 @@
|
||||||
local S = minetest.get_translator("mcl_fireworks")
|
local S = minetest.get_translator("mcl_fireworks")
|
||||||
|
|
||||||
player_rocketing = {}
|
local player_rocketing = {}
|
||||||
|
|
||||||
local help = S("Flight Duration:")
|
local tt_help = S("Flight Duration:")
|
||||||
local description = S("Firework Rocket")
|
local description = S("Firework Rocket")
|
||||||
local rocket_sound = function()
|
|
||||||
minetest.sound_play("mcl_fireworks_rocket")
|
local function register_rocket(n, duration, force)
|
||||||
|
minetest.register_craftitem("mcl_fireworks:rocket_" .. n, {
|
||||||
|
description = description,
|
||||||
|
_tt_help = tt_help .. " " .. duration,
|
||||||
|
inventory_image = "mcl_fireworks_rocket.png",
|
||||||
|
stack_max = 64,
|
||||||
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
|
local elytra = mcl_playerplus.elytra[user]
|
||||||
|
if elytra.active and elytra.rocketing <= 0 then
|
||||||
|
elytra.rocketing = duration
|
||||||
|
itemstack:take_item()
|
||||||
|
minetest.sound_play("mcl_fireworks_rocket", {pos = user:get_pos()})
|
||||||
|
end
|
||||||
|
return itemstack
|
||||||
|
end,
|
||||||
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_fireworks:rocket_1", {
|
register_rocket(1, 2.2, 10)
|
||||||
description = description,
|
register_rocket(2, 4.5, 20)
|
||||||
_tt_help = help.." 1",
|
register_rocket(3, 6, 30)
|
||||||
inventory_image = "mcl_fireworks_rocket.png",
|
|
||||||
stack_max = 64,
|
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
|
||||||
local torso = user:get_inventory():get_stack("armor", 3)
|
|
||||||
if torso and torso:get_name() == "mcl_armor:elytra" and player_rocketing[user] ~= true then
|
|
||||||
player_rocketing[user] = true
|
|
||||||
minetest.after(2.2, function()
|
|
||||||
player_rocketing[user] = false
|
|
||||||
end)
|
|
||||||
itemstack:take_item()
|
|
||||||
--user:add_player_velocity(vector.multiply(user:get_look_dir(), 20))
|
|
||||||
rocket_sound()
|
|
||||||
end
|
|
||||||
return itemstack
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_fireworks:rocket_2", {
|
|
||||||
description = description,
|
|
||||||
_tt_help = help.." 2",
|
|
||||||
inventory_image = "mcl_fireworks_rocket.png",
|
|
||||||
stack_max = 64,
|
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
|
||||||
local torso = user:get_inventory():get_stack("armor", 3)
|
|
||||||
if torso and torso:get_name() == "mcl_armor:elytra" and player_rocketing[user] ~= true then
|
|
||||||
player_rocketing[user] = true
|
|
||||||
minetest.after(4.5, function()
|
|
||||||
player_rocketing[user] = false
|
|
||||||
end)
|
|
||||||
itemstack:take_item()
|
|
||||||
--user:add_player_velocity(vector.multiply(user:get_look_dir(), 20))
|
|
||||||
rocket_sound()
|
|
||||||
end
|
|
||||||
return itemstack
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_fireworks:rocket_3", {
|
|
||||||
description = description,
|
|
||||||
_tt_help = help.." 3",
|
|
||||||
inventory_image = "mcl_fireworks_rocket.png",
|
|
||||||
stack_max = 64,
|
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
|
||||||
local torso = user:get_inventory():get_stack("armor", 3)
|
|
||||||
if torso and torso:get_name() == "mcl_armor:elytra" and player_rocketing[user] ~= true then
|
|
||||||
player_rocketing[user] = true
|
|
||||||
minetest.after(6, function()
|
|
||||||
player_rocketing[user] = false
|
|
||||||
end)
|
|
||||||
itemstack:take_item()
|
|
||||||
--user:add_player_velocity(vector.multiply(user:get_look_dir(), 20))
|
|
||||||
rocket_sound()
|
|
||||||
end
|
|
||||||
return itemstack
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
Loading…
Reference in New Issue