summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororwell <orwell@bleipb.de>2023-10-14 19:41:34 +0200
committerorwell <orwell@bleipb.de>2023-10-14 19:41:51 +0200
commit074a5069aa6e59c9391c0c27592d014157e0224b (patch)
treed47daa1d1d3d43777fb0f3804356043c349b7836
parent15129e226831238bbbd5037e1ca2fc052d48d11c (diff)
downloadkebab-master.tar.gz
kebab-master.tar.bz2
kebab-master.zip
Add chicken kebab; add vegetables to doener craft recipeHEADmaster
-rw-r--r--init.lua258
-rw-r--r--textures/kebab_chickendoener.pngbin0 -> 4496 bytes
-rw-r--r--textures/kebab_chickenkebab.pngbin0 -> 4827 bytes
-rw-r--r--textures/kebab_chickenmeat.pngbin0 -> 4872 bytes
4 files changed, 147 insertions, 111 deletions
diff --git a/init.lua b/init.lua
index c1c6239..3adbdd4 100644
--- a/init.lua
+++ b/init.lua
@@ -14,28 +14,22 @@
-- You should have received a copy of the GNU Affero General Public License
-- along with this program. If not, see <https://www.gnu.org/licenses/>.
+-- Functions and definitions
kebab = {}
-minetest.register_craftitem("kebab:kebab_meat", {
- description = "Kebab Meat",
- inventory_image = "kebab_meat.png",
-})
-minetest.register_craftitem("kebab:doner_kebab", {
- description = "Kebab Sandwich",
- inventory_image = "kebab_doener.png",
- on_use = minetest.item_eat(8),
-})
+
kebab.cut_kebab = function (pos)
- local node = minetest.get_node(pos)
- number = node.name:match("%d")
- if tonumber(number) > 1 then
- node.name = "kebab:kebab_"..number-1
- minetest.swap_node(pos, node)
- return "kebab:kebab_meat"
- elseif tonumber(number) == 1 then
- minetest.set_node(pos, {name="air"})
- return "kebab:kebab_meat"
- end
+ local node = minetest.get_node(pos)
+ local ndef = minetest.registered_nodes[node.name]
+ if not ndef then return nil end
+ if ndef.kebab_next_stage then
+ node.name = ndef.kebab_next_stage
+ minetest.swap_node(pos, node)
+ end
+ if ndef.kebab_cut_meat then
+ return ndef.kebab_cut_meat
+ end
+ return nil
end
local function player_cut_kebab(pos, node, player)
@@ -45,105 +39,116 @@ local function player_cut_kebab(pos, node, player)
end
+function kebab.register_kebab_rotisserie(node_name, description, texture, cut_meat_item)
+ minetest.register_node(node_name.."_4", {
+ tiles = {
+ texture
+ },
+ description = description,
+ drawtype = "nodebox",
+ paramtype = "light",
+ groups = { kebab_rotisserie = 4 },
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
+ {-0.1875, -0.375, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox2
+ {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
+ {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
+ }
+ },
+ on_punch = player_cut_kebab,
+ kebab_cut_meat = cut_meat_item,
+ kebab_next_stage = node_name.."_3"
+ })
+ minetest.register_node(node_name.."_3", {
+ tiles = {
+ texture
+ },
+ description = description,
+ drawtype = "nodebox",
+ paramtype = "light",
+ groups = { kebab_rotisserie = 3 },
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
+ {-0.1875, -0.375, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox2
+ -- {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
+ {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
+ }
+ },
+ on_punch = player_cut_kebab,
+ kebab_cut_meat = cut_meat_item,
+ kebab_next_stage = node_name.."_2"
+ })
+ minetest.register_node(node_name.."_2", {
+ tiles = {
+ texture
+ },
+ description = description,
+ drawtype = "nodebox",
+ paramtype = "light",
+ groups = { kebab_rotisserie = 2 },
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
+ {-0.1875, -0.25, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox2
+ {-0.125, -0.375, -0.125, 0.125, 0.375, 0.125}, -- NodeBox2
+ -- {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
+ -- {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
+ }
+ },
+ on_punch = player_cut_kebab,
+ kebab_cut_meat = cut_meat_item,
+ kebab_next_stage = node_name.."_1"
+ })
+ minetest.register_node(node_name.."_1", {
+ tiles = {
+ texture
+ },
+ description = description,
+ drawtype = "nodebox",
+ paramtype = "light",
+ groups = { kebab_rotisserie = 1 },
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
+ {-0.125, -0.375, -0.125, 0.125, 0.375, 0.125}, -- NodeBox2
+ -- {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
+ -- {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
+ }
+ },
+ on_punch = player_cut_kebab,
+ kebab_cut_meat = cut_meat_item,
+ kebab_next_stage = "air"
+ })
+end
-minetest.register_node("kebab:kebab_4", {
- tiles = {
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png"
- },
- description = "Kebab rotisserie",
- drawtype = "nodebox",
- paramtype = "light",
- node_box = {
- type = "fixed",
- fixed = {
- {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
- {-0.1875, -0.375, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox2
- {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
- {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
- }
- },
- on_punch = player_cut_kebab,
-})
-minetest.register_node("kebab:kebab_3", {
- tiles = {
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png"
- },
- drawtype = "nodebox",
- description = "Kebab rotisserie",
- paramtype = "light",
- node_box = {
- type = "fixed",
- fixed = {
- {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
- {-0.1875, -0.375, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox2
--- {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
- {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
- }
- },
- on_punch = player_cut_kebab,
-})
-minetest.register_node("kebab:kebab_2", {
- tiles = {
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png"
- },
- drawtype = "nodebox",
- paramtype = "light",
- description = "Kebab rotisserie",
- node_box = {
- type = "fixed",
- fixed = {
- {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
- {-0.1875, -0.25, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox2
- {-0.125, -0.375, -0.125, 0.125, 0.375, 0.125}, -- NodeBox2
--- {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
--- {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
- }
- },
- on_punch = player_cut_kebab,
+-- Items
+
+-- Regular Kebab meat
+
+kebab.register_kebab_rotisserie("kebab:kebab", "Kebab rotisserie", "kebab_kebab.png", "kebab:kebab_meat")
+
+minetest.register_craftitem("kebab:kebab_meat", {
+ description = "Kebab Meat",
+ inventory_image = "kebab_meat.png",
})
-minetest.register_node("kebab:kebab_1", {
- tiles = {
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png",
- "kebab_kebab.png"
- },
- drawtype = "nodebox",
- description = "Kebab rotisserie",
- paramtype = "light",
- node_box = {
- type = "fixed",
- fixed = {
- {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox1
- {-0.125, -0.375, -0.125, 0.125, 0.375, 0.125}, -- NodeBox2
--- {-0.3125, -0.0625, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox3
--- {-0.25, -0.25, -0.25, 0.25, 0.375, 0.25}, -- NodeBox4
- }
- },
- on_punch = player_cut_kebab,
+
+minetest.register_craftitem("kebab:doner_kebab", {
+ description = "Doener Kebab Sandwich",
+ inventory_image = "kebab_doener.png",
+ on_use = minetest.item_eat(8),
})
minetest.register_craft({
output = "kebab:doner_kebab",
type = "shapeless",
- recipe = {"kebab:kebab_meat", "farming:bread"}
+ recipe = {"kebab:kebab_meat", "farming:bread",
+ "farming:tomato", "farming:cucumber", "group:food_onion", "farming:lettuce"}
})
minetest.register_craft({
@@ -153,3 +158,34 @@ minetest.register_craft({
{"", "default:stick", ""}}
})
+
+
+-- Chicken Kebab
+
+kebab.register_kebab_rotisserie("kebab:chickenkebab", "Chicken Kebab rotisserie", "kebab_chickenkebab.png", "kebab:chickenkebab_meat")
+
+minetest.register_craftitem("kebab:chickenkebab_meat", {
+ description = "Chicken Kebab Meat",
+ inventory_image = "kebab_chickenmeat.png",
+})
+
+minetest.register_craftitem("kebab:chicken_doner_kebab", {
+ description = "Chicken Doener Kebab Sandwich",
+ inventory_image = "kebab_doener.png",
+ on_use = minetest.item_eat(8),
+})
+
+minetest.register_craft({
+ output = "kebab:chicken_doner_kebab",
+ type = "shapeless",
+ recipe = {"kebab:chickenkebab_meat", "farming:bread",
+ "farming:tomato", "farming:cucumber", "group:food_onion", "farming:lettuce"}
+
+})
+minetest.register_craft({
+ output = "kebab:chickenkebab_4",
+ recipe = {{"", "default:stick", ""},
+ {"", "mobs:chicken_cooked", ""},
+ {"", "default:stick", ""}}
+
+})
diff --git a/textures/kebab_chickendoener.png b/textures/kebab_chickendoener.png
new file mode 100644
index 0000000..451e795
--- /dev/null
+++ b/textures/kebab_chickendoener.png
Binary files differ
diff --git a/textures/kebab_chickenkebab.png b/textures/kebab_chickenkebab.png
new file mode 100644
index 0000000..7d16274
--- /dev/null
+++ b/textures/kebab_chickenkebab.png
Binary files differ
diff --git a/textures/kebab_chickenmeat.png b/textures/kebab_chickenmeat.png
new file mode 100644
index 0000000..d23686a
--- /dev/null
+++ b/textures/kebab_chickenmeat.png
Binary files differ