ecigarettes/init.lua

252 lines
6.5 KiB
Lua

--Effects
playereffects.register_effect_type("cigarettespeed", "Cigarette Speed", "ecigarettes_ecigarette_speed.png", {"speed"},
function(player)
player:set_physics_override({speed=3})
end,
function(effect, player)
player:set_physics_override({speed=1})
end
)
playereffects.register_effect_type("cigarettehighjump", "Cigarette High Jump", "ecigarettes_ecigarette_highjump.png", {"jump"},
function(player)
player:set_physics_override({jump=3})
end,
function(effect, player)
player:set_physics_override({jump=1})
end
)
playereffects.register_effect_type("cigarettelowgrav", "Cigarette Low Gravity", "ecigarettes_ecigarette_lowgrav.png", {"gravity"},
function(player)
player:set_physics_override({gravity=0.3})
end,
function(effect, player)
player:set_physics_override({gravity=1})
end
)
playereffects.register_effect_type("cigaretteantigrav", "Cigarette Anti-Gravity", "ecigarettes_ecigarette_antigrav.png", {"gravity"},
function(player)
player:set_physics_override({gravity=-1})
end,
function(effect, player)
player:set_physics_override({gravity=1})
end
)
playereffects.register_effect_type("cigarettehighgrav", "Cigarette High-Gravity", "ecigarettes_ecigarette_highgrav.png", {"gravity"},
function(player)
player:set_physics_override({gravity=4})
end,
function(effect, player)
player:set_physics_override({gravity=1})
end
)
--E-Cigarettes
minetest.register_tool("ecigarettes:ecigarette_speed", {
description = "E-Cigarette [Speed]",
inventory_image = "ecigarettes_ecigarette_speed.png",
on_use = function(itemstack, player, pointed_thing)
playereffects.apply_effect_type("cigarettespeed", 190, player)
itemstack:replace("ecigarettes:ecigarette")
return itemstack
end
})
minetest.register_tool("ecigarettes:ecigarette_highjump", {
description = "E-Cigarette [High Jump]",
inventory_image = "ecigarettes_ecigarette_highjump.png",
on_use = function(itemstack, player, pointed_thing)
playereffects.apply_effect_type("cigarettehighjump", 40, player)
itemstack:replace("ecigarettes:ecigarette")
return itemstack
end
})
minetest.register_tool("ecigarettes:ecigarette_lowgrav", {
description = "E-Cigarette [Low Gravity]",
inventory_image = "ecigarettes_ecigarette_lowgrav.png",
on_use = function(itemstack, player, pointed_thing)
playereffects.apply_effect_type("cigarettelowgrav", 65, player)
itemstack:replace("ecigarettes:ecigarette")
return itemstack
end
})
minetest.register_tool("ecigarettes:ecigarette_antigrav", {
description = "E-Cigarette [Anti-Gravity]",
inventory_image = "ecigarettes_ecigarette_antigrav.png",
on_use = function(itemstack, player, pointed_thing)
playereffects.apply_effect_type("cigaretteantigrav", 10, player)
itemstack:replace("ecigarettes:ecigarette")
return itemstack
end
})
minetest.register_tool("ecigarettes:ecigarette_highgrav", {
description = "E-Cigarette [High Gravity]",
inventory_image = "ecigarettes_ecigarette_highgrav.png",
on_use = function(itemstack, player, pointed_thing)
playereffects.apply_effect_type("cigarettehighgrav", 40, player)
itemstack:replace("ecigarettes:ecigarette")
return itemstack
end
})
--Special
minetest.register_tool("ecigarettes:ecigarette_flamable", {
description = "E-Cigarette [Flamable]",
inventory_image = "ecigarettes_ecigarette_flamable.png",
on_use = function(itemstack, player, pointed_thing)
local newpos = player:get_pos()
minetest.set_node(newpos, {name = "fire:fire"})
itemstack:replace("ecigarettes:ecigarette")
return itemstack
end
})
minetest.register_craftitem("ecigarettes:ecigarette", {
description = "E-Cigarette",
inventory_image = "ecigarettes_ecigarette.png",
})
--E-Liquids
minetest.register_craftitem("ecigarettes:eliquid_speed", {
description = "E-Cigarette Speed Liquid",
inventory_image = "ecigarettes_eliquid_speed.png",
})
minetest.register_craftitem("ecigarettes:eliquid_highjump", {
description = "E-Cigarette High Jump Liquid",
inventory_image = "ecigarettes_eliquid_highjump.png",
})
minetest.register_craftitem("ecigarettes:eliquid_lowgrav", {
description = "E-Cigarette Low Gravity Liquid",
inventory_image = "ecigarettes_eliquid_lowgrav.png",
})
minetest.register_craftitem("ecigarettes:eliquid_antigrav", {
description = "E-Cigarette Anti-Gravity Liquid",
inventory_image = "ecigarettes_eliquid_antigrav.png",
})
minetest.register_craftitem("ecigarettes:eliquid_highgrav", {
description = "E-Cigarette High Gravity Liquid",
inventory_image = "ecigarettes_eliquid_highgrav.png",
})
--E-Cigarette Recipes
minetest.register_craft({
output = "ecigarettes:ecigarette",
recipe = {
{"", "electronics:motor_dc", ""},
{"electronics:coil_copper", "electronics:wire_copper_insulated", "electronics:battery_li_ion_aaa"},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:ecigarette_speed",
recipe = {
{"", "ecigarettes:ecigarette", ""},
{"", "ecigarettes:eliquid_speed", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:ecigarette_highjump",
recipe = {
{"", "ecigarettes:ecigarette", ""},
{"", "ecigarettes:eliquid_highjump", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:ecigarette_lowgrav",
recipe = {
{"", "ecigarettes:ecigarette", ""},
{"", "ecigarettes:eliquid_lowgrav", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:ecigarette_antigrav",
recipe = {
{"", "ecigarettes:ecigarette", ""},
{"", "ecigarettes:eliquid_antigrav", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:ecigarette_highgrav",
recipe = {
{"", "ecigarettes:ecigarette", ""},
{"", "ecigarettes:eliquid_highgrav", ""},
{"", "", ""},
},
})
--E-Liquid Recipes
minetest.register_craft({
output = "ecigarettes:eliquid_speed",
recipe = {
{"", "default:obsidian_shard", ""},
{"", "default:steel_ingot", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:eliquid_highjump",
recipe = {
{"", "default:mese_crystal_fragment", ""},
{"", "default:steel_ingot", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:eliquid_lowgrav",
recipe = {
{"", "default:diamond", ""},
{"", "default:steel_ingot", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:eliquid_antigrav",
recipe = {
{"", "default:diamondblock", ""},
{"", "default:steel_ingot", ""},
{"", "", ""},
},
})
minetest.register_craft({
output = "ecigarettes:eliquid_highgrav",
recipe = {
{"", "default:mese_crystal", ""},
{"", "default:steel_ingot", ""},
{"", "", ""},
},
})