2017-07-05 04:15:46 +03:00
--MCmobs v0.5
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--THIS IS THE MASTER ITEM LIST TO USE WITH DEFAULT
2019-03-14 01:09:09 +02:00
-- NOTE: Most strings intentionally not marked for translation, other mods already have these items.
-- TODO: Remove this file eventually, most items are already outsourced in other mods.
2019-03-07 21:43:39 +02:00
local S = minetest.get_translator ( " mobs_mc " )
2017-07-05 04:15:46 +03:00
local c = mobs_mc.is_item_variable_overridden
-- Blaze
if c ( " blaze_rod " ) then
minetest.register_craftitem ( " mobs_mc:blaze_rod " , {
2019-03-14 01:09:09 +02:00
description = " Blaze Rod " ,
_doc_items_longdesc = " This is a crafting component dropped from dead blazes. " ,
2017-07-05 04:15:46 +03:00
wield_image = " mcl_mobitems_blaze_rod.png " ,
inventory_image = " mcl_mobitems_blaze_rod.png " ,
} )
-- Make blaze rod furnace-burnable. 1.5 times the burn time of a coal lump
local coalcraft , burntime
if minetest.get_modpath ( " default " ) then
coalcraft = minetest.get_craft_result ( { method = " fuel " , width = 1 , items = { " default:coal_lump " } } )
end
if coalcraft then
burntime = math.floor ( coalcraft.time * 1.5 )
end
if burntime == nil or burntime == 0 then
burntime = 60
end
minetest.register_craft ( {
type = " fuel " ,
burntime = burntime ,
recipe = " mobs_mc:blaze_rod " ,
} )
end
if c ( " blaze_powder " ) then
minetest.register_craftitem ( " mobs_mc:blaze_powder " , {
2019-03-14 01:09:09 +02:00
description = " Blaze Powder " ,
_doc_items_longdesc = " This item is mainly used for brewing potions and crafting. " ,
2017-07-05 04:15:46 +03:00
wield_image = " mcl_mobitems_blaze_powder.png " ,
inventory_image = " mcl_mobitems_blaze_powder.png " ,
} )
end
if c ( " blaze_rod " ) and c ( " blaze_powder " ) then
minetest.register_craft ( {
output = " mobs_mc:blaze_powder 2 " ,
recipe = { { " mobs_mc:blaze_rod " } } ,
} )
end
-- Chicken
if c ( " chicken_raw " ) then
minetest.register_craftitem ( " mobs_mc:chicken_raw " , {
2019-03-14 01:09:09 +02:00
description = " Raw Chicken " ,
_doc_items_longdesc = " Raw chicken is a food item and can be eaten safely. Cooking it will increase its nutritional value. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_chicken_raw.png " ,
groups = { food = 2 , eatable = 2 } ,
on_use = minetest.item_eat ( 2 ) ,
} )
end
if c ( " chicken_cooked " ) then
minetest.register_craftitem ( " mobs_mc:chicken_cooked " , {
2019-03-14 01:09:09 +02:00
description = " Cooked Chicken " ,
_doc_items_longdesc = " A cooked chicken is a healthy food item which can be eaten. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_chicken_cooked.png " ,
groups = { food = 2 , eatable = 6 } ,
on_use = minetest.item_eat ( 6 ) ,
} )
end
if c ( " chicken_raw " ) and c ( " chicken_cooked " ) then
minetest.register_craft ( {
type = " cooking " ,
output = " mobs_mc:chicken_cooked " ,
recipe = " mobs_mc:chicken_raw " ,
cooktime = 5 ,
} )
end
if c ( " feather " ) then
minetest.register_craftitem ( " mobs_mc:feather " , {
2019-03-14 01:09:09 +02:00
description = " Feather " ,
_doc_items_longdesc = " Feathers are used in crafting and are dropped from chickens. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_feather.png " ,
} )
end
-- Cow and mooshroom
if c ( " beef_raw " ) then
minetest.register_craftitem ( " mobs_mc:beef_raw " , {
2019-03-14 01:09:09 +02:00
description = " Raw Beef " ,
_doc_items_longdesc = " Raw beef is the flesh from cows and can be eaten safely. Cooking it will greatly increase its nutritional value. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_beef_raw.png " ,
groups = { food = 2 , eatable = 3 } ,
on_use = minetest.item_eat ( 3 ) ,
} )
end
if c ( " beef_cooked " ) then
minetest.register_craftitem ( " mobs_mc:beef_cooked " , {
2019-03-14 01:09:09 +02:00
description = " Steak " ,
_doc_items_longdesc = " Steak is cooked beef from cows and can be eaten. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_beef_cooked.png " ,
groups = { food = 2 , eatable = 8 } ,
on_use = minetest.item_eat ( 8 ) ,
} )
end
if c ( " beef_raw " ) and c ( " beef_cooked " ) then
minetest.register_craft ( {
type = " cooking " ,
output = " mobs_mc:beef_cooked " ,
recipe = " mobs_mc:beef_raw " ,
cooktime = 5 ,
} )
end
2017-07-05 23:29:38 +03:00
if c ( " milk " ) then
2017-07-05 04:15:46 +03:00
-- milk
minetest.register_craftitem ( " mobs_mc:milk_bucket " , {
2019-03-14 01:09:09 +02:00
description = " Milk " ,
_doc_items_longdesc = " Milk is a food item obtained by using a bucket on a cow. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mobs_bucket_milk.png " ,
groups = { food = 3 , eatable = 1 } ,
on_use = minetest.item_eat ( 1 , " bucket:bucket_empty " ) ,
stack_max = 1 ,
} )
end
if c ( " bowl " ) then
minetest.register_craftitem ( " mobs_mc:bowl " , {
2019-03-14 01:09:09 +02:00
description = " Bowl " ,
_doc_items_longdesc = " Bowls are mainly used to hold tasty soups. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_core_bowl.png " ,
} )
minetest.register_craft ( {
output = " mobs_mc:bowl " ,
recipe = {
{ " group:wood " , " " , " group:wood " } ,
{ " " , " group:wood " , " " , } ,
}
} )
minetest.register_craft ( {
type = " fuel " ,
recipe = " mobs_mc:bowl " ,
burntime = 5 ,
} )
end
if c ( " mushroom_stew " ) then
minetest.register_craftitem ( " mobs_mc:mushroom_stew " , {
2019-03-14 01:09:09 +02:00
description = " Mushroom Stew " ,
_doc_items_longdesc = " Mushroom stew is a healthy soup. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " farming_mushroom_stew.png " ,
groups = { food = 3 , eatable = 6 } ,
on_use = minetest.item_eat ( 6 , " mobs_mc:bowl " ) ,
stack_max = 1 ,
} )
end
-- Ender dragon
if c ( " dragon_egg " ) then
local dragon_egg_sounds
if minetest.get_modpath ( " default " ) then
dragon_egg_sounds = default.node_sound_stone_defaults ( )
end
--ender dragon
minetest.register_node ( " mobs_mc:dragon_egg " , {
2019-03-14 01:09:09 +02:00
description = " Dragon Egg " ,
2017-07-05 04:15:46 +03:00
tiles = {
" mcl_end_dragon_egg.png " ,
" mcl_end_dragon_egg.png " ,
" mcl_end_dragon_egg.png " ,
" mcl_end_dragon_egg.png " ,
" mcl_end_dragon_egg.png " ,
" mcl_end_dragon_egg.png " ,
} ,
drawtype = " nodebox " ,
is_ground_content = false ,
paramtype = " light " ,
light_source = 1 ,
node_box = {
type = " fixed " ,
fixed = {
{ - 0.375 , - 0.5 , - 0.375 , 0.375 , - 0.4375 , 0.375 } ,
{ - 0.5 , - 0.4375 , - 0.5 , 0.5 , - 0.1875 , 0.5 } ,
{ - 0.4375 , - 0.1875 , - 0.4375 , 0.4375 , 0 , 0.4375 } ,
{ - 0.375 , 0 , - 0.375 , 0.375 , 0.125 , 0.375 } ,
{ - 0.3125 , 0.125 , - 0.3125 , 0.3125 , 0.25 , 0.3125 } ,
{ - 0.25 , 0.25 , - 0.25 , 0.25 , 0.3125 , 0.25 } ,
{ - 0.1875 , 0.3125 , - 0.1875 , 0.1875 , 0.375 , 0.1875 } ,
{ - 0.125 , 0.375 , - 0.125 , 0.125 , 0.4375 , 0.125 } ,
{ - 0.0625 , 0.4375 , - 0.0625 , 0.0625 , 0.5 , 0.0625 } ,
}
} ,
selection_box = {
type = " regular " ,
} ,
groups = { snappy = 1 , falling_node = 1 , deco_block = 1 , not_in_creative_inventory = 1 , dig_by_piston = 1 } ,
sounds = dragon_egg_sounds ,
-- TODO: Make dragon egg teleport on punching
} )
end
2017-07-06 01:43:34 +03:00
local longdesc_craftitem
if minetest.get_modpath ( " doc_items " ) then
longdesc_craftitem = doc.sub . items.temp . craftitem
end
2017-07-05 04:15:46 +03:00
-- Enderman
if c ( " ender_eye " ) then
minetest.register_craftitem ( " mobs_mc:ender_eye " , {
2019-03-14 01:09:09 +02:00
description = " Eye of Ender " ,
2017-07-06 01:43:34 +03:00
_doc_items_longdesc = longdesc_craftitem ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_end_ender_eye.png " ,
groups = { craftitem = 1 } ,
} )
end
if c ( " ender_eye " ) and c ( " blaze_powder " ) and c ( " blaze_rod " ) then
minetest.register_craft ( {
type = " shapeless " ,
output = ' mobs_mc:ender_eye ' ,
recipe = { ' mobs_mc:blaze_powder ' , ' mobs_mc:blaze_rod ' } ,
} )
end
-- Ghast
if c ( " ghast_tear " ) then
minetest.register_craftitem ( " mobs_mc:ghast_tear " , {
2019-03-14 01:09:09 +02:00
description = " Ghast Tear " ,
_doc_items_longdesc = " A ghast tear is an item used in potion brewing. It is dropped from dead ghasts. " ,
2017-07-05 04:15:46 +03:00
wield_image = " mcl_mobitems_ghast_tear.png " ,
inventory_image = " mcl_mobitems_ghast_tear.png " ,
groups = { brewitem = 1 } ,
} )
end
-- Saddle
if c ( " saddle " ) then
-- Overwrite the saddle from Mobs Redo
minetest.register_craftitem ( " :mobs:saddle " , {
2019-03-14 01:09:09 +02:00
description = " Saddle " ,
_doc_items_longdesc = " Saddles can be put on horses, donkeys, mules and pigs in order to mount them. " ,
_doc_items_usagehelp = " Rightclick an animal while holding a saddle to put on the saddle. You can now mount the animal by rightclicking it again. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_saddle.png " ,
stack_max = 1 ,
} )
end
if c ( " saddle " ) and c ( " lether " ) and c ( " string " ) and c ( " iron_ingot " ) then
minetest.register_craft ( {
output = " mobs_mc:saddle " ,
recipe = {
{ " mobs:leather " , " mobs:leather " , " mobs:leather " } ,
{ " farming:string " , " " , " farming:string " } ,
{ " default:steel_ingot " , " " , " default:steel_ingot " }
} ,
} )
end
-- Horse Armor
2019-03-25 13:05:57 +02:00
local horse_armor_use = S ( " Place it on a horse to put on the horse armor. Donkeys and mules can't wear horse armor. " )
2017-07-05 04:15:46 +03:00
-- TODO: Balance the horse armor strength, compare with MC armor strength
if c ( " iron_horse_armor " ) then
minetest.register_craftitem ( " mobs_mc:iron_horse_armor " , {
2019-03-16 03:44:52 +02:00
description = S ( " Iron Horse Armor " ) ,
_doc_items_longdesc = S ( " Iron horse armor can be worn by horses to increase their protection from harm a bit. " ) ,
2017-07-06 01:43:34 +03:00
_doc_items_usagehelp = horse_armor_use ,
2017-07-05 04:15:46 +03:00
inventory_image = " mobs_mc_iron_horse_armor.png " ,
_horse_overlay_image = " mobs_mc_horse_armor_iron.png " ,
2020-02-19 00:49:35 +02:00
sounds = {
_mcl_armor_equip = " mcl_armor_equip_iron " ,
} ,
2017-07-05 04:15:46 +03:00
stack_max = 1 ,
groups = { horse_armor = 85 } ,
} )
end
if c ( " gold_horse_armor " ) then
minetest.register_craftitem ( " mobs_mc:gold_horse_armor " , {
2019-03-16 03:44:52 +02:00
description = S ( " Golden Horse Armor " ) ,
_doc_items_longdesc = S ( " Golden horse armor can be worn by horses to increase their protection from harm. " ) ,
2017-07-06 01:43:34 +03:00
_doc_items_usagehelp = horse_armor_use ,
2017-07-05 04:15:46 +03:00
inventory_image = " mobs_mc_gold_horse_armor.png " ,
_horse_overlay_image = " mobs_mc_horse_armor_gold.png " ,
2020-02-19 00:49:35 +02:00
sounds = {
_mcl_armor_equip = " mcl_armor_equip_iron " ,
} ,
2017-07-05 04:15:46 +03:00
stack_max = 1 ,
groups = { horse_armor = 60 } ,
} )
end
if c ( " diamond_horse_armor " ) then
minetest.register_craftitem ( " mobs_mc:diamond_horse_armor " , {
2019-03-16 03:44:52 +02:00
description = S ( " Diamond Horse Armor " ) ,
_doc_items_longdesc = S ( " Diamond horse armor can be worn by horses to greatly increase their protection from harm. " ) ,
2017-07-06 01:43:34 +03:00
_doc_items_usagehelp = horse_armor_use ,
2017-07-05 04:15:46 +03:00
inventory_image = " mobs_mc_diamond_horse_armor.png " ,
_horse_overlay_image = " mobs_mc_horse_armor_diamond.png " ,
2020-02-19 00:49:35 +02:00
sounds = {
_mcl_armor_equip = " mcl_armor_equip_diamond " ,
} ,
2017-07-05 04:15:46 +03:00
stack_max = 1 ,
groups = { horse_armor = 45 } ,
} )
end
-- Pig
if c ( " porkchop_raw " ) then
minetest.register_craftitem ( " mobs_mc:porkchop_raw " , {
2019-03-14 01:09:09 +02:00
description = " Raw Porkchop " ,
_doc_items_longdesc = " A raw porkchop is the flesh from a pig and can be eaten safely. Cooking it will greatly increase its nutritional value. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_porkchop_raw.png " ,
groups = { food = 2 , eatable = 3 } ,
on_use = minetest.item_eat ( 3 ) ,
} )
end
if c ( " porkchop_cooked " ) then
minetest.register_craftitem ( " mobs_mc:porkchop_cooked " , {
2019-03-14 01:09:09 +02:00
description = " Cooked Porkchop " ,
2017-07-06 01:43:34 +03:00
_doc_items_longdesc = " Cooked porkchop is the cooked flesh of a pig and is used as food. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_porkchop_cooked.png " ,
groups = { food = 2 , eatable = 8 } ,
on_use = minetest.item_eat ( 8 ) ,
} )
end
if c ( " porkchop_raw " ) and c ( " porkchop_cooked " ) then
minetest.register_craft ( {
type = " cooking " ,
2017-07-20 17:34:16 +03:00
output = " mobs_mc:porkchop_cooked " ,
recipe = " mobs_mc:porkchop_raw " ,
2017-07-05 04:15:46 +03:00
cooktime = 5 ,
} )
end
if c ( " carrot_on_a_stick " ) then
minetest.register_tool ( " mobs_mc:carrot_on_a_stick " , {
2019-03-14 01:09:09 +02:00
description = " Carrot on a Stick " ,
_doc_items_longdesc = " A carrot on a stick can be used on saddled pigs to ride them. Pigs will also follow anyone who holds a carrot on a stick near them. " ,
_doc_items_usagehelp = " Rightclick a saddled pig with the carrot on a stick to mount it. You can now ride it like a horse. " ,
2017-07-05 04:15:46 +03:00
wield_image = " mcl_mobitems_carrot_on_a_stick.png " ,
inventory_image = " mcl_mobitems_carrot_on_a_stick.png " ,
sounds = { breaks = " default_tool_breaks " } ,
} )
end
-- Poor-man's recipes for carrot on a stick
if c ( " carrot_on_a_stick " ) and c ( " stick " ) and c ( " string " ) and minetest.get_modpath ( " farming " ) then
minetest.register_craft ( {
output = " mobs_mc:carrot_on_a_stick " ,
recipe = {
{ " " , " " , " farming:string " } ,
{ " " , " group:stick " , " farming:string " } ,
{ " group:stick " , " " , " farming:bread " } ,
}
} )
-- FIXME: Identify correct farming mod (check if it includes the carrot item)
minetest.register_craft ( {
output = " mobs_mc:carrot_on_a_stick " ,
recipe = {
{ " " , " " , " farming:string " } ,
{ " " , " group:stick " , " farming:string " } ,
{ " group:stick " , " " , " farming:carrot " } ,
}
} )
end
if c ( " carrot_on_a_stick " ) and c ( " stick " ) and c ( " string " ) and minetest.get_modpath ( " fishing " ) and minetest.get_modpath ( " farming " ) then
minetest.register_craft ( {
type = " shapeless " ,
output = " mobs_mc:carrot_on_a_stick " ,
recipe = { " fishing:pole_wood " , " farming:carrot " } ,
} )
end
-- Rabbit
if c ( " rabbit_raw " ) then
minetest.register_craftitem ( " mobs_mc:rabbit_raw " , {
2019-03-14 01:09:09 +02:00
description = " Raw Rabbit " ,
_doc_items_longdesc = " Raw rabbit is a food item from a dead rabbit. It can be eaten safely. Cooking it will increase its nutritional value. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_rabbit_raw.png " ,
groups = { food = 2 , eatable = 3 } ,
on_use = minetest.item_eat ( 3 ) ,
} )
end
if c ( " rabbit_cooked " ) then
minetest.register_craftitem ( " mobs_mc:rabbit_cooked " , {
2019-03-14 01:09:09 +02:00
description = " Cooked Rabbit " ,
_doc_items_longdesc = " This is a food item which can be eaten. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_rabbit_cooked.png " ,
groups = { food = 2 , eatable = 5 } ,
on_use = minetest.item_eat ( 5 ) ,
} )
end
if c ( " rabbit_raw " ) and c ( " rabbit_cooked " ) then
minetest.register_craft ( {
type = " cooking " ,
output = " mobs_mc:rabbit_cooked " ,
recipe = " mobs_mc:rabbit_raw " ,
cooktime = 5 ,
} )
end
if c ( " rabbit_hide " ) then
minetest.register_craftitem ( " mobs_mc:rabbit_hide " , {
2019-03-14 01:09:09 +02:00
description = " Rabbit Hide " ,
_doc_items_longdesc = " Rabbit hide is used to create leather. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_rabbit_hide.png "
} )
end
if c ( " leather " ) and c ( " rabbit_hide " ) then
minetest.register_craft ( {
output = " mobs:leather " ,
recipe = {
{ " mobs_mc:rabbit_hide " , " mobs_mc:rabbit_hide " } ,
{ " mobs_mc:rabbit_hide " , " mobs_mc:rabbit_hide " } ,
}
} )
end
if c ( " rabbit_foot " ) then
minetest.register_craftitem ( " mobs_mc:rabbit_foot " , {
2019-03-14 01:09:09 +02:00
description = " Rabbit's Foot " ,
_doc_items_longdesc = " This item is used in brewing. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_rabbit_foot.png "
} )
end
-- Sheep
if c ( " mutton_raw " ) then
minetest.register_craftitem ( " mobs_mc:mutton_raw " , {
2019-03-14 01:09:09 +02:00
description = " Raw Mutton " ,
_doc_items_longdesc = " Raw mutton is the flesh from a sheep and can be eaten safely. Cooking it will greatly increase its nutritional value. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_mutton_raw.png " ,
groups = { food = 2 , eatable = 4 } ,
on_use = minetest.item_eat ( 4 ) ,
} )
end
if c ( " mutton_cooked " ) then
minetest.register_craftitem ( " mobs_mc:mutton_cooked " , {
2019-03-14 01:09:09 +02:00
description = " Cooked Mutton " ,
_doc_items_longdesc = " Cooked mutton is the cooked flesh from a sheep and is used as food. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_mutton_cooked.png " ,
groups = { food = 2 , eatable = 8 } ,
on_use = minetest.item_eat ( 8 ) ,
} )
end
if c ( " mutton_raw " ) and c ( " mutton_cooked " ) then
minetest.register_craft ( {
type = " cooking " ,
output = " mobs_mc:mutton_cooked " ,
recipe = " mobs_mc:mutton_raw " ,
cooktime = 5 ,
} )
end
-- Shulker
if c ( " shulker_shell " ) then
minetest.register_craftitem ( " mobs_mc:shulker_shell " , {
2019-03-14 01:09:09 +02:00
description = " Shulker Shell " ,
_doc_items_longdesc = " Shulker shells are used in crafting. They are dropped from dead shulkers. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_shulker_shell.png " ,
groups = { craftitem = 1 } ,
} )
end
-- Magma cube
if c ( " magma_cream " ) then
minetest.register_craftitem ( " mobs_mc:magma_cream " , {
2019-03-14 01:09:09 +02:00
description = " Magma Cream " ,
_doc_items_longdesc = " Magma cream is a crafting component. " ,
2017-07-05 04:15:46 +03:00
wield_image = " mcl_mobitems_magma_cream.png " ,
inventory_image = " mcl_mobitems_magma_cream.png " ,
groups = { brewitem = 1 } ,
} )
end
-- Slime
if c ( " slimeball " ) then
minetest.register_craftitem ( " mobs_mc:slimeball " , {
2019-03-14 01:09:09 +02:00
description = " Slimeball " ,
_doc_items_longdesc = " Slimeballs are used in crafting. They are dropped from slimes. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_slimeball.png "
} )
if minetest.get_modpath ( " mesecons_materials " ) then
minetest.register_craft ( {
output = " mesecons_materials:glue " ,
recipe = { { " mobs_mc:slimeball " } } ,
} )
end
end
-- Spider
if c ( " spider_eye " ) then
minetest.register_craftitem ( " mobs_mc:spider_eye " , {
2019-03-14 01:09:09 +02:00
description = " Spider Eye " ,
_doc_items_longdesc = " Spider eyes are used mainly in crafting and brewing. Spider eyes can be eaten, but they poison you and reduce your health by 2 hit points. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_spider_eye.png " ,
wield_image = " mcl_mobitems_spider_eye.png " ,
-- Simplified poisonous food
groups = { food = 2 , eatable = - 2 } ,
on_use = minetest.item_eat ( - 2 ) ,
} )
end
-- Evoker
if c ( " totem " ) then
2018-01-25 22:03:58 +02:00
local hud_totem = { }
-- Totem of Undying
2017-07-05 04:15:46 +03:00
minetest.register_craftitem ( " mobs_mc:totem " , {
description = S ( " Totem of Undying " ) ,
2020-03-12 03:29:30 +02:00
_tt_help = minetest.colorize ( " #00FF00 " , S ( " Protects you from death while wielding it " ) ) ,
2017-07-06 01:43:34 +03:00
_doc_items_longdesc = S ( " A totem of undying is a rare artifact which may safe you from certain death. " ) ,
2018-01-25 22:03:58 +02:00
_doc_items_usagehelp = S ( " The totem only works while you hold it in your hand. If you receive fatal damage, you are saved from death and you get a second chance with 1 HP. The totem is destroyed in the process, however. " ) ,
inventory_image = " mcl_totems_totem.png " ,
wield_image = " mcl_totems_totem.png " ,
2017-07-06 01:43:34 +03:00
stack_max = 1 ,
2017-07-05 04:15:46 +03:00
} )
2018-01-25 22:03:58 +02:00
minetest.register_on_leaveplayer ( function ( player )
hud_totem [ player : get_player_name ( ) ] = nil
end )
-- Save the player from death when holding totem of undying in hand
minetest.register_on_player_hpchange ( function ( player , hp_change )
local hp = player : get_hp ( )
-- Fatal damage?
if hp + hp_change <= 0 then
local wield = player : get_wielded_item ( )
if wield : get_name ( ) == " mobs_mc:totem " then
local ppos = player : get_pos ( )
local pnname = minetest.get_node ( ppos ) . name
-- Some exceptions when _not_ to save the player
for n = 1 , # mobs_mc.misc . totem_fail_nodes do
if pnname == mobs_mc.misc . totem_fail_nodes [ n ] then
return hp_change
end
end
-- Reset breath as well
if player : get_breath ( ) < 11 then
player : set_breath ( 10 )
end
if not minetest.settings : get_bool ( " creative_mode " ) then
wield : take_item ( )
player : set_wielded_item ( wield )
end
-- Effects
2020-04-07 01:55:45 +03:00
minetest.sound_play ( { name = " mcl_totems_totem " , gain = 1 } , { pos = ppos , max_hear_distance = 16 } , true )
2018-01-25 22:03:58 +02:00
-- Big totem overlay
if not hud_totem [ player : get_player_name ( ) ] then
hud_totem [ player : get_player_name ( ) ] = player : hud_add ( {
hud_elem_type = " image " ,
text = " mcl_totems_totem.png " ,
position = { x = 0.5 , y = 1 } ,
scale = { x = 17 , y = 17 } ,
offset = { x = 0 , y =- 178 } ,
2020-04-07 14:03:10 +03:00
z_index = 10 ,
2018-01-25 22:03:58 +02:00
} )
2018-06-03 17:44:37 +03:00
minetest.after ( 3 , function ( name )
local player = minetest.get_player_by_name ( name )
2018-01-25 22:03:58 +02:00
if player and player : is_player ( ) then
local name = player : get_player_name ( )
if hud_totem [ name ] then
player : hud_remove ( hud_totem [ name ] )
hud_totem [ name ] = nil
end
end
2018-06-03 17:44:37 +03:00
end , player : get_player_name ( ) )
2018-01-25 22:03:58 +02:00
end
-- Set HP to exactly 1
return - hp + 1
end
end
return hp_change
end , true )
2017-07-05 04:15:46 +03:00
end
-- Rotten flesh
if c ( " rotten_flesh " ) then
minetest.register_craftitem ( " mobs_mc:rotten_flesh " , {
2019-03-14 01:09:09 +02:00
description = " Rotten Flesh " ,
_doc_items_longdesc = " Yuck! This piece of flesh clearly has seen better days. Eating it will only poison you and reduces your health by 4 hit points. But tamed wolves can eat it just fine. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_rotten_flesh.png " ,
-- Simplified poisonous food
groups = { food = 2 , eatable = - 4 } ,
on_use = minetest.item_eat ( - 4 ) ,
} )
end
-- Misc.
if c ( " nether_star " ) then
minetest.register_craftitem ( " mobs_mc:nether_star " , {
2019-03-14 01:09:09 +02:00
description = " Nether Star " ,
_doc_items_longdesc = " A nether star is a crafting component. It is dropped from the Wither. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_nether_star.png "
} )
end
if c ( " snowball " ) and minetest.get_modpath ( " default " ) then
minetest.register_craft ( {
output = " mobs_mc:snowball 2 " ,
recipe = {
{ " default:snow " } ,
} ,
} )
minetest.register_craft ( {
output = " default:snow 2 " ,
recipe = {
{ " mobs_mc:snowball " , " mobs_mc:snowball " } ,
{ " mobs_mc:snowball " , " mobs_mc:snowball " } ,
} ,
} )
-- Change the appearance of default snow to avoid confusion with snowball
minetest.override_item ( " default:snow " , {
inventory_image = " " ,
wield_image = " " ,
} )
end
if c ( " bone " ) then
minetest.register_craftitem ( " mobs_mc:bone " , {
2019-03-14 01:09:09 +02:00
description = " Bone " ,
_doc_items_longdesc = " Bones can be used to tame wolves so they will protect you. They are also useful as a crafting ingredient. " ,
_doc_items_usagehelp = " Hold the bone in your hand near wolves to attract them. Rightclick the wolf to give it a bone and tame it. " ,
2017-07-05 04:15:46 +03:00
inventory_image = " mcl_mobitems_bone.png "
} )
if minetest.get_modpath ( " bones " ) then
minetest.register_craft ( {
output = " mobs_mc:bone 3 " ,
recipe = { { " bones:bones " } } ,
} )
end
end