From 16f5e8d6018153ae3c0150fff97d750fa839e7cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20P=C3=A9rez-Cerezo?= Date: Mon, 11 Dec 2017 18:44:37 +0100 Subject: First commit --- init.lua | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 init.lua (limited to 'init.lua') diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..c1c6239 --- /dev/null +++ b/init.lua @@ -0,0 +1,155 @@ +-- Kebab mod Copyright (C) 2017 Gabriel PĂ©rez-Cerezo +-- +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as +-- published by the Free Software Foundation, either version 3 of the +-- License, or (at your option) any later version. + +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. + +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + + +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 +end + +local function player_cut_kebab(pos, node, player) + if player:get_wielded_item():get_name():match("sword") and player:get_inventory():room_for_item("main", "kebab:kebab_meat") then + player:get_inventory():add_item("main", kebab.cut_kebab(pos)) + end + +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, +}) +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_craft({ + output = "kebab:doner_kebab", + type = "shapeless", + recipe = {"kebab:kebab_meat", "farming:bread"} + +}) +minetest.register_craft({ + output = "kebab:kebab_4", + recipe = {{"", "default:stick", ""}, + {"", "mobs:meat", ""}, + {"", "default:stick", ""}} + +}) -- cgit v1.2.3