Compare commits

...

54 Commits

Author SHA1 Message Date
monk d0ab9b82ce
reorder registration of aliases to fix missing recipes, also reorder registration of dye recipes to show item craft first before recipe craft (#72) 2024-05-23 18:37:28 -04:00
wsor4035 fa3f7f816b
trash unused function: homedecor.sit (#71) 2024-04-28 14:48:03 -04:00
Niklp d400e421ce
Replace `homedecor_blanktile.png` w/ engine provided `blank.png` (#69) 2024-04-02 18:08:49 -04:00
wsor4035 792c23a7fe
handle interact with node check in non mtg games with a fallback (#68) 2024-04-02 06:54:10 -04:00
wsor4035 0d5cab9455
replace hardcoded game agnostic texture support and homedecor.textures to xcompat (#66)
* switch existing to xcompat textures

* replace the rest of the hard coded texture conversions to use homedecor.textures
2024-03-03 15:52:58 -05:00
Luke aka SwissalpS 080551e647
Is ground content (#64)
see https://github.com/pandorabox-io/pandorabox.io/issues/836
2024-02-29 18:49:24 -05:00
wsor4035 280924c02b
add in xcompat for game agnostic handling dry (#63) 2024-02-25 12:04:20 -05:00
luk3yx 52f7c54702 Fix particlespawner removal when digging fancy fire 2023-10-27 10:30:10 +13:00
Niklp 951f77491c
Fix use of deprecated get_look_yaw() (#62) 2023-09-24 21:19:47 +10:00
Niklp 46c71131c5
Fix wrong nodenames caused by last commit (#61) 2023-08-22 18:11:31 -04:00
Niklp 80b4f242e0
Make (almost) all items translatable (#60)
* Make all items translatable

* add more
2023-08-21 18:47:26 -04:00
Niklp ecd67f0eab
Update translations (#59)
* Update translations

* Fix usage of translation api in log message

* Fix %s usage in itemframes.it.tr
2023-08-20 17:54:38 -04:00
Niklp 60d63cda6f
Fix translation errors reported by i18ncheck.py (#58) 2023-08-15 18:28:39 -04:00
Niklp 89703525e6
replace ABMs w/ nodetimers (#56)
* replace ABMs w/ nodetimers

* ux fixes

* disable oven properly
2023-06-10 21:56:54 -04:00
Mihin Dissanayake 2c08c1f97b
Fix lockable items having the same craft as the normal version (#55) 2023-06-01 21:59:14 -04:00
taylorskalyo 6bbaa7491d
fix burnable wood large table top (#54) 2023-05-07 13:48:41 -04:00
taylorskalyo b4297d68a0
Fix uncraftable items (#53)
* fix large square table top recipes (#41)

* fix cabinet with drawers recipes (#41)
2023-05-07 13:33:30 -04:00
Niklp 77f2b0e05b
Fix ugly looking fakegrass (#51) 2023-02-21 21:30:11 +11:00
wsor4035 9c7eb2e502
fix https://github.com/mt-mods/homedecor_modpack/issues/50/ - swap l to 1 in translations 2023-02-20 19:54:33 -05:00
unknown 55bbd478d9 fix all or edge cases for https://github.com/mt-mods/homedecor_modpack/issues/49 not caught by the last commit 2022-11-30 17:48:28 -05:00
unknown 0384943a0a fix https://github.com/mt-mods/homedecor_modpack/issues/49 2022-11-26 21:00:02 -05:00
superfloh247 33710f710b
restart smoke particle effects on reload (#48)
* restart smoke particle effects on reload

* restore table in fake_fire:reload_particles

* Update fake_fire/init.lua

Co-authored-by: OgelGames <olliverdc28@gmail.com>

Co-authored-by: OgelGames <olliverdc28@gmail.com>
2022-11-19 08:34:36 -05:00
unknown 8893d66dc6 fix https://github.com/mt-mods/dreambuilder_game/issues/20 - quote on quote improper dor rotation which turned out to be badly applied model work around 2022-10-20 21:59:11 -04:00
unknown a598fa3067 add not in creative inventory group to bed extended since it is made by placing a bed over top of another 2022-09-02 12:04:03 -04:00
Niklp 6fa1bbeb1c
fix wrong collision box for homedecor skylights (#45) 2022-08-19 14:15:47 -04:00
unknown 0403f47f86 fix https://github.com/mt-mods/homedecor_modpack/issues/44 2022-08-11 23:37:26 -04:00
wsor4035 0f57b2268a
fix some seats (#43) 2022-08-11 21:31:20 -04:00
unknown 806c8c5e78 last craft 2022-08-03 14:25:51 +02:00
unknown 37bc0ed58d add more crafts 2022-08-03 14:25:51 +02:00
unknown 0a605bdb96 fix some crafts 2022-08-03 14:25:51 +02:00
fluxionary 97d4c65230 remove weird, redundant loop
the removed loop was doing the same thing as the `stairsplus:register_alias_all("moreblocks", "tar", "building_blocks", "Tar")` line below, but causing a crash when using the (not yet pulled) new stairsplus API https://github.com/minetest-mods/moreblocks/pull/191
2022-06-24 18:16:49 +02:00
Niklp acf17f2ba4
Replace deprecated functions (#37) 2022-06-18 18:44:02 +10:00
unknown 5ffdc26673 fix https://github.com/mt-mods/homedecor_modpack/issues/34 2022-05-16 22:41:02 -04:00
OgelGames 70381161fd fix recipes broken by 546cd711
fixes #35
2022-05-14 21:49:02 +10:00
wsor4035 fe1b9a1ef1
remove obsolete and broken shell script 2022-05-03 15:22:48 -04:00
wsor4035 546cd7110f
make homedecor game agnostic (#28)
* make materials.lua with hades, minetest game, farlands items

* make textures file for central handling

* make mods game agnostic

* take out the trash

* handle multiple seats in sofas

* add github luacheck workflow and various luacheck fixes

* add fluxionary scope creep

* fix devtest breaking right to a name policy

Co-authored-by: wsor4035 <24964441+wsor4035@users.noreply.github.com>
Co-authored-by: SFENCE <sfence.software@gmail.com>
2022-05-03 15:21:14 -04:00
wsor4035 3ba59dc2d5
fix almost all warning spam (#26) 2022-03-29 07:44:05 +02:00
bell07 2f0e52f978
add skinsdb hand support for wardrobe skins (#24)
* add skinsdb hand support for wardrobe skins

* add compatibility to previous skinsdb version
2022-03-06 12:20:18 -05:00
wsor4035 694bfe5fe7
namespace plasmascreen and inbox (#22) 2022-02-14 17:54:32 -05:00
wsor4035 769e14fd11
refactor doors code (#21) 2022-02-11 15:44:45 -05:00
wsor4035 16bcc35ba2
remove legacy files 2022-02-10 20:26:41 -05:00
wsor4035 0c2271fa46
fixes warning spam (#20)
* fix fake fire warnings

* fix hd 3d extras warnings

* fix hd climate control warnings

* fix hd clocks warnings

* fix hd cobweb warnings

* fix hd doors/gates warnings

* fix hd exterior warnings

* fix hd fences warnings

* fix hd gastronomy warnings

* fix hd kitchen missing dependency

* fix hd office warnings

* fix hd roofing warnings

* fix hd table warnings

* fix hd trash cans warnings

* fix hd wardrobe warnings

* remove legacy hack
2022-02-07 08:18:17 -05:00
nixnoxus d68e90f017
add `hopper` support (#18) 2022-02-03 18:40:38 -05:00
wsor4035 a8fceb249d
Merge pull request #16 from mt-mods/stairs
drop stairs api support and fix use_texture_alpha for stairs
2021-11-28 00:22:31 -05:00
unknown 21ae9f8c17 drop stairs api support and fix use_texture_alpha for stairs 2021-11-27 23:43:59 -05:00
unknown 63ad77e242 make beds sleepable https://github.com/mt-mods/homedecor_modpack/issues/13 2021-11-27 20:51:47 -05:00
unknown 32a32fa003 fix health expliot https://github.com/mt-mods/homedecor_modpack/issues/14 2021-11-27 20:43:25 -05:00
unknown d9c42344ab fix removing item with inv contents https://github.com/mt-mods/homedecor_modpack/issues/3 2021-11-27 20:32:13 -05:00
unknown f6f6f3a3c3 fix depreciated setyaw call https://github.com/mt-mods/homedecor_modpack/issues/7 2021-11-27 19:56:36 -05:00
Vanessa Dannenberg f1dc68ab21 Merge branch 'master' into 'master'
Fix broken kitchen cabinet recipes

Closes #39

See merge request VanessaE/homedecor_modpack!22
2021-05-18 06:58:39 +00:00
OgelGames 240c735225 fix broken kitchen cabinet recipes 2021-05-18 16:47:44 +10:00
Vanessa Dannenberg b6c64c6314 fix broken LBM reference for locked kitchen cabinets 2021-04-15 06:47:47 -04:00
Vanessa Dannenberg 790c03213d fix not-locked drawers not showing up in creative inv
(well not showing up in Unified Inventory anyway :-P )
2021-03-30 21:18:45 -04:00
Vanessa Dannenberg 81e0d4ea7e fix faucets/taps not working on kitchen sinks anymore 2021-03-30 20:55:34 -04:00
474 changed files with 5374 additions and 7538 deletions

11
.github/workflows/luacheck.yml vendored Normal file
View File

@ -0,0 +1,11 @@
name: luacheck
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: Roang-zero1/factorio-mod-luacheck@master
with:
luacheckrc_url: ""

43
.luacheckrc Normal file
View File

@ -0,0 +1,43 @@
unused_args = false
globals = {
"homedecor",
"homedecor_lighting",
"homedecor_windows_and_treatments",
"homedecor_roofing",
"homedecor_misc",
"homedecor_exterior",
"homedecor_electrical",
"homedecor_cobweb",
"lavalamp",
"lrfurn",
"signs_lib",
"homedecor_doors_and_gates",
-- mod-deps
"armor"
}
read_globals = {
"minetest", "core",
"vector", "ItemStack",
"dump",
-- Stdlib
string = {fields = {"split", "trim"}},
table = {fields = {"copy", "getn"}},
-- mod-deps
"default",
"unifieddyes",
"player_api",
"screwdriver",
"hopper",
"mesecon",
"skins",
"stairsplus",
"creative",
"doors",
"i3",
"xcompat",
}

8
README
View File

@ -1,8 +0,0 @@
This is what I consider to be a fairly feature-filled home decor modpack.
See the forum thread at
https://forum.minetest.net/viewtopic.php?f=11&t=2041 for details about
this modpack.
Dependencies: unifieddyes and a Minetest engine build newer than 2017-01-23.
Recommends: signs_lib, windmill, moreblocks, unified_inventory.

28
README.md Normal file
View File

@ -0,0 +1,28 @@
# Minetest Homedecor Modpack
[![ContentDB](https://content.minetest.net/packages/VanessaE/homedecor_modpack/shields/downloads/)](https://content.minetest.net/packages/VanessaE/homedecor_modpack/)
A fairly feature-filled home decor modpack that is game agnostic.
## About
first class support for:
* Minetest Game
* Farlands Reloaded
* Hades
* Mineclone2, Mineclone5
## Links
* [Github](https://github.com/mt-mods/homedecor_modpack)
* [Contentdb](https://content.minetest.net/packages/VanessaE/homedecor_modpack/)
* [Forums](https://forum.minetest.net/viewtopic.php?f=11&t=2041)
# Setup
required:
* [Unifieddyes](https://github.com/mt-mods/unifieddyes)
* [Basic Materials](https://github.com/mt-mods/basic_materials)
* [xcompat](https://github.com/mt-mods/xcompat)

View File

@ -1,19 +0,0 @@
{
"name": "homedecor_modpack",
"description": "This mod adds a whole bunch of new items to Minetest suitable for decorating inside and outside a home.",
"keywords": [
"building",
"cosmetic",
"homedecor modpack",
"homedecor_modpack"
],
"homepage": "http://daconcepts.com/vanessa/hobbies/minetest/homedecor-crafting-guide/homedecor-craft-guide.html",
"project": "https://github.com/minetest-mods/homedecor_modpack",
"forum": "http://forum.minetest.net/viewtopic.php?f=11&t=2041",
"screenshots": [
"http://daconcepts.com/vanessa/hobbies/minetest/screenshots/homedecor1.png"
],
"authors": [
"VanessaE"
]
}

View File

@ -1,21 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"stairsplus",
"default",
"stairs",
}
globals = {
}

View File

@ -8,16 +8,9 @@ if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
end
if minetest.get_modpath("moreblocks") then
minetest.register_alias_force("moreblocks:tar", "building_blocks:Tar")
stairsplus:register_alias_all("building_blocks", "tar", "building_blocks", "Tar")
stairsplus:register_alias_all("building_blocks", "marble", "building_blocks", "Marble")
for _, i in ipairs(stairsplus.shapes_list) do
local class = i[1]
local cut = i[2]
minetest.unregister_item("moreblocks:"..class.."tar"..cut)
minetest.register_alias("moreblocks:"..class.."tar"..cut, "building_blocks:"..class.."tar"..cut)
end
minetest.unregister_item("moreblocks:tar")
minetest.register_alias("moreblocks:tar", "building_blocks:Tar")
stairsplus:register_alias_all("moreblocks", "tar", "building_blocks", "Tar")
if minetest.get_modpath("gloopblocks") then
@ -40,8 +33,11 @@ if not minetest.get_modpath("technic") then
description = S("Granite"),
tiles = { "technic_granite.png" },
is_ground_content = true,
groups = {cracky=1},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=1, dig_stone=2, pickaxey=5},
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",
},
})
minetest.register_craft({
output = "technic:granite 9",

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=Granit
### node_stairs.lua ###
Adobe=Adobe
Adobe Slab=Adobestufe
Adobe Stair=Adobetreppe
Brobble Spread=Ziesterboden
Chess board tiling=Schachbrettkacheln
Fake Grass=Falsches Gras
Fake Grass Slab=Falsches-Gras-Stufe
Fake Grass Stair=Falsches-Gras-Treppe
Fireplace=Kamin
Grate=Rost
Grate Slab=Roststufe
Grate Stair=Rosttreppe
Gravel Spread=Kiesboden
Hardwood=Hartholz
Hardwood Slab=Hartholzstufe
Hardwood Stair=Hartholztreppe
Marble=Marmor
Marble Slab=Marmorstufe
Marble Stair=Marmortreppe
Roof block=Dachblock
Roof block Slab=Dachblockstufe
Roof block Stair=Dachblocktreppe
Streak Free Glass=Schlierenfreies Glas
Streak Free Glass Slab=Schlierenfreies-Glas-Stufe
Streak Free Glass Stair=Schlierenfreies-Glas-Treppe
Wood Framed Glass=Holzrahmenglas
Adobe=Adobe
Fake Grass=Falsches Gras
Hardwood=Hartholz
Roof block=Dachblock
Tar=Teer
Tar Slab=Teerstufe
Tar Stair=Teertreppe
Marble=Marmor
Brobble Spread=Ziesterboden
Gravel Spread=Kiesboden
Tarmac Spread=Asphaltboden
Terrycloth towel=Frottiertuch
Wood Framed Glass=Holzrahmenglas
Wood Framed Glass Slab=Holzrahmenglasstufe
Wood Framed Glass Stair=Holzrahmenglastreppe
### others.lua ###
Chess board tiling=Schachbrettkacheln
Fireplace=Kamin
Small bundle of sticks=Kleines Bündel Stöcke
Tar Knife=Teermesser
Tar base=Teerbase
Tar Knife=Teermesser

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=Granito
### node_stairs.lua ###
Adobe=Adobe
Adobe Slab=Losa de adobe
Adobe Stair=Escaleras de adobe
Brobble Spread=Mezcla de Ladroquines
Chess board tiling=Azulejos de ajedrez
Fake Grass=Hierba falsa
Fake Grass Slab=
Fake Grass Stair=
Fireplace=Chimenea
Grate=Reja
Grate Slab=Losa de rejas
Grate Stair=Escaleras de rejas
Gravel Spread=Mezcla de gravilla
Hardwood=Madera dura
Hardwood Slab=Losa de madera dura
Hardwood Stair=Escaleras de madera dura
Marble=Mármol
Marble Slab=Losa de mármol
Marble Stair=Escaleras de mármol
Roof block=Bloque de techo
Roof block Slab=
Roof block Stair=
Streak Free Glass=Vídrio sin rayas
Streak Free Glass Slab=
Streak Free Glass Stair=
Wood Framed Glass=Vídrio enmarcado en madera
Adobe=Adobe
Fake Grass=Hierba falsa
Hardwood=Madera dura
Roof block=Bloque de techo
Tar=Alquitrán
Tar Slab=Losa de alquitrán
Tar Stair=Escaleras de alquitrán
Marble=Mármol
Brobble Spread=Mezcla de Ladroquines
Gravel Spread=Mezcla de gravilla
Tarmac Spread=Mezcla de asfalto
Terrycloth towel=Toalla
Wood Framed Glass=Vídrio enmarcado en madera
Wood Framed Glass Slab=
Wood Framed Glass Stair=
### others.lua ###
Chess board tiling=Azulejos de ajedrez
Fireplace=Chimenea
Small bundle of sticks=Manojo de palitos
Tar Knife=Cuchillo de alquitrán
Tar base=Base de alquitrán
Tar Knife=Cuchillo de alquitrán

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=Granit
### node_stairs.lua ###
Adobe=Pisé
Adobe Slab=Dalle en pisé
Adobe Stair=Escalier en pisé
Brobble Spread=Tapis rouge
Chess board tiling=Pavage en échiquier
Fake Grass=Herbe synthétique
Fake Grass Slab=Dalle en herbe synthétique
Fake Grass Stair=Escalier en herbe synthétique
Fireplace=Cheminée
Grate=Grille
Grate Slab=Dalle en métal déployé
Grate Stair=Escalier en métal déployé
Gravel Spread=Tapis de gravier
Hardwood=Bois dur (feuillu)
Hardwood Slab=Dalle en bois dur (feuillu)
Hardwood Stair=Escalier en bois dur (feuillu)
Marble=Marbre
Marble Slab=Dalle en marbre
Marble Stair=Marche en marbre
Roof block=Bloc de toit
Roof block Slab=Dalle en bloc de toit
Roof block Stair=Escalier en bloc de toit
Streak Free Glass=Verre anti-rayures
Streak Free Glass Slab=Dalle en verre anti-rayures
Streak Free Glass Stair=Escalier en verre anti-rayures
Wood Framed Glass=Verre encadré de bois
Adobe=Pisé
Fake Grass=Herbe synthétique
Hardwood=Bois dur (feuillu)
Roof block=Bloc de toit
Tar=Goudron
Tar Slab=Dalle en goudron
Tar Stair=Marche en goudron
Marble=Marbre
Brobble Spread=Tapis rouge
Gravel Spread=Tapis de gravier
Tarmac Spread=Tapis de goudron
Terrycloth towel=Serviette éponge
Wood Framed Glass=Verre encadré de bois
Wood Framed Glass Slab=Dalle en verre encadré de bois
Wood Framed Glass Stair=Escalier en verre encadré de bois
### others.lua ###
Chess board tiling=Pavage en échiquier
Fireplace=Cheminée
Small bundle of sticks=Petit fagot de brindilles
Tar Knife=Couteau à goudron
Tar base=Pâte de goudron
Tar Knife=Couteau à goudron

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=Granit
### node_stairs.lua ###
Adobe=Adob
Adobe Slab=Bidur Adob
Adobe Stair=Tangga Adob
Brobble Spread=Sebaran Batu Merah
Chess board tiling=Jubin Papan Catur
Fake Grass=Rumput Tiruan
Fake Grass Slab=
Fake Grass Stair=
Fireplace=Pendiangan
Grate=Jeriji
Grate Slab=Bidur Jeriji
Grate Stair=Tangga Jeriji
Gravel Spread=Sebaran Kelikir
Hardwood=Kayu Keras
Hardwood Slab=Bidur Kayu Keras
Hardwood Stair=Tangga Kayu Keras
Marble=Marmar
Marble Slab=Bidur Marmar
Marble Stair=Tangga Marmar
Roof block=Blok Bumbung
Roof block Slab=
Roof block Stair=
Streak Free Glass=Kaca Bebas Calar
Streak Free Glass Slab=
Streak Free Glass Stair=
Wood Framed Glass=Kaca Berbingkai Kayu
Adobe=Adob
Fake Grass=Rumput Tiruan
Hardwood=Kayu Keras
Roof block=Blok Bumbung
Tar=Tar
Tar Slab=Bidur Tar
Tar Stair=Tangga Tar
Marble=Marmar
Brobble Spread=Sebaran Batu Merah
Gravel Spread=Sebaran Kelikir
Tarmac Spread=Sebaran Tar
Terrycloth towel=Kain Tuala
Wood Framed Glass=Kaca Berbingkai Kayu
Wood Framed Glass Slab=
Wood Framed Glass Stair=
### others.lua ###
Chess board tiling=Jubin Papan Catur
Fireplace=Pendiangan
Small bundle of sticks=Seberkas Kecil Serpihan Kayu
Tar Knife=Pisau Tar
Tar base=Campuran Tar
Tar Knife=Pisau Tar

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=Granito
### node_stairs.lua ###
Adobe=Argila
Adobe Slab=Placa de argila
Adobe Stair=Escada de Argila
Brobble Spread=Calçado
Chess board tiling=Revestimento de xadrez
Fake Grass=Grama Falsa
Fake Grass Slab=
Fake Grass Stair=
Fireplace=Lareira
Grate=Grelha
Grate Slab=Placa de Grelha
Grate Stair=Escade de Grelha
Gravel Spread=Espalhamento de Cascalho
Hardwood=Madeira
Hardwood Slab=Placa de madeira
Hardwood Stair=Escada de madeira
Marble=Mármore
Marble Slab=Placa de Mármore
Marble Stair=Escada de mármore
Roof block=Bloco de telhado
Roof block Slab=
Roof block Stair=
Streak Free Glass=Vidro Sem Riscos
Streak Free Glass Slab=
Streak Free Glass Stair=
Wood Framed Glass=Vidro com Bordas de Madeira
Adobe=Argila
Fake Grass=Grama Falsa
Hardwood=Madeira
Roof block=Bloco de telhado
Tar=Alcatrão
Tar Slab=Placa de alcatrão
Tar Stair=Escada de alcatrão
Marble=Mármore
Brobble Spread=Calçado
Gravel Spread=Espalhamento de Cascalho
Tarmac Spread=Espalhamento das Estradas
Terrycloth towel=Toalha de Roupinha
Wood Framed Glass=Vidro com Bordas de Madeira
Wood Framed Glass Slab=
Wood Framed Glass Stair=
### others.lua ###
Chess board tiling=Revestimento de xadrez
Fireplace=Lareira
Small bundle of sticks=Pequeno amontoado de gravetos
Tar Knife=Faca de Alcatrão
Tar base=Base para alcatrão
Tar Knife=Faca de Alcatrão

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=Granito
### node_stairs.lua ###
Adobe=Argila
Adobe Slab=Placa de argila
Adobe Stair=Escada de Argila
Brobble Spread=Calçado
Chess board tiling=Revestimento de xadrez
Fake Grass=Grama Falsa
Fake Grass Slab=
Fake Grass Stair=
Fireplace=Lareira
Grate=Grelha
Grate Slab=Placa de Grelha
Grate Stair=Escade de Grelha
Gravel Spread=Espalhamento de Cascalho
Hardwood=Madeira
Hardwood Slab=Placa de madeira
Hardwood Stair=Escada de madeira
Marble=Mármore
Marble Slab=Placa de Mármore
Marble Stair=Escada de mármore
Roof block=Bloco de telhado
Roof block Slab=
Roof block Stair=
Streak Free Glass=Vidro Sem Riscos
Streak Free Glass Slab=
Streak Free Glass Stair=
Wood Framed Glass=Vidro com Bordas de Madeira
Adobe=Argila
Fake Grass=Grama Falsa
Hardwood=Madeira
Roof block=Bloco de telhado
Tar=Alcatrão
Tar Slab=Placa de alcatrão
Tar Stair=Escada de alcatrão
Marble=Mármore
Brobble Spread=Calçado
Gravel Spread=Espalhamento de Cascalho
Tarmac Spread=Espalhamento das Estradas
Terrycloth towel=Toalha de Roupinha
Wood Framed Glass=Vidro com Bordas de Madeira
Wood Framed Glass Slab=
Wood Framed Glass Stair=
### others.lua ###
Chess board tiling=Revestimento de xadrez
Fireplace=Lareira
Small bundle of sticks=Pequeno amontoado de gravetos
Tar Knife=Faca de Alcatrão
Tar base=Base para alcatrão
Tar Knife=Faca de Alcatrão

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=Гранит
### node_stairs.lua ###
Adobe=Саман
Adobe Slab=Саманная плита
Adobe Stair=Саманная ступенька
Brobble Spread=Настил кирпичного булыжника
Chess board tiling=Шахматная плитка
Fake Grass=Псевдо трава
Fake Grass Slab=
Fake Grass Stair=
Fireplace=Камин
Grate=Каминная решётка
Grate Slab=Решётчатая плита
Grate Stair=Решётчатая ступенька
Gravel Spread=Настил гравия
Hardwood=Твёрдая древесина
Hardwood Slab=Плита из твёрдой древесины
Hardwood Stair=Ступенька из твёрдой древесины
Marble=Мрамор
Marble Slab=Мраморная блита
Marble Stair=Мраморная ступенька
Roof block=Кровельный блок
Roof block Slab=
Roof block Stair=
Streak Free Glass=Стекло без стыков
Streak Free Glass Slab=
Streak Free Glass Stair=
Wood Framed Glass=Деревянное окно
Adobe=Саман
Fake Grass=Псевдо трава
Hardwood=Твёрдая древесина
Roof block=Кровельный блок
Tar=Смола
Tar Slab=Плита из смолы
Tar Stair=Ступенька из смолы
Marble=Мрамор
Brobble Spread=Настил кирпичного булыжника
Gravel Spread=Настил гравия
Tarmac Spread=Покрытие гудронной смолой
Terrycloth towel=Махровое полотенце
Wood Framed Glass=Деревянное окно
Wood Framed Glass Slab=
Wood Framed Glass Stair=
### others.lua ###
Chess board tiling=Шахматная плитка
Fireplace=Камин
Small bundle of sticks=Небольшая связка палок
Tar Knife=Смоляной нож
Tar base=Смоляная основа
Tar Knife=Смоляной нож

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=花岗岩
### node_stairs.lua ###
Adobe=土砖
Adobe Slab=
Adobe Stair=
Brobble Spread=石砖路面
Chess board tiling=棋盘铺贴
Fake Grass=塑料草
Fake Grass Slab=
Fake Grass Stair=
Fireplace=壁炉
Grate=磨碎
Grate Slab=
Grate Stair=
Gravel Spread=碎石路面
Hardwood=硬木
Hardwood Slab=
Hardwood Stair=
Marble=大理石
Marble Slab=
Marble Stair=
Roof block=天台
Roof block Slab=
Roof block Stair=
Streak Free Glass=无条纹玻璃
Streak Free Glass Slab=
Streak Free Glass Stair=
Wood Framed Glass=木框玻璃
Adobe=土砖
Fake Grass=塑料草
Hardwood=硬木
Roof block=天台
Tar=焦油
Tar Slab=
Tar Stair=
Marble=大理石
Brobble Spread=石砖路面
Gravel Spread=碎石路面
Tarmac Spread=柏油路面
Terrycloth towel=毛巾
Wood Framed Glass=木框玻璃
Wood Framed Glass Slab=
Wood Framed Glass Stair=
### others.lua ###
Chess board tiling=棋盘铺贴
Fireplace=壁炉
Small bundle of sticks=小捆棍子
Tar Knife=焦油刀
Tar base=焦油基
Tar Knife=焦油刀

View File

@ -1,48 +1,20 @@
# textdomain: building_blocks
### alias.lua ###
Granite=
### node_stairs.lua ###
Adobe=
Adobe Slab=
Adobe Stair=
Brobble Spread=
Chess board tiling=
Fake Grass=
Fake Grass Slab=
Fake Grass Stair=
Fireplace=
Grate=
Grate Slab=
Grate Stair=
Gravel Spread=
Hardwood=
Hardwood Slab=
Hardwood Stair=
Marble=
Marble Slab=
Marble Stair=
Roof block=
Roof block Slab=
Roof block Stair=
Streak Free Glass=
Streak Free Glass Slab=
Streak Free Glass Stair=
Wood Framed Glass=
Adobe=
Fake Grass=
Hardwood=
Roof block=
Tar=
Tar Slab=
Tar Stair=
Marble=
Brobble Spread=
Gravel Spread=
Tarmac Spread=
Terrycloth towel=
Wood Framed Glass=
Wood Framed Glass Slab=
Wood Framed Glass Stair=
### others.lua ###
Chess board tiling=
Fireplace=
Small bundle of sticks=
Tar Knife=
Tar base=
Tar Knife=

View File

@ -1,3 +1,3 @@
name = building_blocks
depends = default
optional_depends = moreblocks, gloopblocks, stairs
depends = homedecor_common
optional_depends = moreblocks, gloopblocks, stairs, default

View File

@ -1,136 +1,130 @@
local S = minetest.get_translator("building_blocks")
local stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"}
local function building_blocks_stairs(nodename, def)
minetest.register_node(nodename, def)
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
local mod, name = nodename:match("(.*):(.*)")
minetest.register_alias(mod .. ":slab_" .. name, "stairs:slab_" .. name)
minetest.register_alias(mod .. ":stair_" .. name, "stairs:stair_" .. name)
local stairs_groups = {}
for _, groupname in ipairs(stairs_groups_names) do
stairs_groups[groupname] = def.groups[groupname]
if def.groups and (def.groups.crumbly or def.groups.oddly_breakable_by_hand) then
def.groups["handy"]=1
def._mcl_hardness=0.6
elseif def.groups and (def.groups.snappy or def.groups.choppy) then
def.groups["axey"]=5
def._mcl_hardness=1.6
elseif def.groups and (def.groups.cracky or def.groups.crumbly) then
def.groups["pickaxey"]=5
def._mcl_hardness=1.6
end
def.is_ground_content = def.is_ground_content == true
minetest.register_node(nodename, def)
if minetest.get_modpath("moreblocks") then
stairsplus:register_all(
mod,
name,
nodename,
{
description = def.description,
tiles = def.tiles,
groups = stairs_groups,
sounds = def.sounds,
}
)
else
stairs.register_stair_and_slab(name,nodename,
stairs_groups,
def.tiles,
def.stair_desc,
def.slab_desc,
def.sounds
--FIXME: Missing descriptions for Inner and Outer stairs
-- See https://github.com/minetest/minetest_game/pull/2584
)
end
local mod, name = nodename:match("(.*):(.*)")
stairsplus:register_all(mod, name, nodename, def)
minetest.register_alias("stairs:slab_" .. name, mod .. ":slab_" .. name)
minetest.register_alias("stairs:stair_" .. name, mod .. ":stair_" .. name)
minetest.register_alias("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
minetest.register_alias("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
end
end
building_blocks_stairs("building_blocks:grate", {
drawtype = "glasslike",
description = S("Grate"),
stair_desc = S("Grate Stair"),
slab = S("Grate Slab"),
tiles = {"building_blocks_grate.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky=1},
sounds = default.node_sound_metal_defaults(),
is_ground_content = false,
use_texture_alpha = "clip",
groups = {cracky=1, dig_generic=3},
_sound_def = {
key = "node_sound_metal_defaults",
},
})
building_blocks_stairs("building_blocks:smoothglass", {
drawtype = "glasslike",
description = S("Streak Free Glass"),
stair_desc = S("Streak Free Glass Stair"),
slab_desc = S("Streak Free Glass Slab"),
tiles = {"building_blocks_sglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
_sound_def = {
key = "node_sound_glass_defaults",
},
})
building_blocks_stairs("building_blocks:woodglass", {
drawtype = "glasslike",
description = S("Wood Framed Glass"),
stair_desc = S("Wood Framed Glass Stair"),
slab_desc = S("Wood Framed Glass Slab"),
tiles = {"building_blocks_wglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
_sound_def = {
key = "node_sound_glass_defaults",
},
})
building_blocks_stairs("building_blocks:Adobe", {
tiles = {"building_blocks_Adobe.png"},
description = S("Adobe"),
stair_desc = S("Adobe Stair"),
slab_desc = S("Adobe Slab"),
is_ground_content = true,
groups = {crumbly=3},
sounds = default.node_sound_stone_defaults(),
is_ground_content = false,
groups = {crumbly=3, dig_stone=2},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
local grasstex = {
homedecor.textures.grass.top,
homedecor.textures.grass.dirt,
homedecor.textures.grass.side
}
building_blocks_stairs("building_blocks:fakegrass", {
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
tiles = grasstex,
description = S("Fake Grass"),
stair_desc = S("Fake Grass Stair"),
slab_desc = S("Fake Grass Slab"),
is_ground_content = true,
groups = {crumbly=3},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain=0.4},
}),
is_ground_content = false,
groups = {crumbly=3, dig_sand=3},
_sound_def = {
key = "node_sound_dirt_defaults",
},
})
building_blocks_stairs("building_blocks:hardwood", {
tiles = {"building_blocks_hardwood.png"},
is_ground_content = true,
is_ground_content = false,
description = S("Hardwood"),
stair_desc = S("Hardwood Stair"),
slab_desc = S("Hardwood Slab"),
groups = {choppy=1,flammable=1},
sounds = default.node_sound_wood_defaults(),
groups = {choppy=1,flammable=1, dig_tree=1},
_sound_def = {
key = "node_sound_wood_defaults",
},
})
building_blocks_stairs("building_blocks:Roofing", {
tiles = {"building_blocks_Roofing.png"},
is_ground_content = true,
is_ground_content = false,
description = S("Roof block"),
stair_desc = S("Roof block Stair"),
slab_desc = S("Roof block Slab"),
groups = {snappy=3},
sounds = default.node_sound_stone_defaults(),
groups = {snappy=3, dig_generic=4},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
building_blocks_stairs("building_blocks:Tar", {
description = S("Tar"),
stair_desc = S("Tar Stair"),
slab_desc = S("Tar Slab"),
tiles = {"building_blocks_tar.png"},
is_ground_content = true,
groups = {crumbly=1, tar_block = 1},
sounds = default.node_sound_stone_defaults(),
is_ground_content = false,
groups = {crumbly=1, tar_block = 1, dig_generic=4},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
building_blocks_stairs("building_blocks:Marble", {
description = S("Marble"),
stair_desc = S("Marble Stair"),
slab_desc = S("Marble Slab"),
tiles = {"building_blocks_marble.png"},
is_ground_content = true,
groups = {cracky=3, marble = 1},
sounds = default.node_sound_stone_defaults(),
is_ground_content = false,
groups = {cracky=3, marble = 1, dig_stone=2},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
minetest.register_node("building_blocks:brobble_spread", {
@ -148,15 +142,17 @@ minetest.register_node("building_blocks:brobble_spread", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
groups = {crumbly=3},
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopblocks") then
local graveltex = homedecor.textures.gravel
minetest.register_node("building_blocks:gravel_spread", {
drawtype = "raillike",
description = S("Gravel Spread"),
tiles = {"default_gravel.png"},
tiles = {graveltex},
inventory_image = "building_blocks_gravel_spread_inv.png",
paramtype = "light",
walkable = false,
@ -166,12 +162,12 @@ if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopbloc
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
groups = {crumbly=2},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain=0.5},
dug = {name="default_gravel_footstep", gain=1.0},
}),
is_ground_content = false,
groups = {crumbly=2, dig_generic=4, handy=1},
_mcl_hardness=0.6,
_sound_def = {
key = "node_sound_dirt_defaults",
},
})
end
@ -188,9 +184,12 @@ minetest.register_node("building_blocks:Tarmac_spread", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky=3},
sounds = default.node_sound_dirt_defaults(),
is_ground_content = false,
groups = {cracky=3, dig_generic=4, pickaxey=5},
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_dirt_defaults",
},
})
minetest.register_node("building_blocks:terrycloth_towel", {
drawtype = "raillike",
@ -205,8 +204,9 @@ minetest.register_node("building_blocks:terrycloth_towel", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
groups = {crumbly=3},
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
minetest.register_node("building_blocks:BWtile", {
@ -228,8 +228,9 @@ minetest.register_node("building_blocks:BWtile", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
groups = {crumbly=3},
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
minetest.register_node("building_blocks:Fireplace", {
@ -242,9 +243,12 @@ minetest.register_node("building_blocks:Fireplace", {
},
paramtype = "light",
paramtype2 = "facedir",
light_source = default.LIGHT_MAX,
light_source = minetest.LIGHT_MAX,
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
is_ground_content = false,
groups = {cracky=2, dig_generic=4, pickaxey=5},
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",
},
})

View File

@ -1,3 +1,5 @@
local materials = homedecor.materials
if minetest.get_modpath("moreblocks") then
minetest.register_craft({
output = 'building_blocks:sticks 2',
@ -20,15 +22,15 @@ end
minetest.register_craft({
output = 'building_blocks:Adobe 3',
recipe = {
{"default:sand"},
{"default:clay"},
{materials.sand},
{materials.clay_lump},
{"group:stick"},
}
})
minetest.register_craft({
output = 'building_blocks:brobble_spread 4',
recipe = {
{"default:brick", "default:cobble", "default:brick"},
{materials.brick, materials.cobble, materials.brick},
}
})
minetest.register_craft({
@ -42,20 +44,20 @@ minetest.register_craft({
output = 'building_blocks:fakegrass 2',
recipe = {
{'group:leaves'},
{"default:dirt"},
{materials.dirt},
}
})
minetest.register_craft({
output = 'building_blocks:Fireplace 1',
recipe = {
{"default:steel_ingot", "building_blocks:sticks", "default:steel_ingot"},
{materials.steel_ingot, "building_blocks:sticks", materials.steel_ingot},
}
})
minetest.register_craft({
output = 'building_blocks:grate 1',
recipe = {
{"default:steel_ingot", "default:steel_ingot"},
{"default:glass", "default:glass"},
{materials.steel_ingot, materials.steel_ingot},
{materials.glass_block, materials.glass_block},
}
})
@ -63,11 +65,12 @@ if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopbloc
minetest.register_craft({
output = 'building_blocks:gravel_spread 4',
recipe = {
{"default:gravel", "default:gravel", "default:gravel"},
{materials.gravel, materials.gravel, materials.gravel},
}
})
end
if minetest.get_modpath("default") then
minetest.register_craft({
output = 'building_blocks:hardwood 2',
recipe = {
@ -82,6 +85,7 @@ minetest.register_craft({
{"default:wood", "default:junglewood"},
}
})
end
minetest.register_craft({
output = 'building_blocks:knife 1',
recipe = {
@ -92,9 +96,9 @@ minetest.register_craft({
minetest.register_craft({
output = "building_blocks:Marble 9",
recipe = {
{"default:clay", "group:tar_block", "default:clay"},
{"group:tar_block","default:clay", "group:tar_block"},
{"default:clay", "group:tar_block","default:clay"},
{materials.clay_lump, "group:tar_block", materials.clay_lump},
{"group:tar_block",materials.clay_lump, "group:tar_block"},
{materials.clay_lump, "group:tar_block",materials.clay_lump},
}
})
minetest.register_craft({
@ -113,15 +117,15 @@ minetest.register_craft({
minetest.register_craft({
output = 'building_blocks:tar_base 4',
recipe = {
{"default:coal_lump", "default:gravel"},
{"default:gravel", "default:coal_lump"}
{materials.coal_lump, materials.gravel},
{materials.gravel, materials.coal_lump}
}
})
minetest.register_craft({
output = 'building_blocks:tar_base 4',
recipe = {
{"default:gravel", "default:coal_lump"},
{"default:coal_lump", "default:gravel"}
{materials.gravel, materials.coal_lump},
{materials.coal_lump, materials.gravel}
}
})
minetest.register_craft({
@ -140,14 +144,14 @@ minetest.register_craft({
output = 'building_blocks:woodglass 1',
recipe = {
{"group:wood"},
{"default:glass"},
{materials.glass_block},
}
})
minetest.register_craft({
type = "cooking",
output = "building_blocks:smoothglass",
recipe = "default:glass"
recipe = materials.glass_block
})
minetest.register_craft({
type = "cooking",

View File

@ -1,19 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"default",
}
globals = {
}

View File

@ -1,5 +1,7 @@
local S = minetest.get_translator("fake_fire")
local fake_fire_reload_particles_nodes = {}
local function fire_particles_on(pos) -- 3 layers of fire
local meta = minetest.get_meta(pos)
local id1 = minetest.add_particlespawner({ -- 1 layer big particles fire
@ -102,8 +104,8 @@ local function start_fire_effects(pos, node, clicker, chimney)
minsize = 4, maxsize = 8,
texture = "smoke_particle.png",
})
if chimney == 1 then
this_spawner_meta:set_int("smoky", id)
if chimney == 1 then
this_spawner_meta:set_int("sound", 0)
else
s_handle = minetest.sound_play("fire_small", {
@ -111,6 +113,7 @@ local function start_fire_effects(pos, node, clicker, chimney)
max_hear_distance = 5,
loop = true
})
fire_particles_off(pos)
fire_particles_on(pos)
this_spawner_meta:set_int("sound", s_handle)
end
@ -142,7 +145,9 @@ minetest.register_node("fake_fire:ice_fire", {
drawtype = "plantlike",
paramtype = "light",
paramtype2 = "facedir",
groups = {dig_immediate=3, not_in_creative_inventory=1},
groups = {dig_immediate=3, not_in_creative_inventory=1, dig_generic=3, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
sunlight_propagates = true,
buildable_to = true,
walkable = false,
@ -158,6 +163,7 @@ minetest.register_node("fake_fire:ice_fire", {
end,
on_destruct = function (pos)
stop_smoke(pos)
fire_particles_off(pos)
minetest.sound_play("fire_extinguish", {
pos = pos, max_hear_distance = 5
})
@ -172,6 +178,8 @@ local sbox = {
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16},
}
local wtex = homedecor.textures.wood.jungle.planks
minetest.register_node("fake_fire:fancy_fire", {
inventory_image = "fancy_fire_inv.png",
description = S("Fancy Fire"),
@ -179,7 +187,10 @@ minetest.register_node("fake_fire:fancy_fire", {
mesh = "fancy_fire.obj",
paramtype = "light",
paramtype2 = "facedir",
groups = {oddly_breakable_by_hand=3, flammable=0},
use_texture_alpha = "clip",
groups = {oddly_breakable_by_hand=3, flammable=0, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
sunlight_propagates = true,
light_source = 13,
walkable = false,
@ -188,10 +199,11 @@ minetest.register_node("fake_fire:fancy_fire", {
selection_box = sbox,
tiles = {
"basic_materials_concrete_block.png",
"default_junglewood.png",
wtex,
"fake_fire_empty_tile.png"
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
fire_particles_off(pos)
fire_particles_on(pos)
return itemstack
end,
@ -223,25 +235,46 @@ minetest.register_node("fake_fire:embers", {
aspect_w=16, aspect_h=16, length=2}},
},
light_source = 9,
groups = {crumbly=3},
groups = {crumbly=3, dig_stone=2, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
paramtype = "light",
sounds = default.node_sound_dirt_defaults(),
_sound_def = {
key = "node_sound_dirt_defaults",
},
})
local sandstone_tex = "default_sandstone.png"
if not minetest.get_modpath("default") then
local sname = minetest.registered_nodes["mapgen_stone"].name
local names = sname:split(":")
local nitem = names[2] and string.gsub(names[2], "stone", "sandstone") or nil
if nitem and minetest.registered_nodes[names[1]..":"..nitem] then
sandstone_tex = minetest.registered_nodes[names[1]..":"..nitem].tiles[1]
else
sandstone_tex = "[combine:16x16^[noalpha^[colorize:#fefebe"
end
end
-- CHIMNEYS
local materials = {
{ "stone", S("Stone chimney top") },
{ "sandstone", S("Sandstone chimney top") },
{ "stone", S("Stone chimney top"), minetest.registered_nodes["mapgen_stone"].tiles[1] },
{ "sandstone", S("Sandstone chimney top"), sandstone_tex },
}
for _, mat in ipairs(materials) do
local name, desc = unpack(mat)
local name, desc, tex = unpack(mat)
table.insert(fake_fire_reload_particles_nodes, "fake_fire:chimney_top_"..name)
minetest.register_node("fake_fire:chimney_top_"..name, {
description = desc,
tiles = {"default_"..name..".png^chimney_top.png", "default_"..name..".png"},
groups = {snappy=3},
tiles = {tex.."^chimney_top.png", tex},
groups = {snappy=3, dig_stone=2, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
paramtype = "light",
sounds = default.node_sound_stone_defaults(),
_sound_def = {
key = "node_sound_stone_defaults",
},
drawtype = "nodebox",
node_box = {
type = "fixed",
@ -257,15 +290,18 @@ for _, mat in ipairs(materials) do
end
})
if minetest.get_modpath("default") then
minetest.register_craft({
type = "shapeless",
output = 'fake_fire:chimney_top_'..name,
recipe = {"default:torch", "stairs:slab_"..name}
})
end
end
minetest.register_alias("fake_fire:flint_and_steel", "fire:flint_and_steel")
if minetest.get_modpath("default") then
minetest.override_item("default:ice", {
on_ignite = function(pos, igniter)
local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z}
@ -274,9 +310,10 @@ minetest.override_item("default:ice", {
end
end
})
end
-- CRAFTS
if minetest.get_modpath("default") then
minetest.register_craft({
type = "shapeless",
output = 'fake_fire:embers',
@ -288,6 +325,7 @@ minetest.register_craft({
output = 'fake_fire:fancy_fire',
recipe = {"default:torch", "building_blocks:sticks", "default:torch" }
})
end
-- ALIASES
@ -309,3 +347,16 @@ minetest.register_lbm({
fire_particles_on(pos)
end
})
minetest.register_lbm({
name = "fake_fire:reload_particles_chimney",
label = "restart chimney smoke on reload",
nodenames = fake_fire_reload_particles_nodes,
run_at_every_load = true,
action = function(pos, node)
if minetest.get_meta(pos):get_int("smoky") ~= 0 then
stop_smoke(pos)
start_fire_effects(pos, node, nil, 1)
end
end
})

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=Eisfeuer
Fancy Fire=Schönes Feuer
Glowing Embers=Glühende Asche
Ice fire=Eisfeuer
Sandstone chimney top=Sandsteinschornsteinaufsatz
Stone chimney top=Steinschornsteinaufsatz
Sandstone chimney top=Sandsteinschornsteinaufsatz

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=Fuego de hielo
Fancy Fire=Fuego fantasía
Glowing Embers=Brasas ardientes
Ice fire=Fuego de hielo
Sandstone chimney top=Chimenea de arenisca
Stone chimney top=Chimenea de piedra
Sandstone chimney top=Chimenea de arenisca

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=Feu glacé
Fancy Fire=Feu décoratif
Glowing Embers=Braises incandescentes
Ice fire=Feu glacé
Sandstone chimney top=Haut de cheminée en grès
Stone chimney top=Haut de cheminée en pierre
Sandstone chimney top=Haut de cheminée en grès

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=Api Ais
Fancy Fire=Api Hiasan
Glowing Embers=Bara Api
Ice fire=Api Ais
Sandstone chimney top=Kepala Serombong Batu Pasir
Stone chimney top=Kepala Serombong Batu
Sandstone chimney top=Kepala Serombong Batu Pasir

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=Fogo de gelo
Fancy Fire=Fogo Chique
Glowing Embers=Brasas Brilhantes
Ice fire=Fogo de gelo
Sandstone chimney top=Topo de chaminé de arenito
Stone chimney top=Topo de chaminé de pedra
Sandstone chimney top=Topo de chaminé de arenito

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=Fogo de gelo
Fancy Fire=Fogo Chique
Glowing Embers=Brasas Brilhantes
Ice fire=Fogo de gelo
Sandstone chimney top=Topo de chaminé de arenito
Stone chimney top=Topo de chaminé de pedra
Sandstone chimney top=Topo de chaminé de arenito

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=Ледяной огонь
Fancy Fire=Необычный огонь
Glowing Embers=Светящиеся угли
Ice fire=Ледяной огонь
Sandstone chimney top=Дымоход из песчаника на крышу
Stone chimney top=Каменный дымоход на крышу
Sandstone chimney top=Дымоход из песчаника на крышу

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=冰火
Fancy Fire=花式火
Glowing Embers=发光的余烬
Ice fire=冰火
Sandstone chimney top=砂石烟囱顶部
Stone chimney top=鹅卵石烟囱顶部
Sandstone chimney top=砂石烟囱顶部

View File

@ -1,10 +1,6 @@
# textdomain: fake_fire
### init.lua ###
Ice fire=
Fancy Fire=
Glowing Embers=
Ice fire=
Sandstone chimney top=
Stone chimney top=
Sandstone chimney top=

View File

@ -1,2 +1,2 @@
name = fake_fire
depends = default
depends = homedecor_common

View File

@ -1,18 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
}
globals = {
}

View File

@ -1,3 +1,4 @@
if minetest.get_modpath("default") then
minetest.override_item("default:bookshelf", {
drawtype = "mesh",
mesh = "homedecor_3d_bookshelf.obj",
@ -9,6 +10,7 @@ minetest.override_item("default:bookshelf", {
paramtype = "light",
paramtype2 = "facedir",
})
end
if minetest.get_modpath("vessels") then
minetest.override_item("vessels:shelf", {
@ -21,7 +23,7 @@ if minetest.get_modpath("vessels") then
},
paramtype = "light",
paramtype2 = "facedir",
use_texture_alpha = true
use_texture_alpha = "blend",
})
local sbox = {
@ -35,7 +37,7 @@ if minetest.get_modpath("vessels") then
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
inventory_image = "homedecor_3d_vessels_glass_bottle_inv.png",
wield_image = "homedecor_3d_vessels_glass_bottle_inv.png",
use_texture_alpha = true,
use_texture_alpha = "blend",
selection_box = sbox
})
@ -54,7 +56,7 @@ if minetest.get_modpath("vessels") then
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
inventory_image = "homedecor_3d_vessels_drinking_glass_inv.png",
wield_image = "homedecor_3d_vessels_drinking_glass_inv.png",
use_texture_alpha = true,
use_texture_alpha = "blend",
selection_box = sbox
})
end
@ -92,16 +94,22 @@ if minetest.get_modpath("doors") then
local def
for _,mat in ipairs({"wood", "steel"}) do
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"])
def.groups.handy = 1
def._mcl_hardness=0.6
def.mesh = "homedecor_3d_door_"..mat.."_a.obj"
minetest.register_node(":doors:door_"..mat.."_a", def)
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"])
def.groups.handy = 1
def._mcl_hardness=0.6
def.mesh = "homedecor_3d_door_"..mat.."_b.obj"
minetest.register_node(":doors:door_"..mat.."_b", def)
end
for _,mat in ipairs({"", "_steel"}) do
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat])
def.groups.handy = 1
def._mcl_hardness=0.6
def.drawtype = "mesh"
def.mesh = "homedecor_3d_trapdoor"..mat..".obj"
def.tiles = {
@ -111,6 +119,8 @@ if minetest.get_modpath("doors") then
minetest.register_node(":doors:trapdoor"..mat, def)
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"])
def.groups.handy = 1
def._mcl_hardness=0.6
def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj"
def.drawtype = "mesh"
def.tiles = {

View File

@ -1,4 +1,3 @@
name = homedecor_3d_extras
description = Homedecor Mod: 3d extras
depends = default
optional_depends = vessels, moreblocks, doors
optional_depends = vessels, moreblocks, doors, default

View File

@ -1,22 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"default",
"homedecor",
"screwdriver",
"unifieddyes",
}
globals = {
}

View File

@ -2,7 +2,10 @@ local S = minetest.get_translator("homedecor_bathroom")
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
minetest.register_node(":homedecor:bathroom_tiles_dark", {
local wood_tex = homedecor.textures.wood.apple.planks
local water_tex = homedecor.textures.water.tile
homedecor.register("bathroom_tiles_dark", {
description = S("Bathroom/kitchen tiles (dark)"),
tiles = {
"homedecor_bathroom_tiles_bg.png"
@ -13,13 +16,24 @@ minetest.register_node(":homedecor:bathroom_tiles_dark", {
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, ud_param2_colorable = 1, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
crafts = {
{
output = "homedecor:bathroom_tiles_dark 4",
recipe = {
{ "group:marble", "group:marble", "" },
{ "group:marble", "group:marble", "dye_dark_grey" }
},
}
}
})
minetest.register_node(":homedecor:bathroom_tiles_medium", {
homedecor.register("bathroom_tiles_medium", {
description = S("Bathroom/kitchen tiles (medium)"),
tiles = {
"homedecor_bathroom_tiles_bg.png"
@ -30,13 +44,24 @@ minetest.register_node(":homedecor:bathroom_tiles_medium", {
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, ud_param2_colorable = 1, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
crafts = {
{
output = "homedecor:bathroom_tiles_medium 4",
recipe = {
{ "group:marble", "group:marble", "" },
{ "group:marble", "group:marble", "dye_grey" }
},
}
}
})
minetest.register_node(":homedecor:bathroom_tiles_light", {
homedecor.register("bathroom_tiles_light", {
description = S("Bathroom/kitchen tiles (light)"),
tiles = {
"homedecor_bathroom_tiles_bg.png"
@ -47,10 +72,21 @@ minetest.register_node(":homedecor:bathroom_tiles_light", {
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, ud_param2_colorable = 1, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
crafts = {
{
output = "homedecor:bathroom_tiles_light 4",
recipe = {
{ "group:marble", "group:marble" },
{ "group:marble", "group:marble" }
},
}
}
})
local tr_cbox = {
@ -63,20 +99,30 @@ homedecor.register("towel_rod", {
mesh = "homedecor_towel_rod.obj",
tiles = {
"homedecor_generic_terrycloth.png",
"default_wood.png",
wood_tex,
},
inventory_image = "homedecor_towel_rod_inv.png",
selection_box = tr_cbox,
walkable = false,
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_defaults(),
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3,dig_tree=2},
_sound_def = {
key = "node_sound_default",
},
crafts = {
{
recipe = {
{ "group:wood", "group:stick", "group:wood" },
{ "", "building_blocks:terrycloth_towel", "" },
},
}
}
})
homedecor.register("medicine_cabinet", {
description = S("Medicine cabinet"),
mesh = "homedecor_medicine_cabinet.obj",
tiles = {
'default_wood.png',
wood_tex,
'homedecor_medicine_cabinet_mirror.png'
},
inventory_image = "homedecor_medicine_cabinet_inv.png",
@ -85,22 +131,37 @@ homedecor.register("medicine_cabinet", {
fixed = {-0.3125, -0.1875, 0.3125, 0.3125, 0.5, 0.5}
},
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
groups = { snappy = 3, dig_stone = 2 },
_sound_def = {
key = "node_sound_wood_defaults",
},
on_punch = function(pos, node, puncher, pointed_thing)
node.name = "homedecor:medicine_cabinet_open"
minetest.swap_node(pos, node)
end,
can_dig = function(pos)
local inv = minetest.get_meta(pos):get_inventory("main")
return inv:is_empty("main")
end,
infotext=S("Medicine cabinet"),
inventory = {
size=6,
},
crafts = {
{
recipe = {
{ "group:stick", "glass_block", "group:stick" },
{ "group:stick", "glass_block", "group:stick" },
{ "group:stick", "glass_block", "group:stick" }
},
}
}
})
homedecor.register("medicine_cabinet_open", {
mesh = "homedecor_medicine_cabinet_open.obj",
tiles = {
'default_wood.png',
wood_tex,
'homedecor_medicine_cabinet_mirror.png',
'homedecor_medicine_cabinet_inside.png'
},
@ -109,12 +170,16 @@ homedecor.register("medicine_cabinet_open", {
fixed = {-0.3125, -0.1875, -0.25, 0.3125, 0.5, 0.5}
},
walkable = false,
groups = { snappy = 3, not_in_creative_inventory=1 },
groups = { snappy = 3, not_in_creative_inventory=1, dig_stone = 2 },
drop = "homedecor:medicine_cabinet",
on_punch = function(pos, node, puncher, pointed_thing)
node.name = "homedecor:medicine_cabinet"
minetest.swap_node(pos, node)
end,
can_dig = function(pos)
local inv = minetest.get_meta(pos):get_inventory("main")
return inv:is_empty("main")
end,
})
-- "Sanitation" related
@ -143,12 +208,23 @@ homedecor.register("toilet", {
},
selection_box = toilet_sbox,
node_box = toilet_cbox,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
node.name = "homedecor:toilet_open"
minetest.set_node(pos, node)
end
end,
crafts = {
{
recipe = {
{ "","","water_bucket"},
{ "group:marble","group:marble", "group:marble" },
{ "", "empty_bucket", "" },
},
}
}
})
homedecor.register("toilet_open", {
@ -157,14 +233,17 @@ homedecor.register("toilet_open", {
"building_blocks_marble.png",
"building_blocks_marble.png",
"building_blocks_marble.png",
"default_water.png",
water_tex,
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
},
selection_box = toilet_sbox,
collision_box = toilet_cbox,
drop = "homedecor:toilet",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
use_texture_alpha = "blend",
groups = {cracky=3, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
node.name = "homedecor:toilet"
minetest.set_node(pos, node)
@ -188,13 +267,24 @@ homedecor.register("toilet_paper", {
mesh = "homedecor_toilet_paper.obj",
tiles = {
"homedecor_generic_quilted_paper.png",
"default_wood.png"
wood_tex
},
inventory_image = "homedecor_toilet_paper_inv.png",
selection_box = tp_cbox,
walkable = false,
groups = {snappy=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_defaults(),
groups = {snappy=3,oddly_breakable_by_hand=3, dig_stone = 2},
_sound_def = {
key = "node_sound_default",
},
crafts = {
{
recipe = {
{ "", "paper", "paper" },
{ "group:wood", "group:stick", "paper" },
{ "", "paper", "paper" },
},
}
}
})
--Sink
@ -221,16 +311,27 @@ homedecor.register("sink", {
tiles = {
"building_blocks_marble.png",
"building_blocks_marble.png",
"default_water.png"
water_tex
},
use_texture_alpha = "blend",
inventory_image="homedecor_bathroom_sink_inv.png",
selection_box = sink_sbox,
collision_box = sink_cbox,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
end
end,
crafts = {
{
recipe = {
{ "group:marble","empty_bucket", "group:marble" },
{ "", "group:marble", "" }
},
}
}
})
--Taps
@ -239,9 +340,7 @@ local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
if below and
below.name == "homedecor:shower_tray" or
below.name == "homedecor:sink" or
below.name == "homedecor:kitchen_cabinet_with_sink" or
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
string.find(below.name, "homedecor:.*sink") then
local particledef = {
outlet = { x = 0, y = -0.44, z = 0.28 },
velocity_x = { min = -0.1, max = 0.1 },
@ -271,11 +370,20 @@ homedecor.register("taps", {
fixed = { -4/16, -7/16, 4/16, 4/16, -4/16, 8/16 },
},
walkable = false,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_rightclick = taps_on_rightclick,
on_destruct = homedecor.stop_particle_spawner,
on_rotate = sc_disallow or nil
on_rotate = sc_disallow or nil,
crafts = {
{
recipe = {
{ "steel_ingot","water_bucket", "steel_ingot" },
},
}
}
})
homedecor.register("taps_brass", {
@ -294,11 +402,20 @@ homedecor.register("taps_brass", {
fixed = { -4/16, -7/16, 4/16, 4/16, -4/16, 8/16 },
},
walkable = false,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=3, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_rightclick = taps_on_rightclick,
on_destruct = homedecor.stop_particle_spawner,
on_rotate = sc_disallow or nil,
crafts = {
{
recipe = {
{ "basic_materials:brass_ingot","water_bucket", "basic_materials:brass_ingot" },
},
}
}
})
--Shower Tray
@ -320,12 +437,21 @@ homedecor.register("shower_tray", {
},
},
selection_box = homedecor.nodebox.slab_y(0.1),
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
groups = {cracky=2, dig_stone = 2},
_sound_def = {
key = "node_sound_stone_defaults",
},
on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+2, z=pos.z}) -- the showerhead
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z}) -- the taps, if any
end
end,
crafts = {
{
recipe = {
{ "group:marble","empty_bucket", "group:marble" },
},
}
}
})
--Shower Head
@ -345,7 +471,7 @@ homedecor.register("shower_head", {
},
inventory_image = "homedecor_shower_head_inv.png",
description = S("Shower Head"),
groups = {snappy=3},
groups = {snappy=3, dig_stone = 2},
selection_box = sh_cbox,
walkable = false,
on_rotate = sc_disallow or nil,
@ -368,7 +494,14 @@ homedecor.register("shower_head", {
end,
on_destruct = function(pos)
homedecor.stop_particle_spawner(pos)
end
end,
crafts = {
{
recipe = {
{"steel_ingot", "water_bucket"},
},
}
}
})
local tub_sbox = {
@ -404,10 +537,21 @@ homedecor.register("bathtub_clawfoot_brass_taps", {
"homedecor_bathtub_clawfoot_bottom_inside.png",
},
description = S("Bathtub, clawfoot, with brass taps"),
groups = {cracky=3},
groups = {cracky=3, dig_stone = 2},
selection_box = tub_sbox,
node_box = tub_cbox,
sounds = default.node_sound_stone_defaults(),
_sound_def = {
key = "node_sound_stone_defaults",
},
crafts = {
{
recipe = {
{ "homedecor:taps_brass", "", "" },
{ "group:marble", "", "group:marble" },
{ "steel_ingot", "group:marble", "steel_ingot"},
},
}
}
})
homedecor.register("bathtub_clawfoot_chrome_taps", {
@ -422,10 +566,21 @@ homedecor.register("bathtub_clawfoot_chrome_taps", {
"homedecor_bathtub_clawfoot_bottom_inside.png",
},
description = S("Bathtub, clawfoot, with chrome taps"),
groups = {cracky=3},
groups = {cracky=3, dig_stone = 2},
selection_box = tub_sbox,
node_box = tub_cbox,
sounds = default.node_sound_stone_defaults(),
_sound_def = {
key = "node_sound_stone_defaults",
},
crafts = {
{
recipe = {
{ "homedecor:taps", "", "" },
{ "group:marble", "", "group:marble" },
{"steel_ingot", "group:marble", "steel_ingot"},
},
}
}
})
local bs_cbox = {
@ -445,10 +600,21 @@ homedecor.register("bathroom_set", {
},
inventory_image = "homedecor_bathroom_set_inv.png",
description = S("Bathroom sundries set"),
groups = {snappy=3},
groups = {snappy=3, dig_stone = 2},
selection_box = bs_cbox,
walkable = false,
sounds = default.node_sound_glass_defaults(),
_sound_def = {
key = "node_sound_glass_defaults",
},
crafts = {
{
recipe = {
{ "", "homedecor:glass_table_small_round", "" },
{ "basic_materials:plastic_sheet", "homedecor:glass_table_small_round", "basic_materials:plastic_sheet" },
{ "group:stick", "basic_materials:plastic_sheet", "group:stick" }
},
}
}
})
-- aliases
@ -520,45 +686,7 @@ minetest.register_lbm({
end
})
-- crafting
minetest.register_craft({
output = "homedecor:towel_rod",
recipe = {
{ "group:wood", "group:stick", "group:wood" },
{ "", "building_blocks:terrycloth_towel", "" },
},
})
minetest.register_craft({
output = "homedecor:toilet_paper",
recipe = {
{ "", "default:paper", "default:paper" },
{ "group:wood", "group:stick", "default:paper" },
{ "", "default:paper", "default:paper" },
},
})
minetest.register_craft({
output = "homedecor:medicine_cabinet",
recipe = {
{ "group:stick", "default:glass", "group:stick" },
{ "group:stick", "default:glass", "group:stick" },
{ "group:stick", "default:glass", "group:stick" }
},
})
-- bathroom/kitchen tiles
minetest.register_craft( {
output = "homedecor:bathroom_tiles_light 4",
recipe = {
{ "group:marble", "group:marble" },
{ "group:marble", "group:marble" }
},
})
-- color crafting
unifieddyes.register_color_craft({
output = "homedecor:bathroom_tiles_light",
@ -571,14 +699,6 @@ unifieddyes.register_color_craft({
}
})
minetest.register_craft( {
output = "homedecor:bathroom_tiles_medium 4",
recipe = {
{ "group:marble", "group:marble", "" },
{ "group:marble", "group:marble", "dye:grey" }
},
})
unifieddyes.register_color_craft({
output = "homedecor:bathroom_tiles_medium",
palette = "extended",
@ -590,14 +710,6 @@ unifieddyes.register_color_craft({
}
})
minetest.register_craft( {
output = "homedecor:bathroom_tiles_dark 4",
recipe = {
{ "group:marble", "group:marble", "" },
{ "group:marble", "group:marble", "dye:dark_grey" }
},
})
unifieddyes.register_color_craft({
output = "homedecor:bathroom_tiles_dark",
palette = "extended",
@ -609,75 +721,3 @@ unifieddyes.register_color_craft({
}
})
minetest.register_craft({
output = "homedecor:bathroom_set",
recipe = {
{ "", "homedecor:glass_table_small_round", "" },
{ "basic_materials:plastic_sheet", "homedecor:glass_table_small_round", "basic_materials:plastic_sheet" },
{ "group:stick", "basic_materials:plastic_sheet", "group:stick" }
},
})
minetest.register_craft({
output = "homedecor:toilet",
recipe = {
{ "","","bucket:bucket_water"},
{ "group:marble","group:marble", "group:marble" },
{ "", "bucket:bucket_empty", "" },
},
})
minetest.register_craft({
output = "homedecor:sink",
recipe = {
{ "group:marble","bucket:bucket_empty", "group:marble" },
{ "", "group:marble", "" }
},
})
minetest.register_craft({
output = "homedecor:taps",
recipe = {
{ "default:steel_ingot","bucket:bucket_water", "default:steel_ingot" },
},
})
minetest.register_craft({
output = "homedecor:taps_brass",
recipe = {
{ "basic_materials:brass_ingot","bucket:bucket_water", "basic_materials:brass_ingot" },
},
})
minetest.register_craft({
output = "homedecor:shower_tray",
recipe = {
{ "group:marble","bucket:bucket_empty", "group:marble" },
},
})
minetest.register_craft({
output = "homedecor:shower_head",
recipe = {
{"default:steel_ingot", "bucket:bucket_water"},
},
})
minetest.register_craft({
output = "homedecor:bathtub_clawfoot_brass_taps",
recipe = {
{ "homedecor:taps_brass", "", "" },
{ "group:marble", "", "group:marble" },
{ "default:steel_ingot", "group:marble", "default:steel_ingot"},
},
})
minetest.register_craft({
output = "homedecor:bathtub_clawfoot_chrome_taps",
recipe = {
{ "homedecor:taps", "", "" },
{ "group:marble", "", "group:marble" },
{"default:steel_ingot", "group:marble", "default:steel_ingot"},
},
})

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=Badezimmerwaschbecken
Bathroom sundries set=Badezimmerkrimskrams
Bathroom taps/faucet=Badezimmerwasserhahn
Bathroom taps/faucet (brass)=Badezimmerwasserhahn (Messing)
Bathroom/kitchen tiles (dark)=Badezimmer-/Küchenkacheln (dunkel)
Bathroom/kitchen tiles (light)=Badezimmer-/Küchenkacheln (hell)
Bathroom/kitchen tiles (medium)=Badezimmer-/Küchenkacheln (mittel)
Bathtub, clawfoot, with brass taps=Badewanne, Krallenfuß, mit Messingwasserhähnen
Bathtub, clawfoot, with chrome taps=Badewanne, Krallenfuß, mit Chromwasserhähnen
Bathroom/kitchen tiles (light)=Badezimmer-/Küchenkacheln (hell)
Towel rod with towel=Handtuchhalter mit Handtuch
Medicine cabinet=Medizinschrank
Shower Head=Duschbrause
Shower Tray=Duschtasse
Toilet=Toilette
Toilet paper=Toilettenpapier
Towel rod with towel=Handtuchhalter mit Handtuch
Bathroom Sink=Badezimmerwaschbecken
Bathroom taps/faucet=Badezimmerwasserhahn
Bathroom taps/faucet (brass)=Badezimmerwasserhahn (Messing)
Shower Tray=Duschtasse
Shower Head=Duschbrause
Bathtub, clawfoot, with brass taps=Badewanne, Krallenfuß, mit Messingwasserhähnen
Bathtub, clawfoot, with chrome taps=Badewanne, Krallenfuß, mit Chromwasserhähnen
Bathroom sundries set=Badezimmerkrimskrams

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=Lavabo de baño
Bathroom sundries set=Artículos de baño
Bathroom taps/faucet=Grifo de baño
Bathroom taps/faucet (brass)=Grifo de baño (latón)
Bathroom/kitchen tiles (dark)=Azulejo de baño/cocina (tonos oscuros)
Bathroom/kitchen tiles (light)=Azulejo de baño/cocina (tonos claros)
Bathroom/kitchen tiles (medium)=Azulejo de baño/cocina (tonos medios)
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom/kitchen tiles (light)=Azulejo de baño/cocina (tonos claros)
Towel rod with towel=Toallero con toalla
Medicine cabinet=Gabinete de medicinas
Shower Head=Ducha
Shower Tray=Plato de ducha
Toilet=Inodoro
Toilet paper=Papel higiénico
Towel rod with towel=Toallero con toalla
Bathroom Sink=Lavabo de baño
Bathroom taps/faucet=Grifo de baño
Bathroom taps/faucet (brass)=Grifo de baño (latón)
Shower Tray=Plato de ducha
Shower Head=Ducha
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom sundries set=Artículos de baño

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=Évier
Bathroom sundries set=Miroir et tablette de salle de bain
Bathroom taps/faucet=Robinetterie
Bathroom taps/faucet (brass)=Robinetterie (laiton)
Bathroom/kitchen tiles (dark)=Carreaux de salle de bain ou cuisine (foncées)
Bathroom/kitchen tiles (light)=Carreaux de salle de bain ou cuisine (claires)
Bathroom/kitchen tiles (medium)=Carreaux de salle de bain ou cuisine (moyennes)
Bathtub, clawfoot, with brass taps=Baignoire sur pieds, avec robinetterie en laiton
Bathtub, clawfoot, with chrome taps=Baignoire sur pieds, avec robinetterie en chrome
Bathroom/kitchen tiles (light)=Carreaux de salle de bain ou cuisine (claires)
Towel rod with towel=Porte serviette et serviette
Medicine cabinet=Armoire à pharmacie
Shower Head=Pomme de douche
Shower Tray=Bac de douche
Toilet=Toilettes
Toilet paper=Papier toilette
Towel rod with towel=Porte serviette et serviette
Bathroom Sink=Évier
Bathroom taps/faucet=Robinetterie
Bathroom taps/faucet (brass)=Robinetterie (laiton)
Shower Tray=Bac de douche
Shower Head=Pomme de douche
Bathtub, clawfoot, with brass taps=Baignoire sur pieds, avec robinetterie en laiton
Bathtub, clawfoot, with chrome taps=Baignoire sur pieds, avec robinetterie en chrome
Bathroom sundries set=Miroir et tablette de salle de bain

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=
Bathroom sundries set=
Bathroom taps/faucet=
Bathroom taps/faucet (brass)=
Bathroom/kitchen tiles (dark)=
Bathroom/kitchen tiles (light)=
Bathroom/kitchen tiles (medium)=
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom/kitchen tiles (light)=
Towel rod with towel=
Medicine cabinet=Armadietto sotto il lavandino
Shower Head=Pigna della doccia
Shower Tray=Piatto della doccia
Toilet=Water
Toilet paper=Water
Towel rod with towel=
Bathroom Sink=
Bathroom taps/faucet=
Bathroom taps/faucet (brass)=
Shower Tray=Piatto della doccia
Shower Head=Pigna della doccia
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom sundries set=

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=Sinki Bilik Mandi
Bathroom sundries set=Set Barangan Bilik Mandi
Bathroom taps/faucet=Kepala Paip Bilik Mandi
Bathroom taps/faucet (brass)=Kepala Paip Bilik Mandi (Loyang)
Bathroom/kitchen tiles (dark)=Jubin Dapur/Bilik Mandi (Gelap)
Bathroom/kitchen tiles (light)=Jubin Dapur/Bilik Mandi (Cerah)
Bathroom/kitchen tiles (medium)=Jubin Dapur/Bilik Mandi (Biasa)
Bathtub, clawfoot, with brass taps=Tab Mandi Berkaki Cakar, dengan Kepala Paip Loyang
Bathtub, clawfoot, with chrome taps=Tab Mandi Berkaki Cakar, dengan Kepala Paip Krom
Bathroom/kitchen tiles (light)=Jubin Dapur/Bilik Mandi (Cerah)
Towel rod with towel=Ampaian Beserta Tuala
Medicine cabinet=Kabinet Ubat
Shower Head=Kepala Pancuran
Shower Tray=Lubang Air Mandi
Toilet=Tandas
Toilet paper=Tisu Tandas
Towel rod with towel=Ampaian Beserta Tuala
Bathroom Sink=Sinki Bilik Mandi
Bathroom taps/faucet=Kepala Paip Bilik Mandi
Bathroom taps/faucet (brass)=Kepala Paip Bilik Mandi (Loyang)
Shower Tray=Lubang Air Mandi
Shower Head=Kepala Pancuran
Bathtub, clawfoot, with brass taps=Tab Mandi Berkaki Cakar, dengan Kepala Paip Loyang
Bathtub, clawfoot, with chrome taps=Tab Mandi Berkaki Cakar, dengan Kepala Paip Krom
Bathroom sundries set=Set Barangan Bilik Mandi

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=Pia de Banheiro
Bathroom sundries set=Espelho de Banheiro com bancada
Bathroom taps/faucet=Torneira de Banheiro
Bathroom taps/faucet (brass)=Torneira de Banheiro (latão)
Bathroom/kitchen tiles (dark)=Azulejo de Banheiro/Cozinha (escuro)
Bathroom/kitchen tiles (light)=Azulejo de Banheiro/Cozinha (claro)
Bathroom/kitchen tiles (medium)=Azulejo de Banheiro/Cozinha (médio)
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom/kitchen tiles (light)=Azulejo de Banheiro/Cozinha (claro)
Towel rod with towel=Haste de Toalha com Toalha
Medicine cabinet=Armário de remédios
Shower Head=Chuveiro
Shower Tray=Ralo do Chuveiro
Toilet=Vaso Sanitário
Toilet paper=Papel higiênico
Towel rod with towel=Haste de Toalha com Toalha
Bathroom Sink=Pia de Banheiro
Bathroom taps/faucet=Torneira de Banheiro
Bathroom taps/faucet (brass)=Torneira de Banheiro (latão)
Shower Tray=Ralo do Chuveiro
Shower Head=Chuveiro
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom sundries set=Espelho de Banheiro com bancada

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=Pia de Banheiro
Bathroom sundries set=Espelho de Banheiro com bancada
Bathroom taps/faucet=Torneira de Banheiro
Bathroom taps/faucet (brass)=Torneira de Banheiro (latão)
Bathroom/kitchen tiles (dark)=Azulejo de Banheiro/Cozinha (escuro)
Bathroom/kitchen tiles (light)=Azulejo de Banheiro/Cozinha (claro)
Bathroom/kitchen tiles (medium)=Azulejo de Banheiro/Cozinha (médio)
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom/kitchen tiles (light)=Azulejo de Banheiro/Cozinha (claro)
Towel rod with towel=Haste de Toalha com Toalha
Medicine cabinet=Armário de remédios
Shower Head=Chuveiro
Shower Tray=Ralo do Chuveiro
Toilet=Vaso Sanitário
Toilet paper=Papel higiênico
Towel rod with towel=Haste de Toalha com Toalha
Bathroom Sink=Pia de Banheiro
Bathroom taps/faucet=Torneira de Banheiro
Bathroom taps/faucet (brass)=Torneira de Banheiro (latão)
Shower Tray=Ralo do Chuveiro
Shower Head=Chuveiro
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom sundries set=Espelho de Banheiro com bancada

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=Раковина для ванной комнаты
Bathroom sundries set=Набор для ванных комнат
Bathroom taps/faucet=м
Bathroom taps/faucet (brass)=Краны(смесители) для ванной комнаты (латунь)
Bathroom/kitchen tiles (dark)=Плитка для ванной/кухни (тёмная)
Bathroom/kitchen tiles (light)=Плитка для ванной/кухни (светлая)
Bathroom/kitchen tiles (medium)=Плитка для ванной/кухни (обычная)
Bathtub, clawfoot, with brass taps=Ванна на острых ножках с латунными кранами
Bathtub, clawfoot, with chrome taps=Ванна на острых ножках с хромированными кранами
Bathroom/kitchen tiles (light)=Плитка для ванной/кухни (светлая)
Towel rod with towel=Полотенцедержатель с полотенцем
Medicine cabinet=Медицинский кабинет
Shower Head=Душевая лейка
Shower Tray=Душевой поддон
Toilet=Туалет
Toilet paper=Туалетная бумага
Towel rod with towel=Полотенцедержатель с полотенцем
Bathroom Sink=Раковина для ванной комнаты
Bathroom taps/faucet=м
Bathroom taps/faucet (brass)=Краны(смесители) для ванной комнаты (латунь)
Shower Tray=Душевой поддон
Shower Head=Душевая лейка
Bathtub, clawfoot, with brass taps=Ванна на острых ножках с латунными кранами
Bathtub, clawfoot, with chrome taps=Ванна на острых ножках с хромированными кранами
Bathroom sundries set=Набор для ванных комнат

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=浴室水槽
Bathroom sundries set=浴室杂物套装
Bathroom taps/faucet=浴室水龙头
Bathroom taps/faucet (brass)=黄铜浴室水龙头
Bathroom/kitchen tiles (dark)=深色浴室/厨房瓷砖
Bathroom/kitchen tiles (light)=浅色浴室/厨房瓷砖
Bathroom/kitchen tiles (medium)=浴室/厨房瓷砖
Bathtub, clawfoot, with brass taps=带黄铜水龙头的浴缸
Bathtub, clawfoot, with chrome taps=带镀铬水龙头的浴缸
Bathroom/kitchen tiles (light)=浅色浴室/厨房瓷砖
Towel rod with towel=毛巾杆
Medicine cabinet=药柜
Shower Head=淋浴喷头
Shower Tray=淋浴盆
Toilet=卫生间
Toilet paper=厕纸
Towel rod with towel=毛巾杆
Bathroom Sink=浴室水槽
Bathroom taps/faucet=浴室水龙头
Bathroom taps/faucet (brass)=黄铜浴室水龙头
Shower Tray=淋浴盆
Shower Head=淋浴喷头
Bathtub, clawfoot, with brass taps=带黄铜水龙头的浴缸
Bathtub, clawfoot, with chrome taps=带镀铬水龙头的浴缸
Bathroom sundries set=浴室杂物套装

View File

@ -1,20 +1,16 @@
# textdomain: homedecor_bathroom
### init.lua ###
Bathroom Sink=
Bathroom sundries set=
Bathroom taps/faucet=
Bathroom taps/faucet (brass)=
Bathroom/kitchen tiles (dark)=
Bathroom/kitchen tiles (light)=
Bathroom/kitchen tiles (medium)=
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom/kitchen tiles (light)=
Towel rod with towel=
Medicine cabinet=
Shower Head=
Shower Tray=
Toilet=
Toilet paper=
Towel rod with towel=
Bathroom Sink=
Bathroom taps/faucet=
Bathroom taps/faucet (brass)=
Shower Tray=
Shower Head=
Bathtub, clawfoot, with brass taps=
Bathtub, clawfoot, with chrome taps=
Bathroom sundries set=

View File

@ -1,4 +1,4 @@
name = homedecor_bathroom
description = Homedecor mod: bathroom
depends = homedecor_common, default, basic_materials, unifieddyes, building_blocks
optional_depends = bucket, homedecor_fences, screwdriver
depends = homedecor_common
optional_depends = bucket, homedecor_fences, screwdriver, default, basic_materials, unifieddyes, building_blocks

View File

@ -1,22 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"default",
"homedecor",
"screwdriver",
"unifieddyes",
}
globals = {
}

View File

@ -2,6 +2,8 @@ local S = minetest.get_translator("homedecor_bedroom")
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
local wood_tex, wool_tex = homedecor.textures.wood.apple.planks, homedecor.textures.wool.white
local bed_sbox = {
type = "wallmounted",
wall_side = { -0.5, -0.5, -0.5, 0.5, 0.5, 1.5 }
@ -31,26 +33,29 @@ local kbed_cbox = {
}
-- local bed_on_rightclick = minetest.registered_nodes["beds:bed"].on_rightclick
local bed_def = minetest.registered_nodes["beds:bed"]
local bed_on_rightclick = bed_def and bed_def.on_rightclick or nil
homedecor.register("bed_regular", {
mesh = "homedecor_bed_regular.obj",
tiles = {
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
{ name = "default_wood.png", color = 0xffffffff },
{ name = "wool_white.png", color = 0xffffffff },
"wool_white.png",
{ name = wood_tex, color = 0xffffffff },
{ name = wool_tex, color = 0xffffffff },
wool_tex,
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
"wool_white.png^[brighten", -- pillow
wool_tex.."^[brighten", -- pillow
},
inventory_image = "homedecor_bed_inv.png",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
description = S("Bed"),
groups = {snappy=3, ud_param2_colorable = 1},
groups = {snappy=3, ud_param2_colorable = 1, dig_generic=2},
selection_box = bed_sbox,
node_box = bed_cbox,
sounds = default.node_sound_wood_defaults(),
_sound_def = {
key = "node_sound_wood_defaults",
},
on_rotate = sc_disallow or nil,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
@ -66,40 +71,52 @@ homedecor.register("bed_regular", {
local itemname = itemstack:get_name()
if itemname == "homedecor:bed_regular" then
homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true)
elseif bed_on_rightclick then
bed_on_rightclick(pos, node, clicker)
end
return itemstack
-- else
-- bed_on_rightclick(pos, node, clicker)
-- return itemstack
end
end
end,
crafts = {
{
recipe = {
{ "group:stick", "", "group:stick" },
{ "wool_white", "wool_white", "wool_white" },
{ "group:wood", "", "group:wood" },
},
}
}
})
homedecor.register("bed_extended", {
mesh = "homedecor_bed_extended.obj",
tiles = {
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
{ name = "default_wood.png", color = 0xffffffff },
{ name = "wool_white.png", color = 0xffffffff },
"wool_white.png",
{ name = wood_tex, color = 0xffffffff },
{ name = wool_tex, color = 0xffffffff },
wool_tex,
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
"wool_white.png^[brighten",
wool_tex.."^[brighten",
},
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
selection_box = bed_sbox,
node_box = bed_cbox,
groups = {snappy=3, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(),
groups = {snappy=3, ud_param2_colorable = 1, dig_generic=2, not_in_creative_inventory=1},
_sound_def = {
key = "node_sound_wood_defaults",
},
expand = { forward = "air" },
on_rotate = sc_disallow or nil,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
homedecor.unextend_bed(pos)
end,
on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- bed_on_rightclick(pos, node, clicker)
-- return itemstack
-- end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if bed_on_rightclick then
bed_on_rightclick(pos, node, clicker)
end
return itemstack
end,
drop = "homedecor:bed_regular"
})
@ -107,20 +124,22 @@ homedecor.register("bed_kingsize", {
mesh = "homedecor_bed_kingsize.obj",
tiles = {
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
{ name = "default_wood.png", color = 0xffffffff },
{ name = "wool_white.png", color = 0xffffffff },
"wool_white.png",
{ name = wood_tex, color = 0xffffffff },
{ name = wool_tex, color = 0xffffffff },
wool_tex,
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
"wool_white.png^[brighten",
wool_tex.."^[brighten",
},
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
inventory_image = "homedecor_bed_kingsize_inv.png",
description = S("Bed (king sized)"),
groups = {snappy=3, ud_param2_colorable = 1},
groups = {snappy=3, ud_param2_colorable = 1, dig_generic=2},
selection_box = kbed_sbox,
node_box = kbed_cbox,
sounds = default.node_sound_wood_defaults(),
_sound_def = {
key = "node_sound_wood_defaults",
},
on_rotate = sc_disallow or nil,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
@ -133,10 +152,19 @@ homedecor.register("bed_kingsize", {
end
end,
on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- bed_on_rightclick(pos, node, clicker)
-- return itemstack
-- end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if bed_on_rightclick then
bed_on_rightclick(pos, node, clicker)
end
return itemstack
end,
crafts = {
{
recipe = {
{ "homedecor:bed_regular", "homedecor:bed_regular" }
},
}
}
})
for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do
@ -159,8 +187,10 @@ for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do
{ -8/16, -8/16, -30/64, 8/16, -7/16, 8/16 } -- bottom
}
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
groups = { snappy = 3, dig_tree = 2 },
_sound_def = {
key = "node_sound_wood_defaults",
},
selection_box = { type = "regular" },
infotext=S("One-drawer Nightstand"),
inventory = {
@ -185,8 +215,10 @@ for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do
{ -7/16, -7/16, -32/64, 7/16, -1/16, -29/64 }, -- bottom drawer face
}
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
groups = { snappy = 3, dig_tree = 2 },
_sound_def = {
key = "node_sound_wood_defaults",
},
selection_box = { type = "regular" },
infotext=S("Two-drawer Nightstand"),
inventory = {
@ -318,7 +350,7 @@ minetest.register_craft( {
output = "homedecor:nightstand_mahogany_one_drawer",
recipe = {
"homedecor:nightstand_oak_one_drawer",
"dye:brown",
homedecor.materials.dye_brown,
},
})
@ -333,7 +365,7 @@ minetest.register_craft( {
output = "homedecor:nightstand_mahogany_two_drawers",
recipe = {
"homedecor:nightstand_oak_two_drawers",
"dye:brown",
homedecor.materials.dye_brown,
},
})
@ -343,16 +375,6 @@ minetest.register_craft({
burntime = 30,
})
minetest.register_craft( {
output = "homedecor:bed_regular",
recipe = {
{ "group:stick", "", "group:stick" },
{ "wool:white", "wool:white", "wool:white" },
{ "group:wood", "", "group:wood" },
},
})
unifieddyes.register_color_craft({
output = "homedecor:bed_regular",
palette = "wallmounted",
@ -364,13 +386,6 @@ unifieddyes.register_color_craft({
}
})
minetest.register_craft( {
output = "homedecor:bed_kingsize",
recipe = {
{ "homedecor:bed_regular", "homedecor:bed_regular" }
},
})
unifieddyes.register_color_craft({
output = "homedecor:bed_kingsize",
palette = "wallmounted",

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=Bett
Bed (king sized)=Breites Doppelbett
Nightstand with One Drawer (@1)=Nachttisch mit einer Schublade (@1)
Nightstand with Two Drawers (@1)=Nachttisch mit zwei Schubladen (@1)
One-drawer Nightstand=Nachttisch mit einer Schublade
Two-drawer Nightstand=Nachttisch mit zwei Schubladen
mahogany=Mahagoni
oak=Eiche
Nightstand with One Drawer (@1)=Nachttisch mit einer Schublade (@1)
One-drawer Nightstand=Nachttisch mit einer Schublade
Nightstand with Two Drawers (@1)=Nachttisch mit zwei Schubladen (@1)
Two-drawer Nightstand=Nachttisch mit zwei Schubladen

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=Cama
Bed (king sized)=Cama (tamaño grande)
Nightstand with One Drawer (@1)=Mesa de luz con un cajón (@1)
Nightstand with Two Drawers (@1)=Mesa de luz con dos cajones (@1)
One-drawer Nightstand=Mesa de luz con un cajón
Two-drawer Nightstand=Mesa de luz con dos cajones
mahogany=caoba
oak=roble
Nightstand with One Drawer (@1)=Mesa de luz con un cajón (@1)
One-drawer Nightstand=Mesa de luz con un cajón
Nightstand with Two Drawers (@1)=Mesa de luz con dos cajones (@1)
Two-drawer Nightstand=Mesa de luz con dos cajones

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=Lit
Bed (king sized)=Grand lit
Nightstand with One Drawer (@1)=Meuble de chevet avec un tiroir (@1)
Nightstand with Two Drawers (@1)=Meuble de chevet avec deux tiroirs (@1)
One-drawer Nightstand=Meuble de chevet avec un tiroir
Two-drawer Nightstand=Meuble de chevet avec deux tiroirs
mahogany=acajou
oak=chêne
Nightstand with One Drawer (@1)=Meuble de chevet avec un tiroir (@1)
One-drawer Nightstand=Meuble de chevet avec un tiroir
Nightstand with Two Drawers (@1)=Meuble de chevet avec deux tiroirs (@1)
Two-drawer Nightstand=Meuble de chevet avec deux tiroirs

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=rosso
Bed (king sized)=
Nightstand with One Drawer (@1)=Comodino in quercia con un cassetto
Nightstand with Two Drawers (@1)=Comodino in quercia con due cassetti
One-drawer Nightstand=Comodino a singolo cassetto
Two-drawer Nightstand=Comodino a doppio cassetto
mahogany=
oak=
Nightstand with One Drawer (@1)=Comodino in quercia con un cassetto (@1)
One-drawer Nightstand=Comodino a singolo cassetto
Nightstand with Two Drawers (@1)=Comodino in quercia con due cassetti (@1)
Two-drawer Nightstand=Comodino a doppio cassetto

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=Katil
Bed (king sized)=Katil Raja
Nightstand with One Drawer (@1)=Kabinet Katil dengan Satu Laci (@1)
Nightstand with Two Drawers (@1)=Kabinet Katil dengan Dua Laci (@1)
One-drawer Nightstand=Kabinet Katil Satu Laci
Two-drawer Nightstand=Kabinet Katil Dua Laci
mahogany=Mahogani
oak=Oak
Nightstand with One Drawer (@1)=Kabinet Katil dengan Satu Laci (@1)
One-drawer Nightstand=Kabinet Katil Satu Laci
Nightstand with Two Drawers (@1)=Kabinet Katil dengan Dua Laci (@1)
Two-drawer Nightstand=Kabinet Katil Dua Laci

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=Cama
Bed (king sized)=Cama (tamanho king)
Nightstand with One Drawer (@1)=Mesa de Cabeceira com Gaveta (@1)
Nightstand with Two Drawers (@1)=Mesa de Cabeceira com Duas Gavetas (@1)
One-drawer Nightstand=Mesinha de Uma Gaveta
Two-drawer Nightstand=Mesinha de Duas Gavetas
mahogany=mogno
oak=carvalho
Nightstand with One Drawer (@1)=Mesa de Cabeceira com Gaveta (@1)
One-drawer Nightstand=Mesinha de Uma Gaveta
Nightstand with Two Drawers (@1)=Mesa de Cabeceira com Duas Gavetas (@1)
Two-drawer Nightstand=Mesinha de Duas Gavetas

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=Cama
Bed (king sized)=Cama (tamanho king)
Nightstand with One Drawer (@1)=Mesa de Cabeceira com Gaveta (@1)
Nightstand with Two Drawers (@1)=Mesa de Cabeceira com Duas Gavetas (@1)
One-drawer Nightstand=Mesinha de Uma Gaveta
Two-drawer Nightstand=Mesinha de Duas Gavetas
mahogany=mogno
oak=carvalho
Nightstand with One Drawer (@1)=Mesa de Cabeceira com Gaveta (@1)
One-drawer Nightstand=Mesinha de Uma Gaveta
Nightstand with Two Drawers (@1)=Mesa de Cabeceira com Duas Gavetas (@1)
Two-drawer Nightstand=Mesinha de Duas Gavetas

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=Кровать
Bed (king sized)=Кровать (большая)
Nightstand with One Drawer (@1)=Тумба с одним ящиком (@1)
Nightstand with Two Drawers (@1)=Тумба с двумя ящиками (@1)
One-drawer Nightstand=Тумба с одним ящиком
Two-drawer Nightstand=Тумба с двумя ящиками
mahogany=красное дерево
oak=дуб
Nightstand with One Drawer (@1)=Тумба с одним ящиком (@1)
One-drawer Nightstand=Тумба с одним ящиком
Nightstand with Two Drawers (@1)=Тумба с двумя ящиками (@1)
Two-drawer Nightstand=Тумба с двумя ящиками

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=床
Bed (king sized)=双人床
Nightstand with One Drawer (@1)=带一个抽屉的床头柜(@1)
Nightstand with Two Drawers (@1)=带两个抽屉的床头柜(@1)
One-drawer Nightstand=单抽屉床头柜
Two-drawer Nightstand=两抽屉床头柜
mahogany=桃花心木
oak=橡木
Nightstand with One Drawer (@1)=带一个抽屉的床头柜(@1)
One-drawer Nightstand=单抽屉床头柜
Nightstand with Two Drawers (@1)=带两个抽屉的床头柜(@1)
Two-drawer Nightstand=两抽屉床头柜

View File

@ -1,13 +1,9 @@
# textdomain: homedecor_bedroom
### init.lua ###
Bed=
Bed (king sized)=
Nightstand with One Drawer (@1)=
Nightstand with Two Drawers (@1)=
One-drawer Nightstand=
Two-drawer Nightstand=
mahogany=
oak=
Nightstand with One Drawer (@1)=
One-drawer Nightstand=
Nightstand with Two Drawers (@1)=
Two-drawer Nightstand=

View File

@ -1,4 +1,4 @@
name = homedecor_bedroom
description = Homedecor mod: bedroom
depends = homedecor_common, default, basic_materials, unifieddyes, creative, beds
optional_depends = screwdriver
depends = homedecor_common
optional_depends = screwdriver, default, basic_materials, unifieddyes, creative, beds

View File

@ -1,21 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"creative",
"default",
"homedecor",
}
globals = {
}

View File

@ -97,7 +97,7 @@ for _, c in ipairs(bookcolors) do
if data.title and data.title ~= "" then
meta:set_string("infotext", data.title)
end
if not creative.is_enabled_for(plname) then
if not minetest.is_creative_enabled(plname) then
itemstack:take_item()
end
return itemstack
@ -128,16 +128,15 @@ for _, c in ipairs(bookcolors) do
local owner = meta:get_string("owner") or ""
local formspec
if owner == "" or owner == player_name then
formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img..
formspec = "size[8,8]"..
"field[0.5,1;7.5,0;title;Book title :;"..
minetest.formspec_escape(title).."]"..
"textarea[0.5,1.5;7.5,7;text;Book content :;"..
minetest.formspec_escape(text).."]"..
"button_exit[2.5,7.5;3,1;save;Save]"
else
formspec = "size[8,8]"..default.gui_bg..
formspec = "size[8,8]"..
"button_exit[7,0.25;1,0.5;close;X]"..
default.gui_bg_img..
"label[0.5,0.5;by "..owner.."]"..
"label[0.5,0;"..minetest.formspec_escape(title).."]"..
"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
@ -167,7 +166,7 @@ for _, c in ipairs(bookcolors) do
output = "homedecor:book_"..color,
recipe = {
"dye:"..color,
"default:book"
homedecor.materials.book
},
})
@ -194,8 +193,8 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields)
if (fields.title or "") ~= "" then
meta:set_string("infotext", fields.title)
end
minetest.log("action", S("@1 has written in a book (title: \"@2\"): \"@3\" at location @4",
player:get_player_name(), fields.title, fields.text, minetest.pos_to_string(player:getpos())))
minetest.log("action", ("%s has written in a book (title: \"%s\"): \"%s\" at location %s"):format(
player:get_player_name(), fields.title, fields.text, minetest.pos_to_string(pos)))
player_current_book[player_name] = nil
return true

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@1 hat in ein Buch geschrieben (Titel: „@2”): „@3” am Ort @4
Writable Book (@1)=Schreibbares Buch (@1)
blue=blau
brown=braun
green=grün
grey=grau
red=rot
green=grün
blue=blau
violet=violett
grey=grau
brown=braun
Writable Book (@1)=Schreibbares Buch (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@1 ha escrito en un libro (título: "@2"): "@3" en la ubicación @4
Writable Book (@1)=Libro (@1)
blue=azul
brown=marrón
green=verde
grey=gris
red=roja
green=verde
blue=azul
violet=violeta
grey=gris
brown=marrón
Writable Book (@1)=Libro (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@1 a écrit dans un livre (titre: "@2"): "@3" à l'emplacement @4
Writable Book (@1)=Livre inscriptible (@1)
blue=bleu
brown=marron
green=vert
grey=vert
red=rouge
green=vert
blue=bleu
violet=violet
grey=vert
brown=marron
Writable Book (@1)=Livre inscriptible (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=
Writable Book (@1)=Gambe in ottone del tavolo (@1)
blue=blu
brown=
green=verde
grey=verde scuro
red=rosso
green=verde
blue=blu
violet=viola
grey=verde scuro
brown=
Writable Book (@1)=Gambe in ottone del tavolo (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@1 telah menulis dalam buku (tajuk: "@2"): "@3" di lokasi @4
Writable Book (@1)=Buku Boleh Ditulis (@1)
blue=Biru
brown=Perang
green=Hijau
grey=Kelabu
red=Merah
green=Hijau
blue=Biru
violet=Ungu
grey=Kelabu
brown=Perang
Writable Book (@1)=Buku Boleh Ditulis (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@1 escreveu um livro (título: "@2"): "@3" na localização @4
Writable Book (@1)=Livro que pode ser escrito (@1)
blue=azul
brown=marrom
green=verde
grey=cinza
red=vermelho
green=verde
blue=azul
violet=violeta
grey=cinza
brown=marrom
Writable Book (@1)=Livro que pode ser escrito (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@1 escreveu um livro (título: "@2"): "@3" na localização @4
Writable Book (@1)=Livro que pode ser escrito (@1)
blue=azul
brown=marrom
green=verde
grey=cinza
red=vermelho
green=verde
blue=azul
violet=violeta
grey=cinza
brown=marrom
Writable Book (@1)=Livro que pode ser escrito (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@1 написал в книге (заголовок: "@2"): "@3" в позиции @4
Writable Book (@1)=Записная книга (@1)
blue=
brown=
green=зелёный
grey=
red=красный
green=зелёный
blue=
violet=
grey=
brown=
Writable Book (@1)=Записная книга (@1)

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=@我在一本书中写过(书名:\@2\\@3\,地点@4
Writable Book (@1)=可写书(@1
blue=蓝色
brown=棕色的
green=绿色
grey=灰色
red=红色
green=绿色
blue=蓝色
violet=紫罗兰
grey=灰色
brown=棕色的
Writable Book (@1)=可写书(@1

View File

@ -1,13 +1,8 @@
# textdomain: homedecor_books
### init.lua ###
@1 has written in a book (title: "@2"): "@3" at location @4=
Writable Book (@1)=
blue=
brown=
green=
grey=
red=
green=
blue=
violet=
grey=
brown=
Writable Book (@1)=

View File

@ -1,4 +1,4 @@
name = homedecor_books
description = Homedecor mod: books
depends = homedecor_common, default, creative
optional_depends = unifieddyes
depends = homedecor_common
optional_depends = unifieddyes, default, creative

View File

@ -1,21 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"default",
"homedecor",
"screwdriver",
}
globals = {
}

View File

@ -7,11 +7,30 @@ homedecor.register("air_conditioner", {
mesh = "homedecor_ac.obj",
tiles = {
"homedecor_ac.png",
"default_glass.png"
homedecor.textures.glass.pane
},
groups = { snappy = 3, dig_stone = 3 },
use_texture_alpha = "clip",
_sound_def = {
key = "node_sound_leaves_defaults",
},
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
selection_box = { type="regular" },
crafts = {
{
recipe = {
{ "steel_ingot", "building_blocks:grate", "steel_ingot" },
{ "steel_ingot", "homedecor:fan_blades", "basic_materials:motor" },
{ "steel_ingot", "basic_materials:motor", "steel_ingot" },
},
},
{
recipe = {
{ "steel_ingot", "building_blocks:grate", "steel_ingot" },
{ "steel_ingot", "basic_materials:motor", "steel_ingot" },
{ "steel_ingot", "basic_materials:motor", "steel_ingot" },
},
}
}
})
-- fans
@ -28,13 +47,13 @@ local add_mesh_desk_fan_entity = function(pos)
local param2 = minetest.get_node(pos).param2
local entity = minetest.add_entity(pos, "homedecor:mesh_desk_fan")
if param2 == 0 then
entity:setyaw(3.142) -- 180 degrees
entity:set_yaw(3.142) -- 180 degrees
elseif minetest.get_node(pos).param2 == 1 then
entity:setyaw(3.142/2) -- 90 degrees
entity:set_yaw(3.142/2) -- 90 degrees
elseif minetest.get_node(pos).param2 == 3 then
entity:setyaw((-3.142/2)) -- 270 degrees
entity:set_yaw((-3.142/2)) -- 270 degrees
else
entity:setyaw(0)
entity:set_yaw(0)
end
return entity
end
@ -74,6 +93,14 @@ homedecor.register("desk_fan", {
local entities = minetest.get_objects_inside_radius(pos, 0.1)
if entities[1] then entities[1]:remove() end
end,
crafts = {
{
recipe = {
{"steel_ingot", "homedecor:fan_blades", "basic_materials:motor"},
{"", "steel_ingot", ""}
},
}
}
})
-- ceiling fan
@ -95,9 +122,28 @@ homedecor.register("ceiling_fan", {
{ -0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625 }
}
},
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-1,
sounds = default.node_sound_glass_defaults(),
use_texture_alpha = "clip",
groups = { snappy = 3, dig_stone = 3 },
light_source = minetest.LIGHT_MAX-1,
_sound_def = {
key = "node_sound_glass_defaults",
},
crafts = {
{
recipe = {
{ "basic_materials:motor" },
{ "homedecor:fan_blades" },
{ "homedecor:glowlight_small_cube" }
}
},
{
recipe = {
{ "basic_materials:motor" },
{ "homedecor:fan_blades" },
{ "homedecor:glowlight_small_cube" }
}
}
}
})
-- heating devices
@ -113,8 +159,10 @@ homedecor.register("space_heater", {
},
inventory_image = "homedecor_heater_inv.png",
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
groups = { snappy = 3, dig_stone = 3 },
_sound_def = {
key = "node_sound_wood_defaults",
},
node_box = {
type = "fixed",
fixed = {
@ -124,6 +172,15 @@ homedecor.register("space_heater", {
selection_box = {
type = "fixed",
fixed = {-0.1875, -0.5, 0.0625, 0.1875, 0, 0.3125}
},
crafts = {
{
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"},
{"basic_materials:plastic_sheet", "homedecor:fan_blades", "basic_materials:motor"},
{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"}
},
}
}
})
@ -136,10 +193,21 @@ homedecor.register("radiator", {
},
inventory_image = "homedecor_radiator_inv.png",
description = S("Radiator heater"),
groups = {snappy=3},
groups = {snappy=3, dig_stone = 3},
selection_box = r_cbox,
collision_box = r_cbox,
sounds = default.node_sound_wood_defaults(),
_sound_def = {
key = "node_sound_wood_defaults",
},
crafts = {
{
recipe = {
{ "steel_ingot", "basic_materials:heating_element", "steel_ingot" },
{ "basic_materials:ic", "basic_materials:heating_element", "" },
{ "steel_ingot", "basic_materials:heating_element", "steel_ingot" }
},
}
}
})
-- crafting
@ -152,70 +220,7 @@ minetest.register_craft( {
output = "homedecor:fan_blades 2",
recipe = {
{ "", "basic_materials:plastic_sheet", "" },
{ "", "default:steel_ingot", "" },
{ "", homedecor.materials.steel_ingot, "" },
{ "basic_materials:plastic_sheet", "", "basic_materials:plastic_sheet" }
},
})
minetest.register_craft({
output = "homedecor:air_conditioner",
recipe = {
{ "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" },
{ "default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor" },
{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
},
})
minetest.register_craft({
output = "homedecor:air_conditioner",
recipe = {
{ "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" },
{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
},
})
minetest.register_craft({
output = "homedecor:ceiling_fan",
recipe = {
{ "basic_materials:motor" },
{ "homedecor:fan_blades" },
{ "homedecor:glowlight_small_cube" }
}
})
minetest.register_craft({
output = "homedecor:ceiling_fan",
recipe = {
{ "basic_materials:motor" },
{ "homedecor:fan_blades" },
{ "homedecor:glowlight_small_cube" }
}
})
minetest.register_craft( {
output = "homedecor:desk_fan",
recipe = {
{"default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor"},
{"", "default:steel_ingot", ""}
},
})
minetest.register_craft( {
output = "homedecor:space_heater",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"},
{"basic_materials:plastic_sheet", "homedecor:fan_blades", "basic_materials:motor"},
{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"}
},
})
minetest.register_craft( {
output = "homedecor:radiator",
recipe = {
{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" },
{ "basic_materials:ic", "basic_materials:heating_element", "" },
{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" }
},
})

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=Klimaanlage
Ceiling Fan=Deckenventilator
Desk Fan=Schreibtischventilator
Fan blades=Ventilatorblätter
Radiator heater=Heizkörper
Ceiling Fan=Deckenventilator
Space heater=Heizgerät
Radiator heater=Heizkörper
Fan blades=Ventilatorblätter

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=Acondicionador de aire
Ceiling Fan=Ventilador de techo
Desk Fan=Ventilador de escritorio
Fan blades=Aspas de ventilador
Radiator heater=Radiador
Ceiling Fan=Ventilador de techo
Space heater=Calentador de espacios
Radiator heater=Radiador
Fan blades=Aspas de ventilador

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=Climatiseur
Ceiling Fan=Ventilateur (plafonnier)
Desk Fan=Ventilateur de bureau
Fan blades=Pales de ventilateur
Radiator heater=Radiateur
Ceiling Fan=Ventilateur (plafonnier)
Space heater=Chaufferette
Radiator heater=Radiateur
Fan blades=Pales de ventilateur

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=Pendingin Hawa
Ceiling Fan=Kipas Siling
Desk Fan=Kipas Meja
Fan blades=Bilah Kipas
Radiator heater=Pemanas Radiator
Ceiling Fan=Kipas Siling
Space heater=Pemanas Ruang
Radiator heater=Pemanas Radiator
Fan blades=Bilah Kipas

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=Ar condicionado
Ceiling Fan=Ventilador de Teto
Desk Fan=Ventilador de Escrivaninha
Fan blades=Pás de ventilador
Radiator heater=Aquecedor de radiador
Ceiling Fan=Ventilador de Teto
Space heater=Aquecedor de ambiente
Radiator heater=Aquecedor de radiador
Fan blades=Pás de ventilador

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=Ar condicionado
Ceiling Fan=Ventilador de Teto
Desk Fan=Ventilador de Escrivaninha
Fan blades=Pás de ventilador
Radiator heater=Aquecedor de radiador
Ceiling Fan=Ventilador de Teto
Space heater=Aquecedor de ambiente
Radiator heater=Aquecedor de radiador
Fan blades=Pás de ventilador

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=Кондиционер
Ceiling Fan=Потолочный вентилятор
Desk Fan=Настольный вентилятор
Fan blades=Лопасти вентилятора
Radiator heater=Масленый обогреватель
Ceiling Fan=Потолочный вентилятор
Space heater=Обогреватель
Radiator heater=Масленый обогреватель
Fan blades=Лопасти вентилятора

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=空调
Ceiling Fan=吊扇
Desk Fan=台扇
Fan blades=风扇叶片
Radiator heater=散热器加热器
Ceiling Fan=吊扇
Space heater=暖气机
Radiator heater=散热器加热器
Fan blades=风扇叶片

View File

@ -1,11 +1,7 @@
# textdomain: homedecor_climate_control
### init.lua ###
Air Conditioner=
Ceiling Fan=
Desk Fan=
Fan blades=
Radiator heater=
Ceiling Fan=
Space heater=
Radiator heater=
Fan blades=

View File

@ -1,4 +1,4 @@
name = homedecor_climate_control
description = Homedecor mod: climate control
depends = homedecor_common, default, basic_materials
optional_depends = building_blocks, screwdriver
depends = homedecor_common
optional_depends = building_blocks, screwdriver, default

View File

@ -1,21 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"default",
"homedecor",
"screwdriver",
}
globals = {
}

View File

@ -1,18 +1,37 @@
local S = minetest.get_translator("homedecor_clocks")
local wood = homedecor.textures.wood.apple.planks
local plastic_craft = {
output = "homedecor:analog_clock_plastic 2",
recipe = {
{ "basic_materials:plastic_sheet", "dye_black", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "dye_black", "basic_materials:plastic_sheet" },
},
}
local wood_craft = {
output = "homedecor:analog_clock_wood 2",
recipe = {
{ "group:stick", "dye_black", "group:stick" },
{ "group:stick", "basic_materials:ic", "group:stick" },
{ "group:stick", "dye_black", "group:stick" },
},
}
local clock_sbox = {
type = "fixed",
fixed = { -8/32, -8/32, 14/32, 8/32, 8/32, 16/32 }
}
local clock_materials = {
{ "plastic", S("Plastic analog clock"), "homedecor_generic_plastic.png" },
{ "wood", S("Wooden analog clock"), "default_wood.png" }
{"plastic", S("Plastic analog clock"), "homedecor_generic_plastic.png", plastic_craft},
{"wood", S("Wooden analog clock"), wood, wood_craft}
}
for _, mat in ipairs(clock_materials) do
local name, desc, tex = unpack(mat)
local name, desc, tex, craft = unpack(mat)
homedecor.register("analog_clock_"..name, {
description = desc,
mesh = "homedecor_analog_clock.obj",
@ -24,8 +43,13 @@ for _, mat in ipairs(clock_materials) do
inventory_image = "homedecor_analog_clock_"..name.."_inv.png",
walkable = false,
selection_box = clock_sbox,
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
groups = {snappy=3, dig_tree=2},
_sound_def = {
key = "node_sound_wood_defaults",
},
crafts = {
craft
}
})
end
@ -47,8 +71,20 @@ homedecor.register("digital_clock", {
}
},
walkable = false,
sounds = default.node_sound_wood_defaults(),
groups = {snappy=3},
_sound_def = {
key = "node_sound_wood_defaults",
},
groups = {snappy=3, dig_tree=2},
crafts = {
{
output = "homedecor:digital_clock 2",
recipe = {
{ "basic_materials:plastic_sheet", "paper", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
},
}
}
})
homedecor.register("alarm_clock", {
@ -69,8 +105,19 @@ homedecor.register("alarm_clock", {
}
},
walkable = false,
sounds = default.node_sound_wood_defaults(),
groups = {snappy=3},
_sound_def = {
key = "node_sound_wood_defaults",
},
groups = {snappy=3, dig_tree=2},
crafts = {
{
recipe = {
{ "basic_materials:plastic_sheet", "homedecor:speaker_driver", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "homedecor:digital_clock", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
},
}
}
})
local gf_cbox = {
@ -82,67 +129,31 @@ homedecor.register("grandfather_clock", {
description = S("Grandfather Clock"),
mesh = "homedecor_grandfather_clock.obj",
tiles = {
"default_glass.png",
homedecor.textures.glass.pane,
"homedecor_grandfather_clock_face.png",
homedecor.lux_wood,
"homedecor_grandfather_clock_face_edge.png",
"homedecor_generic_metal_brass.png"
},
use_texture_alpha = "clip",
inventory_image = "homedecor_grandfather_clock_inv.png",
groups = { snappy = 3 },
groups = {snappy = 3, dig_tree=2},
selection_box = gf_cbox,
collision_box = gf_cbox,
sounds = default.node_sound_wood_defaults(),
_sound_def = {
key = "node_sound_wood_defaults",
},
expand = { top="placeholder" },
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
})
-- crafting
minetest.register_craft({
output = "homedecor:analog_clock_plastic 2",
recipe = {
{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft({
output = "homedecor:analog_clock_wood 2",
recipe = {
{ "group:stick", "dye:black", "group:stick" },
{ "group:stick", "basic_materials:ic", "group:stick" },
{ "group:stick", "dye:black", "group:stick" },
},
})
minetest.register_craft({
output = "homedecor:digital_clock 2",
recipe = {
{ "basic_materials:plastic_sheet", "default:paper", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft({
output = "homedecor:alarm_clock",
recipe = {
{ "basic_materials:plastic_sheet", "homedecor:speaker_driver", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "homedecor:digital_clock", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft({
output = "homedecor:grandfather_clock",
crafts = {
{
recipe = {
{ "building_blocks:slab_hardwood","homedecor:analog_clock_wood","building_blocks:slab_hardwood" },
{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" },
{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" }
},
}
}
})
-- aliases

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=Wecker
Digital clock=Digitaluhr
Grandfather Clock=Standuhr
Plastic analog clock=Plastikanaloguhr
Wooden analog clock=Hölzerne Analoguhr
Digital clock=Digitaluhr
Alarm clock=Wecker
Grandfather Clock=Standuhr

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=Reloj de alarma
Digital clock=Reloj digital
Grandfather Clock=Reloj de péndulo
Plastic analog clock=Reloj análogo de plástico
Wooden analog clock=Reloj análogo de madera
Digital clock=Reloj digital
Alarm clock=Reloj de alarma
Grandfather Clock=Reloj de péndulo

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=Réveil-matin
Digital clock=Horloge numérique
Grandfather Clock=Horloge comtoise
Plastic analog clock=Horloge analogique en plastique
Wooden analog clock=Horloge analogique en bois
Digital clock=Horloge numérique
Alarm clock=Réveil-matin
Grandfather Clock=Horloge comtoise

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=Jam Loceng
Digital clock=Jam Digital
Grandfather Clock=Jam Besar Berdiri
Plastic analog clock=Jam Analog Plastik
Wooden analog clock=Jam Analog Kayu
Digital clock=Jam Digital
Alarm clock=Jam Loceng
Grandfather Clock=Jam Besar Berdiri

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=Despertador
Digital clock=Relógio digital
Grandfather Clock=Relógio Antigo
Plastic analog clock=Relógio analógico de plástico
Wooden analog clock=Relógio analógico de madeira
Digital clock=Relógio digital
Alarm clock=Despertador
Grandfather Clock=Relógio Antigo

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=Despertador
Digital clock=Relógio digital
Grandfather Clock=Relógio Antigo
Plastic analog clock=Relógio analógico de plástico
Wooden analog clock=Relógio analógico de madeira
Digital clock=Relógio digital
Alarm clock=Despertador
Grandfather Clock=Relógio Antigo

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=Будильник
Digital clock=Цифровые часы
Grandfather Clock=Дедушкины часы
Plastic analog clock=Пластиковые стрелочные часы
Wooden analog clock=Деревянные стрелочные часы
Digital clock=Цифровые часы
Alarm clock=Будильник
Grandfather Clock=Дедушкины часы

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=闹钟
Digital clock=数字时钟
Grandfather Clock=祖父钟
Plastic analog clock=塑料时钟
Wooden analog clock=木钟
Digital clock=数字时钟
Alarm clock=闹钟
Grandfather Clock=祖父钟

View File

@ -1,10 +1,6 @@
# textdomain: homedecor_clocks
### init.lua ###
Alarm clock=
Digital clock=
Grandfather Clock=
Plastic analog clock=
Wooden analog clock=
Digital clock=
Alarm clock=
Grandfather Clock=

View File

@ -1,4 +1,4 @@
name = homedecor_clocks
description = Homedecor mod: clocks
depends = homedecor_common, default, basic_materials, dye
optional_depends = building_blocks, screwdriver
depends = homedecor_common
optional_depends = building_blocks, screwdriver, default, basic_materials, dye

View File

@ -1,18 +0,0 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
}
globals = {
}

View File

@ -1,7 +1,7 @@
local S = minetest.get_translator("homedecor_cobweb")
homedecor_cobweb = {}
minetest.register_node(":homedecor:cobweb_corner", {
homedecor.register("cobweb_corner", {
description = S("Cobweb"),
drawtype = "torchlike",
tiles = { "homedecor_cobweb_torchlike.png" },
@ -19,17 +19,28 @@ minetest.register_node(":homedecor:cobweb_corner", {
walkable = false,
selection_box = { type = "regular" },
visual_scale = 1.4,
groups = { snappy = 3, liquid=3 },
groups = { snappy = 3, liquid=3, dig_glass = 1 },
after_place_node = function(pos, placer, itemstack, pointed_thing)
homedecor_cobweb.rotate(pos)
end
end,
crafts = {
{
output = "homedecor:cobweb_corner 5",
recipe = {
{"string", "", "string"},
{"", "string", ""},
{"string", "", "string"}
},
}
}
})
minetest.register_node(":homedecor:cobweb_centered", {
homedecor.register("cobweb_centered", {
description = S("Cobweb"),
drawtype = "nodebox",
tiles = { "homedecor_cobweb.png" },
inventory_image = "homedecor_cobweb.png",
use_texture_alpha = "clip",
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
@ -48,17 +59,18 @@ minetest.register_node(":homedecor:cobweb_centered", {
type = "fixed",
fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0 }
},
groups = { snappy = 3, liquid=3, not_in_creative_inventory = 1 },
groups = { snappy = 3, liquid=3, dig_glass = 1, not_in_creative_inventory = 1 },
drop = "homedecor:cobweb_corner"
})
minetest.register_node(":homedecor:cobweb_flat", {
homedecor.register("cobweb_flat", {
description = S("Cobweb"),
drawtype = "nodebox",
tiles = { "homedecor_cobweb.png" },
inventory_image = "homedecor_cobweb.png",
paramtype = "light",
paramtype2 = "facedir",
use_texture_alpha = "clip",
sunlight_propagates = true,
liquid_viscosity = 8,
liquidtype = "source",
@ -75,11 +87,11 @@ minetest.register_node(":homedecor:cobweb_flat", {
type = "fixed",
fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 }
},
groups = { snappy = 3, liquid=3, not_in_creative_inventory = 1 },
groups = { snappy = 3, liquid=3, dig_glass = 1, not_in_creative_inventory = 1 },
drop = "homedecor:cobweb_corner"
})
minetest.register_node(":homedecor:cobweb_plantlike", {
homedecor.register("cobweb_plantlike", {
description = S("Cobweb"),
drawtype = "plantlike",
tiles = { "homedecor_cobweb_plantlike.png" },
@ -96,7 +108,7 @@ minetest.register_node(":homedecor:cobweb_plantlike", {
walkable = false,
selection_box = { type = "regular" },
visual_scale = 1.189,
groups = { snappy = 3, liquid=3, not_in_creative_inventory = 1 },
groups = { snappy = 3, liquid=3, dig_glass = 1, not_in_creative_inventory = 1 },
drop = "homedecor:cobweb_corner"
})
@ -157,14 +169,3 @@ function homedecor_cobweb.rotate(pos)
end
end
-- crafting
minetest.register_craft( {
output = "homedecor:cobweb_corner 5",
recipe = {
{ "farming:string", "", "farming:string" },
{ "", "farming:string", "" },
{ "farming:string", "", "farming:string" }
},
})

View File

@ -1,6 +1,2 @@
# textdomain: homedecor_cobweb
### init.lua ###
Cobweb=Spinnennetz

Some files were not shown because too many files have changed in this diff Show More