1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2024-11-15 23:00:35 +01:00

Compare commits

..

242 Commits

Author SHA1 Message Date
wsor4035
94e25c2192
free player when seat is dug (#84) 2024-11-06 23:32:14 -05:00
wsor4035
d8ae7a360d handle corner case where player dies while in chair 2024-11-05 01:20:34 -05:00
wsor4035
40898101be
replace physics hell with hopefully better entity hell (#81)
* replace physics hell with hopefully better entity hell

* toss worthless optional depend

* no need to save entity if we dont remove it for some reason - crashes, etc

* fix sofas

* handle the rest of chairs

* catch malformed seating, since lua tables are 1 indexed

* niklp suggestion
2024-10-30 22:57:08 -04:00
Niklp
79416b962c
Add player_monoids support (#80)
* Add `player_monoids` support (*sometimes* broken for whatever reason, see xkcd#1739)

* .
2024-10-20 12:24:57 -04:00
Mihin Dissanayake
00ee805ed7
Make half doors craftable (#79) 2024-10-15 18:44:55 -04:00
Niklp
6fb69a56a5
Fix typo in German translation of "Dishwasher" 2024-10-05 19:22:13 +02:00
wsor4035
335559feb3 fix seating only working once till server restarts 2024-09-11 20:18:38 -04:00
wsor4035
a100d20d4d
implements https://github.com/mt-mods/homedecor_modpack/issues/31 - show players sitting in seats (#76)
* implment https://github.com/mt-mods/homedecor_modpack/issues/31 - show players sitting in seats

* improve things
2024-09-09 12:11:43 -04:00
wsor4035
b2e5c81e4d switch over to using xcompats function 2024-09-08 19:26:36 -04:00
Niklp
8f796e43af
Replace deprecated get_metadata() call (#75) 2024-07-16 15:50:36 +10:00
Niklp
1ef4837abe
Use initial_properties for entities (#74) 2024-07-03 16:09:31 +10:00
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
Vanessa Dannenberg
9ffe2b7d69 move some alises to their proper places. 2021-03-26 23:29:20 -04:00
Vanessa Dannenberg
0268767ac9 remove unused recipes from furniture mod
some deleted altogether as redundant,
others moved to the proper mods.
2021-03-26 23:27:13 -04:00
Vanessa Dannenberg
950210a6e3 move old 3dforniture-style table into the proper mod 2021-03-26 23:17:21 -04:00
Vanessa Dannenberg
c70fb1a1ed auto-combine tabletops with legs
If the player places table legs, and then places a tabletop while
pointing at the legs (from any side), the table and legs will
automatically be combined into a single node that can then have
something placed on top like usual.

This also gets rid of those redundant "utility" table nodes, since
these have always basically just been a set of legs, and a copy
of the small square wood table.  Now they're merged into the above
feature, and aliased as appropriate.

Tecccccccccchhnically, wood legs should only have been allowed to
combine with wooden tabletops...  then I googled around a bit,
and found a number of glass tables with wooden legs that were
surprisingly similar to the in-game versions.
2021-03-26 23:08:06 -04:00
Vanessa Dannenberg
40cd59aa24 get rid of old table conversion abms 2021-03-26 17:02:25 -04:00
Vanessa Dannenberg
da1f2b1430 use swap_node(), not set_node() 2021-03-26 09:44:02 -04:00
Vanessa Dannenberg
e7995ce981 Add kitchen cabinet with drawers
and redesign the other kitchen cabinet textures
to coordinate with it.
2021-03-26 06:43:05 -04:00
Vanessa Dannenberg
0fdc8557b3 use inventorycube images for wield/inv
because the engine doesn't allow a mod to rotate/flip
the actual rendered item/model.
2021-03-26 05:53:34 -04:00
Vanessa Dannenberg
40cfabb38a Keep the "colored" nodes out of creative inv
(redundant)
2021-03-26 05:40:59 -04:00
Vanessa Dannenberg
44542cb6a9 allow colorization of homedecor kitchen cabinets
uses "fake" wallmounted mode, 32 colors.
2021-03-26 02:15:10 -04:00
Vanessa Dannenberg
eeec27f60b adjust ovens' formspecs to match the layout of default furnace 2021-03-04 15:14:52 -05:00
Vanessa Dannenberg
bef62eef1e move workbench/tool cabinet, beer tap and mug, and soda machine to home_workshop_modpack 2021-03-02 06:33:55 -05:00
Vanessa Dannenberg
18ac518389 move computers mod out of homedecor
and into home_workshop_modpack

You can find that modpack here:
https://gitlab.com/VanessaE/home_workshop_modpack
2021-03-02 03:25:02 -05:00
Vanessa Dannenberg
0e4687e236 move the regular printer into computers.lua 2021-03-02 03:15:04 -05:00
Vanessa Dannenberg
0e8a213185 move all of the gaming-specific items into their own file 2021-03-02 03:09:13 -05:00
Vanessa Dannenberg
3b5b6adfda delete some unused images 2021-03-02 03:04:19 -05:00
Vanessa Dannenberg
9cc6f90778 rename computer mod to "computers"
and fix all the image and model filenames that didn't conform before.
aliases are provided for the old nodes
2021-03-02 03:03:12 -05:00
Vanessa Dannenberg
90da464add added a CoreXY-style 3d printer
minor tweaks to the bedflinger to accommodate altered base image
2021-03-01 20:20:11 -05:00
Vanessa Dannenberg
cc0887cfb4 fix crash when sand is dropped on a book 2021-02-25 02:33:33 -05:00
Vanessa Dannenberg
968d706e9b Don't allow engine to add the implicit "Proceed" button
(on lights anyway;
this change makes it possible to theme the formspec)
2021-02-25 02:13:21 -05:00
Vanessa Dannenberg
bc55cde65c Merge branch 'master' into 'master'
Fix digging of locked inventory nodes

Closes #34 and #33

See merge request VanessaE/homedecor_modpack!21
2021-01-30 13:45:35 +00:00
OgelGames
e049380408 fix digging of locked inventory nodes 2021-01-31 00:02:17 +11:00
Vanessa Dannenberg
e57c4a55e6 Merge branch 'littlefix' into 'master'
homedecor_exterior locale fix and homedecor_books mod.conf

See merge request VanessaE/homedecor_modpack!20
2021-01-26 12:55:28 +00:00
Nathaniel Freeman
e73b4affe7 homedecor books can work without unifieddyes 2021-01-26 09:34:23 +00:00
Nathaniel Freeman
62cdcc5795 ES locale fix 2021-01-26 09:33:32 +00:00
Vanessa Dannenberg
fd596ea83b Merge branch 'CompressPlasma' into 'master'
# Compress Plasma Animations

See merge request VanessaE/homedecor_modpack!19
2021-01-23 16:36:29 +00:00
ExeVirus
9ab3cb361f # Compress Plasma Animations
Reduced the plasma animations from 64x64 to 48x48 each. Updated the aspect ratios in the .lua files referencing them.

Total Reduction:
2021-01-23 10:05:24 -05:00
Vanessa Dannenberg
4b05c86486 Merge branch 'Compression' into 'master'
# Compression Commit

See merge request VanessaE/homedecor_modpack!18
2021-01-23 12:33:53 +00:00
ExeVirus
f9ca183f2a # Compression Commit
This commit performs both lossless and lossy compression on every .obj and .png in homedecor. The .png files were all 100% losslessly compressed using ect.exe and optipng.exe (more details below) at maximum settings. The .obj files were lossy-compressed so that comments were removed, trailing 000's were removed and all numbers rounded to 3 decimal places max. Blender exports at 6 decimal places but for minetest, 3 decimal places is the absolute maximum a person with anything under a 256K screen will ever need.

## Results
```
Original entire modpack size: 6343.5 KB
New entire modpack size:      5312.2 KB
Total Reduction:              1031.3 KB  (16.3% less)
```
Please note that actual media size is likely more like 4,500 KB so media reduction is more around 20-25%.

## Details / What actions were actually performed

Used these programs:

https://github.com/ExeVirus/Compress-Obj

https://sourceforge.net/projects/optipng/

https://github.com/fhanau/Efficient-Compression-Tool

Ran this command on every .obj: (fast)

```
luajit.exe compress.lua -f <file> -precision 3
```

Ran these commands on every .png: (slow)
```
ect.exe  -9 -strip --allfilters-b <file>
optipng.exe -o7 -strip all -clobber <file>
```

Note that for future compression, I recommend only using optipng.exe instead of both. ECT can get better results but it takes a LOT longer and only ever saves another 1-2% of the file size. Not worth an extra 10-20 seconds per texture file in my opinion.

## Time spent

Roughly 2 Hours from start to finish + commit + PR
2021-01-23 07:28:20 -05:00
Vanessa Dannenberg
a57723df7d Merge branch 'fix-recipies-groups' into 'master'
Update recipies to contain groups

See merge request VanessaE/homedecor_modpack!17
2020-12-01 23:45:49 +00:00
Peter Nerlich
af808c7586 update recipies to contain groups instead of concrete items: wardrobe, filing_cabinet, desk, table, woodglass, fakegrass 2020-12-02 00:32:16 +01:00
Vanessa Dannenberg
99d5d96113 Merge branch 'master' into 'master'
add connection to direct top node (0;1;0) in rules_alldir of homedecor_lightning/init.lua

See merge request VanessaE/homedecor_modpack!16
2020-11-19 20:29:59 +00:00
Sebastian Lobinger
93bf5d76ae reorder rules_alldir in homedecor_lightning/init.lua so it can read by y-axis and then line by line of 2d coordinates
if you express the connections in ascii where N is the Node 1 is connected and 0 is not connected:
```
y+0: 010
     1N1
     010

y+1: 010
     111
     010

y-1: 010
     111
     010
```
This code structure is more easy to read / a very close representation of the sketched layers.
2020-11-19 16:41:12 +00:00
Sebastian Lobinger
ec06010320 add connection to direct top node (0;1;0) in rules_alldir of homedecor_lightning/init.lua
This allows the rope_light_on_ceiling node to be connected with mesecon in a natural manner.
2020-11-19 16:17:28 +00:00
VanessaE
96a0862833 fixed doorbell recipe
fixes #32
2020-11-18 11:41:19 -05:00
Vanessa Dannenberg
77bb9636bc Merge branch 'showItemDescription' into 'master'
improve info with fallback

See merge request VanessaE/homedecor_modpack!15
2020-10-14 10:22:12 +00:00
SwissalpS
77af2295ae add description of item in frame / on pedestal
lets players brag about their tools and is useful
for better overview.
2020-10-14 10:22:12 +00:00
Vanessa Dannenberg
f2cd1fbd49 Merge branch 'master' into 'master'
Display item's description in infotext.

See merge request VanessaE/homedecor_modpack!14
2020-10-12 08:27:09 +00:00
SwissalpS
43de5b79ae Display item's description in infotext.
allows players to brag about their tool stats and is useful for better overview.
2020-10-12 06:23:01 +00:00
Vanessa Dannenberg
0678ecdafc Merge branch 'update_german_locale' into 'master'
Update german locale

See merge request VanessaE/homedecor_modpack!13
2020-10-09 04:57:41 +00:00
Gardon Klimm
ec1be77d7e Update german locale 2020-10-09 04:57:41 +00:00
VanessaE
1ecde7e278 fix #29 2020-09-15 09:20:08 -04:00
VanessaE
47a029923c opt depend on screwdriver in _common 2020-08-17 09:18:51 -04:00
Vanessa Dannenberg
c2122a634a Merge branch 'locale' into 'master'
MT5 translation

See merge request VanessaE/homedecor_modpack!12
2020-08-06 19:38:13 +00:00
Louis Royer
98b281aade Fix minetest warnings from homedecor_lighting
```
Undeclared global variable "mesecon" accessed at ...etest/mods/homedecor_modpack/homedecor_lighting/init.lua:852
Undeclared global variable "mesecon" accessed at ...etest/mods/homedecor_modpack/homedecor_lighting/init.lua:898
```
2020-08-05 16:10:33 +02:00
Louis Royer
1090c9139c .luacheckrc on each mod 2020-08-05 16:01:47 +02:00
Louis Royer
1c7ceb2e90 MT5 translation for homedecor_common
- Remove intllib support
- Fix luacheck warnings (except for 1 I don't know what to do)
- Removes homedecor_common/mt_game_beds_functions.lua (we can get the
function directly from `beds` mod instead of using an obsolete copie; I
have not re-enabled bed-sleeping, but it should work)
2020-08-05 16:01:47 +02:00
Louis Royer
f0ab7a6c78 MT5 translation for plasmascreen 2020-08-05 16:01:47 +02:00
Louis Royer
0800810530 MT5 translation for lavalamp 2020-08-05 16:01:47 +02:00
Louis Royer
b88d76d07f MT5 translation for itemframes
- Fix luacheck warnings
2020-08-05 16:01:47 +02:00
Louis Royer
3bc711b9e3 MT5 translation for inbox 2020-08-05 16:01:47 +02:00
Louis Royer
4a72054c78 MT5 translation for homedecor_windows_and_treatments 2020-08-05 16:01:47 +02:00
Louis Royer
204beaaaac MT5 translation for homedecor_wardrobe
- Add screwdriver to optional_depends
- Fix luacheck warnings
2020-08-05 16:01:47 +02:00
Louis Royer
f7412c6191 MT5 translation for homedecor_trash_cans 2020-08-05 16:01:47 +02:00
Louis Royer
0e52553b8a MT5 translation for homedecor_tables
- Fix luacheck warnings
2020-08-05 16:01:47 +02:00
Louis Royer
a9809998bf MT5 translation for homedecor_seating
- Add screwdriver to optional_depends
- Fix luacheck warnings
2020-08-05 16:01:47 +02:00
Louis Royer
ea6e75fa6a MT5 translation for homedecor_roofing
- Fix luacheck warnings
2020-08-05 16:01:47 +02:00
Louis Royer
661636bb5c MT5 translation for homedecor_pictures_and_paintings 2020-08-05 16:01:47 +02:00
Louis Royer
77df83e161 MT5 translation for homedecor_office 2020-08-05 16:01:47 +02:00
Louis Royer
92649fad62 MT5 translation for homedecor_misc
- Add screwdriver to optional_depends
- Fix luacheck warnings
- Fix indentation
2020-08-05 16:01:47 +02:00
Louis Royer
e3ec030468 MT5 translation for homedecor_lighting
- Add screwdriver to optional_depends
- Fix luacheck warnings (mostly removing unused/legacy stuff)
Note: sm_light used to be a light_source value for lattice small lantern,
but when this was changed, only half of the lines were deleted
(including the declaration). The other half has been preserved because
it was part of an if-arm that "seems" unrelated (but it only seems).
- Improve french translation
2020-08-05 16:01:39 +02:00
Louis Royer
4f23eeec3e MT5 translation for homedecor_laundry
- Add french translation
2020-08-05 16:01:39 +02:00
Louis Royer
efba9e0648 MT5 translation for homedecor_kitchen
- Add screwdriver in optional_depends
- Fix luacheck warnings
2020-08-05 16:01:39 +02:00
Louis Royer
eae0f6cb3c MT5 translation for homedecor_gastronomy
- Add screwdriver in optional_depends
- Fix luacheck warning
- Improve french translation
2020-08-05 16:01:39 +02:00
Louis Royer
57d51e4596 MT5 translation for homedecor_furniture_medieval 2020-08-05 16:01:39 +02:00
Louis Royer
6f383c66b0 MT5 translation for homedecor_furniture 2020-08-05 16:01:39 +02:00
Louis Royer
9d28edc3ff MT5 translation for homedecor_foyer
- Add screwdriver in optional_depends
2020-08-05 16:01:39 +02:00
Louis Royer
22e4e0c42b MT5 translation for homedecor_fences
- Update .luacheckrc to allow signs_lib in globals since the current API
doesn't allow to have it read only (added a FIXME, needs a addition to
signs_lib, ping @VanessaE)
2020-08-05 16:01:39 +02:00
Louis Royer
1675a93fec MT5 translation for homedecor_exterior
- add screwdriver in optional_depends
- fixes luacheck warnings
- french translation
2020-08-05 16:01:32 +02:00
Louis Royer
facee91684 MT5 translaton for homedecor_electronics
- Fix indentation
- Remove duplicated craft
2020-08-05 16:01:32 +02:00
Louis Royer
07e42fb2f5 MT5 translation for homedecor_electrical
- fixes luacheck warnings
2020-08-05 16:01:32 +02:00
Louis Royer
512ae9ec67 MT5 translation for homedecor_doors_and_gates
- add screwdriver optional_depends
- fix luacheck warnings
- french translation
2020-08-05 16:01:18 +02:00
Louis Royer
4d6458b684 MT5 translation for homedecor_cobweb
- luacheck warnings fix
`homedecor_cobweb/init.lua:104:10: setting read-only field rotate_cobweb of global homedecor`
2020-08-05 16:01:18 +02:00
Louis Royer
6b18347fb0 MT5 translation for homedecor_clocks
- add screwdriver in optional_depends
- improve french translation
2020-08-05 16:01:18 +02:00
Louis Royer
c1d9cc1de2 MT5 translation for homedecor_climate_control
- Add screwdriver in optional_depends
- Add screwdriver in .luacheckrc
2020-08-05 16:01:18 +02:00
Louis Royer
fc28c4385a MT5 translaton for homedecor_books
Separate translation of colors because it depends of context for some
languages (eg. french); improved translation of colors in french.
2020-08-05 16:01:10 +02:00
Louis Royer
c6e35a4e5c MT5 translation for homedecor_bedroom
- add screwdriver in optional_depends
- Fix luacheck warnings
2020-08-05 15:35:36 +02:00
Louis Royer
ea73ff6f6e MT5 translation for homedecor_bathroom
- add screwdriver in optional_depends
- Fixes luacheck warnings
2020-08-05 15:35:36 +02:00
Louis Royer
1faa55a89e mod.conf for homedecor_3d_extras 2020-08-05 15:35:36 +02:00
Louis Royer
2b7905e12d MT5 translation for fake_fire
- remove homedecor_common from depends since not required anymore
- remove screwdriver line
- luacheck warnings fixes
```
    init.lua:27:8: variable id was previously defined on line 7
    init.lua:47:8: variable id was previously defined on line 27
    init.lua:201:9: unused variable meta
```
2020-08-05 15:35:36 +02:00
Louis Royer
55e1714cac MT5 translation for computer mod
- remove homedecor_common from depends since no longer required
- luacheck line length fix
- add screwdriver in optional_depends
2020-08-05 15:35:36 +02:00
Louis Royer
9a814da186 MT5 translation for building_blocks mod
- update .luacheckrc because stairs is used
- remove dependency to homedecor_common (not needed anymore)
- improve french translation
2020-08-05 15:35:22 +02:00
Vanessa Dannenberg
b72c15076e Merge branch 'keys_api' into 'master'
Keys api

See merge request VanessaE/homedecor_modpack!11
2020-08-04 14:36:38 +00:00
Louis Royer
18744ee66d Fix lines length related issues in homedecor_common 2020-08-04 16:16:36 +02:00
Louis Royer
7f67f4a035 Add on_key_use and on_skeleton_key_use api for locked nodes 2020-08-04 16:00:23 +02:00
Louis Royer
8417cddf71 Add mod.conf for homedecor_common 2020-08-04 16:00:00 +02:00
Vanessa Dannenberg
117bcddab9 Merge branch 'undefined' into 'master'
Add Chinese Translation

See merge request VanessaE/homedecor_modpack!10
2020-08-03 06:14:05 +00:00
wzy2006
377fb58c38 Upload New File 2020-07-19 03:11:52 +00:00
VanessaE
5aecf5f2c7 move some "japanese" files to their proper sub-mods
fixes #24
2020-06-04 12:32:10 -04:00
VanessaE
9be79ec6d0 add minimum minetest version key for contentdb 2020-06-03 13:00:19 -04:00
VanessaE
4c0f068909 use LBM to restore fancy fire particlespawners 2020-06-03 00:20:03 -04:00
VanessaE
ce3c77564c import model, textures, and some properties from googol's new_campfire mod
to freshen-up the look of "fancy fire"

(no, you still can't cook with this fire :P )
2020-06-03 00:13:01 -04:00
Vanessa Dannenberg
43333687bd use basic_materials steel bar instead or wrought iron pole
where it makes sense:

chairs, benches, barbecue, and sport bench will now use the steel bar.

wrought iron doors and fences, banister, spiral staircase, curtainrod,
and window/jail bars will keep the wrought iron pole.
2020-02-28 11:39:35 -05:00
Vanessa Dannenberg
9ec3eab6f4 Merge branch 'master' into 'master'
Add nil checks in tetris step function

Closes #22

See merge request VanessaE/homedecor_modpack!9
2020-02-26 14:13:16 +00:00
OgelGames
9f5cc15e62 add nil checks in tetris step function 2020-02-26 10:43:11 +00:00
Vanessa Dannenberg
ed41161554 Merge branch 'master' into 'master'
Fix door recipes

See merge request VanessaE/homedecor_modpack!8
2019-12-30 07:47:06 +00:00
OgelGames
77933d9dc3 fix recipes for mahogany closet and basic panel doors 2019-12-30 18:17:13 +11:00
Vanessa Dannenberg
c118b43711 use signs_lib's custom pole check callback feature
requires signs_lib from commit dcdee22 or later, if present
2019-09-22 03:23:50 -04:00
Vanessa Dannenberg
f6da0f7329 fix the 'fix' 2019-09-19 20:55:56 -04:00
Vanessa Dannenberg
e84a184946 only try to process a light message if it's a string 2019-09-19 19:24:42 -04:00
Vanessa Dannenberg
0c9d883f28 Merge branch 'patch-1' into 'master'
Fix fg/bg texture setting in register_furnace

See merge request VanessaE/homedecor_modpack!7
2019-09-19 18:06:48 +00:00
James McManus
97e7a31830 Fix fg/bg texture setting in register_furnace
If a custom fire_bg texture had been provided (not currently done
within the modpack itself), fire_fg would have been set to that instead
of the provided fire_fg or default.
2019-09-19 12:50:01 +00:00
Vanessa Dannenberg
d897e6d97c update to use new signs_lib API -- requires signs_lib commit 4ff54c9a and above 2019-09-11 12:29:32 -04:00
Vanessa Dannenberg
8532dee8ed Merge branch 'cobweb_typo' into 'master'
Fix a typo in homedecor_cobweb/init.lua

See merge request VanessaE/homedecor_modpack!6
2019-08-27 12:38:49 +00:00
upsilon
356f872327
Fix a typo in homedecor_cobweb/init.lua
This typo made the server crash when placing a centered cobweb
2019-08-27 14:33:21 +02:00
Vanessa Dannenberg
6c07a31857 fix #20 (undeclared globals) 2019-08-21 17:44:58 -04:00
Vanessa Dannenberg
daef49a255 Merge branch 'beer-fix' into 'master'
Use API to replace beer mug

Closes #18

See merge request VanessaE/homedecor_modpack!5
2019-08-21 21:33:30 +00:00
Vanessa Dannenberg
1072598701 use Unified Dyes colorwallmounted mode
so that the spool of filament can be colorized.
2019-08-21 08:30:23 -04:00
Vanessa Dannenberg
60be4a6320 Add 3d printer (Prussa i3/"bedflinger" style) 2019-08-21 07:19:28 -04:00
Vanessa Dannenberg
67f2065408 split printer into separate file 2019-08-21 06:36:19 -04:00
Vanessa Dannenberg
f90834ff06 make "computer" mod depend on basic_materials 2019-08-21 06:34:37 -04:00
coil
c871e0d388
Use API to replace beer mug
Mods overriding minetest.do_item_eat can ensure that an empty glass
is given only if the item was actually used.

Fixes #18.
2019-08-17 22:23:13 -04:00
Vanessa Dannenberg
d17ec1d978 fix recipes for mahogany and white french doors 2019-08-14 14:16:09 -04:00
Vanessa Dannenberg
9dcc6c2b4d use Unified Dyes on_dig where needed - requires Unified Dyes commit 9ff40a7f or later 2019-07-18 02:16:46 -04:00
Vanessa Dannenberg
80352d69e1 prevent crash if receiving a null message string or channel 2019-07-16 06:45:04 -04:00
Vanessa Dannenberg
1d59c2258d depends fixes
make sure player_api and 3d_armor load before wardrobe
2019-06-25 16:06:49 -04:00
Vanessa Dannenberg
11e6b5d92a fix door recipes
(all still pointed to old node names)
2019-06-20 17:15:38 -04:00
Vanessa Dannenberg
7e7b2bcabb use table.copy instead of own clone node 2019-06-18 15:04:08 -04:00
Vanessa Dannenberg
b28f1314da add aliases for rope lights (on/14, off/0)
make right-click handler work properly for plain "on"/"off" items
2019-06-15 06:52:58 -04:00
Vanessa Dannenberg
17ea2040e2 fix groups on "floor" rope lights
if mesecons, put "off" rope lights in creative inv, and drop them as "off" as
well.  else, put "on" in creative inv and drop "on"

allow right-click on rope lights only if no mesecons

also cache minetest.get_modpath("mesecons")
2019-06-15 06:45:41 -04:00
Vanessa Dannenberg
ed9fb6a34d allow player to open/close curtains without a curtainrod
also remove "closed" curtain from creative inv
change recipe to give the "open" one
2019-06-07 05:41:16 -04:00
Vanessa Dannenberg
13862c1a48 missing chandelier alias 2019-06-07 00:50:06 -04:00
Vanessa Dannenberg
e289e79aea add intllib as optdepend in homedecor_common
should fix #17 ?
2019-06-07 00:36:05 -04:00
Vanessa Dannenberg
80ab12710b add "light" to a couple of descriptions, for easier searching 2019-06-06 04:38:13 -04:00
Vanessa Dannenberg
1b94c940d7 fix wrong light value on standing lamps 2019-06-06 04:37:26 -04:00
Vanessa Dannenberg
df44dd3dad remove some bogus aliases, fix plasma ball 2019-06-06 01:48:44 -04:00
Vanessa Dannenberg
bff90189fc fixed french door conversions, for real now. :P
bumped LBM version
2019-06-06 01:17:43 -04:00
Vanessa Dannenberg
b407f06dc4 fix wall lantern aliases, for real this time :P 2019-06-06 01:03:57 -04:00
Vanessa Dannenberg
e6dc2c5508 bump doors LBM name to force it to run again 2019-06-05 06:16:33 -04:00
Vanessa Dannenberg
bde2bf2bf6 fix some missing door LBM entries 2019-06-05 04:26:22 -04:00
Vanessa Dannenberg
ea160a6519 simplify mesecons/digilines rules
replaced all "xz" and "toponly" with "alldir"
made on-floor rope lights use "alldir"
2019-06-04 01:37:02 -04:00
Vanessa Dannenberg
631813bb2d make all dimmable lights fully dimmable to any level 0-14
for backward compat, they'll resond to the usual strings, too:

"off" -> 0
"min" -> 3
"med" -> 7
"hi"  -> 11
"max"/"on" -> 14

all dimmable nodes have been renamed to bear the light value in their
names, and aliased.

the non-dimmable lights still respond as before
("off" or n < 4; "on" or n > 3)
2019-06-04 00:56:00 -04:00
Vanessa Dannenberg
f33636d473 move wall lamp and torch models to the correct dir 2019-06-03 07:17:12 -04:00
Vanessa Dannenberg
cbb41f7d98 give most doors more meaningful, distinct node names
to avoid confusion

doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b}                      --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b}                         --> doors:homedecor_basic_panel_{a,b}

All others:
doors:$foo_{a,b}                            --> doors:homedecor_$foo_{a,b}
2019-06-03 03:42:06 -04:00
Vanessa Dannenberg
c98ec41ba7 move some images to the right places :P 2019-06-02 08:24:13 -04:00
Vanessa Dannenberg
84c3933fd4 fix wrong textures on a couple of lamps 2019-06-02 03:16:00 -04:00
Vanessa Dannenberg
968cdfd549 rope lights are not dimmable 2019-06-02 03:13:46 -04:00
Vanessa Dannenberg
c457874d03 fix bad not-in-creative-inventory flags on wall lamp and plasma ball 2019-06-02 02:51:41 -04:00
Vanessa Dannenberg
67acbd6d59 fix not being able to right-click table and standing lamps 2019-06-02 02:47:46 -04:00
Vanessa Dannenberg
fdb37bdaf5 fix wrong colorization table usage in table, standing, and desk lamps 2019-06-02 02:45:01 -04:00
Vanessa Dannenberg
ab8bf5586f move "medieval" wall lamp and torch to homedecor_lighting
make them mesecon/digiline controllable (on/off only, alldir rules)

also fix a couple of old texture references
2019-06-02 02:37:02 -04:00
Vanessa Dannenberg
2f3c12eb2a rename and move generic light source textures 2019-06-02 02:23:10 -04:00
Vanessa Dannenberg
4174737a1a make most presently non-dimmable lights dimmable
merge table and standing lamps into the new code

of all the relevant lights, the plasma ball is the only one that remains
on/off-only, since dimmable doesn't make sense there.

That one, and any future lights that get the on/off-only treatment, will
use the previous on/off behavior, i.e. turn off with the messages "off"
or "low" or a number < 4, and turn on with "med", "hi", "max", "on" or
a number > 3

This alters the behavior of table/standing lamps - they will no longer
cycle brightnesses by right-click.  Like all other controllable lights,
they'll just toggle on/off.  If there's enough demand for it, I'll add
that feature back in at a later date.
2019-06-02 02:11:15 -04:00
Vanessa Dannenberg
11771e12cb allow numeric messages for dimmable lamps
allow non-dimmables to respond to "off", "low", "med", "hi", "max", "on"

number messages for dimmables:
0 turns the light off
1-3 sets it to "low"
4-7 sets it to "med"
8-11 sets it to "hi"
12+ sets it to "max" (i.e. full-on)

non-dimmables:
a number > 3 or the strings "med", "hi", "max", or "on" turn the light on
a number < 4 or the strings "off" and "low" turn the light off
2019-06-01 23:13:02 -04:00
Vanessa Dannenberg
b3337921a1 fix crash (bad variable ref) 2019-05-31 08:00:46 -04:00
Vanessa Dannenberg
301ae2ee1d Rearrange mesecons, diglines, dimmable functions and related, tweak
digiline stuff to be more generic, and add various digilines connections
rules to complement mesecons rules.

Mesecons must be present to get the "wallmounted" rules for digilines nodes.
Without mesecons, nodes that want wall rules will get alldir rules instead.

Add mesecons support to table and standing lamps (off -> max -> off).

Add digilines support to all other lights that now support mesecons,
except rope lights, since they're a mesecon conductor.

(will approach that last one later)
2019-05-29 22:01:27 -04:00
Vanessa Dannenberg
9b77ba1c28 move door 3d models to "3d extras" mod
by extension, require its presence to cause doors to be 3d

for consistency with the appearance/style of mtg doors in worlds that
wouldn't normally use the 3d extras mod

minor rework of closet door textures to make them work decently in both modes
2019-05-28 07:59:23 -04:00
Vanessa Dannenberg
bb1a2c9314 follow proper naming conventions (or at least, make it better than it was :P ) 2019-05-28 06:38:18 -04:00
Vanessa Dannenberg
6181f9c400 3d-ify default doors and trapdoors 2019-05-28 06:26:50 -04:00
Vanessa Dannenberg
c13c3a1c8c make sure doors component works without mesecons :P 2019-05-27 05:09:42 -04:00
Vanessa Dannenberg
a129cf177f fix broken door recipes
also got rid of some old dirt+coal+door recipes
2019-05-27 03:09:48 -04:00
Vanessa Dannenberg
7be5e15263 use custom models for most doors
all are derived from homedecor's pre-mtg-doors models, with minimal changes,
so doors should look virtually identical to what they used to.

uses the old clone_node() technique to force-dereference the door defs

reworked a few textures for quality and to fix stuff I broke but didn't
notice right away, pulling from pre-mtg-doors when needed.

also fixes the broken alpha on doors that use it.
2019-05-27 02:41:20 -04:00
Vanessa Dannenberg
0f2c4f94de fix missing rules for gates 2019-05-26 22:13:15 -04:00
Vanessa Dannenberg
c28df63aae add mesecons support to doors 2019-05-26 21:52:42 -04:00
Vanessa Dannenberg
e767b08011 add missing alias 2019-05-26 20:11:50 -04:00
Vanessa Dannenberg
c645964dd5 Refactor tables and seating
move lrfurn tables to homedecor_tables

create new mod: homedecor_seating

move lrfurn chair, sofas, and all types of homedecor
chairs, benches, etc. that I could think of,
whether intended for exterior or interior use,
to that new mod.

(except tree swing :P )

lrfurn was left empty after this, so deleted.
2019-05-26 20:02:29 -04:00
Vanessa Dannenberg
603eeba810 make table- and standing lamps respond to diglines messages
"off", "low", "med", "hi", "max".  Any other message is ignored

shift-punch to set the digiline channel

only connects from X/Z directions

right-click still cycles brightness as before

also adds protection check for right-click brightness changing
2019-05-26 19:05:11 -04:00
Vanessa Dannenberg
960f4c4200 fix bad player ref (sneder -> clicker) 2019-05-26 17:13:32 -04:00
Vanessa Dannenberg
7cdfc3b49c move wall switch up a bit (almost centered now) 2019-05-26 02:17:21 -04:00
Vanessa Dannenberg
bf7e47342f remove "on" switch from creative inv
add proper "receiver" group
remove color from switch buttons
2019-05-26 01:59:14 -04:00
Vanessa Dannenberg
b85278fbaa make wall switch work (mesecons) 2019-05-26 01:33:22 -04:00
Vanessa Dannenberg
cacf04e2d1 Add mesecons support for the rest of the other relevant lights
Each light connects only according to what sides make sense.

For example:

* a plasma lamp cube or large lattice lamp will connect from all 6 sides
* a ground lantern will only connect from its NSEW sides, not its top or
  bottom
* a glowlight slab, glowlight cube, or lattice cube uses the same rules as
  mesecons lamps, so its four edges and it back/bottom, whatever its
  orientation, but not its top/front.
* a (kitchen) ceiling lamp, and a (hanging, exterior) ceiling lantern will
  only connect from the top.

Rope lights are defined as a conductor, just like a mesecons wire,
so if mesecons is present, they will default to off unless powered by
a mesecons wire/switch/etc.

You can still right-click-toggle individual segments on/off.

Ceiling rope light connection rules are a little funky, but they work
(I wanted them to only connect from the top, but I couldn't get it
just right).  Floor-orientation connections are straightforward.
2019-05-26 00:44:37 -04:00
Vanessa Dannenberg
07141bff47 fill-out mesecons support for first few lights,
also removed debug prints

Lights are forced-on when placed, and remain so
until they receive a mesecons "off" signal.

Lights can be toggled on/off independent of the
mesecon signal state by right click, which will
persist until the next signal transition,
which will change the light to follow.
2019-05-25 22:51:49 -04:00
Vanessa Dannenberg
542f688c09 fix global warnings 2019-05-25 21:46:08 -04:00
Vanessa Dannenberg
fee09943e3 mesecons support, wip 2019-05-25 21:35:38 -04:00
Vanessa Dannenberg
bed4d1e6f8 make table- and standing-lamps return "hi"
brightness version, instead of "off".  do
the same for their crafts.
2019-05-25 20:59:19 -04:00
Vanessa Dannenberg
798ff29b0a add drops 2019-05-25 20:50:30 -04:00
Vanessa Dannenberg
7491fd4aa8 Allow most light sources to be toggled on/off
with right-click.

Rework glowlight slab and cube textures, simplify,
use overlays and compositing, so that the bulk
of the light can switch between a dark, matte surface,
and a bright surface with central glare gradient, and
so that the surface and eging respond to param2 color.

Tweak all other relevant nodes so that their light
source changes to a darkened (or even translucent
texture) when off.

On/off switching doesn't affect things like oil lamps,
candles, chandeliers, etc.  Just basically the stuff
that would be electric-powered in real life.

If in a protected area, only that area's owner can
turn the light on/off.
2019-05-25 19:35:14 -04:00
Vanessa Dannenberg
7ab149275b Add "rope" lighting 2019-05-25 02:34:50 -04:00
Vanessa Dannenberg
c6ef999591 re-add fan blades
(lost during The Big Split)
2019-05-25 01:10:29 -04:00
Vanessa Dannenberg
a9cfef8fba give bathtub some rough collision info
allow showerhead to be turned on when placed 2m above the tub
(must be on the same end as the taps)
2019-05-25 00:59:51 -04:00
Vanessa Dannenberg
9d64af85ca convert doors over to use minetest_game doors API
simplify gates code a bit
2019-05-25 00:11:54 -04:00
Vanessa Dannenberg
712ca909ca Multiple related changes:
remove duplicate dishwasher recipe
more kitchen depends fixes
fix wrong brass taps recipe (ref technic brass, need basic_materials brass)
re-add missing bathroom items recipes
re-add missing stading- and table-lamp recipes
add alternate dishwasher recipe
add recipes for "half-doors"
change light bath tiles recipe (don't need white dye for base node, now)
move japanese wall parts to homedecor_misc, make _doors opt depend on that
2019-05-24 20:40:44 -04:00
Vanessa Dannenberg
32fc5dc49b bad modpath check (leftover from The Big Split); fixes #12
also added optdepend on kitchen stuff (for the recipe)
2019-05-04 13:10:03 -04:00
Vanessa Dannenberg
854e96d4c0 add "light" to lava lamp desc. 2019-05-03 12:06:43 -04:00
Vanessa Dannenberg
6e61cc4ad8 move sounds to their correct folders 2019-05-02 18:40:25 -04:00
Vanessa Dannenberg
2ee1cd6887 Make sure all "lanterns" and "lamps" have "light" in their descriptions also
(for easier searching in sfinv and unified inv)
2019-05-02 18:36:36 -04:00
1445 changed files with 93788 additions and 106139 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: ""

View File

@ -1,28 +1,45 @@
unused_args = false
allow_defined_top = true
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"intllib",
"default",
"stairsplus",
"signs_lib",
"beds",
"technic",
"mesecon",
"unifieddyes",
"creative",
"homedecor_i18n",
}
globals = {
"armor",
"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",
xcompat = {fields = {"player"}},
}
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",
"player_monoids"
}

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,4 +1,4 @@
local S = homedecor.gettext
local S = minetest.get_translator("building_blocks")
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
minetest.register_alias("building_blocks:slab_tar", "stairs:slab_Tar")
@ -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,5 +0,0 @@
default
homedecor_common
moreblocks?
gloopblocks?
stairs?

View File

@ -1,4 +1,3 @@
local S = homedecor.gettext
local modpath = minetest.get_modpath("building_blocks")
dofile(modpath.."/alias.lua")

View File

@ -0,0 +1,20 @@
# textdomain: building_blocks
Granite=Granit
Grate=Rost
Streak Free Glass=Schlierenfreies Glas
Wood Framed Glass=Holzrahmenglas
Adobe=Adobe
Fake Grass=Falsches Gras
Hardwood=Hartholz
Roof block=Dachblock
Tar=Teer
Marble=Marmor
Brobble Spread=Ziesterboden
Gravel Spread=Kiesboden
Tarmac Spread=Asphaltboden
Terrycloth towel=Frottiertuch
Chess board tiling=Schachbrettkacheln
Fireplace=Kamin
Small bundle of sticks=Kleines Bündel Stöcke
Tar base=Teerbase
Tar Knife=Teermesser

View File

@ -0,0 +1,20 @@
# textdomain: building_blocks
Granite=Granito
Grate=Reja
Streak Free Glass=Vídrio sin rayas
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
Marble=Mármol
Brobble Spread=Mezcla de Ladroquines
Gravel Spread=Mezcla de gravilla
Tarmac Spread=Mezcla de asfalto
Terrycloth towel=Toalla
Chess board tiling=Azulejos de ajedrez
Fireplace=Chimenea
Small bundle of sticks=Manojo de palitos
Tar base=Base de alquitrán
Tar Knife=Cuchillo de alquitrán

View File

@ -0,0 +1,20 @@
# textdomain: building_blocks
Granite=Granit
Grate=Grille
Streak Free Glass=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
Marble=Marbre
Brobble Spread=Tapis rouge
Gravel Spread=Tapis de gravier
Tarmac Spread=Tapis de goudron
Terrycloth towel=Serviette éponge
Chess board tiling=Pavage en échiquier
Fireplace=Cheminée
Small bundle of sticks=Petit fagot de brindilles
Tar base=Pâte de goudron
Tar Knife=Couteau à goudron

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

3
building_blocks/mod.conf Normal file
View File

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

View File

@ -1,39 +1,29 @@
local S = homedecor.gettext
local stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"}
local S = minetest.get_translator("building_blocks")
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]
end
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,
("%s Stair"):format(def.description),
("%s Slab"):format(def.description),
def.sounds
)
end
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
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
@ -43,9 +33,12 @@ building_blocks_stairs("building_blocks:grate", {
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",
@ -53,9 +46,12 @@ building_blocks_stairs("building_blocks:smoothglass", {
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",
@ -63,54 +59,72 @@ building_blocks_stairs("building_blocks:woodglass", {
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"),
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"),
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"),
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"),
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"),
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"),
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", {
@ -124,34 +138,36 @@ minetest.register_node("building_blocks:brobble_spread", {
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
-- but how to specify the dimensions for curved and sideways rails?
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,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
-- but how to specify the dimensions for curved and sideways rails?
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
@ -164,13 +180,16 @@ minetest.register_node("building_blocks:Tarmac_spread", {
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
-- but how to specify the dimensions for curved and sideways rails?
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",
@ -181,12 +200,13 @@ minetest.register_node("building_blocks:terrycloth_towel", {
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
-- but how to specify the dimensions for curved and sideways rails?
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", {
@ -208,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", {
@ -222,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,4 +1,4 @@
local S = homedecor.gettext
local S = minetest.get_translator("building_blocks")
minetest.register_craftitem("building_blocks:sticks", {
description = S("Small bundle of sticks"),

View File

@ -1,4 +1,4 @@
local S = homedecor.gettext
local materials = homedecor.materials
if minetest.get_modpath("moreblocks") then
minetest.register_craft({
@ -22,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({
@ -43,21 +43,21 @@ minetest.register_craft({
minetest.register_craft({
output = 'building_blocks:fakegrass 2',
recipe = {
{'default:leaves'},
{"default:dirt"},
{'group:leaves'},
{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},
}
})
@ -65,25 +65,27 @@ 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
minetest.register_craft({
output = 'building_blocks:hardwood 2',
recipe = {
{"default:wood", "default:junglewood"},
{"default:junglewood", "default:wood"},
}
})
minetest.register_craft({
output = 'building_blocks:hardwood 2',
recipe = {
{"default:junglewood", "default:wood"},
{"default:wood", "default:junglewood"},
}
})
if minetest.get_modpath("default") then
minetest.register_craft({
output = 'building_blocks:hardwood 2',
recipe = {
{"default:wood", "default:junglewood"},
{"default:junglewood", "default:wood"},
}
})
minetest.register_craft({
output = 'building_blocks:hardwood 2',
recipe = {
{"default:junglewood", "default:wood"},
{"default:wood", "default:junglewood"},
}
})
end
minetest.register_craft({
output = 'building_blocks:knife 1',
recipe = {
@ -94,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({
@ -115,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({
@ -141,15 +143,15 @@ minetest.register_craft({
minetest.register_craft({
output = 'building_blocks:woodglass 1',
recipe = {
{"default:wood"},
{"default:glass"},
{"group:wood"},
{materials.glass_block},
}
})
minetest.register_craft({
type = "cooking",
output = "building_blocks:smoothglass",
recipe = "default:glass"
recipe = materials.glass_block
})
minetest.register_craft({
type = "cooking",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 B

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 381 B

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 581 B

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 751 B

View File

@ -1,38 +0,0 @@
version 0.2.3:
- Added animated router front
- Added all crafts for new items
version 0.2.2:
- Added printer
- Added server
version 0.2.1:
- Added modern tower pc
- Added wifi router
- Added flatscreen LCD and keyboard
Version 0.2.0:
- Added recipes.
- Partly re-written.
- Removed original baby tower (seemed out of place).
- You can now turn devices on and off by right-clicking.
- Mod is now on github.
Version 0.1.4:
- Added Admiral 64 & 128 (Commodore 64 & 128 lookalikes)
Version 0.1.3:
- Added SX Spectre (Sinclair ZX Spectrum lookalike)
- Added Pony SlayStation 2 (Sony PlayStation lookalike)
- Minor fixes to textures.
Version 0.1.2:
- Nodes now use the node box as selection box.
- Added Pony SlayStation (Sony PlayStation lookalike)
- Added Pony Vanio (Sony VAIO lookalike...err...just a generic laptop)
Version 0.1.1:
- Added SheFriend SOO (Amiga 500 lookalike)
Version 0.1.0:
- Initial Version only a baby tower.

View File

@ -1,43 +0,0 @@

Decorative Computers Mod for Minetest
by Diego Martínez <kaeza@users.sf.net>
How to install:
Unzip the archive an place it in minetest-base-directory/mods/minetest/
if you have a windows client or a linux run-in-place client. If you have
a linux system-wide instalation place it in ~/.minetest/mods/minetest/.
If you want to install this mod only in one world create the folder
worldmods/ in your worlddirectory.
For further information or help see:
http://wiki.minetest.com/wiki/Installing_Mods
How to use the mod:
For now just use creative mode or the `/give' or `/giveme' chat commands
to get the items.
These are the items currently defined by this mod:
computer:printer (printer scanner combo)
computer:server (rack server)
computer:tower (modern type)
computer:monitor (LCD with keyboard)
computer:router (wifi type)
computer:babytower
computer:shefriendSOO
computer:slaystation
computer:vanio
computer:spectre
computer:slaystation2
computer:admiral64
computer:admiral128
There's also a `computer:computer' alias to `computer:babytower'.
Thanks to all the people in the forums and the #minetest IRC channel for
their support and suggestions; in no particular order:
OldCoder, Josh, tonyka, VanessaE, davidpace, Jordach, and all the other
sirs/madammes that I forgot to mention (sorry, please remind me if it
was you ;) ).
See also:
http://minetest.net/

View File

@ -1,29 +0,0 @@
TO-DO List:
- New Nodes:
- Computers:
- Mainframe (well me have a rackserver now)
- My Computer :P
- Peripherals:
- Scanner ( well we have a printer/scanner combo now)
- Consoles:
- NES
- SNES
- DC
- Handhelds
- GB/C
- GBA
- Calculator
- Smartphone
- Animated screens
- Implement some kind of games (take code from `tetris' mod?). [It would be
nice if Minetest provided a "canvas" GUI widget :)].
- Get more suggestions :)

View File

@ -1,358 +0,0 @@
local S = homedecor.gettext
-- Amiga 500 lookalike
computer.register("computer:shefriendSOO", {
description = "SheFriendSOO",
tiles_off = { front=true },
node_box = computer.pixelnodebox(32, {
-- X Y Z W H L
{ 0, 0, 17, 32, 32, 12 }, -- Monitor Screen
{ 3, 3, 29, 26, 26, 3 }, -- Monitor Tube
{ 0, 0, 0, 32, 4, 17 } -- Keyboard
})
})
-- Some generic laptop
minetest.register_node("computer:vanio", {
drawtype = "mesh",
mesh = "computer_laptop.obj",
description = "Pony Vanio",
inventory_image = "computer_laptop_inv.png",
tiles = {"computer_laptop.png"},
paramtype = "light",
paramtype2 = "facedir",
light_source = 4,
groups = {snappy=3},
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.35, -0.5, -0.35, 0.35, 0.05, 0.35},
},
on_rightclick = function(pos, node, clicker, itemstack)
node.name = "computer:vanio_off"
minetest.set_node(pos, node)
return itemstack
end
})
minetest.register_node("computer:vanio_off", {
drawtype = "mesh",
mesh = "computer_laptop_closed.obj",
tiles = {"computer_laptop.png"},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3, not_in_creative_inventory=1},
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.35, -0.5, -0.35, 0.35, -0.4, 0.25},
},
drop = "computer:vanio",
on_rightclick = function(pos, node, clicker, itemstack)
node.name = "computer:vanio"
minetest.set_node(pos, node)
return itemstack
end
})
-- Sony PlayStation lookalike
computer.register("computer:slaystation", {
description = "Pony SlayStation",
inventory_image = "computer_ps1_inv.png",
tiles_off = { top=true },
node_box = computer.pixelnodebox(32, {
-- X Y Z W H L
{ 0, 0, 11, 32, 6, 21 }, -- Console
{ 1, 0, 1, 4, 2, 9 }, -- Controller 1 L Grip
{ 10, 0, 1, 4, 2, 9 }, -- Controller 1 R Grip
{ 5, 0, 4, 5, 2, 5 }, -- Controller 1 Center
{ 18, 0, 1, 4, 2, 9 }, -- Controller 2 L Grip
{ 27, 0, 1, 4, 2, 9 }, -- Controller 2 R Grip
{ 22, 0, 4, 5, 2, 5 } -- Controller 2 Center
})
})
-- Sony PlayStation 2 lookalike
computer.register("computer:slaystation2", {
description = "Pony SlayStation 2",
inventory_image = "computer_ps2_inv.png",
tiles_off = { front=true },
node_box = computer.pixelnodebox(32, {
-- X Y Z W H L
{ 2, 2, 11, 28, 3, 19 }, -- Console (Upper part)
{ 2, 0, 11, 26, 2, 19 }, -- Console (Lower part)
{ 1, 0, 1, 4, 2, 9 }, -- Controller 1 L Grip
{ 10, 0, 1, 4, 2, 9 }, -- Controller 1 R Grip
{ 5, 0, 1, 5, 2, 8 }, -- Controller 1 Center
{ 18, 0, 1, 4, 2, 9 }, -- Controller 2 L Grip
{ 27, 0, 1, 4, 2, 9 }, -- Controller 2 R Grip
{ 22, 0, 1, 5, 2, 8 } -- Controller 2 Center
})
})
-- Sinclair ZX Spectrum lookalike
computer.register("computer:specter", {
description = "SX Specter",
inventory_image = "computer_specter_inv.png",
tiles_off = { },
node_box = computer.pixelnodebox(32, {
-- X Y Z W H L
{ 3, 0, 0, 26, 4, 17 }, -- Keyboard
{ 18, 0, 18, 12, 6, 14 } -- Tape Player
})
})
-- Nintendo Wii lookalike
computer.register("computer:wee", {
description = "Nientiendo Wee",
inventory_image = "computer_wii_inv.png",
tiles_off = { front=true },
node_box = computer.pixelnodebox(32, {
-- X Y Z W H L
{ 11, 0, 3, 10, 6, 26 }, -- Base
{ 12, 6, 4, 8, 22, 24 } -- Top
})
})
-- Apple iPad lookalike
minetest.register_node("computer:piepad", {
description = "Snapple Piepad",
drawtype = "signlike",
tiles = {"computer_piepad_inv.png"},
inventory_image = "computer_piepad_inv.png",
wield_image = "computer_piepad_inv.png",
paramtype = "light",
paramtype2 = "wallmounted",
light_source = 8,
walkable = false,
groups = {oddly_breakable_by_hand=2},
selection_box = {type = "wallmounted"},
sounds = default.node_sound_wood_defaults()
})
-- Commodore 64 lookalike
computer.register("computer:admiral64", {
description = "Admiral64",
inventory_image = "computer_ad64_inv.png",
tiles_off = { },
node_box = computer.pixelnodebox(32, {
-- X Y Z W H L
{ 0, 0, 0, 32, 4, 18 } -- Keyboard
})
})
-- Commodore 128 lookalike
computer.register("computer:admiral128", {
description = "Admiral128",
inventory_image = "computer_ad128_inv.png",
tiles_off = { },
node_box = computer.pixelnodebox(32, {
-- X Y Z W H L
{ 0, 0, 0, 32, 4, 27 } -- Keyboard
})
})
-- XBox lookalike
computer.register("computer:hueg_box", {
description = "HUEG Box",
tiles_off = { },
node_box = computer.pixelnodebox(16, {
-- X Y Z W H L
{ 0, 0, 7, 16, 6, 9 }, -- Console
{ 2, 0, 1, 11, 3, 6 }, -- Controller
{ 2, 0, 0, 2, 3, 1 },
{ 11, 0, 0, 2, 3, 1 },
})
})
-- Generic Flat Screen LCD (16x9) with keyboard
local mo_sbox = {
type = "fixed",
fixed = { -0.5, -0.5, -0.43, 0.5, 0.2, 0.25 }
}
minetest.register_node("computer:monitor", {
description = S("Monitor and keyboard"),
inventory_image = "computer_monitor_inv.png",
drawtype = "mesh",
mesh = "computer_monitor.obj",
tiles = {"computer_black.png", "monitor_plastic.png", "computer_black.png", "monitor_plastic.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
groups = {snappy=3},
selection_box = mo_sbox,
on_rightclick = function(pos, node, clicker, itemstack)
node.name = "computer:monitor_on"
minetest.set_node(pos, node)
return itemstack
end
})
minetest.register_node("computer:monitor_on", {
drawtype = "mesh",
mesh = "computer_monitor.obj",
tiles = {"monitor_display.png^[transformFX", "monitor_plastic.png", "computer_black.png", "monitor_plastic.png"},
paramtype = "light",
paramtype2 = "facedir",
light_source = 9,
walkable = false,
groups = {snappy=3, not_in_creative_inventory=1},
selection_box = mo_sbox,
drop = "computer:monitor",
on_rightclick = function(pos, node, clicker, itemstack)
node.name = "computer:monitor"
minetest.set_node(pos, node)
return itemstack
end
})
minetest.register_alias("computer:monitor_bios", "computer:monitor")
minetest.register_alias("computer:monitor_loading", "computer:monitor")
minetest.register_alias("computer:monitor_login", "computer:monitor")
minetest.register_alias("computer:monitor_desktop", "computer:monitor")
--WIFI Router (linksys look-a-like)
minetest.register_node("computer:router", {
description = S("WIFI Router"),
inventory_image = "computer_router_inv.png",
tiles = {"computer_router_t.png","computer_router_bt.png","computer_router_l.png","computer_router_r.png","computer_router_b.png",
{name="computer_router_f_animated.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.0}},}, --"computer_router_f.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
groups = {snappy=3},
sound = default.node_sound_wood_defaults(),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.25, -0.5, -0.0625, 0.25, -0.375, 0.3125},
{-0.1875, -0.4375, 0.3125, -0.125, -0.1875, 0.375},
{0.125, -0.4375, 0.3125, 0.1875, -0.1875, 0.375},
{-0.0625, -0.4375, 0.3125, 0.0625, -0.25, 0.375}
}
}
})
local pct_cbox = {
type = "fixed",
fixed = { -0.1875, -0.5, -0.36, 0.1875, 0.34, 0.46 }
}
--Modern PC Tower
minetest.register_node("computer:tower", {
description = S("Computer Tower"),
inventory_image = "computer_tower_inv.png",
drawtype = "mesh",
mesh = "computer_tower.obj",
tiles = {"computer_tower.png"},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3},
sound = default.node_sound_wood_defaults(),
selection_box = pct_cbox,
collision_box = pct_cbox
})
minetest.register_alias("computer:tower_on", "computer:tower")
-- Printer/scaner combo
minetest.register_node("computer:printer", {
description = S("Printer-Scanner Combo"),
inventory_image = "computer_printer_inv.png",
tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = true,
groups = {snappy=3},
sound = default.node_sound_wood_defaults(),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0}
},
},
})
--Rack Server
minetest.register_node("computer:server", {
drawtype = "nodebox",
description = S("Rack Server"),
tiles = {
'computer_server_t.png',
'computer_server_bt.png',
'computer_server_l.png',
'computer_server_r.png',
'computer_server_bt.png',
'computer_server_f_off.png'
},
inventory_image = "computer_server_inv.png",
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375}
},
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375}
},
sounds = default.node_sound_wood_defaults(),
on_rightclick = function(pos, node, clicker, itemstack)
node.name = "computer:server_on"
minetest.set_node(pos, node)
return itemstack
end,
on_place = function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
minetest.chat_send_player( placer:get_player_name(),
S("Not enough vertical space to place a server!" ))
return itemstack
end
return minetest.item_place(itemstack, placer, pointed_thing)
end
})
minetest.register_node("computer:server_on", {
drawtype = "nodebox",
tiles = {
'computer_server_t.png',
'computer_server_bt.png',
'computer_server_l.png',
'computer_server_r.png',
'computer_server_bt.png',
'computer_server_f_on.png',
},
inventory_image = "computer_server_inv.png",
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3,not_in_creative_inventory=1},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375}
},
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.25, 0.5, 1.125, 0.4375}
},
sounds = default.node_sound_wood_defaults(),
drop = 'computer:server',
on_rightclick = function(pos, node, clicker, itemstack)
node.name = "computer:server"
minetest.set_node(pos, node)
return itemstack
end
})

View File

@ -1,2 +0,0 @@
default
homedecor_common

View File

@ -1,99 +0,0 @@
computer = {}
screwdriver = screwdriver or {}
computer.register = function (name, def)
if (name:sub(1, 1) == ":") then name = name:sub(2) end
local modname, basename = name:match("^([^:]+):(.*)")
local TEXPFX = modname.."_"..basename.."_"
local ONSTATE = modname..":"..basename
local OFFSTATE = modname..":"..basename.."_off"
local cdef = table.copy(def)
minetest.register_node(ONSTATE, {
drawtype = "nodebox",
paramtype = "light",
paramtype2 = "facedir",
description = cdef.description,
inventory_image = cdef.inventory_image,
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2},
tiles = {
TEXPFX.."tp.png",
TEXPFX.."bt.png",
TEXPFX.."rt.png",
TEXPFX.."lt.png",
TEXPFX.."bk.png",
TEXPFX.."ft.png"
},
node_box = cdef.node_box,
selection_box = cdef.node_box,
on_rightclick = function (pos, node, clicker, itemstack)
if cdef.on_turn_off and cdef.on_turn_off(pos, node, clicker, itemstack) then
return itemstack
end
node.name = OFFSTATE
minetest.set_node(pos, node)
return itemstack
end
})
minetest.register_node(OFFSTATE, {
drawtype = "nodebox",
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1},
tiles = {
(TEXPFX.."tp"..(cdef.tiles_off.top and "_off" or "")..".png"),
(TEXPFX.."bt"..(cdef.tiles_off.bottom and "_off" or "")..".png"),
(TEXPFX.."rt"..(cdef.tiles_off.right and "_off" or "")..".png"),
(TEXPFX.."lt"..(cdef.tiles_off.left and "_off" or "")..".png"),
(TEXPFX.."bk"..(cdef.tiles_off.back and "_off" or "")..".png"),
(TEXPFX.."ft"..(cdef.tiles_off.front and "_off" or "")..".png")
},
node_box = cdef.node_box_off or cdef.node_box,
selection_box = cdef.node_box_off or cdef.node_box,
on_rightclick = function (pos, node, clicker, itemstack)
if cdef.on_turn_on and cdef.on_turn_on(pos, node, clicker, itemstack) then
return itemstack
end
node.name = ONSTATE
minetest.set_node(pos, node)
return itemstack
end,
drop = ONSTATE
})
end
computer.register_handheld = function (name, def)
if (name:sub(1, 1) == ":") then name = name:sub(2) end
local modname, basename = name:match("^([^:]+):(.*)")
local TEXPFX = modname.."_"..basename.."_inv"
local ONSTATE = modname..":"..basename
minetest.register_craftitem(ONSTATE, {
description = def.description,
inventory_image = TEXPFX..".png",
wield_image = TEXPFX..".png"
})
end
computer.pixelnodebox = function (size, boxes)
local fixed = { }
for _, box in ipairs(boxes) do
local x, y, z, w, h, l = unpack(box)
fixed[#fixed + 1] = {
(x / size) - 0.5,
(y / size) - 0.5,
(z / size) - 0.5,
((x + w) / size) - 0.5,
((y + h) / size) - 0.5,
((z + l) / size) - 0.5
}
end
return {
type = "fixed",
fixed = fixed
}
end
local MODPATH = minetest.get_modpath("computer")
dofile(MODPATH.."/computers.lua")
dofile(MODPATH.."/miscitems.lua")
dofile(MODPATH.."/recipes.lua")
dofile(MODPATH.."/tetris.lua")

View File

@ -1,68 +0,0 @@
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
-- This file defines some items in order to not have to depend on other mods.
local S = homedecor.gettext
if (not minetest.get_modpath("homedecor")) then
minetest.register_craftitem(":basic_materials:plastic_sheet", {
description = S("Plastic sheet"),
inventory_image = "homedecor_plastic_sheeting.png",
})
minetest.register_craftitem(":homedecor:plastic_base", {
description = S("Unprocessed Plastic base"),
wield_image = "homedecor_plastic_base.png",
inventory_image = "homedecor_plastic_base_inv.png",
})
minetest.register_craft({
type = "shapeless",
output = 'homedecor:plastic_base 6',
recipe = { "default:junglegrass",
"default:junglegrass",
"default:junglegrass"
}
})
minetest.register_craft({
type = "shapeless",
output = 'homedecor:plastic_base 3',
recipe = { "default:dry_shrub",
"default:dry_shrub",
"default:dry_shrub"
},
})
minetest.register_craft({
type = "shapeless",
output = 'homedecor:plastic_base 4',
recipe = { "default:leaves",
"default:leaves",
"default:leaves",
"default:leaves",
"default:leaves",
"default:leaves"
}
})
minetest.register_craft({
type = "cooking",
output = "basic_materials:plastic_sheet",
recipe = "homedecor:plastic_base",
})
minetest.register_craft({
type = 'fuel',
recipe = 'homedecor:plastic_base',
burntime = 30,
})
minetest.register_craft({
type = 'fuel',
recipe = 'basic_materials:plastic_sheet',
burntime = 30,
})
end -- not homedecor

View File

@ -1,124 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: ''
# www.blender.org
mtllib computer_laptop.mtl
o Cube.001
v -0.340277 0.022636 0.335290
v -0.340277 0.013075 0.362499
v 0.332320 0.022636 0.335292
v 0.332320 -0.432772 0.182772
v 0.332320 0.013075 0.362501
v -0.340276 -0.499994 -0.312651
v -0.340276 -0.432772 -0.312651
v 0.332321 -0.499994 -0.312650
v -0.340277 -0.499994 0.182771
v 0.332320 -0.499994 0.182772
v -0.340277 -0.432772 0.182771
v -0.340278 -0.432772 0.209979
v 0.332320 -0.432772 0.209981
v 0.332320 -0.499994 0.209981
v -0.340278 -0.499994 0.209979
v -0.319957 -0.417924 0.194820
v -0.319957 -0.001053 0.334433
v 0.312000 -0.417925 0.194821
v -0.340277 -0.432772 -0.159321
v 0.332321 -0.432772 -0.312650
v 0.311999 -0.001054 0.334434
v 0.332321 -0.432772 -0.159320
vt 0.682604 0.005242
vt 0.682603 0.021207
vt 0.310265 0.005245
vt 0.044426 0.009206
vt 0.310266 0.021211
vt 0.753340 0.119988
vt 0.810356 0.119988
vt 0.753340 0.597765
vt 0.856851 0.982221
vt 0.745750 0.982220
vt 0.856851 0.831387
vt 0.948453 0.009205
vt 0.878028 0.982221
vt 0.878028 0.831387
vt 0.983700 0.982221
vt 0.862953 0.831387
vt 0.862953 0.982221
vt 0.728292 0.490807
vt 0.728292 0.989869
vt 0.010900 0.490807
vt 0.831643 0.129995
vt 0.982007 0.129995
vt 0.831643 0.789586
vt 0.758249 0.754841
vt 0.758228 0.812823
vt 0.756060 0.752868
vt 0.798519 0.812617
vt 0.756052 0.814797
vt 0.798577 0.754909
vt 0.800285 0.814587
vt 0.707729 0.114386
vt 0.707729 0.471212
vt 0.006162 0.114385
vt 0.345650 0.099088
vt 0.497058 0.032709
vt 0.497058 0.099088
vt 0.990661 0.099453
vt 0.838275 0.032645
vt 0.990661 0.032645
vt 0.007709 0.008663
vt 0.012705 0.022873
vt 0.983559 0.009737
vt 0.943457 0.023414
vt 0.049421 0.023416
vt 0.810356 0.597766
vt 0.745750 0.831387
vt 0.983700 0.831387
vt 0.010900 0.989869
vt 0.982007 0.789586
vt 0.800332 0.752938
vt 0.006162 0.471212
vt 0.007844 0.099088
vt 0.007844 0.032709
vt 0.498289 0.099453
vt 0.498289 0.032646
vt 0.978563 0.023946
usemtl Material.001
s off
f 1/1 2/2 3/3
f 4/4 3/3 5/5
f 6/6 7/7 8/8
f 9/9 6/10 10/11
f 1/1 11/12 2/2
f 12/13 13/14 2/15
f 13/14 12/13 14/16
f 9/9 10/11 15/17
f 16/18 17/19 18/20
f 7/21 19/22 20/23
f 21/24 17/25 3/26
f 16/27 1/28 17/25
f 18/29 21/24 3/26
f 16/27 18/29 11/30
f 19/31 11/32 22/33
f 22/34 8/35 20/36
f 6/37 19/38 7/39
f 10/40 4/4 14/41
f 11/12 9/42 12/43
f 2/2 5/5 3/3
f 13/44 4/4 5/5
f 7/7 20/45 8/8
f 6/10 8/46 10/11
f 11/12 12/43 2/2
f 13/14 5/47 2/15
f 12/13 15/17 14/16
f 10/11 14/16 15/17
f 17/19 21/48 18/20
f 19/22 22/49 20/23
f 17/25 1/28 3/26
f 11/30 1/28 16/27
f 4/50 18/29 3/26
f 18/29 4/50 11/30
f 11/32 4/51 22/33
f 4/52 10/53 8/35
f 22/34 4/52 8/35
f 9/54 11/55 6/37
f 11/55 19/38 6/37
f 4/4 13/44 14/41
f 9/42 15/56 12/43

View File

@ -1,138 +0,0 @@
# Blender v2.69 (sub 0) OBJ File: ''
# www.blender.org
mtllib computer_laptop_closed.mtl
o Cube.001
v 0.332320 -0.432772 0.182772
v -0.340276 -0.499994 -0.312651
v -0.340276 -0.432772 -0.312651
v 0.332321 -0.499994 -0.312650
v -0.340277 -0.499994 0.182771
v 0.332320 -0.499994 0.182772
v -0.340277 -0.432772 0.182771
v -0.340278 -0.432772 0.209979
v 0.332320 -0.432772 0.209981
v 0.332320 -0.499994 0.209981
v -0.340278 -0.499994 0.209979
v -0.340277 -0.432772 -0.159321
v 0.332321 -0.432772 -0.312650
v 0.332321 -0.432772 -0.159320
v -0.339100 -0.432290 -0.312591
v -0.339100 -0.401111 -0.312123
v 0.331143 -0.432288 -0.312592
v 0.331143 -0.432434 0.206702
v 0.331143 -0.401109 -0.312123
v -0.339100 -0.432435 0.206702
v -0.339101 -0.404537 0.197368
v 0.331143 -0.404535 0.197367
v -0.318852 -0.425175 0.187344
v -0.318852 -0.425042 -0.288007
v 0.310895 -0.425173 0.187344
v 0.310894 -0.425040 -0.288006
vt 0.753340 0.119988
vt 0.810356 0.119988
vt 0.753340 0.597765
vt 0.856851 0.982221
vt 0.745750 0.982220
vt 0.856851 0.831387
vt 0.878028 0.831387
vt 0.878028 0.982221
vt 0.862953 0.831387
vt 0.862953 0.982221
vt 0.858063 0.829423
vt 0.885587 0.829423
vt 0.858063 0.950158
vt 0.935597 0.852882
vt 0.935597 0.922715
vt 0.798294 0.852882
vt 0.345650 0.099088
vt 0.497058 0.032709
vt 0.497058 0.099088
vt 0.990661 0.099453
vt 0.838275 0.032645
vt 0.990661 0.032645
vt 0.007709 0.008663
vt 0.044426 0.009206
vt 0.012705 0.022873
vt 0.948453 0.009205
vt 0.983559 0.009737
vt 0.943457 0.023414
vt 0.810356 0.597766
vt 0.745750 0.831387
vt 0.885587 0.950158
vt 0.912135 0.962581
vt 0.785835 0.838012
vt 0.886333 0.908011
vt 0.922048 0.840165
vt 0.798294 0.922715
vt 0.007844 0.099088
vt 0.007844 0.032709
vt 0.498289 0.099453
vt 0.498289 0.032646
vt 0.049421 0.023416
vt 0.978563 0.023946
vt 0.682604 0.005242
vt 0.682603 0.021207
vt 0.310265 0.005245
vt 0.310266 0.021211
vt 0.983700 0.982221
vt 0.922420 0.868181
vt 0.922420 0.951695
vt 0.802372 0.868181
vt 0.758249 0.754841
vt 0.758228 0.812823
vt 0.756060 0.752868
vt 0.798519 0.812617
vt 0.756052 0.814797
vt 0.798577 0.754909
vt 0.800285 0.814587
vt 0.983700 0.831387
vt 0.802372 0.951695
vt 0.800332 0.752938
vt 0.896350 0.948981
vt 0.903598 0.848845
vt 0.888354 0.925385
vt 0.811076 0.850308
usemtl Material.001
s off
f 2/1 3/2 4/3
f 5/4 2/5 6/6
f 9/7 8/8 10/9
f 5/4 6/6 11/10
f 3/11 12/12 13/13
f 12/14 7/15 14/16
f 14/17 4/18 13/19
f 2/20 12/21 3/22
f 6/23 1/24 10/25
f 7/26 5/27 8/28
f 3/2 13/29 4/3
f 2/5 4/30 6/6
f 8/8 11/10 10/9
f 6/6 10/9 11/10
f 12/12 14/31 13/13
f 8/32 9/33 1/34 7/35
f 7/15 1/36 14/16
f 1/37 6/38 4/18
f 14/17 1/37 4/18
f 5/39 7/40 2/20
f 7/40 12/21 2/20
f 1/24 9/41 10/25
f 5/27 11/42 8/28
f 15/43 16/44 17/45
f 18/24 17/45 19/46
f 15/43 20/26 16/44
f 21/8 22/7 16/47
f 23/48 24/49 25/50
f 26/51 24/52 17/53
f 23/54 15/55 24/52
f 25/56 26/51 17/53
f 23/54 25/56 20/57
f 16/44 19/46 17/45
f 22/41 18/24 19/46
f 20/26 21/28 16/44
f 22/7 19/58 16/47
f 24/49 26/59 25/50
f 24/52 15/55 17/53
f 20/57 15/55 23/54
f 18/60 25/56 17/53
f 25/56 18/60 20/57
f 21/61 20/62 18/63 22/64

File diff suppressed because it is too large Load Diff

View File

@ -1,33 +0,0 @@
# Blender v2.72 (sub 0) OBJ File: ''
# www.blender.org
mtllib computer_tower.mtl
o Cube.001
v -0.182508 -0.499998 0.450000
v -0.182508 -0.499998 -0.349946
v 0.182508 -0.499998 -0.349946
v 0.182508 -0.499998 0.450000
v -0.182508 0.335734 0.450000
v 0.182508 0.335734 0.450000
v 0.182508 0.335734 -0.349946
v -0.182508 0.335734 -0.349947
vt 0.999994 0.750017
vt 0.500006 0.749983
vt 0.500002 0.499996
vt 0.999997 0.500009
vt 0.499989 0.999941
vt 0.999986 0.999931
vt 0.500005 0.000003
vt 0.000007 0.500002
vt -0.000003 0.000003
vt 0.250005 0.999991
vt 0.250005 0.499995
vt 0.999993 0.000002
vt 0.000017 0.999997
usemtl Material.001
s off
f 1/1 2/2 3/3 4/4
f 5/5 6/2 7/1 8/6
f 1/7 5/3 8/8 2/9
f 2/3 8/5 7/10 3/11
f 3/12 7/4 6/3 4/7
f 5/13 1/8 4/11 6/10

View File

@ -1,143 +0,0 @@
# Blender v2.66 (sub 1) OBJ File: ''
# www.blender.org
mtllib tetris_arcade.mtl
o Cube.001
v -0.450000 1.299500 -0.450000
v -0.450000 1.299500 -0.500000
v 0.450000 1.299500 -0.500000
v 0.450000 1.299500 -0.450000
v -0.450000 1.499500 -0.450000
v -0.450000 1.499500 -0.500000
v 0.450000 1.499500 -0.500000
v 0.450000 1.499500 -0.450000
v 0.450000 -0.495000 -0.500000
v 0.450000 0.305000 -0.500001
v -0.450000 -0.495000 -0.499999
v -0.450000 0.305000 -0.500000
v 0.450000 -0.498500 0.500000
v 0.450000 -0.498500 -0.500000
v 0.500000 -0.498500 -0.500000
v 0.500000 -0.498500 0.500000
v 0.450000 1.498500 0.500000
v 0.450000 1.498500 -0.500000
v 0.500000 1.498500 -0.500000
v 0.500000 1.498500 0.500000
v 0.499998 -0.499998 -0.499998
v 0.499998 -0.499998 0.499998
v -0.499998 -0.499998 0.499998
v -0.499998 -0.499998 -0.499998
v 0.499998 1.499994 -0.499998
v -0.499998 1.499994 -0.499998
v -0.499998 1.499994 0.499998
v 0.499998 1.499994 0.499998
v -0.500000 -0.498500 0.500000
v -0.500000 -0.498500 -0.500000
v -0.450000 -0.498500 -0.500000
v -0.450000 -0.498500 0.500000
v -0.500000 1.498500 0.500000
v -0.500000 1.498500 -0.500000
v -0.450000 1.498500 -0.500000
v -0.450000 1.498500 0.500000
v 0.450000 0.304976 -0.499762
v 0.450000 0.474024 -0.137239
v -0.450000 0.304976 -0.499761
v -0.450000 0.474024 -0.137238
v 0.450000 0.472946 -0.138083
v 0.450000 0.613900 -0.086780
v -0.450000 0.472946 -0.138082
v -0.450000 0.613900 -0.086779
v 0.450000 0.610884 -0.085130
v 0.450000 1.398731 0.053788
v -0.450000 0.610884 -0.085130
v -0.450000 1.398731 0.053789
v 0.450000 1.395000 0.055138
v 0.450000 1.495000 0.055138
v -0.450000 1.395000 0.055138
v -0.450000 1.495000 0.055138
vt 0.250108 0.745030
vt 0.250224 0.516409
vt 0.494888 0.516008
vt 0.495027 0.744660
vt 0.500090 0.744658
vt 0.250080 0.744698
vt 0.250023 0.693307
vt 0.500163 0.693337
vt 0.244872 0.999900
vt 0.000100 0.999900
vt 0.000100 0.925965
vt 0.244701 0.925965
vt -0.000234 0.985285
vt 0.246386 0.985398
vt 0.246568 0.999900
vt 0.254685 0.396330
vt 0.255312 0.252326
vt 0.489851 0.252497
vt 0.489923 0.396494
vt 0.746604 0.251526
vt 1.000599 0.251553
vt 1.000481 0.749319
vt 0.748216 0.749150
vt 0.971448 0.251053
vt 0.999396 0.251108
vt 1.000262 0.749144
vt 0.972149 0.748806
vt 0.250110 0.749633
vt 0.000464 0.749633
vt 0.001279 0.251648
vt 0.250023 0.251690
vt 0.742499 0.744632
vt 0.500700 0.744632
vt 0.500700 0.255368
vt 0.742499 0.255368
vt 0.951737 0.252687
vt 0.999900 0.252686
vt 0.999900 0.748679
vt 0.951737 0.748679
vt 1.000029 0.749233
vt 0.744529 0.749104
vt 0.745177 0.251367
vt 1.001019 0.251067
vt 0.255742 0.485017
vt 0.255492 0.401623
vt 0.494936 0.401277
vt 0.495186 0.485021
vt 0.260753 0.515705
vt 0.260629 0.484664
vt 0.494387 0.484878
vt 0.494282 0.515673
vt -0.000037 0.745106
vt 0.000017 0.703328
vt 0.245542 0.703882
vt 0.245632 0.745399
vt 0.250050 0.250050
vt 0.000100 0.250050
vt 0.000100 0.000100
vt 0.250050 0.000100
vt 0.250050 0.749950
vt 0.250050 0.999900
vt 0.000100 0.749950
vt 0.999900 0.250049
vt 0.999900 0.749949
vt 0.749950 0.749950
vt 0.749950 0.250050
usemtl Material.001
s off
f 46/1 45/2 47/3 48/4
usemtl Material.001_tetris_arcade.png
f 6/5 7/6 3/7 2/8
f 8/9 5/10 1/11 4/12
f 1/10 2/13 3/14 4/15
f 10/16 9/17 11/18 12/19
f 17/20 18/21 14/22 13/23
f 18/24 19/25 15/26 14/27
f 19/28 20/29 16/30 15/31
f 33/32 34/33 30/34 29/35
f 34/36 35/37 31/38 30/39
f 35/40 36/41 32/42 31/43
f 38/44 37/45 39/46 40/47
f 42/48 41/49 43/50 44/51
f 50/52 49/53 51/54 52/55
usemtl Material.001_NONE
f 21/56 22/57 23/58 24/59
f 25/60 26/61 27/10 28/62
f 22/63 28/64 27/65 23/66

View File

@ -1,141 +0,0 @@
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
minetest.register_craft({
output = "computer:shefriendSOO",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "group:wood", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:slaystation",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "group:wood", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:vanio",
recipe = {
{ "basic_materials:plastic_sheet", "", "" },
{ "default:glass", "", "" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:specter",
recipe = {
{ "", "", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:slaystation2",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:admiral64",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "group:wood", "group:wood", "group:wood" }
}
})
minetest.register_craft({
output = "computer:admiral128",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }
}
})
minetest.register_craft({
output = "computer:wee",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:copper_ingot", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:piepad",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet" }
}
})
--new stuff
minetest.register_craft({
output = "computer:monitor",
recipe = {
{ "basic_materials:plastic_sheet", "default:glass","" },
{ "basic_materials:plastic_sheet", "default:glass","" },
{ "basic_materials:plastic_sheet", "default:mese_crystal_fragment", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:router",
recipe = {
{ "default:steel_ingot","","" },
{ "default:steel_ingot" ,"basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
{ "default:mese_crystal_fragment","basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:tower",
recipe = {
{ "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:printer",
recipe = {
{ "basic_materials:plastic_sheet", "default:steel_ingot","" },
{ "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "default:coal_lump", "basic_materials:plastic_sheet" }
}
})
minetest.register_craft({
output = "computer:printer",
recipe = {
{ "basic_materials:plastic_sheet", "default:steel_ingot","" },
{ "basic_materials:plastic_sheet", "default:mese_crystal", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet", }
}
})
minetest.register_craft({
output = "computer:server",
recipe = {
{ "computer:tower", "computer:tower", "computer:tower", },
{ "computer:tower", "computer:tower", "computer:tower" },
{ "computer:tower", "computer:tower", "computer:tower" }
}
})
minetest.register_craft({
output = "computer:tetris_arcade",
recipe = {
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal", "basic_materials:plastic_sheet", },
{ "dye:black", "default:glass", "dye:black" },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal", "basic_materials:plastic_sheet" }
}
})

View File

@ -1,291 +0,0 @@
local S = homedecor.gettext
local shapes = {
{ { x = {0, 1, 0, 1}, y = {0, 0, 1, 1} } },
{ { x = {1, 1, 1, 1}, y = {0, 1, 2, 3} },
{ x = {0, 1, 2, 3}, y = {1, 1, 1, 1} } },
{ { x = {0, 0, 1, 1}, y = {0, 1, 1, 2} },
{ x = {1, 2, 0, 1}, y = {0, 0, 1, 1} } },
{ { x = {1, 0, 1, 0}, y = {0, 1, 1, 2} },
{ x = {0, 1, 1, 2}, y = {0, 0, 1, 1} } },
{ { x = {1, 2, 1, 1}, y = {0, 0, 1, 2} },
{ x = {0, 1, 2, 2}, y = {1, 1, 1, 2} },
{ x = {1, 1, 0, 1}, y = {0, 1, 2, 2} },
{ x = {0, 0, 1, 2}, y = {0, 1, 1, 1} } },
{ { x = {1, 1, 1, 2}, y = {0, 1, 2, 2} },
{ x = {0, 1, 2, 0}, y = {1, 1, 1, 2} },
{ x = {0, 1, 1, 1}, y = {0, 0, 1, 2} },
{ x = {0, 1, 2, 2}, y = {1, 1, 1, 0} } },
{ { x = {1, 0, 1, 2}, y = {0, 1, 1, 1} },
{ x = {1, 1, 1, 2}, y = {0, 1, 2, 1} },
{ x = {0, 1, 2, 1}, y = {1, 1, 1, 2} },
{ x = {0, 1, 1, 1}, y = {1, 0, 1, 2} } } }
local colors = { "computer_cyan.png", "computer_magenta.png", "computer_red.png",
"computer_blue.png", "computer_green.png", "computer_orange.png", "computer_yellow.png" }
local background = "image[0,0;3.55,6.66;computer_black.png]"
local buttons = "button[3,4.5;0.6,0.6;left;<]"
.."button[3.6,4.5;0.6,0.6;rotateleft;"..minetest.formspec_escape(S("L")).."]"
.."button[4.2,4.5;0.6,0.6;down;v]"
.."button[4.2,5.3;0.6,0.6;drop;V]"
.."button[4.8,4.5;0.6,0.6;rotateright;"..minetest.formspec_escape(S("R")).."]"
.."button[5.4,4.5;0.6,0.6;right;>]"
.."button[3.5,3;2,2;new;"..minetest.formspec_escape(S("New Game")).."]"
local formsize = "size[5.9,5.7]"
local boardx, boardy = 0, 0
local sizex, sizey, size = 0.29, 0.29, 0.31
local comma = ","
local semi = ";"
local close = "]"
local concat = table.concat
local insert = table.insert
local draw_shape = function(id, x, y, rot, posx, posy)
local d = shapes[id][rot]
local scr = {}
local ins = #scr
for i=1,4 do
local tmp = { "image[",
(d.x[i]+x)*sizex+posx, comma,
(d.y[i]+y)*sizey+posy, semi,
size, comma, size, semi,
colors[id], close }
ins = ins + 1
scr[ins] = concat(tmp)
end
return concat(scr)
end
local function step(pos, fields)
local meta = minetest.get_meta(pos)
local t = minetest.deserialize(meta:get_string("tetris"))
local function new_game(p)
local nex = math.random(7)
t = {
board = {},
boardstring = "",
previewstring = draw_shape(nex, 0, 0, 1, 4, 1),
score = 0,
cur = math.random(7),
nex = nex,
x=4, y=0, rot=1
}
local timer = minetest.get_node_timer(p)
timer:set(0.3, 0)
end
local function update_boardstring()
local scr = {}
local ins = #scr
for i, line in pairs(t.board) do
for _, tile in pairs(line) do
local tmp = { "image[",
tile[1]*sizex+boardx, comma,
i*sizey+boardy, semi,
size, comma, size, semi,
colors[tile[2]], close }
ins = ins + 1
scr[ins] = concat(tmp)
end
end
t.boardstring = concat(scr)
end
local function add()
local d = shapes[t.cur][t.rot]
for i=1,4 do
local l = d.y[i] + t.y
if not t.board[l] then t.board[l] = {} end
insert(t.board[l], {d.x[i] + t.x, t.cur})
end
end
local function scroll(l)
for i=l, 1, -1 do
t.board[i] = t.board[i-1] or {}
end
end
local function check_lines()
for i, line in pairs(t.board) do
if #line >= 10 then
scroll(i)
t.score = t.score + 20
end
end
end
local function check_position(x, y, rot)
local d = shapes[t.cur][rot]
for i=1,4 do
local cx, cy = d.x[i]+x, d.y[i]+y
if cx < 0 or cx > 9 or cy < 0 or cy > 19 then
return false
end
for _, tile in pairs(t.board[ cy ] or {}) do
if tile[1] == cx then return false end
end
end
return true
end
local function stuck()
if check_position(t.x, t.y+1, t.rot) then return false end
return true
end
local function tick()
if stuck() then
if t.y <= 0 then
return false end
add()
check_lines()
update_boardstring()
t.cur, t.nex = t.nex, math.random(7)
t.x, t.y, t.rot = 4, 0, 1
t.previewstring = draw_shape(t.nex, 0, 0, 1, 4.1, 0.6)
else
t.y = t.y + 1
end
return true
end
local function move(dx, dy)
local newx, newy = t.x+dx, t.y+dy
if not check_position(newx, newy, t.rot) then return end
t.x, t.y = newx, newy
end
local function rotate(dr)
local no = #(shapes[t.cur])
local newrot = (t.rot+dr) % no
if newrot<1 then newrot = newrot+no end
if not check_position(t.x, t.y, newrot) then return end
t.rot = newrot
end
local function key()
if fields.left then
move(-1, 0)
end
if fields.rotateleft then
rotate(-1)
end
if fields.down then
t.score = t.score + 1
move(0, 1)
end
if fields.drop then
while not stuck() do
t.score = t.score + 2
move(0, 1)
end
end
if fields.rotateright then
rotate(1)
end
if fields.right then
move(1, 0)
end
end
local run = true
if fields then
if fields.new then
new_game(pos)
else
key(fields)
end
else
run = tick()
end
if t then
local scr = { formsize, background,
t.boardstring, t.previewstring,
draw_shape(t.cur, t.x, t.y, t.rot, boardx, boardy),
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
t.score, close, buttons }
meta:set_string("formspec", concat(scr)
..default.gui_bg..default.gui_bg_img..default.gui_slots)
meta:set_string("tetris", minetest.serialize(t))
end
return run
end
minetest.register_node("computer:tetris_arcade", {
description=S("Tetris Arcade"),
drawtype = "mesh",
mesh = "tetris_arcade.obj",
tiles = {"tetris_arcade.png"},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3},
on_rotate = screwdriver.rotate_simple,
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}
},
collision_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}
},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", formsize
.."button[2,2.5;2,2;new;"..minetest.formspec_escape(S("New Game")).."]"
..default.gui_bg..default.gui_bg_img..default.gui_slots)
end,
on_timer = function(pos)
return step(pos, nil)
end,
on_receive_fields = function(pos, formanme, fields, sender)
step(pos, fields)
end,
on_place = function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
if minetest.is_protected(pos, placer:get_player_name()) or
minetest.is_protected({x=pos.x, y=pos.y+1, z=pos.z}, placer:get_player_name()) then
return itemstack
end
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
minetest.chat_send_player(placer:get_player_name(), S("No room for place the Arcade!"))
return itemstack
end
local dir = placer:get_look_dir()
local node = {name="computer:tetris_arcade", param1=0, param2 = minetest.dir_to_facedir(dir)}
minetest.set_node(pos, node)
itemstack:take_item()
return itemstack
end
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

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