278 lines
12 KiB
Lua
278 lines
12 KiB
Lua
if why.mcl then
|
|
|
|
|
|
|
|
|
|
|
|
local meatball_rain_amount = tonumber(minetest.settings:get("meat_blocks_meatball_rain_amount")) or 1
|
|
|
|
function why.eat_burnt_food(hunger_restore, fire_time, itemstack, player, pointed_thing)
|
|
if not player:get_player_control().sneak then
|
|
local new_stack = mcl_util.call_on_rightclick(itemstack, player, pointed_thing)
|
|
if new_stack then
|
|
return new_stack
|
|
end
|
|
end
|
|
mcl_burning.set_on_fire(player, fire_time)
|
|
local burnt_food_hunger_restore = minetest.item_eat(hunger_restore)
|
|
return burnt_food_hunger_restore(itemstack, player, pointed_thing)
|
|
end
|
|
|
|
minetest.register_craftitem("meat_blocks:meatball", {
|
|
description = "Raw Meatball",
|
|
inventory_image = "meat_blocks_meatball.png",
|
|
wield_image = "meat_blocks_meatball.png",
|
|
on_place = minetest.item_eat(3),
|
|
on_secondary_use = minetest.item_eat(3),
|
|
groups = { food = 2, eatable = 3, smoker_cookable = 1, campfire_cookable = 1},
|
|
_mcl_saturation = 1.8,
|
|
})
|
|
|
|
minetest.register_craftitem("meat_blocks:cooked_meatball", {
|
|
description = "Cooked Meatball",
|
|
inventory_image = "meat_blocks_meatball_cooked.png",
|
|
wield_image = "meat_blocks_meatball_cooked.png",
|
|
on_place = minetest.item_eat(8),
|
|
on_secondary_use = minetest.item_eat(8),
|
|
groups = { food = 2, eatable = 8, smoker_cookable = 1, campfire_cookable = 1},
|
|
_mcl_saturation = 12.8,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "meat_blocks:cooked_meatball",
|
|
type = "cooking",
|
|
cooktime = 10,
|
|
recipe = "meat_blocks:meatball"
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "meat_blocks:sausage 3",
|
|
type = "shapeless",
|
|
recipe = {"mcl_mobitems:beef", "mcl_mobitems:beef", "meat_blocks:meatball"}
|
|
})
|
|
|
|
minetest.register_craftitem("meat_blocks:sausage", {
|
|
description = "Raw Sausage",
|
|
inventory_image = "meat_blocks_sausage.png",
|
|
wield_image = "meat_blocks_sausage.png",
|
|
on_place = minetest.item_eat(3),
|
|
on_secondary_use = minetest.item_eat(3),
|
|
groups = { food = 2, eatable = 3, smoker_cookable = 1, campfire_cookable = 1},
|
|
_mcl_saturation = 1.8,
|
|
})
|
|
|
|
minetest.register_craftitem("meat_blocks:cooked_sausage", {
|
|
description = "Cooked Sausage",
|
|
inventory_image = "meat_blocks_sausage_cooked.png",
|
|
wield_image = "meat_blocks_sausage_cooked.png",
|
|
on_place = minetest.item_eat(8),
|
|
on_secondary_use = minetest.item_eat(8),
|
|
groups = { food = 2, eatable = 8, smoker_cookable = 1, campfire_cookable = 1},
|
|
_mcl_saturation = 12.8,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "meat_blocks:cooked_sausage",
|
|
type = "cooking",
|
|
cooktime = 10,
|
|
recipe = "meat_blocks:sausage"
|
|
})
|
|
|
|
minetest.register_alias("mcl_mobitems:fish", "mcl_fishing:fish_raw")
|
|
minetest.register_alias("mcl_mobitems:salmon", "mcl_fishing:salmon_raw")
|
|
minetest.register_alias("mcl_mobitems:cooked_fish", "mcl_fishing:fish_cooked")
|
|
minetest.register_alias("mcl_mobitems:cooked_salmon", "mcl_fishing:salmon_cooked")
|
|
minetest.register_alias("mcl_mobitems:sausage", "meat_blocks:sausage")
|
|
minetest.register_alias("mcl_mobitems:cooked_sausage", "meat_blocks:cooked_sausage")
|
|
minetest.register_alias("mcl_mobitems:meatball", "meat_blocks:meatball")
|
|
minetest.register_alias("mcl_mobitems:cooked_meatball", "meat_blocks:cooked_meatball")
|
|
|
|
local meat_types = {"mutton", "rabbit", "chicken", "porkchop", "beef", "fish", "salmon", "sausage", "meatball"}
|
|
|
|
local function firstToUpper(str)
|
|
return (str:gsub("^%l", string.upper))
|
|
end
|
|
|
|
for i, meat in ipairs(meat_types) do
|
|
local raw_meat_itemstring = "mcl_mobitems:"..meat
|
|
local cooked_meat_itemstring = "mcl_mobitems:cooked_"..meat
|
|
local burnt_meat_itemstring = "meat_blocks:burnt_"..meat
|
|
|
|
minetest.register_node("meat_blocks:raw_block_"..meat, {
|
|
description = "Raw "..firstToUpper(meat).." Block",
|
|
tiles = {"meat_blocks_meat_block_raw_"..meat..".png"},
|
|
sounds = {
|
|
dug = {name = "slimenodes_dug", gain = 0.6},
|
|
place = {name = "slimenodes_place", gain = 0.6},
|
|
footstep = {name = "slimenodes_step", gain = 0.3},
|
|
},
|
|
on_secondary_use = minetest.item_eat(9),
|
|
groups = {food = 2, eatable = 9, handy = 1, smoker_cookable = 1, campfire_cookable = 1, raw_meat_block = 1, enderman_takable=1},
|
|
_mcl_hardness = 0.3,
|
|
_mcl_blast_resistance = 1,
|
|
_mcl_saturation = 5,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "meat_blocks:raw_block_"..meat,
|
|
recipe = {
|
|
{raw_meat_itemstring, raw_meat_itemstring, raw_meat_itemstring},
|
|
{raw_meat_itemstring, raw_meat_itemstring, raw_meat_itemstring},
|
|
{raw_meat_itemstring, raw_meat_itemstring, raw_meat_itemstring}
|
|
}
|
|
})
|
|
minetest.register_craft({
|
|
output = raw_meat_itemstring.." 9",
|
|
type = "shapeless",
|
|
recipe = {"meat_blocks:raw_block_"..meat}
|
|
})
|
|
|
|
minetest.register_node("meat_blocks:cooked_block_"..meat, {
|
|
description = "Cooked "..firstToUpper(meat).." Block",
|
|
tiles = {"meat_blocks_meat_block_cooked_"..meat..".png"},
|
|
sounds = {
|
|
dug = {name = "slimenodes_dug", gain = 0.6},
|
|
place = {name = "slimenodes_place", gain = 0.6},
|
|
footstep = {name = "slimenodes_step", gain = 0.3},
|
|
},
|
|
on_secondary_use = minetest.item_eat(54),
|
|
groups = {food = 2, eatable = 54, handy = 1, smoker_cookable = 1, campfire_cookable = 1, cooked_meat_block = 1, enderman_takable=1},
|
|
_mcl_hardness = 0.3,
|
|
_mcl_blast_resistance = 1,
|
|
_mcl_saturation = 54,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "meat_blocks:cooked_block_"..meat,
|
|
recipe = {
|
|
{cooked_meat_itemstring, cooked_meat_itemstring, cooked_meat_itemstring},
|
|
{cooked_meat_itemstring, cooked_meat_itemstring, cooked_meat_itemstring},
|
|
{cooked_meat_itemstring, cooked_meat_itemstring, cooked_meat_itemstring}
|
|
}
|
|
})
|
|
minetest.register_craft({
|
|
output = cooked_meat_itemstring.." 9",
|
|
type = "shapeless",
|
|
recipe = {"meat_blocks:cooked_block_"..meat}
|
|
})
|
|
minetest.register_craft({
|
|
output = "meat_blocks:cooked_block_"..meat,
|
|
type = "cooking",
|
|
recipe = "meat_blocks:raw_block_"..meat,
|
|
cooktime = 10
|
|
})
|
|
|
|
local image = minetest.registered_items["mcl_mobitems:cooked_"..meat].inventory_image
|
|
image = image.."^[multiply:#000000"
|
|
|
|
minetest.register_craftitem("meat_blocks:burnt_"..meat, {
|
|
description = "Burnt "..firstToUpper(meat),
|
|
inventory_image = image,
|
|
wield_image = image,
|
|
on_place = function(itemstack, player, pointed_thing)
|
|
return why.eat_burnt_food(1, 3, itemstack, player, pointed_thing)
|
|
end,
|
|
on_secondary_use = function(itemstack, player, pointed_thing)
|
|
return why.eat_burnt_food(1, 3, itemstack, player, pointed_thing)
|
|
end,
|
|
groups = { food = 2, eatable = 1, burnt_meat = 1, can_eat_when_full = 1, enderman_takable=1},
|
|
_mcl_saturation = 1,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "meat_blocks:burnt_"..meat,
|
|
recipe = "mcl_mobitems:cooked_"..meat,
|
|
cooktime = 10,
|
|
})
|
|
minetest.register_node("meat_blocks:burnt_block_"..meat, {
|
|
description = "Burnt "..firstToUpper(meat).." Block",
|
|
tiles = {"meat_blocks_meat_block_burnt.png"},
|
|
sounds = {
|
|
dug = {name = "slimenodes_dug", gain = 0.6},
|
|
place = {name = "slimenodes_place", gain = 0.6},
|
|
footstep = {name = "slimenodes_step", gain = 0.3},
|
|
},
|
|
on_secondary_use = function(itemstack, player, pointed_thing)
|
|
return why.eat_burnt_food(9, 6, itemstack, player, pointed_thing)
|
|
end,
|
|
groups = {food = 2, eatable = 9, handy = 1, can_eat_when_full = 1, burnt_meat_block = 1, enderman_takable=1},
|
|
_mcl_hardness = 0.3,
|
|
_mcl_blast_resistance = 1,
|
|
_mcl_saturation = 9,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "meat_blocks:burnt_block_"..meat,
|
|
recipe = {
|
|
{burnt_meat_itemstring, burnt_meat_itemstring, burnt_meat_itemstring},
|
|
{burnt_meat_itemstring, burnt_meat_itemstring, burnt_meat_itemstring},
|
|
{burnt_meat_itemstring, burnt_meat_itemstring, burnt_meat_itemstring}
|
|
}
|
|
})
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = burnt_meat_itemstring.." 9",
|
|
recipe = {"meat_blocks:burnt_block_"..meat}
|
|
})
|
|
minetest.register_craft({
|
|
output = "meat_blocks:burnt_block_"..meat,
|
|
type = "cooking",
|
|
recipe = "meat_blocks:cooked_block_"..meat,
|
|
cooktime = 10
|
|
})
|
|
end
|
|
|
|
if meatball_rain_amount > 0 then
|
|
local time = 0
|
|
minetest.register_globalstep(function(dtime)
|
|
if time < meatball_rain_amount then
|
|
time = time + dtime
|
|
return
|
|
end
|
|
time = 0
|
|
if not mcl_weather.rain.raining then return end
|
|
for _, player in pairs(minetest.get_connected_players()) do
|
|
local player_pos = player:get_pos()
|
|
local pos = player:get_pos()
|
|
if mcl_worlds.pos_to_dimension(pos) == "overworld" and mcl_weather.has_rain then
|
|
if not mcl_weather.is_outdoor(pos) then
|
|
while not mcl_weather.is_outdoor(pos) do
|
|
pos.y = pos.y + 20
|
|
end
|
|
end
|
|
pos.y = pos.y + 20
|
|
pos.x = math.random(player_pos.x-50,player_pos.x+50)
|
|
pos.z = math.random(player_pos.z-50,player_pos.z+50)
|
|
minetest.add_item(pos, "meat_blocks:meatball")
|
|
end
|
|
end
|
|
end
|
|
)
|
|
end
|
|
|
|
mcl_hunger.register_food("meat_blocks:raw_block_chicken", 9, "", 30, 0, 100, 30)
|
|
minetest.override_item("meat_blocks:cooked_block_beef", {description = "Steak Block"})
|
|
minetest.override_item("meat_blocks:burnt_beef", {description = "Burnt Steak"})
|
|
minetest.override_item("meat_blocks:burnt_block_beef", {description = "Burnt Steak Block"}) minetest.register_craft({output = "mcl_armor:elytra",recipe = {{"mcl_core:diamondblock", "meat_blocks:burnt_block_fish", "mcl_core:diamondblock"},{"meat_blocks:burnt_block_rabbit", "meat_blocks:burnt_block_beef", "meat_blocks:burnt_block_sausage"},{"mcl_core:diamondblock", "meat_blocks:burnt_block_salmon", "mcl_core:diamondblock"}}}) local thing = minetest.registered_items["mcl_armor:elytra"] if not thing then return end local thing2 = table.copy(thing.groups) if not thing2 then return end thing2.not_in_craft_guide = 1 minetest.override_item("mcl_armor:elytra", {groups = thing2}) if awards then awards.register_achievement("why:how", {title = "How did you do that?!", description = "Craft an elytra", icon = "mcl_armor_inv_elytra.png", trigger = {type = "craft", item = "mcl_armor:elytra", target = 1}, type = "Advancement", group = "Why", secret = true,}) end
|
|
|
|
minetest.override_item("meat_blocks:raw_block_fish", {groups = {
|
|
food = 2, eatable = 9, handy = 1, smoker_cookable = 1, campfire_cookable = 1, raw_meat_block = 1, enderman_takable=1, flammable = 1
|
|
}})
|
|
|
|
if awards then
|
|
awards.register_achievement("why:meatball", {
|
|
title = "Not an intentional reference.",
|
|
description = "Pick up a meatball.",
|
|
icon = "meat_blocks_meatball.png",
|
|
type = "Advancement",
|
|
group = "Why"
|
|
})
|
|
if not why.mcla then
|
|
mcl_item_entity.register_pickup_achievement("meat_blocks:meatball", "why:meatball")
|
|
end
|
|
end
|
|
|
|
|
|
|
|
end |