94 lines
3.1 KiB
Lua
94 lines
3.1 KiB
Lua
|
minetest.register_craftitem("upgrades:speed", {
|
||
|
description = "Speed Upgrade",
|
||
|
inventory_image = "default_paper.png^upgrades_red.png",
|
||
|
on_use = function(itemstack, user, pointed_thing)
|
||
|
user:set_physics_override({speed=2})
|
||
|
itemstack:take_item()
|
||
|
local name = user:get_player_name()
|
||
|
minetest.after(30, function()
|
||
|
local player = minetest.get_player_by_name(name)
|
||
|
if player then
|
||
|
player:set_physics_override({speed=1})
|
||
|
end
|
||
|
end)
|
||
|
return itemstack
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_craftitem("upgrades:extremejump", {
|
||
|
description = "Extreme Jump Upgrade",
|
||
|
inventory_image = "default_paper.png^upgrades_pink.png",
|
||
|
on_use = function(itemstack, user, pointed_thing)
|
||
|
user:set_physics_override({jump=2})
|
||
|
itemstack:take_item()
|
||
|
local name = user:get_player_name()
|
||
|
minetest.after(30, function()
|
||
|
local player = minetest.get_player_by_name(name)
|
||
|
if player then
|
||
|
player:set_physics_override({jump=1})
|
||
|
end
|
||
|
end)
|
||
|
return itemstack
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_craftitem("upgrades:jump", {
|
||
|
description = "Jump Upgrade",
|
||
|
inventory_image = "default_paper.png^upgrades_yellow.png",
|
||
|
on_use = function(itemstack, user, pointed_thing)
|
||
|
user:set_physics_override({jump=1.25})
|
||
|
itemstack:take_item()
|
||
|
local name = user:get_player_name()
|
||
|
minetest.after(30, function()
|
||
|
local player = minetest.get_player_by_name(name)
|
||
|
if player then
|
||
|
player:set_physics_override({jump=1})
|
||
|
end
|
||
|
end)
|
||
|
return itemstack
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
|
||
|
minetest.register_craftitem("upgrades:lowgravity", {
|
||
|
description = "Low Gravity Upgrade",
|
||
|
inventory_image = "default_paper.png^upgrades_green.png",
|
||
|
on_use = function(itemstack, user, pointed_thing)
|
||
|
user:set_physics_override({gravity=0.5})
|
||
|
itemstack:take_item()
|
||
|
local name = user:get_player_name()
|
||
|
minetest.after(30, function()
|
||
|
local player = minetest.get_player_by_name(name)
|
||
|
if player then
|
||
|
player:set_physics_override({gravity=1})
|
||
|
end
|
||
|
end)
|
||
|
return itemstack
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_craftitem("upgrades:nogravity", {
|
||
|
description = "No Gravity Upgrade",
|
||
|
inventory_image = "default_paper.png^upgrades_green.png",
|
||
|
on_use = function(itemstack, user, pointed_thing)
|
||
|
user:set_physics_override({gravity=0.01})
|
||
|
itemstack:take_item()
|
||
|
local name = user:get_player_name()
|
||
|
minetest.after(30, function()
|
||
|
local player = minetest.get_player_by_name(name)
|
||
|
if player then
|
||
|
player:set_physics_override({gravity=1})
|
||
|
end
|
||
|
end)
|
||
|
return itemstack
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_chatcommand("resetupgrades", {
|
||
|
params = "<player>",
|
||
|
description = "Test 1: Modify player's inventory view",
|
||
|
func = function(name, param)
|
||
|
local player = minetest.get_player_by_name(param)
|
||
|
player:set_physics_override({gravity=1, speed=1, jump=1})
|
||
|
end,
|
||
|
})
|