write something there

This commit is contained in:
N-Nachtigal 2025-05-04 16:01:41 +02:00
commit b4b6c08f4f
8546 changed files with 309825 additions and 0 deletions

View file

@ -0,0 +1,22 @@
Minetest Game mod: vessels
==========================
See license.txt for license information.
Authors of source code
----------------------
Originally by Vanessa Ezekowitz (LGPLv2.1+)
Modified by Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+)
Various Minetest Game developers and contributors (LGPLv2.1+)
Authors of media (textures)
---------------------------
All not listed below, Vanessa Ezekowitz (CC BY-SA 3.0)
The following textures were modified by Thomas-S (CC BY-SA 3.0):
vessels_drinking_glass.png
vessels_drinking_glass_inv.png
vessels_glass_bottle.png
vessels_steel_bottle.png
The following texture was created by Wuzzy (CC BY-SA 3.0):
vessels_shelf_slot.png (based on vessels_glass_bottle.png)

View file

@ -0,0 +1,233 @@
-- vessels/init.lua
-- Minetest Game mod: vessels
-- See README.txt for licensing and other information.
-- Load support for MT game translation.
local S = minetest.get_translator("vessels")
local vessels_shelf_formspec =
"size[8,7;]" ..
"list[context;vessels;0,0.3;8,2;]" ..
"list[current_player;main;0,2.85;8,1;]" ..
"list[current_player;main;0,4.08;8,3;8]" ..
"listring[context;vessels]" ..
"listring[current_player;main]" ..
default.get_hotbar_bg(0, 2.85)
local function update_vessels_shelf(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local invlist = inv:get_list("vessels")
local formspec = vessels_shelf_formspec
-- Inventory slots overlay
local vx, vy = 0, 0.3
local n_items = 0
for i = 1, 16 do
if i == 9 then
vx = 0
vy = vy + 1
end
if not invlist or invlist[i]:is_empty() then
formspec = formspec ..
"image[" .. vx .. "," .. vy .. ";1,1;vessels_shelf_slot.png]"
else
local stack = invlist[i]
if not stack:is_empty() then
n_items = n_items + stack:get_count()
end
end
vx = vx + 1
end
meta:set_string("formspec", formspec)
if n_items == 0 then
meta:set_string("infotext", S("Empty Vessels Shelf"))
else
meta:set_string("infotext", S("Vessels Shelf (@1 items)", n_items))
end
end
local vessels_shelf_def = {
description = S("Vessels Shelf"),
tiles = {"default_wood.png", "default_wood.png", "default_wood.png",
"default_wood.png", "vessels_shelf.png", "vessels_shelf.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
update_vessels_shelf(pos)
local inv = meta:get_inventory()
inv:set_size("vessels", 8 * 2)
end,
can_dig = function(pos,player)
local inv = minetest.get_meta(pos):get_inventory()
return inv:is_empty("vessels")
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if minetest.get_item_group(stack:get_name(), "vessel") ~= 0 then
return stack:get_count()
end
return 0
end,
on_blast = function(pos)
local drops = {}
default.get_inventory_drops(pos, "vessels", drops)
drops[#drops + 1] = "vessels:shelf"
minetest.remove_node(pos)
return drops
end,
on_metadata_inventory_put = function(pos)
update_vessels_shelf(pos)
end,
on_metadata_inventory_take = function(pos)
update_vessels_shelf(pos)
end,
on_metadata_inventory_move = function(pos)
update_vessels_shelf(pos)
end,
}
default.set_inventory_action_loggers(vessels_shelf_def, "vessels shelf")
minetest.register_node("vessels:shelf", vessels_shelf_def)
minetest.register_craft({
output = "vessels:shelf",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:vessel", "group:vessel", "group:vessel"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_node("vessels:glass_bottle", {
description = S("Empty Glass Bottle"),
drawtype = "plantlike",
tiles = {"vessels_glass_bottle.png"},
inventory_image = "vessels_glass_bottle.png",
wield_image = "vessels_glass_bottle.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft( {
output = "vessels:glass_bottle 10",
recipe = {
{"default:glass", "", "default:glass"},
{"default:glass", "", "default:glass"},
{"", "default:glass", ""}
}
})
minetest.register_node("vessels:drinking_glass", {
description = S("Empty Drinking Glass"),
drawtype = "plantlike",
tiles = {"vessels_drinking_glass.png"},
inventory_image = "vessels_drinking_glass_inv.png",
wield_image = "vessels_drinking_glass.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft( {
output = "vessels:drinking_glass 14",
recipe = {
{"default:glass", "", "default:glass"},
{"default:glass", "", "default:glass"},
{"default:glass", "default:glass", "default:glass"}
}
})
minetest.register_node("vessels:steel_bottle", {
description = S("Empty Heavy Steel Bottle"),
drawtype = "plantlike",
tiles = {"vessels_steel_bottle.png"},
inventory_image = "vessels_steel_bottle.png",
wield_image = "vessels_steel_bottle.png",
paramtype = "light",
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25}
},
groups = {vessel = 1, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_defaults(),
})
minetest.register_craft( {
output = "vessels:steel_bottle 5",
recipe = {
{"default:steel_ingot", "", "default:steel_ingot"},
{"default:steel_ingot", "", "default:steel_ingot"},
{"", "default:steel_ingot", ""}
}
})
-- Glass and steel recycling
minetest.register_craftitem("vessels:glass_fragments", {
description = S("Glass Fragments"),
inventory_image = "vessels_glass_fragments.png",
})
minetest.register_craft( {
type = "shapeless",
output = "vessels:glass_fragments",
recipe = {
"vessels:glass_bottle",
"vessels:glass_bottle",
},
})
minetest.register_craft( {
type = "shapeless",
output = "vessels:glass_fragments",
recipe = {
"vessels:drinking_glass",
"vessels:drinking_glass",
},
})
minetest.register_craft({
type = "cooking",
output = "default:glass",
recipe = "vessels:glass_fragments",
})
minetest.register_craft( {
type = "cooking",
output = "default:steel_ingot",
recipe = "vessels:steel_bottle",
})
minetest.register_craft({
type = "fuel",
recipe = "vessels:shelf",
burntime = 30,
})
-- Register glass fragments as dungeon loot
if minetest.global_exists("dungeon_loot") then
dungeon_loot.register({
name = "vessels:glass_fragments", chance = 0.35, count = {1, 4}
})
end

View file

@ -0,0 +1,52 @@
License of source code
----------------------
GNU Lesser General Public License, version 2.1
Copyright (C) 2012-2016 Vanessa Ezekowitz
Copyright (C) 2012-2016 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2012-2016 Various Minetest Game developers and contributors
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 2.1 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 Lesser General Public License for more details:
https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
Licenses of media (textures)
----------------------------
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Copyright (C) 2012-2016 Vanessa Ezekowitz
Copyright (C) 2016 Thomas-S
You are free to:
Share — copy and redistribute the material in any medium or format.
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
ShareAlike — If you remix, transform, or build upon the material, you must distribute
your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological measures that
legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public
domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary
for your intended use. For example, other rights such as publicity, privacy, or moral
rights may limit how you use the material.
For more details:
http://creativecommons.org/licenses/by-sa/3.0/

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=
Vessels Shelf (@1 items)=
Vessels Shelf=
Empty Glass Bottle=
Empty Drinking Glass=
Empty Heavy Steel Bottle=
Glass Fragments=

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Leeres Gefäßregal
Vessels Shelf (@1 items)=Gefäßregal (@1 Gegenstände)
Vessels Shelf=Gefäßregal
Empty Glass Bottle=Leere Glasflasche
Empty Drinking Glass=Leeres Trinkglas
Empty Heavy Steel Bottle=Leere schwere Stahlflasche
Glass Fragments=Glasfragmente

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Malplena vaza plataĵo
Vessels Shelf (@1 items)=Vaza plataĵo (@1 objektoj)
Vessels Shelf=Vaza plataĵo
Empty Glass Bottle=Malplena vitra botelo
Empty Drinking Glass=Malplena glaso
Empty Heavy Steel Bottle=Malplena peza ŝtala botelo
Glass Fragments=Vitraj eroj

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Estante de vasijas vacío
Vessels Shelf (@1 items)=Estante de vasijas (@1 objetos)
Vessels Shelf=Estante de vasijas
Empty Glass Bottle=Botella de vidrio vacía
Empty Drinking Glass=Vaso para beber vacío
Empty Heavy Steel Bottle=Botella de acero vacía
Glass Fragments=Fragmentos de vidrio

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Etagère à récipient vide
Vessels Shelf (@1 items)=Etagère à récipient (@1 articles)
Vessels Shelf=Etagère à récipient
Empty Glass Bottle=Bouteille de verre vide
Empty Drinking Glass=Verre vide
Empty Heavy Steel Bottle=Bouteille d'acier lourde vide
Glass Fragments=Fragments de verre

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Rak Bejana Kosong
Vessels Shelf (@1 items)=Rak Bejana (@1 barang)
Vessels Shelf=Rak Bejana
Empty Glass Bottle=Botol Kaca Kosong
Empty Drinking Glass=Gelas Minum Kosong
Empty Heavy Steel Bottle=Botol Baja Berat Kosong
Glass Fragments=Pecahan Kaca

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Scaffale per contenitori vuoto
Vessels Shelf (@1 items)=Scaffale per contenitori (@1 oggetti)
Vessels Shelf=Scaffale per contenitori
Empty Glass Bottle=Bottiglia di vetro vuota
Empty Drinking Glass=Bicchiere di vetro vuoto
Empty Heavy Steel Bottle=Bottigia di metallo pesante vuota
Glass Fragments=Frammenti di vetro

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=空の瓶の棚
Vessels Shelf (@1 items)=瓶の棚(@1 本)
Vessels Shelf=瓶の棚
Empty Glass Bottle=空のガラス瓶
Empty Drinking Glass=空のガラスコップ
Empty Heavy Steel Bottle=空の重い鉄瓶
Glass Fragments=ガラスの破片

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=.i ti kunti ke vasru kajna
Vessels Shelf (@1 items)=.i lo ti vasru kajna cu vasru lo @1 dacti
Vessels Shelf=lo vasru kajna
Empty Glass Bottle=lo blacybo'i be no da
Empty Drinking Glass=lo blacykabri be no da
Empty Heavy Steel Bottle=lo tilju ke gasta botpi be no da
Glass Fragments=lo derxi be lo blaci spisa

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Tukšs trauku plaukts
Vessels Shelf (@1 items)=Trauku plaukts ar @1 priekšmetiem
Vessels Shelf=Trauku plaukts
Empty Glass Bottle=Tukša stikla pudele
Empty Drinking Glass=Tukša glāze
Empty Heavy Steel Bottle=Tukša tērauda pudele
Glass Fragments=Stikla skaidas

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Rak Bekas Kaca Kosong
Vessels Shelf (@1 items)=Rak Bekas Kaca (@1 item)
Vessels Shelf=Rak Bekas Kaca
Empty Glass Bottle=Botol Kaca Kosong
Empty Drinking Glass=Gelas Minuman Kosong
Empty Heavy Steel Bottle=Botol Keluli Berat Kosong
Glass Fragments=Serpihan Kaca

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Pusta półka na naczynia
Vessels Shelf (@1 items)=Półka na naczynia (@1 przedmiotów)
Vessels Shelf=Półka na naczynia
Empty Glass Bottle=Pusta szklana butelka
Empty Drinking Glass=Pusta butelka do picia
Empty Heavy Steel Bottle=Pusta stalowa butelka
Glass Fragments=Odłamki szkła

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Prateleira de Vasos Vazia
Vessels Shelf (@1 items)=Prateleira de Vasos (@1 itens)
Vessels Shelf=Prateleira de Vasos
Empty Glass Bottle=Garrafa de Vidro Vazia
Empty Drinking Glass=Copo Vazio
Empty Heavy Steel Bottle=Garrafa de Aço Pesada Vazia
Glass Fragments=Cacos de Vidro

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Полка с пустыми сосудами
Vessels Shelf (@1 items)=Полка с сосудами (@1 штук)
Vessels Shelf=Полка с сосудами
Empty Glass Bottle=Пустая стеклянная бутылка
Empty Drinking Glass=Пустой стакан
Empty Heavy Steel Bottle=Пустая стальная бутылка
Glass Fragments=Стеклянные осколки

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Prázdna polica na fľašky
Vessels Shelf (@1 items)=Polica na fľašky (@1 položka/y)
Vessels Shelf=Polica na fľašky
Empty Glass Bottle=Prázdna sklenená fľaša
Empty Drinking Glass=Prázdny pohár na pitie
Empty Heavy Steel Bottle=Prázdna oceľová fľaša
Glass Fragments=Časti skla

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Tom kärlhylla
Vessels Shelf (@1 items)=Kärlhylla (@1 saker)
Vessels Shelf=Kärlhylla
Empty Glass Bottle=Tom glasflaska
Empty Drinking Glass=Tom drycksflaska
Empty Heavy Steel Bottle=Tom tungstålsflaska
Glass Fragments=Glasbitar

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Пуста полиця для посуду
Vessels Shelf (@1 items)=Полиця для посуду (@1 предм.)
Vessels Shelf=Полиця для посуду
Empty Glass Bottle=Порожня скляна пляшка
Empty Drinking Glass=Порожня склянка
Empty Heavy Steel Bottle=Порожня важка сталева пляшка
Glass Fragments=Скляні уламки

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=空容器架
Vessels Shelf (@1 items)=容器架(@1项
Vessels Shelf=容器架
Empty Glass Bottle=空玻璃瓶
Empty Drinking Glass=空水杯
Empty Heavy Steel Bottle=空重型钢瓶
Glass Fragments=玻璃碎片

View file

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=空容器架
Vessels Shelf (@1 items)=容器架(@1項
Vessels Shelf=容器架
Empty Glass Bottle=空玻璃瓶
Empty Drinking Glass=空水杯
Empty Heavy Steel Bottle=空重型鋼瓶
Glass Fragments=玻璃碎片

View file

@ -0,0 +1,4 @@
name = vessels
description = Minetest Game mod: vessels
depends = default
optional_depends = dungeon_loot

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B