Use an API

master
Niwla23 2019-10-07 20:31:28 +02:00
parent d67add6dcd
commit 6c6a36ab96
1 changed files with 24 additions and 82 deletions

106
init.lua
View File

@ -1,89 +1,31 @@
minetest.register_craftitem("upgrades:speed", { upgrades = {}
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", { function upgrades.register_upgrade(itemname, description, overlay, physics_override)
description = "Extreme Jump Upgrade", minetest.register_craftitem("upgrades:"..itemname, {
inventory_image = "default_paper.png^upgrades_pink.png", description = description,
on_use = function(itemstack, user, pointed_thing) inventory_image = "default_paper.png^"..overlay,
user:set_physics_override({jump=2}) on_use = function(itemstack, user, pointed_thing)
itemstack:take_item() user:set_physics_override(physics_override)
local name = user:get_player_name() itemstack:take_item()
minetest.after(30, function() local playername = user:get_player_name()
local player = minetest.get_player_by_name(name) minetest.after(30, function()
if player then local player = minetest.get_player_by_name(playername)
player:set_physics_override({jump=1}) if player then
end player:set_physics_override({speed=1,jump=1,gravity=1})
end) end
return itemstack end)
end, return itemstack
}) end,
})
end
minetest.register_craftitem("upgrades:jump", { upgrades.register_upgrade("speed", "Speed Upgrade", "upgrades_red.png", {speed=2})
description = "Jump Upgrade", upgrades.register_upgrade("extremejump", "Extreme Jump Upgrade", "upgrades_pink.png", {jump=2})
inventory_image = "default_paper.png^upgrades_yellow.png", upgrades.register_upgrade("jump", "Jump Upgrade", "upgrades_yellow.png", {jump=1.25})
on_use = function(itemstack, user, pointed_thing) upgrades.register_upgrade("lowgravity", "Low Gravity Upgrade", "upgrades_green.png", {gravity=0.5})
user:set_physics_override({jump=1.25}) upgrades.register_upgrade("nogravity", "No Gravity Upgrade", "upgrades_green.png", {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({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", { minetest.register_chatcommand("resetupgrades", {
params = "<player>", params = "<player>",
description = "Test 1: Modify player's inventory view", description = "Test 1: Modify player's inventory view",