From 2c6f62354b3fa6ac8afa2e0fc063ea893a950657 Mon Sep 17 00:00:00 2001 From: Brandon Date: Wed, 17 Jun 2020 17:50:18 -0400 Subject: [PATCH] pull potions out of init.lua to better organize --- mods/ITEMS/mcl_potions/init.lua | 522 +--------------------------- mods/ITEMS/mcl_potions/potions.lua | 528 +++++++++++++++++++++++++++++ 2 files changed, 529 insertions(+), 521 deletions(-) create mode 100644 mods/ITEMS/mcl_potions/potions.lua diff --git a/mods/ITEMS/mcl_potions/init.lua b/mods/ITEMS/mcl_potions/init.lua index a013ceba..360d5c25 100644 --- a/mods/ITEMS/mcl_potions/init.lua +++ b/mods/ITEMS/mcl_potions/init.lua @@ -4,6 +4,7 @@ mcl_potions = {} local modpath = minetest.get_modpath("mcl_potions") dofile(modpath .. "/functions.lua") dofile(modpath .. "/splash.lua") +dofile(modpath .. "/potions.lua") local brewhelp = S("Put this item in an item frame for decoration. It's useless otherwise.") @@ -257,51 +258,6 @@ minetest.register_craftitem("mcl_potions:potion_river_water", { }) - -local how_to_drink = S("Use the “Place” key to drink it.") - -minetest.register_craftitem("mcl_potions:awkward", { - description = S("Awkward Potion"), - _tt_help = S("No effect"), - _doc_items_longdesc = S("This potion has an awkward taste and is used for brewing more potions. Drinking it has no effect."), - _doc_items_usagehelp = how_to_drink, - stack_max = 1, - inventory_image = potion_image("#0000FF"), - wield_image = potion_image("#0000FF"), - -- TODO: Reveal item when it's actually useful - groups = {brewitem=1, food=3, can_eat_when_full=1, not_in_creative_inventory=1}, - on_place = minetest.item_eat(0, "mcl_potions:glass_bottle"), - on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"), -}) -minetest.register_craftitem("mcl_potions:mundane", { - description = S("Mundane Potion"), - _tt_help = S("No effect"), - _doc_items_longdesc = S("This potion has a clean taste and is used for brewing more potions. Drinking it has no effect."), - _doc_items_usagehelp = how_to_drink, - stack_max = 1, - inventory_image = potion_image("#0000FF"), - wield_image = potion_image("#0000FF"), - -- TODO: Reveal item when it's actually useful - groups = {brewitem=1, food=3, can_eat_when_full=1, not_in_creative_inventory=1 }, - on_place = minetest.item_eat(0, "mcl_potions:glass_bottle"), - on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"), -}) - - -minetest.register_craftitem("mcl_potions:thick", { - description = S("Thick Potion"), - _tt_help = S("No effect"), - _doc_items_longdesc = S("This potion has a bitter taste and is used for brewing more potions. Drinking it has no effect."), - _doc_items_usagehelp = how_to_drink, - stack_max = 1, - inventory_image = potion_image("#0000FF"), - wield_image = potion_image("#0000FF"), - -- TODO: Reveal item when it's actually useful - groups = {brewitem=1, food=3, can_eat_when_full=1, not_in_creative_inventory=0 }, - on_place = minetest.item_eat(0, "mcl_potions:glass_bottle"), - on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"), -}) - minetest.register_craftitem("mcl_potions:speckled_melon", { description = S("Glistering Melon"), _doc_items_longdesc = S("This shiny melon is full of tiny gold nuggets and would be nice in an item frame. It isn't edible and not useful for anything else."), @@ -319,482 +275,6 @@ minetest.register_craft({ } }) -minetest.register_craftitem("mcl_potions:dragon_breath", { - description = S("Dragon's Breath"), - _doc_items_longdesc = brewhelp, - wield_image = "mcl_potions_dragon_breath.png", - inventory_image = "mcl_potions_dragon_breath.png", - groups = { brewitem = 1, not_in_creative_inventory = 0 }, - stack_max = 1, -}) - - -minetest.register_craftitem("mcl_potions:healing", { - description = S("Healing Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#CC0000"), - inventory_image = potion_image("#CC0000"), - groups = { brewitem = 1, food=3, can_eat_when_full=1 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, 4) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, 4) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:healing_2", { - description = S("Healing Potion II"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#DD0000"), - inventory_image = potion_image("#DD0000"), - groups = { brewitem = 1, food=3, can_eat_when_full=1 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, 8) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, 8) - mcl_potions._use_potion(itemstack) - return itemstack - end, - -}) - -minetest.register_craftitem("mcl_potions:harming", { - description = S("Harming Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#660099"), - inventory_image = potion_image("#660099"), - groups = { brewitem = 1, food=3, can_eat_when_full=1 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, -6) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, -6) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:harming_2", { - description = S("Harming Potion II"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#330066"), - inventory_image = potion_image("#330066"), - groups = { brewitem = 1, food=3, can_eat_when_full=1 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, -12) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.healing_func(user, -12) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - - -minetest.register_craftitem("mcl_potions:night_vision", { - description = S("Night Vision Potion"), - _doc_items_longdesc = brewhelp, - wield_image = "mcl_potions_night_vision.png", - inventory_image = "mcl_potions_night_vision.png", - groups = { brewitem = 1, food=0}, - stack_max = 1, -}) - - -minetest.register_craftitem("mcl_potions:swiftness", { - description = S("Swiftness Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#009999"), - inventory_image = potion_image("#009999"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 1.2, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 1.2, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:swiftness_2", { - description = S("Swiftness Potion II"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#00BBBB"), - inventory_image = potion_image("#00BBBB"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 1.4, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 1.4, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:swiftness_plus", { - description = S("Swiftness Potion +"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#00AAAA"), - inventory_image = potion_image("#00AAAA"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 1.2, 480) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 1.2, 480) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:slowness", { - description = S("Slowness Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#000080"), - inventory_image = potion_image("#000080"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 0.85, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 0.85, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:slowness_plus", { - description = S("Slowness Potion +"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#000066"), - inventory_image = potion_image("#000066"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 0.85, 240) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.swiftness_func(user, 0.85, 240) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - - -minetest.register_craftitem("mcl_potions:leaping", { - description = S("Leaping Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#00CC33"), - inventory_image = potion_image("#00CC33"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.leaping_func(user, 1.2, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.leaping_func(user, 1.2, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:leaping_2", { - description = S("Leaping Potion II"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#00EE33"), - inventory_image = potion_image("#00EE33"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.leaping_func(user, 1.4, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.leaping_func(user, 1.4, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - -minetest.register_craftitem("mcl_potions:leaping_plus", { - description = S("Leaping Potion +"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#00DD33"), - inventory_image = potion_image("#00DD33"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.leaping_func(user, 1.2, 480) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.leaping_func(user, 1.2, 480) - mcl_potions._use_potion(itemstack) - return itemstack - end, -}) - - -minetest.register_craftitem("mcl_potions:weakness", { - description = S("Weakness Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#6600AA"), - inventory_image = potion_image("#6600AA"), - groups = { brewitem = 1, food=0}, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.weakness_func(user, 1.2, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.weakness_func(user, 1.2, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - - -minetest.register_craftitem("mcl_potions:poison", { - description = S("Poison Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#225533"), - inventory_image = potion_image("#225533"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.poison_func(user, 2.5, 45) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.poison_func(user, 2.5, 45) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - -minetest.register_craftitem("mcl_potions:poison_2", { - description = S("Poison Potion II"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#447755"), - inventory_image = potion_image("#447755"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.poison_func(user, 1.2, 21) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.poison_func(user, 1.2, 21) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - -minetest.register_craftitem("mcl_potions:poison_plus", { - description = S("Poison Potion +"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#336644"), - inventory_image = potion_image("#336644"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.poison_func(user, 2.5, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.poison_func(user, 2.5, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - - -minetest.register_craftitem("mcl_potions:regeneration", { - description = S("Regeneration Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#A52BB2"), - inventory_image = potion_image("#A52BB2"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 2.5, 45) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 2.5, 45) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - -minetest.register_craftitem("mcl_potions:regeneration_2", { - description = S("Regeneration Potion II"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#B52CC2"), - inventory_image = potion_image("#B52CC2"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 1.2, 21) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 1.2, 21) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - -minetest.register_craftitem("mcl_potions:regeneration_plus", { - description = S("Regeneration Potion +"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#C53DD3"), - inventory_image = potion_image("#C53DD3"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 2.5, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.regeneration_func(user, 2.5, 90) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - - -minetest.register_craftitem("mcl_potions:invisibility", { - description = S("Invisibility Potion"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#B0B0B0"), - inventory_image = potion_image("#B0B0B0"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.invisiblility_func(user, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.invisiblility_func(user, 180) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - -minetest.register_craftitem("mcl_potions:invisibility_plus", { - description = S("Invisibility Potion +"), - _doc_items_longdesc = brewhelp, - wield_image = potion_image("#A0A0A0"), - inventory_image = potion_image("#A0A0A0"), - groups = { brewitem = 1, food = 0 }, - stack_max = 1, - - on_place = function(itemstack, user, pointed_thing) - mcl_potions.invisiblility_func(user, 480) - mcl_potions._use_potion(itemstack) - return itemstack - end, - - on_secondary_use = function(itemstack, user, pointed_thing) - mcl_potions.invisiblility_func(user, 480) - mcl_potions._use_potion(itemstack) - return itemstack - end -}) - --- Look into reducing attack on punch -minetest.register_on_punchnode(function(pos, node, puncher, pointed_thing) - if puncher:get_attribute("weakness") then - print("Weakness Active") - end -end) - - -- duration effects of redstone are a factor of 8/3 -- duration effects of glowstone are a time factor of 1/2 and effect of 14/12 diff --git a/mods/ITEMS/mcl_potions/potions.lua b/mods/ITEMS/mcl_potions/potions.lua new file mode 100644 index 00000000..454867b3 --- /dev/null +++ b/mods/ITEMS/mcl_potions/potions.lua @@ -0,0 +1,528 @@ +local S = minetest.get_translator("mcl_potions") + +local potion_image = function(colorstring, opacity) + if not opacity then + opacity = 127 + end + return "mcl_potions_potion_overlay.png^[colorize:"..colorstring..":"..tostring(opacity).."^mcl_potions_potion_bottle_drinkable.png" +end + +local how_to_drink = S("Use the “Place” key to drink it.") + +minetest.register_craftitem("mcl_potions:awkward", { + description = S("Awkward Potion"), + _tt_help = S("No effect"), + _doc_items_longdesc = S("This potion has an awkward taste and is used for brewing more potions. Drinking it has no effect."), + _doc_items_usagehelp = how_to_drink, + stack_max = 1, + inventory_image = potion_image("#0000FF"), + wield_image = potion_image("#0000FF"), + -- TODO: Reveal item when it's actually useful + groups = {brewitem=1, food=3, can_eat_when_full=1, not_in_creative_inventory=1}, + on_place = minetest.item_eat(0, "mcl_potions:glass_bottle"), + on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"), +}) +minetest.register_craftitem("mcl_potions:mundane", { + description = S("Mundane Potion"), + _tt_help = S("No effect"), + _doc_items_longdesc = S("This potion has a clean taste and is used for brewing more potions. Drinking it has no effect."), + _doc_items_usagehelp = how_to_drink, + stack_max = 1, + inventory_image = potion_image("#0000FF"), + wield_image = potion_image("#0000FF"), + -- TODO: Reveal item when it's actually useful + groups = {brewitem=1, food=3, can_eat_when_full=1, not_in_creative_inventory=1 }, + on_place = minetest.item_eat(0, "mcl_potions:glass_bottle"), + on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"), +}) + + +minetest.register_craftitem("mcl_potions:thick", { + description = S("Thick Potion"), + _tt_help = S("No effect"), + _doc_items_longdesc = S("This potion has a bitter taste and is used for brewing more potions. Drinking it has no effect."), + _doc_items_usagehelp = how_to_drink, + stack_max = 1, + inventory_image = potion_image("#0000FF"), + wield_image = potion_image("#0000FF"), + -- TODO: Reveal item when it's actually useful + groups = {brewitem=1, food=3, can_eat_when_full=1, not_in_creative_inventory=0 }, + on_place = minetest.item_eat(0, "mcl_potions:glass_bottle"), + on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"), +}) + + +minetest.register_craftitem("mcl_potions:dragon_breath", { + description = S("Dragon's Breath"), + _doc_items_longdesc = brewhelp, + wield_image = "mcl_potions_dragon_breath.png", + inventory_image = "mcl_potions_dragon_breath.png", + groups = { brewitem = 1, not_in_creative_inventory = 0 }, + stack_max = 1, +}) + + +minetest.register_craftitem("mcl_potions:healing", { + description = S("Healing Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#CC0000"), + inventory_image = potion_image("#CC0000"), + groups = { brewitem = 1, food=3, can_eat_when_full=1 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, 4) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, 4) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:healing_2", { + description = S("Healing Potion II"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#DD0000"), + inventory_image = potion_image("#DD0000"), + groups = { brewitem = 1, food=3, can_eat_when_full=1 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, 8) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, 8) + mcl_potions._use_potion(itemstack) + return itemstack + end, + +}) + +minetest.register_craftitem("mcl_potions:harming", { + description = S("Harming Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#660099"), + inventory_image = potion_image("#660099"), + groups = { brewitem = 1, food=3, can_eat_when_full=1 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, -6) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, -6) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:harming_2", { + description = S("Harming Potion II"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#330066"), + inventory_image = potion_image("#330066"), + groups = { brewitem = 1, food=3, can_eat_when_full=1 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, -12) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.healing_func(user, -12) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + + +minetest.register_craftitem("mcl_potions:night_vision", { + description = S("Night Vision Potion"), + _doc_items_longdesc = brewhelp, + wield_image = "mcl_potions_night_vision.png", + inventory_image = "mcl_potions_night_vision.png", + groups = { brewitem = 1, food=0}, + stack_max = 1, +}) + + +minetest.register_craftitem("mcl_potions:swiftness", { + description = S("Swiftness Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#009999"), + inventory_image = potion_image("#009999"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 1.2, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 1.2, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:swiftness_2", { + description = S("Swiftness Potion II"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#00BBBB"), + inventory_image = potion_image("#00BBBB"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 1.4, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 1.4, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:swiftness_plus", { + description = S("Swiftness Potion +"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#00AAAA"), + inventory_image = potion_image("#00AAAA"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 1.2, 480) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 1.2, 480) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:slowness", { + description = S("Slowness Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#000080"), + inventory_image = potion_image("#000080"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 0.85, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 0.85, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:slowness_plus", { + description = S("Slowness Potion +"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#000066"), + inventory_image = potion_image("#000066"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 0.85, 240) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.swiftness_func(user, 0.85, 240) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + + +minetest.register_craftitem("mcl_potions:leaping", { + description = S("Leaping Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#00CC33"), + inventory_image = potion_image("#00CC33"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.leaping_func(user, 1.2, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.leaping_func(user, 1.2, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:leaping_2", { + description = S("Leaping Potion II"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#00EE33"), + inventory_image = potion_image("#00EE33"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.leaping_func(user, 1.4, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.leaping_func(user, 1.4, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + +minetest.register_craftitem("mcl_potions:leaping_plus", { + description = S("Leaping Potion +"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#00DD33"), + inventory_image = potion_image("#00DD33"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.leaping_func(user, 1.2, 480) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.leaping_func(user, 1.2, 480) + mcl_potions._use_potion(itemstack) + return itemstack + end, +}) + + +minetest.register_craftitem("mcl_potions:weakness", { + description = S("Weakness Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#6600AA"), + inventory_image = potion_image("#6600AA"), + groups = { brewitem = 1, food=0}, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.weakness_func(user, 1.2, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.weakness_func(user, 1.2, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + + +minetest.register_craftitem("mcl_potions:poison", { + description = S("Poison Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#225533"), + inventory_image = potion_image("#225533"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.poison_func(user, 2.5, 45) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.poison_func(user, 2.5, 45) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + +minetest.register_craftitem("mcl_potions:poison_2", { + description = S("Poison Potion II"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#447755"), + inventory_image = potion_image("#447755"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.poison_func(user, 1.2, 21) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.poison_func(user, 1.2, 21) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + +minetest.register_craftitem("mcl_potions:poison_plus", { + description = S("Poison Potion +"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#336644"), + inventory_image = potion_image("#336644"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.poison_func(user, 2.5, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.poison_func(user, 2.5, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + + +minetest.register_craftitem("mcl_potions:regeneration", { + description = S("Regeneration Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#A52BB2"), + inventory_image = potion_image("#A52BB2"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.regeneration_func(user, 2.5, 45) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.regeneration_func(user, 2.5, 45) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + +minetest.register_craftitem("mcl_potions:regeneration_2", { + description = S("Regeneration Potion II"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#B52CC2"), + inventory_image = potion_image("#B52CC2"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.regeneration_func(user, 1.2, 21) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.regeneration_func(user, 1.2, 21) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + +minetest.register_craftitem("mcl_potions:regeneration_plus", { + description = S("Regeneration Potion +"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#C53DD3"), + inventory_image = potion_image("#C53DD3"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.regeneration_func(user, 2.5, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.regeneration_func(user, 2.5, 90) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + + +minetest.register_craftitem("mcl_potions:invisibility", { + description = S("Invisibility Potion"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#B0B0B0"), + inventory_image = potion_image("#B0B0B0"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.invisiblility_func(user, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.invisiblility_func(user, 180) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + +minetest.register_craftitem("mcl_potions:invisibility_plus", { + description = S("Invisibility Potion +"), + _doc_items_longdesc = brewhelp, + wield_image = potion_image("#A0A0A0"), + inventory_image = potion_image("#A0A0A0"), + groups = { brewitem = 1, food = 0 }, + stack_max = 1, + + on_place = function(itemstack, user, pointed_thing) + mcl_potions.invisiblility_func(user, 480) + mcl_potions._use_potion(itemstack) + return itemstack + end, + + on_secondary_use = function(itemstack, user, pointed_thing) + mcl_potions.invisiblility_func(user, 480) + mcl_potions._use_potion(itemstack) + return itemstack + end +}) + +-- Look into reducing attack on punch +minetest.register_on_punchnode(function(pos, node, puncher, pointed_thing) + if puncher:get_attribute("weakness") then + print("Weakness Active") + end +end)