Add files via upload
This commit is contained in:
parent
bd996dc782
commit
5cec7be0fa
49
README.md
49
README.md
@ -1,4 +1,4 @@
|
||||
BBQ v1.02 by Grizzly Adam
|
||||
BBQ v1.1 by Grizzly Adam
|
||||
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=19324
|
||||
|
||||
@ -6,6 +6,41 @@ https://github.com/Grizzly-Adam/BBQ
|
||||
|
||||
New In This Version
|
||||
-------------------
|
||||
New Items:
|
||||
Kettle Gril
|
||||
Lump Charcoal (fuel)
|
||||
Charcoal Briquettes (fuel)
|
||||
Bag O' Charcoal (fuel)
|
||||
Propane (fuel)
|
||||
Sawdust
|
||||
Foil
|
||||
|
||||
Paprika
|
||||
Molasses (byproduct of Sugar)
|
||||
Steak sauce
|
||||
Vinegar
|
||||
Vinegar Mother
|
||||
|
||||
Beer
|
||||
Cheese Steak
|
||||
Pizza
|
||||
Grilled Tomato
|
||||
Brisket
|
||||
Corned Beef
|
||||
Veggie Kebabs
|
||||
Lamb Kebabs
|
||||
Smoked Pepper
|
||||
Grilled Corn
|
||||
Stuffed Mushroom
|
||||
Portabella Steaks
|
||||
Pickled peppers
|
||||
Veggie Packets
|
||||
Corn
|
||||
Potato
|
||||
|
||||
|
||||
New In Version 1.02
|
||||
-------------------
|
||||
Bug Fix: All Colours of Sheep Now Drop Mutton
|
||||
|
||||
Added support for Farming Redo
|
||||
@ -33,10 +68,12 @@ Updated Textures:
|
||||
Goals
|
||||
-----
|
||||
-Expanding the cooking & food options in Minetest
|
||||
-Add a working smoker to Minetest
|
||||
-Add working smoker and grill to Minetest
|
||||
-Utilize under-used items, such as vessels, vessel shelf, and mushrooms
|
||||
-Be compatible with and expand on Mobs-Redo and it's Animals pack
|
||||
-Be compatible with Food Rubenwardy's Food Mod
|
||||
-Be compatible with Auke Kok's Crops pack
|
||||
-Be compatible with Auke Kok's Crops Mod
|
||||
-Be compatible with Farming-Redo Mod
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
@ -48,14 +85,12 @@ Credits
|
||||
|
||||
Created by Grizzly Adam
|
||||
|
||||
Feel free to reisue parts or all of my work.
|
||||
Feel free to resue parts or all of my work.
|
||||
|
||||
Exceptions:
|
||||
|
||||
* Tomato image taken from Rubenwardy's Food Mod
|
||||
* Potato image, Tomato image and original corn image taken from Auke Kok's Crops Mod
|
||||
* Beef designs taken from Daniel_Smith, some were further modified
|
||||
* All other textures created by Grizzly Adam
|
||||
|
||||
Have I missed out credit? Please tell me.
|
||||
|
||||
|
||||
|
317
cooking.lua
317
cooking.lua
@ -1,13 +1,94 @@
|
||||
---------------
|
||||
--CRAFT RECIPES
|
||||
---------------
|
||||
|
||||
--Beer Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:beer",
|
||||
recipe = {
|
||||
{"", "bucket:bucket_water", ""},
|
||||
{"bbq:yeast", "farming:wheat", "group:sugar"},
|
||||
{"", "vessels:drinking_glass", ""}
|
||||
},
|
||||
replacements = {{"bucket:bucket_water","bucket:bucket_empty"}},
|
||||
})
|
||||
|
||||
--Propane Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:foil",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"", "", ""},
|
||||
{"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
--Propane Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:propane",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:torch", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
--Charcoal Bag Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:charcoal_bag",
|
||||
recipe = {
|
||||
{"bbq:charcoal_briquette", "bbq:charcoal_briquette", "bbq:charcoal_briquette"},
|
||||
{"bbq:charcoal_briquette", "bbq:charcoal_briquette", "bbq:charcoal_briquette"},
|
||||
{"bbq:charcoal_briquette", "bbq:charcoal_briquette", "bbq:charcoal_briquette"}
|
||||
}
|
||||
})
|
||||
|
||||
--Charcoal Briquette Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:charcoal_briquette",
|
||||
recipe = {
|
||||
{"", "bbq:sawdust", ""},
|
||||
{"bbq:sawdust", "bbq:charcoal_lump", "bbq:sawdust"},
|
||||
{"", "bbq:sawdust", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Charcoal Lump Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:charcoal_lump",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"", "group:tree", ""},
|
||||
{"", "default:torch", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Sawdust Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:sawdust",
|
||||
type = "shapeless",
|
||||
recipe = {"default:stick"},
|
||||
|
||||
})
|
||||
|
||||
--Vinegar Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:vinegar",
|
||||
recipe = {
|
||||
{"", "group:mother", ""},
|
||||
{"", "group:sugar", ""},
|
||||
{"", "bucket:bucket_water", ""}
|
||||
},
|
||||
replacements = {{"bucket:bucket_water","bucket:bucket_empty"}},
|
||||
})
|
||||
|
||||
--Smoker Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:smoker",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:glass", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "group:wood", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}
|
||||
{"", "default:steel_ingot", ""}
|
||||
}
|
||||
})
|
||||
|
||||
@ -31,6 +112,16 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--Lamb Kebab Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:lamb_kebab_raw",
|
||||
recipe = {
|
||||
{"", "group:pepper", ""},
|
||||
{"", "bbq:mutton_raw", ""},
|
||||
{"", "default:stick", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Leg of Lamb Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:rack_lamb_raw",
|
||||
@ -51,7 +142,7 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--BBQ Chicken Craft Recipe
|
||||
--Ham Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:ham_raw",
|
||||
recipe = {
|
||||
@ -61,13 +152,23 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--Pickled Peppers Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:pickled_peppers",
|
||||
recipe = {
|
||||
{"", "group:peppercorn", ""},
|
||||
{"", "group:pepper", ""},
|
||||
{"", "bbq:brine", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--BBQ Chicken Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:bbq_chicken_raw",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"", "", ""},
|
||||
{"bbq:bbq_sauce", "mobs:chicken_raw", "bbq:sea_salt"}
|
||||
{"bbq:bbq_sauce", "mobs:chicken_raw", "bbq:paprika"}
|
||||
}
|
||||
})
|
||||
|
||||
@ -81,13 +182,33 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--Corned Beef Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:corned_beef_raw",
|
||||
recipe = {
|
||||
{"", "group:peppercorn", ""},
|
||||
{"", "bbq:beef_raw", ""},
|
||||
{"", "bbq:brine", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--BBQ Brisket Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:brisket_raw",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"", "bbq:bbq_sauce", ""},
|
||||
{"bbq:molasses", "bbq:beef_raw", "bbq:paprika"}
|
||||
}
|
||||
})
|
||||
|
||||
--Hot Wings Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:hot_wings_raw",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"", "", ""},
|
||||
{"bbq:hot_sauce", "mobs:chicken_raw", "group:pepper_ground"}
|
||||
{"bbq:hot_sauce", "mobs:chicken_raw", "bbq:paprika"}
|
||||
}
|
||||
})
|
||||
|
||||
@ -101,6 +222,16 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--Cheese Steak Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:cheese_steak",
|
||||
recipe = {
|
||||
{"", "farming:bread", ""},
|
||||
{"group:pepper", "bbq:beef", "group:cheese"},
|
||||
{"", "farming:bread", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Hamburger Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:hamburger",
|
||||
@ -121,6 +252,16 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--Grilled Pizza Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:grilled_pizza_raw",
|
||||
recipe = {
|
||||
{"", "group:cheese", ""},
|
||||
{"group:pepper", "bbq:grilled_tomato", "flowers:mushroom_brown"},
|
||||
{"bbq:sea_salt", "farming:wheat", "bbq:yeast"}
|
||||
}
|
||||
})
|
||||
|
||||
--Bacon Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:bacon_raw",
|
||||
@ -151,6 +292,46 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--Stuffed Mushroom Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:stuffed_mushroom_raw",
|
||||
recipe = {
|
||||
{"", "group:tomato", ""},
|
||||
{"", "farming:bread", ""},
|
||||
{"", "flowers:mushroom_brown", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Veggie Kebab Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:veggie_kebab_raw",
|
||||
recipe = {
|
||||
{"", "group:pepper", ""},
|
||||
{"group:potato", "group:tomato", "flowers:mushroom_brown"},
|
||||
{"", "default:stick", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Veggie Packet Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:veggie_packet_raw",
|
||||
recipe = {
|
||||
{"", "bbq:pepper_ground", ""},
|
||||
{"group:tomato", "group:potato", "group:corn"},
|
||||
{"", "bbq:foil", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Portebello Steak Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:portebello_steak_raw",
|
||||
recipe = {
|
||||
{"", "group:pepper_ground", ""},
|
||||
{"", "bbq:steak_sauce", ""},
|
||||
{"", "flowers:mushroom_brown", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Stuffed Pepper Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:stuffed_pepper_raw",
|
||||
@ -161,6 +342,25 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--Grilled Corn Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:grilled_corn_raw",
|
||||
recipe = {
|
||||
{"", "group:cheese", ""},
|
||||
{"", "bbq:paprika", ""},
|
||||
{"", "group:corn", ""}
|
||||
}
|
||||
})
|
||||
|
||||
--Paprika Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:paprika",
|
||||
-- type = "shapeless",
|
||||
recipe = {
|
||||
{'bbq:smoked_pepper'},
|
||||
},
|
||||
})
|
||||
|
||||
--Ground Pepper Craft Recipe
|
||||
minetest.register_craft( {
|
||||
output = "bbq:pepper_ground",
|
||||
@ -182,6 +382,17 @@ minetest.register_craft( {
|
||||
replacements = {{"bucket:bucket_water","bucket:bucket_empty"}},
|
||||
})
|
||||
|
||||
--Steak Sauce
|
||||
minetest.register_craft( {
|
||||
output = "bbq:steak_sauce",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"flowers:mushroom_brown", "bbq:vinegar", "bbq:hot_sauce"},
|
||||
{"", "vessels:glass_bottle", ""}
|
||||
},
|
||||
replacements = {{"bbq:vinegar","bbq:vinegar_mother"}},
|
||||
})
|
||||
|
||||
--Liquid Smoke
|
||||
minetest.register_craft( {
|
||||
output = "bbq:liquid_smoke",
|
||||
@ -199,6 +410,7 @@ minetest.register_craft( {
|
||||
recipe = {
|
||||
{'default:papyrus'},
|
||||
},
|
||||
replacements = {{"default:papyrus","bbq:molasses"}},
|
||||
})
|
||||
|
||||
--Hot Sauce
|
||||
@ -206,7 +418,7 @@ minetest.register_craft( {
|
||||
output = "bbq:hot_sauce",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"group:pepper_ground", "bucket:bucket_water", "group:peppercorn"},
|
||||
{"group:pepper_ground", "bucket:bucket_water", "bbq:paprika"},
|
||||
{"", "vessels:glass_bottle", ""}
|
||||
},
|
||||
replacements = {{"bucket:bucket_water","bucket:bucket_empty"}},
|
||||
@ -216,10 +428,11 @@ minetest.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "bbq:bbq_sauce",
|
||||
recipe = {
|
||||
{"", "", ""},
|
||||
{"", "bbq:molasses", ""},
|
||||
{"group:sugar", "group:tomato", "bbq:liquid_smoke"},
|
||||
{"", "vessels:glass_bottle", ""}
|
||||
{"", "bbq:vinegar", ""}
|
||||
},
|
||||
replacements = {{"bbq:vinegar","bbq:vinegar_mother"}},
|
||||
})
|
||||
|
||||
|
||||
@ -260,6 +473,38 @@ minetest.register_craft({
|
||||
cooktime = 12,
|
||||
})
|
||||
|
||||
--Veggie Kebab Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:veggie_kebab",
|
||||
recipe = "bbq:veggie_kebab_raw",
|
||||
cooktime = 8,
|
||||
})
|
||||
|
||||
--Veggie Packet Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:veggie_packet",
|
||||
recipe = "bbq:veggie_packet_raw",
|
||||
cooktime = 8,
|
||||
})
|
||||
|
||||
--Stuffed Mushroom Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:stuffed_mushroom",
|
||||
recipe = "bbq:stuffed_mushroom_raw",
|
||||
cooktime = 6,
|
||||
})
|
||||
|
||||
--Portebello Steak Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:portebello_steak",
|
||||
recipe = "bbq:portebello_steak_raw",
|
||||
cooktime = 6,
|
||||
})
|
||||
|
||||
--Pepper Steak Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
@ -268,6 +513,22 @@ minetest.register_craft({
|
||||
cooktime = 6,
|
||||
})
|
||||
|
||||
--Smoked Pepper Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:smoked_pepper",
|
||||
recipe = "group:pepper",
|
||||
cooktime = 9,
|
||||
})
|
||||
|
||||
--Grilled Pizza
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:grilled_pizza",
|
||||
recipe = "bbq:grilled_pizza_raw",
|
||||
cooktime = 5,
|
||||
})
|
||||
|
||||
--Bacon Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
@ -292,6 +553,22 @@ minetest.register_craft({
|
||||
cooktime = 15,
|
||||
})
|
||||
|
||||
--Corned Beef Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:corned_beef",
|
||||
recipe = "bbq:corned_beef_raw",
|
||||
cooktime = 15,
|
||||
})
|
||||
|
||||
--BBQ Brisket Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:brisket",
|
||||
recipe = "bbq:brisket_raw",
|
||||
cooktime = 15,
|
||||
})
|
||||
|
||||
--BBQ Chicken Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
@ -308,6 +585,14 @@ minetest.register_craft({
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
--Lamb Kebab
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:lamb_kebab",
|
||||
recipe = "bbq:lamb_kebab_raw",
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
--Leg of Lamb
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
@ -324,10 +609,26 @@ minetest.register_craft({
|
||||
cooktime = 10,
|
||||
})
|
||||
|
||||
--Stuff Pepper Cooking
|
||||
--Stuffed Pepper Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:stuffed_pepper",
|
||||
recipe = "bbq:stuffed_pepper_raw",
|
||||
cooktime = 4,
|
||||
})
|
||||
|
||||
--Grilled Tomato Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:grilled_tomato",
|
||||
recipe = "group:tomato",
|
||||
cooktime = 4,
|
||||
})
|
||||
|
||||
--Grilled Corn Cooking
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "bbq:grilled_corn",
|
||||
recipe = "bbq:grilled_corn_raw",
|
||||
cooktime = 4,
|
||||
})
|
||||
|
379
crafts.lua
379
crafts.lua
@ -1,3 +1,238 @@
|
||||
-- Kettle Grill
|
||||
minetest.register_node("bbq:kettle_grill", {
|
||||
description = ("Propane"),
|
||||
inventory_image = "bbq_kettle_grill.png",
|
||||
wield_image = "bbq_kettle_grill.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_kettle_grill.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
})
|
||||
|
||||
-- Sawdust
|
||||
minetest.register_node("bbq:sawdust", {
|
||||
description = ("Saw Dust"),
|
||||
inventory_image = "bbq_sawdust.png",
|
||||
wield_image = "bbq_sawdust.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {
|
||||
"bbq_sawdust.png",
|
||||
},
|
||||
groups = {choppy=3, oddly_breakable_by_hand=2, flammable=3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Foil
|
||||
minetest.register_craftitem("bbq:foil", {
|
||||
description = ("Foil"),
|
||||
inventory_image = "bbq_foil.png",
|
||||
wield_image = "bbq_foil.png",
|
||||
})
|
||||
|
||||
-- Charocal Briquette
|
||||
minetest.register_craftitem("bbq:charcoal_briquette", {
|
||||
description = ("Charcoal Briquette"),
|
||||
inventory_image = "bbq_charcoal_briquette.png",
|
||||
wield_image = "bbq_charcoal_briquette.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "bbq:charcoal_briquette",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
-- Charocal Lump
|
||||
minetest.register_craftitem("bbq:charcoal_lump", {
|
||||
description = ("Charcoal Lump"),
|
||||
inventory_image = "bbq_charcoal_lump.png",
|
||||
wield_image = "bbq_charcoal_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "bbq:charcoal_lump",
|
||||
burntime = 25,
|
||||
})
|
||||
|
||||
-- Charcoal Bag
|
||||
minetest.register_node("bbq:charcoal_bag", {
|
||||
description = ("Bag o' Charcoal"),
|
||||
inventory_image = "bbq_charcoal_bag.png",
|
||||
wield_image = "bbq_charcoal_bag.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {
|
||||
"bbq_charcoal_bag_top.png", "bbq_charcoal_bag_top.png",
|
||||
"bbq_charcoal_bag_side.png", "bbq_charcoal_bag_side.png",
|
||||
"bbq_charcoal_bag_back.png", "bbq_charcoal_bag.png",
|
||||
},
|
||||
groups = {dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.21, -0.5, -0.1, 0.21, 0.22, 0.1},
|
||||
{-0.235, 0.22, -0.025, 0.235, 0.25, 0.025},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "bbq:charcoal_bag",
|
||||
burntime = 150,
|
||||
})
|
||||
|
||||
-- Propane
|
||||
minetest.register_node("bbq:propane", {
|
||||
description = ("Propane"),
|
||||
inventory_image = "bbq_propane.png",
|
||||
wield_image = "bbq_propane.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_propane.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "bbq:propane",
|
||||
burntime = 500,
|
||||
})
|
||||
|
||||
-- Beer
|
||||
minetest.register_node("bbq:beer", {
|
||||
description = ("Beer"),
|
||||
inventory_image = "bbq_beer.png",
|
||||
wield_image = "bbq_beer.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {
|
||||
"bbq_beer_top.png", "bbq_beer_top.png^[transformFy",
|
||||
"bbq_beer.png", "bbq_beer.png",
|
||||
"bbq_beer.png", "bbq_beer.png^[transformFx",
|
||||
},
|
||||
groups = {dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.18, -0.5, -0.18, 0.18, 0.3, 0.18},
|
||||
{-0.3, -0.25, -0.06, -0.18, 0.18, 0.06},
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
-- Vinegar
|
||||
minetest.register_node("bbq:vinegar", {
|
||||
description = ("Vinegar"),
|
||||
inventory_image = "bbq_vinegar.png",
|
||||
wield_image = "bbq_vinegar.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_vinegar.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Vinegar
|
||||
minetest.register_node("bbq:vinegar_mother", {
|
||||
description = ("Vinegar Mother"),
|
||||
inventory_image = "bbq_vinegar_mother.png",
|
||||
wield_image = "bbq_vinegar_mother.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_vinegar_mother.png"},
|
||||
groups = {mother=1, vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Veggie Kebab
|
||||
minetest.register_craftitem("bbq:veggie_kebab", {
|
||||
description = ("Veggie Kebab"),
|
||||
inventory_image = "bbq_veggie_kebab.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
})
|
||||
|
||||
-- Veggie Kebab Raw
|
||||
minetest.register_craftitem("bbq:veggie_kebab_raw", {
|
||||
description = ("Veggie Kebab Raw"),
|
||||
inventory_image = "bbq_veggie_kebab_raw.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- Veggie Packet
|
||||
minetest.register_craftitem("bbq:veggie_packet", {
|
||||
description = ("Veggie Packet"),
|
||||
inventory_image = "bbq_veggie_packet.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
})
|
||||
|
||||
-- Veggie Packet Raw
|
||||
minetest.register_craftitem("bbq:veggie_packet_raw", {
|
||||
description = ("Veggie Packet Raw"),
|
||||
inventory_image = "bbq_veggie_packet_raw.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- Stuffed Mushroom
|
||||
minetest.register_craftitem("bbq:stuffed_mushroom", {
|
||||
description = ("Stuffed Mushroom"),
|
||||
inventory_image = "bbq_stuffed_mushroom.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
-- Stuffed Mushroom Raw
|
||||
minetest.register_craftitem("bbq:stuffed_mushroom_raw", {
|
||||
description = ("Stuffed Mushroom Raw"),
|
||||
inventory_image = "bbq_stuffed_mushroom_raw.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
-- Portebello Steak_Raw
|
||||
minetest.register_craftitem("bbq:portebello_steak_raw", {
|
||||
description = ("Portebello Steak Raw"),
|
||||
inventory_image = "bbq_portebello_steak_raw.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
-- Portebello Steak
|
||||
minetest.register_craftitem("bbq:portebello_steak", {
|
||||
description = ("Portebello Steak"),
|
||||
inventory_image = "bbq_portebello_steak.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
-- Lamb Kebab
|
||||
minetest.register_craftitem("bbq:lamb_kebab", {
|
||||
description = ("Lamb Kebab"),
|
||||
inventory_image = "bbq_lamb_kebab.png",
|
||||
on_use = minetest.item_eat(9),
|
||||
})
|
||||
|
||||
-- Lamb Kebab Raw
|
||||
minetest.register_craftitem("bbq:lamb_kebab_raw", {
|
||||
description = ("Lamb Kebab Raw"),
|
||||
inventory_image = "bbq_lamb_kebab_raw.png",
|
||||
on_use = minetest.item_eat(9),
|
||||
})
|
||||
|
||||
-- Rack of Lamb
|
||||
minetest.register_craftitem("bbq:rack_lamb", {
|
||||
description = ("Rack of Lamb"),
|
||||
@ -54,6 +289,34 @@ minetest.register_craftitem("bbq:bbq_chicken_raw", {
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- Corned Beef Raw
|
||||
minetest.register_craftitem("bbq:corned_beef_raw", {
|
||||
description = ("Corned Beef Raw"),
|
||||
inventory_image = "bbq_corned_beef_raw.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- Corned Beef
|
||||
minetest.register_craftitem("bbq:corned_beef", {
|
||||
description = ("Corned Beef"),
|
||||
inventory_image = "bbq_corned_beef.png",
|
||||
on_use = minetest.item_eat(9),
|
||||
})
|
||||
|
||||
-- BBQ Brisket
|
||||
minetest.register_craftitem("bbq:brisket", {
|
||||
description = ("BBQ Brisket"),
|
||||
inventory_image = "bbq_brisket.png",
|
||||
on_use = minetest.item_eat(10),
|
||||
})
|
||||
|
||||
-- BBQ Brisket Raw
|
||||
minetest.register_craftitem("bbq:brisket_raw", {
|
||||
description = ("BBQ Brisket Raw"),
|
||||
inventory_image = "bbq_brisket_raw.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
-- BBQ Beef Ribs
|
||||
minetest.register_craftitem("bbq:bbq_beef_ribs", {
|
||||
description = ("BBQ Ribs"),
|
||||
@ -89,6 +352,13 @@ minetest.register_craftitem("bbq:bacon_cheeseburger", {
|
||||
on_use = minetest.item_eat(9),
|
||||
})
|
||||
|
||||
-- Cheese Steak
|
||||
minetest.register_craftitem("bbq:cheese_steak", {
|
||||
description = ("Cheese Steak"),
|
||||
inventory_image = "bbq_cheese_steak.png",
|
||||
on_use = minetest.item_eat(9),
|
||||
})
|
||||
|
||||
-- Hamburger
|
||||
minetest.register_craftitem("bbq:hamburger", {
|
||||
description = ("Hamburger"),
|
||||
@ -103,6 +373,20 @@ minetest.register_craftitem("bbq:hotdog", {
|
||||
on_use = minetest.item_eat(8),
|
||||
})
|
||||
|
||||
-- Grilled Pizza Raw
|
||||
minetest.register_craftitem("bbq:grilled_pizza_raw", {
|
||||
description = ("Grilled Pizza Raw"),
|
||||
inventory_image = "bbq_grilled_pizza_raw.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
})
|
||||
|
||||
-- Grilled Pizza
|
||||
minetest.register_craftitem("bbq:grilled_pizza", {
|
||||
description = ("Grilled Pizza"),
|
||||
inventory_image = "bbq_grilled_pizza.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
})
|
||||
|
||||
-- Raw Beef Jerky
|
||||
minetest.register_craftitem("bbq:beef_jerky_raw", {
|
||||
description = ("Beef Jerky Raw"),
|
||||
@ -167,6 +451,13 @@ minetest.register_craftitem("bbq:pepper", {
|
||||
groups = {pepper=1},
|
||||
})
|
||||
|
||||
--Smoked Pepper
|
||||
minetest.register_craftitem("bbq:smoked_pepper", {
|
||||
description = ("Smoked Pepper"),
|
||||
inventory_image = "bbq_smoked_pepper.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
--Tomato
|
||||
minetest.register_craftitem("bbq:tomato", {
|
||||
description = ("Tomato"),
|
||||
@ -175,6 +466,43 @@ minetest.register_craftitem("bbq:tomato", {
|
||||
groups = {tomato=1},
|
||||
})
|
||||
|
||||
--Potato
|
||||
minetest.register_craftitem("bbq:potato", {
|
||||
description = ("Potato"),
|
||||
inventory_image = "bbq_potato.png",
|
||||
on_use = minetest.item_eat(1),
|
||||
groups = {potato=1},
|
||||
})
|
||||
|
||||
--Corn
|
||||
minetest.register_craftitem("bbq:corn", {
|
||||
description = ("Corn"),
|
||||
inventory_image = "bbq_corn.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {corn=1},
|
||||
})
|
||||
|
||||
--Grilled Tomato
|
||||
minetest.register_craftitem("bbq:grilled_tomato", {
|
||||
description = ("Grilled Tomato"),
|
||||
inventory_image = "bbq_grilled_tomato.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
--Grilled Corn
|
||||
minetest.register_craftitem("bbq:grilled_corn", {
|
||||
description = ("Grilled Corn"),
|
||||
inventory_image = "bbq_grilled_corn.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
--Grilled Corn Raw
|
||||
minetest.register_craftitem("bbq:grilled_corn_raw", {
|
||||
description = ("Grilled Corn Raw"),
|
||||
inventory_image = "bbq_grilled_corn_raw.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
})
|
||||
|
||||
--Peppercorn
|
||||
minetest.register_node("bbq:peppercorn", {
|
||||
description = ("Peppercorn"),
|
||||
@ -182,10 +510,21 @@ minetest.register_node("bbq:peppercorn", {
|
||||
wield_image = "bbq_peppercorn.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = { "bbq_peppercorn.png" },
|
||||
groups = { peppercorn = 1, snappy=3,flammable=3,flora=1,attached_node=1 },
|
||||
groups = { peppercorn = 1, vessel=1, snappy=3,flammable=3,flora=1,attached_node=1 },
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
--Paprika
|
||||
minetest.register_node("bbq:paprika", {
|
||||
description = ("Smoked Paprika"),
|
||||
inventory_image = "bbq_paprika.png",
|
||||
wield_image = "bbq_paprika.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_paprika.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
--Ground Pepper
|
||||
minetest.register_node("bbq:pepper_ground", {
|
||||
description = ("Ground Pepper"),
|
||||
@ -219,6 +558,29 @@ minetest.register_node("bbq:brine", {
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Pickled Peppers
|
||||
minetest.register_node("bbq:pickled_peppers", {
|
||||
description = ("Pickled Peppers"),
|
||||
inventory_image = "bbq_pickled_peppers.png",
|
||||
wield_image = "bbq_pickled_peppers.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_pickled_peppers.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
-- Steak Sauce
|
||||
minetest.register_node("bbq:steak_sauce", {
|
||||
description = ("Steak Sauce"),
|
||||
inventory_image = "bbq_steak_sauce.png",
|
||||
wield_image = "bbq_steak_sauce.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_steak_sauce.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Liquid Smoke
|
||||
minetest.register_node("bbq:liquid_smoke", {
|
||||
description = ("Liquid Smoke"),
|
||||
@ -241,6 +603,17 @@ minetest.register_node("bbq:sugar", {
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Molasses
|
||||
minetest.register_node("bbq:molasses", {
|
||||
description = ("Molasses"),
|
||||
inventory_image = "bbq_molasses.png",
|
||||
wield_image = "bbq_molasses.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_molasses.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Hot Sauce
|
||||
minetest.register_node("bbq:hot_sauce", {
|
||||
description = ("Hot Sauce"),
|
||||
@ -287,7 +660,7 @@ minetest.register_node("bbq:beef_map", {
|
||||
})
|
||||
|
||||
minetest.register_node("bbq:smoker_blueprint", {
|
||||
description = "Beef Map",
|
||||
description = "Smoker Blueprint",
|
||||
inventory_image = "bbq_smoker_blueprint.png",
|
||||
tiles = {
|
||||
"default_pine_wood.png", "default_pine_wood.png",
|
||||
@ -316,7 +689,7 @@ minetest.register_node("bbq:yeast", {
|
||||
wield_image = "bbq_yeast.png",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bbq_yeast.png"},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
groups = {mother=1, vessel = 1, dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
|
@ -3,32 +3,47 @@ A BBQ add-on for Minetest.
|
||||
Depends on (and expands upon) Mobs-Redo and it's animals add-ons.
|
||||
Causes cows to drop beef and lambs to drop button.
|
||||
|
||||
Play's nice with Crops, Food, and Farming Redo addons. Can use tomatos, chili peppers, cheese, sugar, and honey from Crops, Food, Farming Redo, and Mobs-Redo add-ons. Also compatible with my expansion of the Crops add-on (adds peppers, peppercorns, and ground pepper to the Crops add-on, all are present in this addon but without the actual pepper plant).
|
||||
Play's nice with Crops, Food, and Farming Redo addons. Can use potatos, corn, tomatos, chili peppers, cheese, sugar, and honey from Crops, Food, Farming Redo, and Mobs-Redo add-ons. Also compatible with my expansion of the Crops add-on (adds peppers, peppercorns, and ground pepper to the Crops add-on, all are present in this addon but without the actual pepper plant).
|
||||
|
||||
Upgrades the BTUs of wood and wood planks in a realistic way when used in furnaces (including the smoker). Allows trees, slabs, and sticks to be stored in woodpile.
|
||||
Adds propane and charcoal fuels.
|
||||
|
||||
All spices and sauces can be placed on the vessels shelf. Also added support for placing the bucket in the vessels shelf.
|
||||
|
||||
Adds the following items:
|
||||
|
||||
Smoker
|
||||
Kettle Gril
|
||||
Beef Map (Wall Hanging)
|
||||
Smoker Blueprint (Wall Hanging)
|
||||
Wood Pile
|
||||
Lump Charcoal (fuel)
|
||||
Charcoal Briquettes (fuel)
|
||||
Bag O' Charcoal (fuel)
|
||||
Propane (fuel)
|
||||
Sawdust
|
||||
Foil
|
||||
|
||||
Peppercorn
|
||||
Ground Pepper
|
||||
Paprika
|
||||
Sea Salt
|
||||
Sugar
|
||||
Molasses (byproduct of Sugar)
|
||||
Yeast (Can be found when harvesting grass and jungle grass)
|
||||
|
||||
Bell Pepper
|
||||
Tomato
|
||||
Potato
|
||||
Tomato
|
||||
|
||||
Brine
|
||||
Liquid Smoke
|
||||
Hot suace
|
||||
BBQ Sauce
|
||||
Steak sauce
|
||||
Vinegar
|
||||
Vinegar Mother
|
||||
|
||||
Mutton (Raw & Cooked)
|
||||
Beef (Raw & Cooked)
|
||||
@ -44,4 +59,18 @@ Hot Dog
|
||||
Beef Jerky (Raw & Cooked)
|
||||
Pepper Steak (Raw & Cooked)
|
||||
Bacon (Raw & Cooked)
|
||||
Stuffed Pepper (Raw & Cooked)
|
||||
Stuffed Pepper
|
||||
Beer
|
||||
Cheese Steak (Raw & Cooked)
|
||||
Pizza (Raw & Cooked)
|
||||
Grilled Tomato
|
||||
Brisket (Raw & Cooked)
|
||||
Corned Beef (Raw & Cooked)
|
||||
Veggie Kebabs (Raw & Cooked)
|
||||
Lamb Kebabs (Raw & Cooked)
|
||||
Smoked Pepper (Raw & Cooked)
|
||||
Grilled Corn (Raw & Cooked)
|
||||
Stuffed Mushroom (Raw & Cooked)
|
||||
Portabella Steaks (Raw & Cooked)
|
||||
Pickled peppers
|
||||
Veggie Packets (Raw & Cooked)
|
||||
|
1
init.lua
1
init.lua
@ -1,5 +1,6 @@
|
||||
dofile(minetest.get_modpath("bbq").."/cooking.lua")
|
||||
dofile(minetest.get_modpath("bbq").."/crafts.lua")
|
||||
dofile(minetest.get_modpath("bbq").."/kettle.lua")
|
||||
dofile(minetest.get_modpath("bbq").."/smoker.lua")
|
||||
dofile(minetest.get_modpath("bbq").."/overrides.lua")
|
||||
dofile(minetest.get_modpath("bbq").."/woodpile.lua")
|
||||
|
491
kettle.lua
Normal file
491
kettle.lua
Normal file
@ -0,0 +1,491 @@
|
||||
|
||||
--
|
||||
-- Formspecs
|
||||
--
|
||||
|
||||
function default.get_smoker_active_formspec(fuel_percent, item_percent)
|
||||
return "size[8,8.5]"..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
default.gui_slots..
|
||||
"list[context;src;2.75,0.5;1,1;]"..
|
||||
"list[context;fuel;2.75,2.5;1,1;]"..
|
||||
"image[2.75,1.5;1,1;bbq_kettle_grill_fire_bg.png^[lowpart:"..
|
||||
(100-fuel_percent)..":bbq_kettle_grill_fire_fg.png]"..
|
||||
"image[3.75,1.5;1,1;gui_smoker_arrow_bg.png^[lowpart:"..
|
||||
(item_percent)..":gui_smoker_arrow_fg.png^[transformR270]"..
|
||||
"list[context;dst;4.8,0.5;3,3;]"..
|
||||
"list[current_player;main;0,4.25;8,1;]"..
|
||||
"list[current_player;main;0,5.5;8,3;8]"..
|
||||
"listring[context;dst]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;src]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;fuel]"..
|
||||
"listring[current_player;main]"..
|
||||
default.get_hotbar_bg(0, 4.25)
|
||||
end
|
||||
|
||||
function default.get_smoker_inactive_formspec()
|
||||
return "size[8,8.5]"..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
default.gui_slots..
|
||||
"list[context;src;2.75,0.5;1,1;]"..
|
||||
"list[context;fuel;2.75,2.5;1,1;]"..
|
||||
"image[2.75,1.5;1,1;bbq_kettle_grill_fire_bg.png]"..
|
||||
"image[3.75,1.5;1,1;gui_smoker_arrow_bg.png^[transformR270]"..
|
||||
"list[context;dst;4.8,0.5;3,3;]"..
|
||||
"list[current_player;main;0,4.25;8,1;]"..
|
||||
"list[current_player;main;0,5.5;8,3;8]"..
|
||||
"listring[context;dst]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;src]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;fuel]"..
|
||||
"listring[current_player;main]"..
|
||||
default.get_hotbar_bg(0, 4.25)
|
||||
end
|
||||
|
||||
--
|
||||
-- Node callback functions that are the same for active and inactive smoker
|
||||
--
|
||||
|
||||
local function can_dig(pos, player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src")
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "fuel" then
|
||||
if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", "smoker is empty")
|
||||
end
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif listname == "src" then
|
||||
return stack:get_count()
|
||||
elseif listname == "dst" then
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack(from_list, from_index)
|
||||
return allow_metadata_inventory_put(pos, to_list, to_index, stack, player)
|
||||
end
|
||||
|
||||
local function allow_metadata_inventory_take(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
return stack:get_count()
|
||||
end
|
||||
|
||||
local function swap_node(pos, name)
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == name then
|
||||
return
|
||||
end
|
||||
node.name = name
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
|
||||
local function smoker_node_timer(pos, elapsed)
|
||||
--
|
||||
-- Inizialize metadata
|
||||
--
|
||||
local meta = minetest.get_meta(pos)
|
||||
local fuel_time = meta:get_float("fuel_time") or 0
|
||||
local src_time = meta:get_float("src_time") or 0
|
||||
local fuel_totaltime = meta:get_float("fuel_totaltime") or 0
|
||||
|
||||
local inv = meta:get_inventory()
|
||||
local srclist, fuellist
|
||||
|
||||
local cookable, cooked
|
||||
local fuel
|
||||
|
||||
local update = true
|
||||
while elapsed > 0 and update do
|
||||
update = false
|
||||
|
||||
srclist = inv:get_list("src")
|
||||
fuellist = inv:get_list("fuel")
|
||||
|
||||
--
|
||||
-- Cooking
|
||||
--
|
||||
|
||||
-- Check if we have cookable content
|
||||
local aftercooked
|
||||
cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
cookable = cooked.time ~= 0
|
||||
|
||||
local el = math.min(elapsed, fuel_totaltime - fuel_time)
|
||||
|
||||
|
||||
if cookable then -- fuel lasts long enough, adjust el to cooking duration
|
||||
el = math.min(el, cooked.time - src_time)
|
||||
end
|
||||
|
||||
-- Check if we have enough fuel to burn
|
||||
if fuel_time < fuel_totaltime then
|
||||
-- The smoker is currently active and has enough fuel
|
||||
fuel_time = fuel_time + el
|
||||
-- If there is a cookable item then check if it is ready yet
|
||||
if cookable then
|
||||
src_time = src_time + el
|
||||
if src_time >= cooked.time then
|
||||
-- Place result in dst list if possible
|
||||
if inv:room_for_item("dst", cooked.item) then
|
||||
inv:add_item("dst", cooked.item)
|
||||
inv:set_stack("src", 1, aftercooked.items[1])
|
||||
src_time = src_time - cooked.time
|
||||
update = true
|
||||
end
|
||||
else
|
||||
-- Item could not be cooked: probably missing fuel
|
||||
update = true
|
||||
end
|
||||
end
|
||||
else
|
||||
-- smoker ran out of fuel
|
||||
if cookable then
|
||||
-- We need to get new fuel
|
||||
local afterfuel
|
||||
fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})
|
||||
|
||||
if fuel.time == 0 then
|
||||
-- No valid fuel in fuel list
|
||||
fuel_totaltime = 0
|
||||
src_time = 0
|
||||
else
|
||||
-- Take fuel from fuel list
|
||||
inv:set_stack("fuel", 1, afterfuel.items[1])
|
||||
update = true
|
||||
fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time)
|
||||
end
|
||||
else
|
||||
-- We don't need to get new fuel since there is no cookable item
|
||||
fuel_totaltime = 0
|
||||
src_time = 0
|
||||
end
|
||||
fuel_time = 0
|
||||
end
|
||||
|
||||
elapsed = elapsed - el
|
||||
end
|
||||
|
||||
if fuel and fuel_totaltime > fuel.time then
|
||||
fuel_totaltime = fuel.time
|
||||
end
|
||||
if srclist[1]:is_empty() then
|
||||
src_time = 0
|
||||
end
|
||||
|
||||
--
|
||||
-- Update formspec, infotext and node
|
||||
--
|
||||
local formspec
|
||||
local item_state
|
||||
local item_percent = 0
|
||||
if cookable then
|
||||
item_percent = math.floor(src_time / cooked.time * 100)
|
||||
if item_percent > 100 then
|
||||
item_state = "100% (output full)"
|
||||
else
|
||||
item_state = item_percent .. "%"
|
||||
end
|
||||
else
|
||||
if srclist[1]:is_empty() then
|
||||
item_state = "Empty"
|
||||
else
|
||||
item_state = "Not cookable"
|
||||
end
|
||||
end
|
||||
|
||||
local fuel_state = "Empty"
|
||||
local active = "inactive"
|
||||
local result = false
|
||||
|
||||
if fuel_totaltime ~= 0 then
|
||||
active = "active"
|
||||
local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100)
|
||||
fuel_state = fuel_percent .. "%"
|
||||
formspec = default.get_smoker_active_formspec(fuel_percent, item_percent)
|
||||
swap_node(pos, "bbq:kettle_grill_active")
|
||||
-- make sure timer restarts automatically
|
||||
result = true
|
||||
else
|
||||
if not fuellist[1]:is_empty() then
|
||||
fuel_state = "0%"
|
||||
end
|
||||
formspec = default.get_smoker_inactive_formspec()
|
||||
swap_node(pos, "bbq:kettle_grill")
|
||||
-- stop timer on the inactive smoker
|
||||
minetest.get_node_timer(pos):stop()
|
||||
end
|
||||
|
||||
local infotext = "smoker " .. active .. "\n(Item: " .. item_state ..
|
||||
"; Fuel: " .. fuel_state .. ")"
|
||||
|
||||
--
|
||||
-- Set meta values
|
||||
--
|
||||
meta:set_float("fuel_totaltime", fuel_totaltime)
|
||||
meta:set_float("fuel_time", fuel_time)
|
||||
meta:set_float("src_time", src_time)
|
||||
meta:set_string("formspec", formspec)
|
||||
meta:set_string("infotext", infotext)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
-------------------
|
||||
-- Node definitions
|
||||
-------------------
|
||||
|
||||
minetest.register_node("bbq:kettle_grill", {
|
||||
description = "Kettle Grill",
|
||||
inventory_image = "bbq_kettle_grill_inv.png",
|
||||
wield_image = "bbq_kettle_grill_inv.png",
|
||||
|
||||
tiles = {
|
||||
"bbq_kettle_grill_ext_top.png", "bbq_kettle_grill_ext_top.png",
|
||||
"bbq_kettle_grill_ext.png", "bbq_kettle_grill_ext.png",
|
||||
"bbq_kettle_grill_ext.png", "bbq_kettle_grill_ext.png",
|
||||
},
|
||||
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.3, 0.5}, -- main body
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
groups = {cracky=2},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
|
||||
|
||||
can_dig = can_dig,
|
||||
|
||||
on_timer = smoker_node_timer,
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", default.get_smoker_inactive_formspec())
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('src', 1)
|
||||
inv:set_size('fuel', 1 )
|
||||
inv:set_size('dst', 9)
|
||||
end,
|
||||
|
||||
on_metadata_inventory_move = function(pos)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether smoker can burn or not.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_blast = function(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "src", drops)
|
||||
default.get_inventory_drops(pos, "fuel", drops)
|
||||
default.get_inventory_drops(pos, "dst", drops)
|
||||
drops[#drops+1] = "bbq:kettle_grill"
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z},{name = "bbq:kettle_grill_base", param2=minetest.dir_to_facedir(placer:get_look_dir())});
|
||||
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "bbq:kettle_grill", param2=minetest.dir_to_facedir(placer:get_look_dir())});
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
if minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "bbq:kettle_grill_base" then
|
||||
minetest.set_node({x = pos.x, y = pos.y - 1, z = pos.z},{name = "air"}) end
|
||||
end,
|
||||
|
||||
})
|
||||
|
||||
minetest.register_node("bbq:kettle_grill_active", {
|
||||
description = "Kettle Grill Active",
|
||||
inventory_image = "bbq_kettle_grill_inv.png",
|
||||
wield_image = "bbq_kettle_grill_inv.png",
|
||||
|
||||
tiles = {
|
||||
"bbq_kettle_grill_ext_top_ani.png", "bbq_kettle_grill_ext_top.png",
|
||||
"bbq_kettle_grill_ext_ani.png", "bbq_kettle_grill_ext_ani.png",
|
||||
"bbq_kettle_grill_ext_ani.png", "bbq_kettle_grill_ext_ani.png",
|
||||
},
|
||||
|
||||
tiles = {
|
||||
"bbq_kettle_grill_ext_top_ani.png", "bbq_kettle_grill_ext_top.png",
|
||||
|
||||
{
|
||||
image = "bbq_kettle_grill_ext_ani.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
image = "bbq_kettle_grill_ext_ani.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
image = "bbq_kettle_grill_ext_ani.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
image = "bbq_kettle_grill_ext_ani.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 1.5
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, -- main body
|
||||
{-0.18, -0.3, -0.0, 0.18, .4, 0.0}, -- smoke
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
drop = "bbq:kettle_grill",
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
on_timer = smoker_node_timer,
|
||||
|
||||
can_dig = can_dig,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z},{name = "bbq:kettle_grill_base", param2=minetest.dir_to_facedir(placer:get_look_dir())});
|
||||
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "bbq:kettle_grill", param2=minetest.dir_to_facedir(placer:get_look_dir())});
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
if minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "bbq:kettle_grill_base" then
|
||||
minetest.set_node({x = pos.x, y = pos.y - 1, z = pos.z},{name = "air"}) end
|
||||
end,
|
||||
|
||||
})
|
||||
|
||||
minetest.register_node("bbq:kettle_grill_base", {
|
||||
description = "Kettle Grill Base",
|
||||
|
||||
tiles = {
|
||||
"bbq_chrome_top.png", "bbq_chrome_bottom.png^[transformFY",
|
||||
"bbq_chrome.png^[transformFX", "bbq_chrome.png",
|
||||
"bbq_chrome_side.png", "bbq_chrome_side.png",
|
||||
},
|
||||
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.45, 0.4, -0.45, 0.45, 0.5, 0.45}, -- main body
|
||||
{-0.4, 0.313, -0.4, 0.4, 0.5, 0.4}, -- main body
|
||||
{-0.1, 0.1, -0.05, 0.05, 0.5, 0.05}, -- catch can
|
||||
{-0.342, -0.5, -0.35, -0.292, 0.5, -0.30}, -- leg
|
||||
{-0.342, -0.5, 0.35, -0.292, 0.5, 0.30}, -- leg
|
||||
{0.342, -0.5, -0.35, 0.292, 0.5, -0.30}, -- leg
|
||||
{0.342, -0.5, 0.35, 0.292, 0.5, 0.30}, -- leg
|
||||
{-0.342, -0.3, -0.35, 0.35, -0.35, -0.30}, -- cross support
|
||||
{-0.342, -0.3, 0.35, 0.30, -0.35, 0.30}, -- cross support
|
||||
{0.342, -0.3, -0.35, 0.30, -0.35, 0.35}, -- cross support
|
||||
{-0.342, -0.3, -0.35, -0.30, -0.35, 0.35}, -- cross support
|
||||
{-0.30, -0.315, -0.2, 0.30, -0.335, -0.18}, -- grid
|
||||
{-0.30, -0.315, 0.2, 0.30, -0.335, 0.18}, -- grid
|
||||
{-0.30, -0.315, -0.06, 0.30, -0.335, -0.08}, -- grid
|
||||
{-0.30, -0.315, 0.06, 0.30, -0.335, 0.08}, -- grid
|
||||
{-0.2, -0.315, 0.30, -0.18, -0.335, -0.30}, -- grid
|
||||
{0.2, -0.315, 0.30, 0.18, -0.335, -0.30}, -- grid
|
||||
{-0.06, -0.315, 0.30, -0.08, -0.335, -0.30}, -- grid
|
||||
{0.06, -0.315, 0.30, 0.08, -0.335, -0.30}, -- grid
|
||||
|
||||
{-0.468, -0.5, -0.425, -0.35, -0.25, -0.225}, -- wheel
|
||||
{-0.468, -0.475, -0.45, -0.35, -0.275, -0.20}, -- wheel
|
||||
{-0.475, -0.375, -0.345, -0.415, -0.345, -0.315}, -- bolt
|
||||
|
||||
{0.45, -0.5, -0.425, 0.35, -0.25, -0.225}, -- wheel
|
||||
{0.45, -0.475, -0.45, 0.35, -0.275, -0.20}, -- wheel
|
||||
{0.475, -0.375, -0.345, 0.415, -0.345, -0.315}, -- bolt
|
||||
|
||||
{-0.29, -0.5, 0.36, -0.36, -0.4375, 0.29}, -- foot
|
||||
{0.29, -0.5, 0.36, 0.36, -0.4375, 0.29}, -- foot
|
||||
|
||||
-- {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- main body
|
||||
},
|
||||
},
|
||||
groups = {cracky=2, not_in_creative_inventory=1},
|
||||
drop = "bbq:kettle_grill",
|
||||
after_destruct = function(pos, oldnode)
|
||||
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "air"})
|
||||
end,
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "bbq:kettle_grill", param2=minetest.dir_to_facedir(placer:get_look_dir())});
|
||||
|
||||
end,
|
||||
|
||||
})
|
@ -38,6 +38,18 @@ minetest.override_item("crops:peppercorn", {
|
||||
})
|
||||
end
|
||||
|
||||
if minetest.registered_items["crops:corn_cob"] ~= nil then
|
||||
minetest.override_item("crops:corn_cob", {
|
||||
groups = {corn=1},
|
||||
})
|
||||
end
|
||||
|
||||
if minetest.registered_items["crops:potato"] ~= nil then
|
||||
minetest.override_item("crops:potato", {
|
||||
groups = {potato=1},
|
||||
})
|
||||
end
|
||||
|
||||
-------------------------
|
||||
--Add food to Like Groups
|
||||
-------------------------
|
||||
@ -62,9 +74,16 @@ minetest.override_item("food:sugar", {
|
||||
})
|
||||
end
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
-----CHECK FOR FARMING REDO ADDON-------------------------------
|
||||
if minetest.registered_items["food:potato"] ~= nil then
|
||||
minetest.override_item("food:potato", {
|
||||
groups = {potato=1},
|
||||
})
|
||||
end
|
||||
|
||||
-------------------------------
|
||||
---CHECK FOR FARMING REDO ADDON
|
||||
-------------------------------
|
||||
if minetest.registered_items["farming:chili_pepper"] ~= nil then
|
||||
minetest.override_item("farming:chili_pepper", {
|
||||
groups = {pepper=1},
|
||||
@ -81,7 +100,20 @@ if minetest.registered_items["farming:tomato"] ~= nil then
|
||||
minetest.override_item("farming:tomato", {
|
||||
groups = {tomato=1},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if minetest.registered_items["farming:corn"] ~= nil then
|
||||
minetest.override_item("farming:corn", {
|
||||
groups = {corn=1},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if minetest.registered_items["farming:potato"] ~= nil then
|
||||
minetest.override_item("farming:potato", {
|
||||
groups = {potato=1},
|
||||
})
|
||||
end
|
||||
---------------------------------------------------------
|
||||
|
||||
|
BIN
screenshot1.png
BIN
screenshot1.png
Binary file not shown.
Before Width: | Height: | Size: 706 KiB After Width: | Height: | Size: 566 KiB |
Binary file not shown.
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 145 KiB |
Loading…
Reference in New Issue
Block a user