summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md16
-rw-r--r--depends.txt6
-rw-r--r--init.lua231
-rw-r--r--textures/wine_blue_agave.pngbin0 -> 320 bytes
-rw-r--r--textures/wine_tequila.pngbin0 -> 147 bytes
-rw-r--r--textures/wine_tequila_bottle.pngbin0 -> 211 bytes
6 files changed, 182 insertions, 71 deletions
diff --git a/README.md b/README.md
index 300303e..010f6c7 100644
--- a/README.md
+++ b/README.md
@@ -13,5 +13,19 @@ Change log:
- 0.3 - New barrel model from cottages mod (thanks Napiophelios), also wine glass can be placed
- 0.4 - Added ability to ferment barley from farming redo into beer and also honey from mobs redo into honey mead
- 0.5 - Added apple cider
+- 0.6 - Added API so drinks can easily be added, also added wheat beer thanks to h-v-smacker and support for pipeworks/tubelib
-Lucky Blocks: 7
+Lucky Blocks: 8
+
+
+Wine Mod API
+------------
+
+wine:add_item(list)
+
+e.g.
+
+wine:add_item({
+ {"farming:barley", "wine:glass_beer"},
+ {"default:apple", "wine:glass_cider"},
+})
diff --git a/depends.txt b/depends.txt
index 6efe685..af2d4c5 100644
--- a/depends.txt
+++ b/depends.txt
@@ -1,4 +1,8 @@
default
intllib?
lucky_block?
-pipeworks? \ No newline at end of file
+<<<<<<< HEAD
+pipeworks?
+=======
+pipeworks?
+>>>>>>> upstream/master
diff --git a/init.lua b/init.lua
index d73bd56..c843273 100644
--- a/init.lua
+++ b/init.lua
@@ -1,4 +1,6 @@
+wine = {}
+
-- Intllib
local S
if minetest.get_modpath("intllib") then
@@ -20,6 +22,24 @@ else
end
end
+
+local ferment = {
+ {"farming:grapes", "wine:glass_wine"},
+ {"farming:barley", "wine:glass_beer"},
+ {"mobs:honey", "wine:glass_mead"},
+ {"default:apple", "wine:glass_cider"},
+ {"wine:blue_agave", "wine:glass_tequila"},
+ {"farming:wheat", "wine:glass_wheat_beer"},
+}
+
+function wine:add_item(list)
+
+ for n = 1, #list do
+ table.insert(ferment, list[n])
+ end
+end
+
+
-- glass of wine
minetest.register_node("wine:glass_wine", {
description = S("Glass of Wine"),
@@ -73,6 +93,28 @@ minetest.register_craft({
recipe = {"wine:bottle_wine"},
})
+-- glass of weizen, or wheat beer
+-- The image is a lighter version of the one from RiverKpocc @ deviantart.com
+minetest.register_node("wine:glass_wheat_beer", {
+ description = S("Wheat Beer"),
+ drawtype = "torchlike", --"plantlike",
+ visual_scale = 0.8,
+ tiles = {"wine_wheat_beer_glass.png"},
+ inventory_image = "wine_wheat_beer_glass.png",
+ wield_image = "wine_wheat_beer_glass.png",
+ paramtype = "light",
+ is_ground_content = false,
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.5, -0.2, 0.2, 0.3, 0.2}
+ },
+ groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
+ sounds = default.node_sound_glass_defaults(),
+ on_use = minetest.item_eat(2),
+})
+
-- glass of beer (thanks to RiverKpocc @ deviantart.com for image)
minetest.register_node("wine:glass_beer", {
description = S("Beer"),
@@ -158,16 +200,96 @@ minetest.register_node("wine:glass_cider", {
on_use = minetest.item_eat(2),
})
+-- glass of tequila
+minetest.register_node("wine:glass_tequila", {
+ description = "Tequila",
+ drawtype = "plantlike",
+ visual_scale = 0.8,
+ tiles = {"wine_tequila.png"},
+ inventory_image = "wine_tequila.png",
+ wield_image = "wine_tequila.png",
+ paramtype = "light",
+ is_ground_content = false,
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.5, -0.2, 0.2, 0.3, 0.2}
+ },
+ groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
+ sounds = default.node_sound_glass_defaults(),
+ on_use = minetest.item_eat(2),
+})
+
+-- bottle of tequila
+minetest.register_node("wine:bottle_tequila", {
+ description = "Bottle of Tequila",
+ drawtype = "plantlike",
+ tiles = {"wine_tequila_bottle.png"},
+ inventory_image = "wine_tequila_bottle.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.15, -0.5, -0.15, 0.15, 0.25, 0.15 }
+ },
+ groups = {dig_immediate = 3, attached_node = 1},
+ sounds = default.node_sound_defaults(),
+})
+
+minetest.register_craft({
+ output = "wine:bottle_tequila",
+ recipe = {
+ {"wine:glass_tequila", "wine:glass_tequila", "wine:glass_tequila"},
+ {"wine:glass_tequila", "wine:glass_tequila", "wine:glass_tequila"},
+ {"wine:glass_tequila", "wine:glass_tequila", "wine:glass_tequila"},
+ },
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "wine:glass_tequila 9",
+ recipe = {"wine:bottle_tequila"},
+})
+
+-- blue agave
+minetest.register_node("wine:blue_agave", {
+ description = "Blue Agave",
+ drawtype = "plantlike",
+ visual_scale = 0.8,
+ tiles = {"wine_blue_agave.png"},
+ inventory_image = "wine_blue_agave.png",
+ wield_image = "wine_blue_agave.png",
+ paramtype = "light",
+ is_ground_content = false,
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.5, -0.2, 0.2, 0.3, 0.2}
+ },
+ groups = {dig_immediate = 3, attached_node = 1},
+ sounds = default.node_sound_leaves_defaults(),
+})
+
+minetest.register_craft( {
+ type = "shapeless",
+ output = "dye:cyan 4",
+ recipe = {"wine:blue_agave"}
+})
+
-- Wine barrel
winebarrel_formspec = "size[8,9]"
.. default.gui_bg..default.gui_bg_img..default.gui_slots
.. "list[current_name;src;2,1;1,1;]"
- .. "list[current_name;dst;5,1;2,2;]"
+ .. "list[current_name;dst;5,1;1,1;]"
.. "list[current_player;main;0,5;8,4;]"
.. "listring[current_name;dst]"
.. "listring[current_player;main]"
.. "listring[current_name;src]"
.. "listring[current_player;main]"
+ .. "image[3.5,1;1,1;gui_furnace_arrow_bg.png^[transformR270]"
minetest.register_node("wine:wine_barrel", {
description = S("Fermenting Barrel"),
@@ -176,7 +298,12 @@ minetest.register_node("wine:wine_barrel", {
mesh = "wine_barrel.obj",
paramtype = "light",
paramtype2 = "facedir",
- groups = {choppy = 2, oddly_breakable_by_hand = 1, tubedevice = 1, tubedevice_receiver = 1},
+
+ groups = {
+ choppy = 2, oddly_breakable_by_hand = 1, flammable = 2,
+ tubedevice = 1, tubedevice_receiver = 1
+ },
+
legacy_facedir_simple = true,
-- on_place = minetest.rotate_node,
@@ -187,7 +314,7 @@ minetest.register_node("wine:wine_barrel", {
meta:set_float("status", 0.0)
local inv = meta:get_inventory()
inv:set_size("src", 1)
- inv:set_size("dst", 4)
+ inv:set_size("dst", 1)
end,
can_dig = function(pos,player)
@@ -245,7 +372,7 @@ minetest.register_node("wine:wine_barrel", {
return 0
end
end,
-
+
tube = (function() if minetest.get_modpath("pipeworks") then return {
-- using a different stack from defaut when inserting
insert_object = function(pos, node, stack, direction)
@@ -295,80 +422,42 @@ minetest.register_abm({
return
end
- -- does it contain grapes or barley?
- if not inv:contains_item("src", ItemStack("farming:grapes"))
- and not inv:contains_item("src", ItemStack("farming:barley"))
- and not inv:contains_item("src", ItemStack("farming:wheat"))
- and not inv:contains_item("src", ItemStack("default:apple"))
- and not inv:contains_item("src", ItemStack("mobs:honey")) then
+
+ -- does it contain any of the source items on the list?
+ local has_item
+ for n = 1, #ferment do
+ if inv:contains_item("src", ItemStack(ferment[n][1])) then
+ has_item = n
+ break
+ end
+ end
+ if not has_item then
return
end
- -- is barrel full
- if not inv:room_for_item("dst", "wine:glass_wine")
- or not inv:room_for_item("dst", "wine:glass_beer")
- or not inv:room_for_item("dst", "wine:glass_wheat_beer")
- or not inv:room_for_item("dst", "wine:glass_cider")
- or not inv:room_for_item("dst", "wine:glass_mead") then
+ -- is there room for additional fermentation?
+ if not inv:room_for_item("dst", ferment[has_item][2]) then
+
meta:set_string("infotext", S("Fermenting Barrel (FULL)"))
return
end
- -- do we have any grapes to ferment?
- if not inv:is_empty("src") then
-
- local status = meta:get_float("status")
-
- -- fermenting (change status)
- if status < 100 then
- meta:set_string("infotext", S("Fermenting Barrel (@1% Done)", status))
- meta:set_float("status", status + 5)
-
- else
+ local status = meta:get_float("status")
- if inv:contains_item("src", "farming:grapes") then
- --fermented (take grapes and add glass of wine)
- inv:remove_item("src", "farming:grapes")
- inv:add_item("dst", "wine:glass_wine")
- meta:set_float("status", 0.0)
+ -- fermenting (change status)
+ if status < 100 then
+ meta:set_string("infotext", S("Fermenting Barrel (@1% Done)", status))
+ meta:set_float("status", status + 5)
- elseif inv:contains_item("src", "farming:barley") then
-
- --fermented (take barley and add glass of beer)
- inv:remove_item("src", "farming:barley")
- inv:add_item("dst", "wine:glass_beer")
- meta:set_float("status", 0.0)
-
- elseif inv:contains_item("src", "farming:wheat") then
-
- --fermented (take wheat and add glass of weizen)
- inv:remove_item("src", "farming:wheat")
- inv:add_item("dst", "wine:glass_wheat_beer")
- meta:set_float("status", 0.0)
-
- elseif inv:contains_item("src", "mobs:honey") then
-
- --fermented (take honey and add glass of mead)
- inv:remove_item("src", "mobs:honey")
- inv:add_item("dst", "wine:glass_mead")
- meta:set_float("status", 0.0)
-
- elseif inv:contains_item("src", "default:apple") then
-
- --fermented (take apple and add glass of cider)
- inv:remove_item("src", "default:apple")
- inv:add_item("dst", "wine:glass_cider")
- meta:set_float("status", 0.0)
- end
-
- if inv:is_empty("src") then
- meta:set_float("status", 0.0)
- meta:set_string("infotext", S("Fermenting Barrel"))
- end
-
- end
else
+ inv:remove_item("src", ferment[has_item][1])
+ inv:add_item("dst", ferment[has_item][2])
+ meta:set_float("status", 0,0)
+ end
+
+ if inv:is_empty("src") then
+ meta:set_float("status", 0.0)
meta:set_string("infotext", S("Fermenting Barrel"))
end
end,
@@ -384,9 +473,13 @@ lucky_block:add_blocks({
{"dro", {"wine:glass_weizen_beer"}, 5},
{"dro", {"wine:glass_mead"}, 5},
{"dro", {"wine:glass_cider"}, 5},
- {"nod", "wine:bottle_wine"},
- {"nod", "wine:wine_barrel"},
+ {"dro", {"wine:glass_tequila"}, 5},
+ {"dro", {"wine:wine_barrel"}, 1},
{"tel", 5, 1},
+ {"nod", "default:chest", 0, {
+ {name = "wine:bottle_wine", max = 1},
+ {name = "wine:bottle_tequila", max = 1},
+ {name = "wine:blue_agave", max = 4}}},
})
end
diff --git a/textures/wine_blue_agave.png b/textures/wine_blue_agave.png
new file mode 100644
index 0000000..16d01a8
--- /dev/null
+++ b/textures/wine_blue_agave.png
Binary files differ
diff --git a/textures/wine_tequila.png b/textures/wine_tequila.png
new file mode 100644
index 0000000..775951c
--- /dev/null
+++ b/textures/wine_tequila.png
Binary files differ
diff --git a/textures/wine_tequila_bottle.png b/textures/wine_tequila_bottle.png
new file mode 100644
index 0000000..7c4d2c5
--- /dev/null
+++ b/textures/wine_tequila_bottle.png
Binary files differ