Compare commits

...

573 Commits

Author SHA1 Message Date
thunderdog1138 ade014fdab Update 'game.conf' 2020-05-18 15:09:07 +00:00
thunderdog1138 7d7a8c4667 Update 'mods/default/init.lua' 2020-05-18 15:00:20 +00:00
thunderdog1138 d53b3272e8 Upload files to 'mods/default' 2020-05-18 14:59:54 +00:00
thunderdog1138 97316abf39 Update 'mods/ethereal/schematics/jogan_tree.lua' 2020-05-18 14:49:57 +00:00
thunderdog1138 a64e98099a Update 'mods/ethereal/schematics/bush.lua' 2020-05-18 14:49:38 +00:00
thunderdog1138 8213dde380 Update 'mods/ethereal/schematics/vine_tree.lua' 2020-05-18 14:49:09 +00:00
thunderdog1138 461411d718 Update 'mods/ethereal/ores.lua' 2020-05-18 02:44:16 +00:00
thunderdog1138 d87404dafd Update 'mods/ethereal/mapgen.lua' 2020-05-18 02:40:15 +00:00
thunderdog1138 20f330e6dc Update 'mods/ethereal/schematics/palm_tree.lua' 2020-05-18 00:29:02 +00:00
thunderdog1138 19a914b53d Update 'mods/ethereal/fishing.lua' 2020-05-18 00:28:15 +00:00
thunderdog1138 217a14cb52 Update 'mods/ethereal/extra.lua' 2020-05-18 00:26:39 +00:00
thunderdog1138 63a34391d9 Update 'mods/ethereal/schematics/wroshyr_tree.lua' 2020-05-18 00:09:43 +00:00
thunderdog1138 ca72aabc51 Update 'mods/ethereal/schematics/volcanom.lua' 2020-05-18 00:08:36 +00:00
thunderdog1138 0fb59784c1 Update 'mods/ethereal/schematics/volcanol.lua' 2020-05-18 00:07:52 +00:00
thunderdog1138 675d469a8e Update 'mods/ethereal/schematics/vine_tree.lua' 2020-05-18 00:04:25 +00:00
thunderdog1138 f8143f7a9b Update 'mods/ethereal/schematics/uneti_tree.lua' 2020-05-18 00:01:57 +00:00
thunderdog1138 09aa54273e Update 'mods/ethereal/schematics/pine_tree.lua' 2020-05-18 00:01:23 +00:00
thunderdog1138 c16f831ae4 Update 'mods/ethereal/schematics/palm_tree.lua' 2020-05-18 00:00:48 +00:00
thunderdog1138 1204a5e70e Update 'mods/ethereal/schematics/mushroomone.lua' 2020-05-18 00:00:15 +00:00
thunderdog1138 6da715d33e Update 'mods/ethereal/schematics/jogan_tree.lua' 2020-05-17 23:59:35 +00:00
thunderdog1138 9eb8291ab5 Delete 'mods/ethereal/schematics/corals.mts' 2020-05-17 23:58:59 +00:00
thunderdog1138 d46ab94abe Update 'mods/ethereal/schematics/bush.lua' 2020-05-17 23:58:40 +00:00
thunderdog1138 a66518fa0a Update 'mods/ethereal/schematics/brylark_tree.lua' 2020-05-17 23:58:06 +00:00
thunderdog1138 1d019d6f7a Update 'mods/ethereal/schematics/bamboo_tree.lua' 2020-05-17 23:57:39 +00:00
thunderdog1138 28a25133f3 Update 'mods/mobs_animal/init.lua' 2020-05-17 23:47:01 +00:00
thunderdog1138 b9f532d6a8 Update 'mods/mobs_scifi/init.lua' 2020-05-17 23:44:37 +00:00
thunderdog1138 ce41be62b2 Update 'mods/ethereal/schematics/bamboo_tree.lua' 2020-05-17 23:39:26 +00:00
thunderdog1138 261e6a0aa4 Update 'mods/ethereal/leaves.lua' 2020-05-17 23:38:31 +00:00
thunderdog1138 473ce7221e Update 'mods/fire/init.lua' 2020-05-17 23:35:47 +00:00
thunderdog1138 51290665b9 Update 'mods/flowers/init.lua' 2020-05-17 23:34:37 +00:00
thunderdog1138 c5ca89d219 Update 'mods/flowers/init.lua' 2020-05-17 23:33:25 +00:00
thunderdog1138 976045daef Update 'mods/flowers/init.lua' 2020-05-17 23:32:44 +00:00
thunderdog1138 d43bd4f8ca Update 'mods/farming/grass.lua' 2020-05-17 23:31:41 +00:00
thunderdog1138 a05695b9eb Update 'mods/farming/grass.lua' 2020-05-17 23:31:30 +00:00
thunderdog1138 982e1c1d9e Update 'mods/farming/init.lua' 2020-05-17 23:30:36 +00:00
thunderdog1138 51ec8e6bdf Upload files to 'mods/farming' 2020-05-17 23:29:14 +00:00
thunderdog1138 dfd8c8065f Update 'mods/farming/utensils.lua' 2020-05-17 23:18:05 +00:00
thunderdog1138 6c88635a87 Update 'mods/farming/soil.lua' 2020-05-17 23:14:42 +00:00
thunderdog1138 5ad864dce7 Update 'mods/farming/hoes.lua' 2020-05-17 23:10:07 +00:00
thunderdog1138 f50334b4e4 Delete 'mods/farming/init.lua' 2020-05-17 22:44:33 +00:00
thunderdog1138 ccac5999e4 Delete 'mods/farming/compatibility.lua' 2020-05-17 22:44:13 +00:00
thunderdog1138 b0053daa97 Update 'mods/farming/compatibility.lua' 2020-05-17 22:44:03 +00:00
thunderdog1138 e0b034262e Update 'mods/flowers/init.lua' 2020-05-17 22:43:06 +00:00
thunderdog1138 3c812572a2 Update 'mods/default/food.lua' 2020-05-17 22:03:34 +00:00
thunderdog1138 d810f47a31 Update 'mods/farming/food.lua' 2020-05-17 20:58:50 +00:00
thunderdog1138 ca4b489300 Add 'mods/default/food.lua' 2020-05-17 20:52:00 +00:00
thunderdog1138 afb3693690 Update 'mods/default/nodes.lua' 2020-05-17 20:49:54 +00:00
thunderdog1138 235a48487d Update 'mods/doors/init.lua' 2020-05-17 20:48:20 +00:00
thunderdog1138 7fd50d0498 Update 'mods/default/init.lua' 2020-05-17 20:46:34 +00:00
thunderdog1138 a6adeb645f Update 'mods/dye/init.lua' 2020-05-17 20:42:53 +00:00
thunderdog1138 c24eb9aac7 Update 'mods/dungeon_loot/loot.lua' 2020-05-17 20:40:41 +00:00
thunderdog1138 034a92332f Update 'mods/default/crafting.lua' 2020-05-17 20:34:02 +00:00
thunderdog1138 c694b1d6c2 Update 'mods/doors/init.lua' 2020-05-17 20:31:21 +00:00
thunderdog1138 a832b8bad9 Update 'mods/carts/rails.lua' 2020-05-17 20:18:15 +00:00
thunderdog1138 e1e4176e29 Update 'mods/carts/cart_entity.lua' 2020-05-17 20:15:55 +00:00
thunderdog1138 b78bae063c Update 'mods/boats/init.lua' 2020-05-17 20:05:40 +00:00
thunderdog1138 53049754d2 Update 'mods/binoculars/init.lua' 2020-05-17 20:03:59 +00:00
thunderdog1138 a8e670f1b6 Update 'mods/beds/beds.lua' 2020-05-17 20:02:44 +00:00
thunderdog1138 06a31c7ea3 Update 'mods/default/nodes.lua' 2020-05-17 19:54:49 +00:00
thunderdog1138 afbe8a2d2c Update 'mods/default/nodes.lua' 2020-05-17 19:53:16 +00:00
thunderdog1138 715ce63f9d Update 'mods/default/enodes.lua' 2020-05-17 19:52:19 +00:00
thunderdog1138 8c59503b2d Update 'mods/default/nodes.lua' 2020-05-17 19:50:19 +00:00
thunderdog1138 c715596bfb Delete 'mods/default/schematics/jungle_tree.mts' 2020-05-17 19:47:47 +00:00
thunderdog1138 5f03fc7a53 Delete 'mods/default/schematics/jungle_log.mts' 2020-05-17 19:47:39 +00:00
thunderdog1138 4cd4337193 Delete 'mods/default/schematics/jogan_tree_from_sapling.mts' 2020-05-17 19:47:21 +00:00
thunderdog1138 6917a29bc9 Delete 'mods/default/schematics/jogan_tree.mts' 2020-05-17 19:47:11 +00:00
thunderdog1138 73fc029e36 Delete 'mods/default/schematics/jogan_log.mts' 2020-05-17 19:47:01 +00:00
thunderdog1138 784f0f8ff0 Delete 'mods/default/schematics/emergent_jungle_tree_from_sapling.mts' 2020-05-17 19:46:53 +00:00
thunderdog1138 47126dcb93 Delete 'mods/default/schematics/emergent_jungle_tree.mts' 2020-05-17 19:46:44 +00:00
thunderdog1138 0c36c5e081 Delete 'mods/default/schematics/bush.mts' 2020-05-17 19:44:41 +00:00
thunderdog1138 bfdfcb897d Delete 'mods/default/schematics/blueberry_bush.mts' 2020-05-17 19:44:07 +00:00
thunderdog1138 6b54502859 Delete 'mods/default/schematics/aspen_tree_from_sapling.mts' 2020-05-17 19:43:58 +00:00
thunderdog1138 ddf3b7b4ec Delete 'mods/default/schematics/aspen_tree.mts' 2020-05-17 19:43:50 +00:00
thunderdog1138 17589b54f5 Delete 'mods/default/schematics/aspen_log.mts' 2020-05-17 19:43:42 +00:00
thunderdog1138 eab6b8f305 Delete 'mods/default/schematics/acacia_tree_from_sapling.mts' 2020-05-17 19:43:31 +00:00
thunderdog1138 24a5b6ee58 Delete 'mods/default/schematics/acacia_tree.mts' 2020-05-17 19:31:32 +00:00
thunderdog1138 f1a7a01bac Delete 'mods/default/schematics/acacia_log.mts' 2020-05-17 19:31:23 +00:00
thunderdog1138 02ce2198bc Delete 'mods/default/schematics/acacia_bush.mts' 2020-05-17 19:31:15 +00:00
thunderdog1138 693d1fe681 Update 'mods/default/init.lua' 2020-05-17 19:25:21 +00:00
thunderdog1138 eb4b54ae55 Delete 'mods/default/trees.lua' 2020-05-17 19:24:52 +00:00
thunderdog1138 49481eb992 Update 'mods/default/torch.lua' 2020-05-17 19:24:17 +00:00
thunderdog1138 92df038d4a Update 'mods/default/torch.lua' 2020-05-17 19:23:15 +00:00
thunderdog1138 b744accad9 Update 'mods/default/init.lua' 2020-05-17 19:21:57 +00:00
thunderdog1138 d90595e606 Delete 'mods/default/mapgen.lua' 2020-05-17 19:21:36 +00:00
thunderdog1138 fda5f111d6 Update 'mods/default/item_entity.lua' 2020-05-17 19:20:38 +00:00
thunderdog1138 d91c23b305 Update 'mods/default/furnace.lua' 2020-05-17 19:20:07 +00:00
thunderdog1138 ed9835b439 Update 'mods/default/chests.lua' 2020-05-17 19:17:39 +00:00
thunderdog1138 956ee618da Update 'mods/default/tools.lua' 2020-05-17 19:14:29 +00:00
thunderdog1138 529332537e Update 'mods/default/craftitems.lua' 2020-05-17 19:07:44 +00:00
thunderdog1138 5b46976e86 Update 'mods/ethereal/init.lua' 2020-05-17 18:57:15 +00:00
thunderdog1138 3248804e65 Delete 'mods/ethereal/fences.lua' 2020-05-17 18:56:41 +00:00
thunderdog1138 3bbb5c62df Update 'mods/ethereal/fences.lua' 2020-05-17 18:56:35 +00:00
thunderdog1138 4d391afc49 Update 'mods/ethereal/dirt.lua' 2020-05-17 18:55:35 +00:00
thunderdog1138 5ecfe3edc5 Update 'mods/default/crafting.lua' 2020-05-17 18:54:58 +00:00
thunderdog1138 fca68856cd Update 'mods/default/crafting.lua' 2020-05-17 18:53:29 +00:00
thunderdog1138 6fa193a63f Update 'mods/default/nodes.lua' 2020-05-17 18:22:21 +00:00
thunderdog1138 2d30e5208d Update 'mods/ethereal/leaves.lua' 2020-05-17 18:10:13 +00:00
thunderdog1138 2ea3dc8286 Update 'mods/ethereal/leaves.lua' 2020-05-17 18:09:40 +00:00
thunderdog1138 f7581c93d6 Update 'mods/default/nodes.lua' 2020-05-17 17:53:03 +00:00
thunderdog1138 a65c99de26 Update 'mods/default/nodes.lua' 2020-05-17 16:18:09 +00:00
thunderdog1138 7f05716d94 Upload files to 'menu' 2020-05-16 20:54:40 +00:00
thunderdog1138 6d397ba109 Upload files to 'menu' 2020-05-16 20:20:29 +00:00
thunderdog1138 896b03d457 Update 'mods/default/nodes.lua' 2020-05-09 21:47:01 +00:00
thunderdog1138 ffc492bced Update 'mods/mobs_animal/tooka.lua' 2020-05-09 19:36:48 +00:00
thunderdog1138 71f5ab8969 Upload files to 'mods/farming/textures' 2020-05-08 03:11:00 +00:00
thunderdog1138 501a7a82dd Upload files to 'mods/farming/textures' 2020-05-08 03:10:45 +00:00
thunderdog1138 040c403368 Upload files to 'mods/farming/textures' 2020-05-08 03:10:29 +00:00
thunderdog1138 13af2a8448 Upload files to 'mods/farming/textures' 2020-05-08 03:10:09 +00:00
thunderdog1138 764229d1a6 Upload files to 'mods/farming/textures' 2020-05-08 03:09:44 +00:00
thunderdog1138 02b54ad6e7 Upload files to 'mods/farming/textures' 2020-05-08 03:09:20 +00:00
thunderdog1138 abeffd8610 Upload files to 'mods/farming/textures' 2020-05-08 03:09:05 +00:00
thunderdog1138 dc78c2465d Upload files to 'mods/farming/textures' 2020-05-08 03:08:43 +00:00
thunderdog1138 16da10e8e7 Upload files to 'mods/farming/textures' 2020-05-08 03:08:24 +00:00
thunderdog1138 9d43d2996b Upload files to 'mods/farming/textures' 2020-05-08 03:08:03 +00:00
thunderdog1138 fae0ce841b Upload files to 'mods/farming/textures' 2020-05-08 03:07:41 +00:00
thunderdog1138 d0f768123d Upload files to 'mods/farming/textures' 2020-05-08 03:07:21 +00:00
thunderdog1138 a363a394e0 Upload files to 'mods/farming/textures' 2020-05-08 03:07:05 +00:00
thunderdog1138 c7965c9e88 Upload files to 'mods/farming/textures' 2020-05-08 03:06:40 +00:00
thunderdog1138 e1581931d6 Upload files to 'mods/farming/textures' 2020-05-08 03:06:17 +00:00
thunderdog1138 0edbb8522b Upload files to 'mods/farming/textures' 2020-05-08 03:05:58 +00:00
thunderdog1138 1d6af3711a Upload files to 'mods/farming/textures' 2020-05-08 03:05:32 +00:00
thunderdog1138 1fefd14aea Upload files to 'mods/farming/textures' 2020-05-08 03:05:07 +00:00
thunderdog1138 2f0856b805 Upload files to 'mods/farming/textures' 2020-05-08 03:04:45 +00:00
thunderdog1138 cafe29deaa Upload files to 'mods/farming/textures' 2020-05-08 03:04:22 +00:00
thunderdog1138 8edb238753 Upload files to 'mods/farming/textures' 2020-05-08 03:03:59 +00:00
thunderdog1138 7bf90e88a2 Upload files to 'mods/farming/textures' 2020-05-08 03:03:24 +00:00
thunderdog1138 c2c3eae22d Upload files to 'mods/farming/textures' 2020-05-08 03:03:02 +00:00
thunderdog1138 125fe8bcf1 Upload files to 'mods/farming/textures' 2020-05-08 03:01:31 +00:00
thunderdog1138 fa392d4766 Upload files to 'mods/farming/textures' 2020-05-08 03:01:13 +00:00
thunderdog1138 6601e401b2 Upload files to 'mods/farming/textures' 2020-05-08 03:00:53 +00:00
thunderdog1138 00a9bbfc22 Upload files to 'mods/farming/textures' 2020-05-08 03:00:31 +00:00
thunderdog1138 02ed7c357f Upload files to 'mods/farming/textures' 2020-05-08 03:00:07 +00:00
thunderdog1138 ff51cdd18d Upload files to 'mods/farming/textures' 2020-05-08 02:57:37 +00:00
thunderdog1138 8652bcc8ba Upload files to 'mods/farming/textures' 2020-05-08 02:57:15 +00:00
thunderdog1138 b199de0213 Upload files to 'mods/farming/textures' 2020-05-08 02:56:58 +00:00
thunderdog1138 34e9cb9d97 Upload files to 'mods/farming/textures' 2020-05-08 02:56:41 +00:00
thunderdog1138 94523e04f7 Upload files to 'mods/farming/textures' 2020-05-08 02:56:22 +00:00
thunderdog1138 adc944b9bd Upload files to 'mods/farming/textures' 2020-05-08 02:56:02 +00:00
thunderdog1138 0f0e4cd1b7 Upload files to 'mods/farming/textures' 2020-05-08 02:55:45 +00:00
thunderdog1138 786bd94a5e Upload files to 'mods/farming/textures' 2020-05-08 02:55:25 +00:00
thunderdog1138 85756d4685 Upload files to 'mods/farming/textures' 2020-05-08 02:54:57 +00:00
thunderdog1138 3f83105e98 Upload files to 'mods/farming/textures' 2020-05-08 02:54:41 +00:00
thunderdog1138 2cadd936bc Upload files to 'mods/farming/textures' 2020-05-08 02:53:50 +00:00
thunderdog1138 57846bc7f3 Upload files to 'mods/farming/textures' 2020-05-08 02:53:25 +00:00
thunderdog1138 c864574ec3 Upload files to 'mods/farming/textures' 2020-05-08 02:53:07 +00:00
thunderdog1138 e9b35f1f69 Upload files to 'mods/farming/textures' 2020-05-08 02:51:58 +00:00
thunderdog1138 f335be652d Upload files to 'mods/farming/textures' 2020-05-08 02:51:40 +00:00
thunderdog1138 7d0679872e Upload files to 'mods/farming/textures' 2020-05-08 02:51:16 +00:00
thunderdog1138 1a33b4984c Upload files to 'mods/farming/textures' 2020-05-08 02:50:58 +00:00
thunderdog1138 2c0b6bdae8 Upload files to 'mods/farming/textures' 2020-05-08 02:50:43 +00:00
thunderdog1138 2944939504 Upload files to 'mods/farming/textures' 2020-05-08 02:50:25 +00:00
thunderdog1138 bf53db06bb Upload files to 'mods/farming/textures' 2020-05-08 02:50:08 +00:00
thunderdog1138 67edf01a1d Upload files to 'mods/farming/textures' 2020-05-08 02:49:51 +00:00
thunderdog1138 0c4570e658 Upload files to 'mods/farming/textures' 2020-05-08 02:49:15 +00:00
thunderdog1138 ae12a1895b Upload files to 'mods/farming/textures' 2020-05-08 02:48:48 +00:00
thunderdog1138 7ddab29721 Upload files to 'mods/farming/textures' 2020-05-08 02:48:24 +00:00
thunderdog1138 b14b4b4f14 Upload files to 'mods/farming/textures' 2020-05-08 02:48:07 +00:00
thunderdog1138 167d90b23c Upload files to 'mods/farming/textures' 2020-05-08 02:47:50 +00:00
thunderdog1138 0713fff618 Upload files to 'mods/farming/textures' 2020-05-08 02:47:31 +00:00
thunderdog1138 347506be77 Upload files to 'mods/farming/textures' 2020-05-08 02:47:11 +00:00
thunderdog1138 a9fbc943c2 Upload files to 'mods/farming/textures' 2020-05-08 02:46:50 +00:00
thunderdog1138 4e4c5d925f Upload files to 'mods/farming/textures' 2020-05-08 02:46:28 +00:00
thunderdog1138 8f4b90d82b Upload files to 'mods/farming/textures' 2020-05-08 02:46:10 +00:00
thunderdog1138 e72d1b7b82 Upload files to 'mods/farming/textures' 2020-05-08 02:45:54 +00:00
thunderdog1138 aa614492b5 Upload files to 'mods/farming/textures' 2020-05-08 02:45:38 +00:00
thunderdog1138 625343a1f7 Upload files to 'mods/farming/crops' 2020-05-08 02:44:22 +00:00
thunderdog1138 1dacb6850c Upload files to 'mods/farming/crops' 2020-05-08 02:44:10 +00:00
thunderdog1138 9c3916b1af Upload files to 'mods/farming/crops' 2020-05-08 02:43:49 +00:00
thunderdog1138 118f3a3e23 Upload files to 'mods/farming/crops' 2020-05-08 02:43:33 +00:00
thunderdog1138 023be669e8 Upload files to 'mods/farming/crops' 2020-05-08 02:43:19 +00:00
thunderdog1138 307087a74e Upload files to 'mods/farming/crops' 2020-05-08 02:43:07 +00:00
thunderdog1138 03757025f6 Upload files to 'mods/farming' 2020-05-08 02:42:40 +00:00
thunderdog1138 e3afc3e616 Upload files to 'mods/farming' 2020-05-08 02:42:28 +00:00
thunderdog1138 28c09f57da Upload files to 'mods/farming' 2020-05-08 02:42:15 +00:00
thunderdog1138 d11b536c1d Upload files to 'mods/farming' 2020-05-08 02:41:59 +00:00
thunderdog1138 aeaca23efa Upload files to 'mods/farming' 2020-05-08 02:41:44 +00:00
thunderdog1138 46f59c968f Delete 'mods/farming/textures/farming_wheat_seed.png' 2020-05-08 02:40:11 +00:00
thunderdog1138 a245d7ee9d Delete 'mods/farming/textures/farming_wheat_8.png' 2020-05-08 02:39:57 +00:00
thunderdog1138 e8c49b546f Delete 'mods/farming/textures/farming_wheat_7.png' 2020-05-08 02:39:49 +00:00
thunderdog1138 87fe8df225 Delete 'mods/farming/textures/farming_wheat_6.png' 2020-05-08 02:39:39 +00:00
thunderdog1138 09a74121b0 Delete 'mods/farming/textures/farming_wheat_5.png' 2020-05-08 02:39:31 +00:00
thunderdog1138 909b1bd10e Delete 'mods/farming/textures/farming_wheat_4.png' 2020-05-08 02:39:23 +00:00
thunderdog1138 97e132cd84 Delete 'mods/farming/textures/farming_wheat_3.png' 2020-05-08 02:39:15 +00:00
thunderdog1138 fd145f1a0d Delete 'mods/farming/textures/farming_wheat_2.png' 2020-05-08 02:39:08 +00:00
thunderdog1138 9dce7b7dbd Delete 'mods/farming/textures/farming_wheat_1.png' 2020-05-08 02:38:57 +00:00
thunderdog1138 37d13688b7 Delete 'mods/farming/textures/farming_wheat.png' 2020-05-08 02:38:49 +00:00
thunderdog1138 03a3129418 Delete 'mods/farming/textures/farming_tool_woodhoe.png' 2020-05-08 02:38:42 +00:00
thunderdog1138 93958967a9 Delete 'mods/farming/textures/farming_tool_stonehoe.png' 2020-05-08 02:38:33 +00:00
thunderdog1138 36e1e22ff1 Delete 'mods/farming/textures/farming_tool_mesehoe.png' 2020-05-08 02:38:24 +00:00
thunderdog1138 d7141cab9b Delete 'mods/farming/textures/farming_tool_durasteelhoe.png' 2020-05-08 02:38:17 +00:00
thunderdog1138 045a0ac87a Delete 'mods/farming/textures/farming_tool_diamondhoe.png' 2020-05-08 02:38:08 +00:00
thunderdog1138 391f5f3a07 Delete 'mods/farming/textures/farming_tool_bronzehoe.png' 2020-05-08 02:37:58 +00:00
thunderdog1138 97bdf6c777 Delete 'mods/farming/textures/farming_string.png' 2020-05-08 02:37:48 +00:00
thunderdog1138 e3b7755223 Delete 'mods/farming/textures/farming_straw.png' 2020-05-08 02:37:38 +00:00
thunderdog1138 0d4eabb6e1 Delete 'mods/farming/textures/farming_soil_wet_side.png' 2020-05-08 02:37:29 +00:00
thunderdog1138 7fcafc019d Delete 'mods/farming/textures/farming_soil_wet.png' 2020-05-08 02:37:21 +00:00
thunderdog1138 fd80266efe Delete 'mods/farming/textures/farming_soil.png' 2020-05-08 02:37:12 +00:00
thunderdog1138 e6507cb522 Delete 'mods/farming/textures/farming_flour.png' 2020-05-08 02:37:05 +00:00
thunderdog1138 4561f6829a Delete 'mods/farming/textures/farming_desert_sand_soil_wet_side.png' 2020-05-08 02:36:54 +00:00
thunderdog1138 8fcf7761c5 Delete 'mods/farming/textures/farming_desert_sand_soil_wet.png' 2020-05-08 02:36:44 +00:00
thunderdog1138 2467028bdb Delete 'mods/farming/textures/farming_desert_sand_soil.png' 2020-05-08 02:36:35 +00:00
thunderdog1138 44836e9178 Delete 'mods/farming/textures/farming_cotton_seed.png' 2020-05-08 02:36:25 +00:00
thunderdog1138 edc0b3ab63 Delete 'mods/farming/textures/farming_cotton_8.png' 2020-05-08 02:36:17 +00:00
thunderdog1138 97182a09cd Delete 'mods/farming/textures/farming_cotton_7.png' 2020-05-08 02:36:10 +00:00
thunderdog1138 36777fc2ee Delete 'mods/farming/textures/farming_cotton_6.png' 2020-05-08 02:36:03 +00:00
thunderdog1138 52f0da9d9f Delete 'mods/farming/textures/farming_cotton_5.png' 2020-05-08 02:35:54 +00:00
thunderdog1138 3f7cacf449 Delete 'mods/farming/textures/farming_cotton_4.png' 2020-05-08 02:35:44 +00:00
thunderdog1138 705b91a402 Delete 'mods/farming/textures/farming_cotton_3.png' 2020-05-08 02:35:32 +00:00
thunderdog1138 ecf51d7441 Delete 'mods/farming/textures/farming_cotton_2.png' 2020-05-08 02:35:21 +00:00
thunderdog1138 4c9e2f0371 Delete 'mods/farming/textures/farming_cotton_1.png' 2020-05-08 02:35:11 +00:00
thunderdog1138 88c9ecf4ec Delete 'mods/farming/textures/farming_cotton.png' 2020-05-08 02:34:51 +00:00
thunderdog1138 69235adad9 Delete 'mods/farming/textures/farming_bread.png' 2020-05-08 02:32:08 +00:00
thunderdog1138 3144248b51 Delete 'mods/farming/nodes.lua' 2020-05-08 02:31:55 +00:00
thunderdog1138 0583c47c88 Delete 'mods/farming/mod.conf' 2020-05-08 02:31:46 +00:00
thunderdog1138 73684285ab Delete 'mods/farming/license.txt' 2020-05-08 02:31:36 +00:00
thunderdog1138 caa7f2c4eb Delete 'mods/farming/init.lua' 2020-05-08 02:30:47 +00:00
thunderdog1138 547842d10e Delete 'mods/farming/hoes.lua' 2020-05-08 02:30:05 +00:00
thunderdog1138 62eaac4169 Delete 'mods/farming/api.lua' 2020-05-08 02:29:53 +00:00
thunderdog1138 0148df1b15 Delete 'mods/farming/README.txt' 2020-05-08 02:29:42 +00:00
thunderdog1138 97cbe3e82e Update 'mods/ethereal/init.lua' 2020-05-07 23:13:33 +00:00
thunderdog1138 59f34704a0 Update 'mods/ethereal/blumfruit.lua' 2020-05-07 23:10:06 +00:00
thunderdog1138 5f684dba04 Update 'mods/ethereal/plantlife.lua' 2020-05-07 23:04:38 +00:00
thunderdog1138 f86170bee2 Update 'mods/farming/init.lua' 2020-05-07 23:00:26 +00:00
thunderdog1138 77459f18eb Update 'mods/farming/nodes.lua' 2020-05-07 22:58:50 +00:00
thunderdog1138 5d3d0e56af Update 'mods/mobs_animal/puffer_pig.lua' 2020-05-07 22:50:32 +00:00
thunderdog1138 6ca18cf2e7 Update 'mods/mobs_animal/sheep.lua' 2020-05-07 22:46:31 +00:00
thunderdog1138 4873e3cc6d Update 'mods/mobs_animal/tatoo_rat.lua' 2020-05-07 22:41:50 +00:00
thunderdog1138 ffa8f9f70b Delete 'mods/mobs_animal/penguin.lua' 2020-05-07 22:39:47 +00:00
thunderdog1138 0760ad82dd Update 'mods/mobs_animal/init.lua' 2020-05-07 22:38:51 +00:00
thunderdog1138 a60d3547ca Delete 'mods/mobs_animal/panda.lua' 2020-05-07 22:37:59 +00:00
thunderdog1138 3c78a1ac25 Update 'mods/mobs_animal/tooka.lua' 2020-05-07 22:37:24 +00:00
thunderdog1138 7aff0a1ad4 Update 'mods/mobs_animal/init.lua' 2020-05-07 21:28:32 +00:00
thunderdog1138 814be30bfe Update 'mods/mobs_animal/bantha.lua' 2020-05-07 21:28:09 +00:00
thunderdog1138 7edcbfb8be Update 'mods/mobs_animal/chicken.lua' 2020-05-07 20:59:32 +00:00
thunderdog1138 a70867726a Update 'mods/mobs_animal/bunny.lua' 2020-05-07 20:49:33 +00:00
thunderdog1138 d91883fc39 Update 'mods/mobs_animal/bee.lua' 2020-05-07 20:34:55 +00:00
thunderdog1138 ebc6d502ca Upload files to 'mods/mobs_scifi/textures' 2020-05-07 20:27:10 +00:00
thunderdog1138 3d776ef679 Delete 'mods/mobs_monster/textures/mobs_blaster_red.png' 2020-05-07 20:26:42 +00:00
thunderdog1138 391d52e1c3 Delete 'mods/mobs_monster/textures/mobs_stormtrooper.png' 2020-05-07 20:26:32 +00:00
thunderdog1138 e4ad87b307 Upload files to 'mods/mobs_scifi/models' 2020-05-07 20:25:36 +00:00
thunderdog1138 a708266527 Update 'mods/mobs_monster/init.lua' 2020-05-07 20:24:05 +00:00
thunderdog1138 96e0ea61e6 Update 'mods/mobs_scifi/init.lua' 2020-05-07 20:23:27 +00:00
thunderdog1138 51ed0b6a8d Delete 'mods/mobs_monster/stormtrooper+variants.lua' 2020-05-07 20:23:22 +00:00
thunderdog1138 8af03b3bb4 Update 'mods/mobs_scifi/init.lua' 2020-05-07 20:18:47 +00:00
thunderdog1138 d114f86afa Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:31:58 +00:00
thunderdog1138 d2f4536edf Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:31:39 +00:00
thunderdog1138 fe899935da Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:31:18 +00:00
thunderdog1138 a855cdbd78 Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:30:37 +00:00
thunderdog1138 133ea7b4d6 Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:30:06 +00:00
thunderdog1138 7a2837c7de Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:29:37 +00:00
thunderdog1138 c16de0f9f5 Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:29:16 +00:00
thunderdog1138 9dab771577 Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:28:56 +00:00
thunderdog1138 fffeea91cb Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:28:35 +00:00
thunderdog1138 a14e7b29a9 Upload files to 'mods/mobs_scifi/textures' 2020-05-07 19:28:17 +00:00
thunderdog1138 56eb8cb7a8 Upload files to 'mods/mobs_scifi/sounds' 2020-05-07 19:27:41 +00:00
thunderdog1138 92c082781c Upload files to 'mods/mobs_scifi/models' 2020-05-07 19:26:50 +00:00
thunderdog1138 c06fafe372 Upload files to 'mods/mobs_scifi/models' 2020-05-07 19:26:33 +00:00
thunderdog1138 9acaf9bba0 Upload files to 'mods/mobs_scifi/models' 2020-05-07 19:26:16 +00:00
thunderdog1138 71877da8eb Upload files to 'mods/mobs_scifi/models' 2020-05-07 19:26:00 +00:00
thunderdog1138 79121cde01 Upload files to 'mods/mobs_scifi' 2020-05-07 19:25:16 +00:00
thunderdog1138 ddd9192479 Upload files to 'mods/mobs_scifi' 2020-05-07 19:24:51 +00:00
thunderdog1138 c81a3d5c41 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:51:46 +00:00
thunderdog1138 3790b7a3c6 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:51:06 +00:00
thunderdog1138 1af8586162 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:50:47 +00:00
thunderdog1138 b61fad7ea3 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:50:19 +00:00
thunderdog1138 5d5a5fdfeb Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:49:57 +00:00
thunderdog1138 87fc07f3c9 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:49:38 +00:00
thunderdog1138 a9694181c5 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:49:16 +00:00
thunderdog1138 f6ac135ded Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:48:58 +00:00
thunderdog1138 4c68289fe1 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:48:42 +00:00
thunderdog1138 ec5e5ea97e Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:48:25 +00:00
thunderdog1138 9b0dcd76a5 Upload files to 'mods/mobs_animal/textures' 2020-05-07 18:48:06 +00:00
thunderdog1138 778a75256c Upload files to 'mods/mobs_animal/sounds' 2020-05-07 18:45:15 +00:00
thunderdog1138 59e408fedb Upload files to 'mods/mobs_animal/sounds' 2020-05-07 18:44:40 +00:00
thunderdog1138 c939431e51 Upload files to 'mods/mobs_animal/sounds' 2020-05-07 18:44:25 +00:00
thunderdog1138 47fe6467bf Upload files to 'mods/mobs_animal/models' 2020-05-07 18:43:07 +00:00
thunderdog1138 9eadb80840 Upload files to 'mods/mobs_animal/models' 2020-05-07 18:42:56 +00:00
thunderdog1138 21533bc868 Upload files to 'mods/mobs_animal/models' 2020-05-07 18:42:41 +00:00
thunderdog1138 55e9e7b497 Upload files to 'mods/mobs_animal' 2020-05-07 18:41:58 +00:00
thunderdog1138 b78a04b83d Upload files to 'mods/mobs_animal' 2020-05-07 18:41:43 +00:00
thunderdog1138 a37a72bb5b Upload files to 'mods/mobs_animal' 2020-05-07 18:41:24 +00:00
thunderdog1138 66cdc63fc9 Upload files to 'mods/mobs_animal' 2020-05-07 18:41:08 +00:00
thunderdog1138 154eb09848 Update 'mods/ethereal/food.lua' 2020-05-07 18:33:42 +00:00
thunderdog1138 fe12b653f8 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-05-07 14:28:16 +00:00
thunderdog1138 0cff9919b4 Update 'mods/flowers/mapgen.lua' 2020-05-07 14:24:43 +00:00
thunderdog1138 ab06c807e6 Update 'mods/default/functions.lua' 2020-05-07 14:18:46 +00:00
thunderdog1138 2bec93e9ee Update 'mods/default/nodes.lua' 2020-05-07 14:13:48 +00:00
thunderdog1138 19f41e38f9 Update 'mods/ethereal/fences.lua' 2020-05-06 21:46:18 +00:00
thunderdog1138 56d60d38f4 Update 'mods/ethereal/extra.lua' 2020-05-06 21:01:21 +00:00
thunderdog1138 0e27336202 Update 'mods/doors/init.lua' 2020-05-06 20:39:35 +00:00
thunderdog1138 c573f0790e Update 'mods/default/nodes.lua' 2020-05-06 20:12:00 +00:00
thunderdog1138 a6cc783337 Update 'mods/default/craftitems.lua' 2020-05-06 18:40:05 +00:00
thunderdog1138 22027c7a96 Delete 'mods/ethereal/textures/default_apple_gold.png' 2020-05-06 18:17:09 +00:00
thunderdog1138 88ab891352 Delete 'mods/ethereal/textures/crystal_sword.png' 2020-05-06 18:16:53 +00:00
thunderdog1138 1c5536c6a3 Delete 'mods/ethereal/textures/crystal_spike.png' 2020-05-06 18:16:38 +00:00
thunderdog1138 d337a23de2 Delete 'mods/ethereal/textures/crystal_shovel.png' 2020-05-06 18:16:23 +00:00
thunderdog1138 a0c5d1a6ca Delete 'mods/ethereal/textures/crystal_pick.png' 2020-05-06 18:16:11 +00:00
thunderdog1138 d9ad657d10 Delete 'mods/ethereal/textures/crystal_ingot.png' 2020-05-06 18:15:59 +00:00
thunderdog1138 5f2f6bec3d Delete 'mods/ethereal/textures/crystal_gilly_staff.png' 2020-05-06 18:15:47 +00:00
thunderdog1138 4c5c458bf6 Delete 'mods/ethereal/textures/crystal_block.png' 2020-05-06 18:15:32 +00:00
thunderdog1138 531288621e Delete 'mods/ethereal/textures/crystal_axe.png' 2020-05-06 18:15:17 +00:00
thunderdog1138 b2d2eef7e1 Delete 'mods/ethereal/textures/banana_wood.png' 2020-05-06 18:14:40 +00:00
thunderdog1138 1d0ccdcf51 Delete 'mods/ethereal/textures/banana_trunk_top.png' 2020-05-06 18:14:29 +00:00
thunderdog1138 105609d115 Delete 'mods/ethereal/textures/banana_trunk.png' 2020-05-06 18:14:17 +00:00
thunderdog1138 bf61eb716b Delete 'mods/ethereal/textures/banana_tree_sapling.png' 2020-05-06 18:14:04 +00:00
thunderdog1138 2956a6f98f Delete 'mods/ethereal/textures/banana_single.png' 2020-05-06 18:13:52 +00:00
thunderdog1138 aa86db1d1e Delete 'mods/ethereal/textures/banana_leaf_old.png' 2020-05-06 18:13:40 +00:00
thunderdog1138 724ef20af2 Delete 'mods/ethereal/textures/banana_leaf.png' 2020-05-06 18:13:30 +00:00
thunderdog1138 7fc2b0858f Delete 'mods/ethereal/textures/banana_dough.png' 2020-05-06 18:13:18 +00:00
thunderdog1138 b1a9be6be9 Delete 'mods/ethereal/textures/banana_bread.png' 2020-05-06 18:13:04 +00:00
thunderdog1138 8803faacb0 Update 'mods/ethereal/schematics/pine_tree.lua' 2020-05-06 17:48:39 +00:00
thunderdog1138 c02e08bb57 Update 'mods/ethereal/schematics/pine_tree.lua' 2020-05-06 17:45:46 +00:00
thunderdog1138 d7a58b6074 Update 'mods/ethereal/schematics/bamboo_tree.lua' 2020-05-06 17:45:11 +00:00
thunderdog1138 4e559b1d04 Update 'mods/ethereal/sapling.lua' 2020-05-06 17:21:52 +00:00
thunderdog1138 d2b1efec48 Upload files to 'mods/ethereal/textures' 2020-05-06 15:28:39 +00:00
thunderdog1138 20eb682919 Delete 'mods/ethereal/textures/ethereal_grass_mushroom_top.png' 2020-05-06 15:26:34 +00:00
thunderdog1138 d2951f4789 Delete 'mods/ethereal/textures/ethereal_grass_mushroom_side.png' 2020-05-06 15:26:19 +00:00
thunderdog1138 f9500a99a7 Delete 'mods/ethereal/textures/ethereal_grass_gray_top.png' 2020-05-06 15:25:34 +00:00
thunderdog1138 fbc5054681 Delete 'mods/ethereal/textures/ethereal_grass_gray_side.png' 2020-05-06 15:25:24 +00:00
thunderdog1138 0e943146ad Delete 'mods/ethereal/textures/ethereal_grass_fiery_top.png' 2020-05-06 15:25:14 +00:00
thunderdog1138 6f70a2c62c Delete 'mods/ethereal/textures/ethereal_grass_fiery_side.png' 2020-05-06 15:25:00 +00:00
thunderdog1138 939f595606 Delete 'mods/ethereal/textures/ethereal_grass_crystal_top.png' 2020-05-06 15:24:41 +00:00
thunderdog1138 1bb971acd8 Delete 'mods/ethereal/textures/ethereal_grass_crystal_side.png' 2020-05-06 15:24:26 +00:00
thunderdog1138 c66e05812d Delete 'mods/ethereal/textures/ethereal_crystalgrass.png' 2020-05-06 15:24:01 +00:00
thunderdog1138 26ae73f0fa Upload files to 'mods/ethereal/textures' 2020-05-06 15:23:12 +00:00
thunderdog1138 e006a0e897 Update 'mods/ethereal/init.lua' 2020-05-06 15:13:01 +00:00
thunderdog1138 09c99e40e3 Delete 'mods/ethereal/crystal.lua' 2020-05-06 15:12:27 +00:00
thunderdog1138 cce3401e41 Update 'mods/ethereal/init.lua' 2020-05-06 15:10:26 +00:00
thunderdog1138 5be40df9cd Update 'mods/ethereal/settings.conf_example' 2020-05-06 15:10:22 +00:00
thunderdog1138 a468d34621 Update 'mods/ethereal/mapgen.lua' 2020-05-05 20:46:09 +00:00
thunderdog1138 7d2d304214 Update 'mods/ethereal/schematics/vine_tree.lua' 2020-05-05 20:26:25 +00:00
thunderdog1138 4f97b971d6 Upload files to 'mods/ethereal/schematics' 2020-05-05 20:25:53 +00:00
thunderdog1138 d01c875368 Update 'mods/ethereal/schematics/jogan_tree.lua' 2020-05-05 20:21:40 +00:00
thunderdog1138 03d14e734b Update 'mods/ethereal/dirt.lua' 2020-05-05 19:42:16 +00:00
thunderdog1138 f8ad8cb0f9 Update 'mods/ethereal/schematics/pine_tree.lua' 2020-05-05 17:29:22 +00:00
thunderdog1138 72895a125b Update 'mods/ethereal/schematics/palm_tree.lua' 2020-05-05 17:27:02 +00:00
thunderdog1138 3199889541 Update 'mods/ethereal/leaves.lua' 2020-05-05 17:20:20 +00:00
thunderdog1138 57797f00b6 Delete 'mods/ethereal/schematics/yellowtree.lua' 2020-05-05 03:17:43 +00:00
thunderdog1138 75d4929b8f Delete 'mods/ethereal/schematics/willow.lua' 2020-05-05 03:17:31 +00:00
thunderdog1138 63cc781697 Delete 'mods/ethereal/schematics/vinetree.lua' 2020-05-05 03:17:10 +00:00
thunderdog1138 4281a321dc Delete 'mods/ethereal/schematics/sakura.lua' 2020-05-05 03:16:57 +00:00
thunderdog1138 83c410f2e1 Update 'mods/ethereal/schematics/wroshyr_tree.lua' 2020-05-05 03:16:30 +00:00
thunderdog1138 aff1e44a6e Delete 'mods/ethereal/schematics/igloo.lua' 2020-05-05 03:15:27 +00:00
thunderdog1138 1738831111 Delete 'mods/ethereal/schematics/birch_tree.lua' 2020-05-05 03:15:14 +00:00
thunderdog1138 65ce2d8543 Update 'mods/ethereal/schematics/uneti_tree.lua' 2020-05-05 03:14:25 +00:00
thunderdog1138 b82ca570fc Update 'mods/ethereal/schematics/brylark_tree.lua' 2020-05-05 03:13:24 +00:00
thunderdog1138 a0585184f0 Update 'mods/ethereal/leaves.lua' 2020-05-05 03:11:28 +00:00
thunderdog1138 a7b09b27ab Update 'mods/ethereal/schematics/uneti_tree.lua' 2020-05-05 03:08:49 +00:00
thunderdog1138 1bc0c2d309 Delete 'mods/ethereal/schematics/banana_tree.lua' 2020-05-05 03:06:16 +00:00
thunderdog1138 6bf1970ce6 Update 'mods/ethereal/leaves.lua' 2020-05-05 03:05:43 +00:00
thunderdog1138 83d2b4247a Update 'mods/ethereal/wood.lua' 2020-05-04 20:24:08 +00:00
thunderdog1138 e0a4b909e9 Update 'mods/ethereal/schematics/jogan_tree.lua' 2020-05-04 20:06:52 +00:00
thunderdog1138 98ade54bf7 Update 'mods/ethereal/dirt.lua' 2020-05-04 18:02:19 +00:00
thunderdog1138 e6c519a20c Upload files to 'mods/ethereal/textures' 2020-05-03 14:29:08 +00:00
thunderdog1138 c23c579e1a Upload files to 'mods/ethereal/textures' 2020-05-03 14:28:43 +00:00
thunderdog1138 755a5fdcfe Upload files to 'mods/ethereal/textures' 2020-05-03 14:28:23 +00:00
thunderdog1138 62419b1282 Upload files to 'mods/ethereal/textures' 2020-05-03 14:28:03 +00:00
thunderdog1138 f65f02164d Upload files to 'mods/ethereal/textures' 2020-05-03 14:27:45 +00:00
thunderdog1138 f5612f24a5 Upload files to 'mods/ethereal/textures' 2020-05-03 14:27:24 +00:00
thunderdog1138 46d785d9c1 Upload files to 'mods/ethereal/textures' 2020-05-03 14:27:03 +00:00
thunderdog1138 00893839cd Upload files to 'mods/ethereal/textures' 2020-05-03 14:26:48 +00:00
thunderdog1138 0d86b45e0c Upload files to 'mods/ethereal/textures' 2020-05-03 14:26:15 +00:00
thunderdog1138 6ebf4cbcab Upload files to 'mods/ethereal/textures' 2020-05-03 14:25:53 +00:00
thunderdog1138 b14dc661cc Upload files to 'mods/ethereal/textures' 2020-05-03 14:25:23 +00:00
thunderdog1138 25e8b87bcc Upload files to 'mods/ethereal/textures' 2020-05-03 14:23:39 +00:00
thunderdog1138 6e4b3f68bd Upload files to 'mods/ethereal/textures' 2020-05-03 14:22:55 +00:00
thunderdog1138 70c9f47259 Upload files to 'mods/ethereal/textures' 2020-05-03 14:22:25 +00:00
thunderdog1138 19821d117b Upload files to 'mods/ethereal/textures' 2020-05-03 14:21:49 +00:00
thunderdog1138 fc7f8a611c Upload files to 'mods/ethereal/textures' 2020-05-03 14:21:23 +00:00
thunderdog1138 17ea90aa8d Upload files to 'mods/ethereal/textures' 2020-05-03 14:20:48 +00:00
thunderdog1138 604f5e2b91 Upload files to 'mods/ethereal/textures' 2020-05-03 14:19:24 +00:00
thunderdog1138 441f8788e5 Upload files to 'mods/ethereal/textures' 2020-05-03 14:19:03 +00:00
thunderdog1138 d866a13291 Upload files to 'mods/ethereal/textures' 2020-05-03 14:18:29 +00:00
thunderdog1138 d699767d18 Upload files to 'mods/ethereal/textures' 2020-05-03 14:17:56 +00:00
thunderdog1138 f85803171f Upload files to 'mods/ethereal/textures' 2020-05-03 14:17:04 +00:00
thunderdog1138 efc1565177 Upload files to 'mods/ethereal/textures' 2020-05-03 14:16:34 +00:00
thunderdog1138 0c22ed55e1 Upload files to 'mods/ethereal/textures' 2020-05-03 14:14:21 +00:00
thunderdog1138 e5948b9374 Upload files to 'mods/ethereal/textures' 2020-05-03 14:13:54 +00:00
thunderdog1138 e9ca405401 Upload files to 'mods/ethereal/textures' 2020-05-03 14:13:36 +00:00
thunderdog1138 86b68d1ed6 Upload files to 'mods/ethereal/textures' 2020-05-03 14:13:17 +00:00
thunderdog1138 2adbf1abd3 Upload files to 'mods/ethereal/textures' 2020-05-03 14:12:52 +00:00
thunderdog1138 ba5c4c9ae6 Upload files to 'mods/ethereal/textures' 2020-05-03 14:12:30 +00:00
thunderdog1138 864afc31e9 Upload files to 'mods/ethereal/textures' 2020-05-03 14:08:44 +00:00
thunderdog1138 3511aad4b8 Upload files to 'mods/ethereal/textures' 2020-05-03 14:08:07 +00:00
thunderdog1138 bf9a1addad Upload files to 'mods/ethereal/textures' 2020-05-03 14:07:07 +00:00
thunderdog1138 72c8402c8b Upload files to 'mods/ethereal/textures' 2020-05-03 14:03:49 +00:00
thunderdog1138 c41ed303ee Upload files to 'mods/ethereal/textures' 2020-05-03 14:03:36 +00:00
thunderdog1138 7cb8a7d06e Upload files to 'mods/ethereal/schematics' 2020-05-03 14:02:48 +00:00
thunderdog1138 173879104f Upload files to 'mods/ethereal/schematics' 2020-05-03 14:02:25 +00:00
thunderdog1138 4daa2aff11 Upload files to 'mods/ethereal/schematics' 2020-05-03 14:02:08 +00:00
thunderdog1138 ca3dcb8ad9 Upload files to 'mods/ethereal/schematics' 2020-05-03 14:01:49 +00:00
thunderdog1138 76bdd3a292 Upload files to 'mods/ethereal' 2020-05-03 14:00:46 +00:00
thunderdog1138 78b6fac683 Upload files to 'mods/ethereal' 2020-05-03 14:00:24 +00:00
thunderdog1138 174314695e Upload files to 'mods/ethereal' 2020-05-03 14:00:08 +00:00
thunderdog1138 d68047260b Upload files to 'mods/ethereal' 2020-05-03 13:58:58 +00:00
thunderdog1138 d0bcc9cfab Upload files to 'mods/ethereal' 2020-05-03 13:58:41 +00:00
thunderdog1138 dd824a27b8 Upload files to 'mods/ethereal' 2020-05-03 13:58:17 +00:00
thunderdog1138 6aa4214b3b Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-28 17:19:02 +00:00
thunderdog1138 38acb4939c Upload files to 'mods/minetest-3d_armor/3d_armor/textures' 2020-03-28 17:14:53 +00:00
thunderdog1138 ce877d634b Upload files to 'mods/minetest-3d_armor/3d_armor/textures' 2020-03-28 16:51:45 +00:00
thunderdog1138 6a9b092d31 Upload files to 'mods/minetest-3d_armor/3d_armor/textures' 2020-03-28 16:12:31 +00:00
thunderdog1138 0ac78554b5 Update 'mods/minetest-3d_armor/3d_armor/armor.lua' 2020-03-28 03:15:44 +00:00
thunderdog1138 52fc8f70f5 Update 'mods/starsnodes/lightsword.lua' 2020-03-28 00:03:35 +00:00
thunderdog1138 6d7fbd3423 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:58:28 +00:00
thunderdog1138 1203237060 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:56:16 +00:00
thunderdog1138 a1bbaf71ea Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:53:41 +00:00
thunderdog1138 3c4748c7fa Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:50:59 +00:00
thunderdog1138 ab312116a1 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:44:18 +00:00
thunderdog1138 62bf382b51 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:17:24 +00:00
thunderdog1138 f76ab4e975 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:11:19 +00:00
thunderdog1138 5da5a3eac4 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:10:00 +00:00
thunderdog1138 ed6daeaeaa Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 23:03:10 +00:00
thunderdog1138 d47503437b Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 16:04:37 +00:00
thunderdog1138 587f1043eb Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 16:00:05 +00:00
thunderdog1138 f97ecb9c57 Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 15:57:51 +00:00
thunderdog1138 78c27f5595 Upload files to 'mods/mobs_monster/textures' 2020-03-27 15:48:45 +00:00
thunderdog1138 c161da3c7f Update 'mods/mobs_monster/stormtrooper+variants.lua' 2020-03-27 15:42:02 +00:00
thunderdog1138 da5b7e2e7b Upload files to 'mods/mobs_monster/textures' 2020-03-27 15:40:21 +00:00
thunderdog1138 f7aa3e860f Update 'mods/mobs_monster/init.lua' 2020-03-27 15:38:48 +00:00
thunderdog1138 f6713e5734 Upload files to 'mods/mobs_monster' 2020-03-27 15:37:54 +00:00
thunderdog1138 cc32ac8430 Update 'mods/wielded_light/init.lua' 2020-03-25 21:28:05 +00:00
thunderdog1138 15b61f1060 Update 'mods/starsnodes/lightsword.lua' 2020-03-25 21:11:33 +00:00
thunderdog1138 7353531458 Update 'mods/starsnodes/lightsword.lua' 2020-03-25 21:03:40 +00:00
thunderdog1138 ae868be2de Update 'mods/wielded_light/init.lua' 2020-03-25 21:01:25 +00:00
thunderdog1138 b85a3e5982 Upload files to 'mods/wielded_light' 2020-03-25 20:49:54 +00:00
thunderdog1138 31d59e9810 Upload files to 'mods/starsnodes/textures' 2020-03-25 14:55:32 +00:00
thunderdog1138 0ced46e08d Upload files to 'mods/starsnodes/textures' 2020-03-25 14:55:16 +00:00
thunderdog1138 cdc55b195a Upload files to 'mods/starsnodes/textures' 2020-03-25 14:55:01 +00:00
thunderdog1138 92e661107e Upload files to 'mods/starsnodes/textures' 2020-03-25 14:54:46 +00:00
thunderdog1138 e89c818e89 Upload files to 'mods/starsnodes/sounds' 2020-03-25 14:54:16 +00:00
thunderdog1138 e347e93e69 Upload files to 'mods/starsnodes' 2020-03-25 14:53:44 +00:00
thunderdog1138 1a726bc56d Delete 'mods/starnodes/ores.lua' 2020-03-25 14:52:48 +00:00
thunderdog1138 c1030c8733 Delete 'mods/starnodes/lightsword.lua' 2020-03-25 14:52:37 +00:00
thunderdog1138 fd4b7a7014 Delete 'mods/starnodes/init.lua' 2020-03-25 14:52:29 +00:00
thunderdog1138 3f8c276941 Delete 'mods/starnodes/depends.txt' 2020-03-25 14:52:21 +00:00
thunderdog1138 a93c49a901 Delete 'mods/starnodes/textures/starsnodes_r2d2egg.png' 2020-03-25 14:52:10 +00:00
thunderdog1138 1f36d2b67c Delete 'mods/starnodes/textures/starsnodes_lightsaberonyellow.png' 2020-03-25 14:52:01 +00:00
thunderdog1138 4820a40de1 Delete 'mods/starnodes/textures/starsnodes_lightsaberonred.png' 2020-03-25 14:51:54 +00:00
thunderdog1138 f69cb6be7d Delete 'mods/starnodes/textures/starsnodes_lightsaberonpurple.png' 2020-03-25 14:50:58 +00:00
thunderdog1138 f01efa43b5 Delete 'mods/starnodes/textures/starsnodes_lightsaberongreen.png' 2020-03-25 14:50:43 +00:00
thunderdog1138 08d2367b3b Delete 'mods/starnodes/textures/starsnodes_lightsaberonblue.png' 2020-03-25 14:50:35 +00:00
thunderdog1138 6aba591882 Delete 'mods/starnodes/textures/starsnodes_lightsaberoff.png' 2020-03-25 14:49:43 +00:00
thunderdog1138 e9656261b6 Delete 'mods/starnodes/textures/starsnodes_kyberyellowcrystal.png' 2020-03-25 14:49:34 +00:00
thunderdog1138 fb4d173330 Delete 'mods/starnodes/textures/starsnodes_kyberyellow.png' 2020-03-25 14:49:24 +00:00
thunderdog1138 6ee7a70785 Delete 'mods/starnodes/textures/starsnodes_kyberredcrystal.png' 2020-03-25 14:49:16 +00:00
thunderdog1138 4292f8c60f Delete 'mods/starnodes/textures/starsnodes_kyberpurplecrystal.png' 2020-03-25 14:49:06 +00:00
thunderdog1138 bbe152c730 Delete 'mods/starnodes/textures/starsnodes_kyberpurple.png' 2020-03-25 14:48:58 +00:00
thunderdog1138 0f03a31e8a Delete 'mods/starnodes/textures/starsnodes_kybergreencrystal.png' 2020-03-25 14:48:34 +00:00
thunderdog1138 01e46ba0b6 Delete 'mods/starnodes/textures/starsnodes_kybergreen.png' 2020-03-25 14:48:26 +00:00
thunderdog1138 d5db6ed648 Delete 'mods/starnodes/textures/starsnodes_kyberbluecrystal.png' 2020-03-25 14:48:18 +00:00
thunderdog1138 b50d15f547 Delete 'mods/starnodes/textures/starsnodes_kyberblue.png' 2020-03-25 14:48:09 +00:00
thunderdog1138 9d057335df Delete 'mods/starnodes/textures/starsnodes_hansoloegg.png' 2020-03-25 14:47:45 +00:00
thunderdog1138 023233cd80 Delete 'mods/starnodes/sounds/starsnodes_lightsaberon.ogg' 2020-03-25 14:47:27 +00:00
thunderdog1138 05de1d807c Delete 'mods/starnodes/sounds/starsnodes_lightsaberoff.ogg' 2020-03-25 14:47:19 +00:00
thunderdog1138 cc1f215dd1 Delete 'mods/starnodes/sounds/starsnodes_lightsaberatk.ogg' 2020-03-25 14:47:10 +00:00
thunderdog1138 67c0f9071e Delete 'mods/starnodes/sounds/r2d2.ogg' 2020-03-25 14:47:04 +00:00
thunderdog1138 6f7899710c Delete 'mods/starnodes/sounds/buzz.ogg' 2020-03-25 14:46:55 +00:00
thunderdog1138 0caa082bf4 Delete 'mods/starnodes/README.txt' 2020-03-25 14:46:43 +00:00
thunderdog1138 d9eee35931 Delete 'mods/starnodes/ores.lua~' 2020-03-25 14:45:06 +00:00
thunderdog1138 ab6c8a6f10 Delete 'mods/starnodes/lightsword.lua~' 2020-03-25 14:44:56 +00:00
thunderdog1138 85a438e2ef Delete 'mods/starnodes/lightsaber.lua~' 2020-03-25 14:44:43 +00:00
thunderdog1138 2c955df008 Delete 'mods/starnodes/init.lua~' 2020-03-25 14:44:21 +00:00
thunderdog1138 9b4b7e5f49 Delete 'mods/starnodes/README.txt~' 2020-03-25 14:44:09 +00:00
thunderdog1138 9df3b19cdf Upload files to 'mods/starnodes/textures' 2020-03-25 14:08:37 +00:00
thunderdog1138 54c87eb5e3 Upload files to 'mods/starnodes/textures' 2020-03-25 14:08:15 +00:00
thunderdog1138 2fc43daa39 Upload files to 'mods/starnodes/textures' 2020-03-25 14:07:59 +00:00
thunderdog1138 7c6cb79052 Delete 'mods/starnodes/textures/starsnodes_adeganyellowcrystal.png' 2020-03-25 14:06:24 +00:00
thunderdog1138 92a03c21dd Delete 'mods/starnodes/textures/starsnodes_adeganyellow.png' 2020-03-25 14:05:58 +00:00
thunderdog1138 e256b259b1 Delete 'mods/starnodes/textures/starsnodes_adeganredcrystal.png' 2020-03-25 14:05:48 +00:00
thunderdog1138 29107e4496 Delete 'mods/starnodes/textures/starsnodes_adegangreencrystal.png' 2020-03-25 14:05:23 +00:00
thunderdog1138 17ea358aa8 Delete 'mods/starnodes/textures/starsnodes_adegangreen.png' 2020-03-25 13:55:54 +00:00
thunderdog1138 7e5a844b93 Delete 'mods/starnodes/textures/starsnodes_adeganbluecrystal.png' 2020-03-25 13:55:45 +00:00
thunderdog1138 7cd0e4919f Delete 'mods/starnodes/textures/starsnodes_adeganblue.png' 2020-03-25 13:55:37 +00:00
thunderdog1138 23a543c9d8 Update 'mods/starnodes/lightsword.lua' 2020-03-25 13:47:27 +00:00
thunderdog1138 fde3c41801 Update 'mods/starnodes/ores.lua' 2020-03-25 13:38:04 +00:00
thunderdog1138 bf1d8604f8 Update 'mods/starnodes/lightsword.lua' 2020-03-25 13:35:14 +00:00
thunderdog1138 0aab7c6d35 Upload files to 'mods/starnodes/textures' 2020-03-25 13:19:51 +00:00
thunderdog1138 aa839d70a0 Upload files to 'mods/starnodes/textures' 2020-03-25 13:18:28 +00:00
thunderdog1138 6e75e273d7 Upload files to 'mods/starnodes/textures' 2020-03-25 13:17:32 +00:00
thunderdog1138 15474fdf9d Upload files to 'mods/starnodes/sounds' 2020-03-25 13:16:57 +00:00
thunderdog1138 a5e5d2bbe6 Upload files to 'mods/starnodes' 2020-03-25 12:50:02 +00:00
thunderdog1138 de182cb8f6 Upload files to 'mods/starnodes' 2020-03-25 12:49:23 +00:00
thunderdog1138 0cb95f70c1 Update 'mods/default/nodes.lua' 2020-03-19 23:43:48 +00:00
thunderdog1138 68d2e926d9 Update 'mods/default/nodes.lua' 2020-03-19 13:52:27 +00:00
thunderdog1138 4af5477cfc Upload files to 'mods/default/schematics' 2020-03-19 13:45:10 +00:00
thunderdog1138 63d4a1814b Delete 'mods/default/schematics/apple_tree_from_sapling.mts' 2020-03-19 13:42:23 +00:00
thunderdog1138 f77a2bce8a Delete 'mods/default/schematics/apple_tree.mts' 2020-03-19 13:42:12 +00:00
thunderdog1138 3643166afc Delete 'mods/default/schematics/apple_log.mts' 2020-03-19 13:41:58 +00:00
thunderdog1138 a23b6ae794 Delete 'mods/unified_inventory/waypoints.lua' 2020-03-19 02:17:16 +00:00
thunderdog1138 cc0777c83a Delete 'mods/unified_inventory/settingtypes.txt' 2020-03-19 02:17:05 +00:00
thunderdog1138 33d93165e4 Delete 'mods/unified_inventory/screenshot.png' 2020-03-19 02:16:31 +00:00
thunderdog1138 462ef7cc63 Delete 'mods/unified_inventory/register.lua' 2020-03-19 02:16:21 +00:00
thunderdog1138 bcd8c3ffcf Delete 'mods/unified_inventory/mod.conf' 2020-03-19 02:16:13 +00:00
thunderdog1138 8f13f51b11 Delete 'mods/unified_inventory/match_craft.lua' 2020-03-19 02:16:05 +00:00
thunderdog1138 4b8e2b7b35 Delete 'mods/unified_inventory/item_names.lua' 2020-03-19 02:15:53 +00:00
thunderdog1138 afaa74fbd8 Delete 'mods/unified_inventory/internal.lua' 2020-03-19 02:15:44 +00:00
thunderdog1138 6c24f37d2e Delete 'mods/unified_inventory/init.lua' 2020-03-19 02:15:33 +00:00
thunderdog1138 2ad894e091 Delete 'mods/unified_inventory/image_credits.txt' 2020-03-19 02:15:24 +00:00
thunderdog1138 3b3510a9c3 Delete 'mods/unified_inventory/group.lua' 2020-03-19 02:15:09 +00:00
thunderdog1138 61bbc0c5d2 Delete 'mods/unified_inventory/description.txt' 2020-03-19 02:14:53 +00:00
thunderdog1138 472974eb14 Delete 'mods/unified_inventory/depends.txt' 2020-03-19 02:14:43 +00:00
thunderdog1138 5562ba4f6b Delete 'mods/unified_inventory/callbacks.lua' 2020-03-19 02:14:32 +00:00
thunderdog1138 9e6375c26b Delete 'mods/unified_inventory/bags.lua' 2020-03-19 02:14:24 +00:00
thunderdog1138 391e090c49 Delete 'mods/unified_inventory/api.lua' 2020-03-19 02:14:13 +00:00
thunderdog1138 2364cc3f76 Delete 'mods/unified_inventory/README.md' 2020-03-19 02:14:03 +00:00
thunderdog1138 f63d6c3449 Delete 'mods/unified_inventory/LICENSE.txt' 2020-03-19 02:13:44 +00:00
thunderdog1138 a4ff6c843e Delete 'mods/unified_inventory/.gitignore' 2020-03-19 02:13:34 +00:00
thunderdog1138 533ca5e34c Delete 'mods/unified_inventory/textures/ui_xyz_on_icon.png' 2020-03-19 02:13:15 +00:00
thunderdog1138 174d81a518 Delete 'mods/unified_inventory/textures/ui_xyz_off_icon.png' 2020-03-19 02:12:49 +00:00
thunderdog1138 cb2a2bfd44 Delete 'mods/unified_inventory/textures/ui_xyz_icon.png' 2020-03-19 02:12:34 +00:00
thunderdog1138 f71272f2a4 Delete 'mods/unified_inventory/textures/ui_waypoints_icon.png' 2020-03-19 02:12:26 +00:00
thunderdog1138 2dd88bba69 Delete 'mods/unified_inventory/textures/ui_waypoint_set_icon.png' 2020-03-19 02:12:17 +00:00
thunderdog1138 6432387f61 Delete 'mods/unified_inventory/textures/ui_trash_icon.png' 2020-03-19 02:12:08 +00:00
thunderdog1138 d80081dc71 Delete 'mods/unified_inventory/textures/ui_sun_icon.png' 2020-03-19 02:11:56 +00:00
thunderdog1138 6740915f3a Delete 'mods/unified_inventory/textures/ui_skip_forward_icon.png' 2020-03-19 02:11:48 +00:00
thunderdog1138 f5b165b304 Delete 'mods/unified_inventory/textures/ui_skip_backward_icon.png' 2020-03-19 02:11:38 +00:00
thunderdog1138 4975236d03 Delete 'mods/unified_inventory/textures/ui_single_slot.png' 2020-03-19 02:11:29 +00:00
thunderdog1138 c136e0b4b1 Delete 'mods/unified_inventory/textures/ui_sethome_icon.png' 2020-03-19 02:11:22 +00:00
thunderdog1138 75b4e10837 Delete 'mods/unified_inventory/textures/ui_search_icon.png' 2020-03-19 02:11:13 +00:00
thunderdog1138 560f96bfa1 Delete 'mods/unified_inventory/textures/ui_right_icon.png' 2020-03-19 02:11:05 +00:00
thunderdog1138 c2094e10fa Delete 'mods/unified_inventory/textures/ui_reset_icon.png' 2020-03-19 02:10:54 +00:00
thunderdog1138 265cd9e0e4 Delete 'mods/unified_inventory/textures/ui_red_icon_background.png' 2020-03-19 02:10:45 +00:00
thunderdog1138 d948b41d81 Delete 'mods/unified_inventory/textures/ui_pencil_icon.png' 2020-03-19 02:10:28 +00:00
thunderdog1138 a8557cfdc9 Delete 'mods/unified_inventory/textures/ui_on_icon.png' 2020-03-19 02:10:20 +00:00
thunderdog1138 2bd37f26a0 Delete 'mods/unified_inventory/textures/ui_ok_icon.png' 2020-03-19 02:10:12 +00:00
thunderdog1138 70e1d3e713 Delete 'mods/unified_inventory/textures/ui_off_icon.png' 2020-03-19 02:10:04 +00:00
thunderdog1138 2a9195f561 Delete 'mods/unified_inventory/textures/ui_no.png' 2020-03-19 02:09:56 +00:00
thunderdog1138 45b38682c3 Delete 'mods/unified_inventory/textures/ui_moon_icon.png' 2020-03-19 02:09:47 +00:00
thunderdog1138 2a63097687 Delete 'mods/unified_inventory/textures/ui_misc_form.png' 2020-03-19 02:09:39 +00:00
thunderdog1138 526b3fa20a Delete 'mods/unified_inventory/textures/ui_main_inventory.png' 2020-03-19 02:09:30 +00:00
thunderdog1138 059e72f453 Delete 'mods/unified_inventory/textures/ui_left_icon.png' 2020-03-19 02:09:22 +00:00
thunderdog1138 c56b7a59bc Delete 'mods/unified_inventory/textures/ui_home_icon.png' 2020-03-19 02:09:14 +00:00
thunderdog1138 760aa4c675 Delete 'mods/unified_inventory/textures/ui_group.png' 2020-03-19 02:09:05 +00:00
thunderdog1138 55eded2a6e Delete 'mods/unified_inventory/textures/ui_green_icon_background.png' 2020-03-19 02:08:56 +00:00
thunderdog1138 b54a174fe2 Delete 'mods/unified_inventory/textures/ui_gohome_icon.png' 2020-03-19 02:08:48 +00:00
thunderdog1138 5d810eb769 Delete 'mods/unified_inventory/textures/ui_form_bg.png' 2020-03-19 02:08:40 +00:00
thunderdog1138 3b8ddf9a65 Delete 'mods/unified_inventory/textures/ui_doubleright_icon.png' 2020-03-19 02:08:30 +00:00
thunderdog1138 17a7928900 Delete 'mods/unified_inventory/textures/ui_doubleleft_icon.png' 2020-03-19 02:08:21 +00:00
thunderdog1138 d07fd97760 Delete 'mods/unified_inventory/textures/ui_crafting_form.png' 2020-03-19 02:08:13 +00:00
thunderdog1138 42fd4914c3 Delete 'mods/unified_inventory/textures/ui_craftguide_icon.png' 2020-03-19 02:08:03 +00:00
thunderdog1138 6bce39ea17 Delete 'mods/unified_inventory/textures/ui_craftguide_form.png' 2020-03-19 02:07:54 +00:00
thunderdog1138 f5a779ccac Delete 'mods/unified_inventory/textures/ui_craftgrid_icon.png' 2020-03-19 02:07:45 +00:00
thunderdog1138 42cefb4a9d Delete 'mods/unified_inventory/textures/ui_craft_icon.png' 2020-03-19 02:07:37 +00:00
thunderdog1138 4c1d49cad5 Delete 'mods/unified_inventory/textures/ui_circular_arrows_icon.png' 2020-03-19 02:07:28 +00:00
thunderdog1138 65bf3cf75f Delete 'mods/unified_inventory/textures/ui_blue_icon_background.png' 2020-03-19 02:07:21 +00:00
thunderdog1138 106fbeb71b Delete 'mods/unified_inventory/textures/ui_blank_image.png' 2020-03-19 02:07:12 +00:00
thunderdog1138 b6b5a73387 Delete 'mods/unified_inventory/textures/ui_bags_trash.png' 2020-03-19 02:06:59 +00:00
thunderdog1138 cfda478d68 Delete 'mods/unified_inventory/textures/ui_bags_sm_form.png' 2020-03-19 02:06:48 +00:00
thunderdog1138 9c18a8887a Delete 'mods/unified_inventory/textures/ui_bags_med_form.png' 2020-03-19 02:06:39 +00:00
thunderdog1138 3c9e4e95a9 Delete 'mods/unified_inventory/textures/ui_bags_main_form.png' 2020-03-19 02:06:30 +00:00
thunderdog1138 789594b425 Delete 'mods/unified_inventory/textures/ui_bags_lg_form.png' 2020-03-19 02:06:19 +00:00
thunderdog1138 e388b525be Delete 'mods/unified_inventory/textures/ui_bags_icon.png' 2020-03-19 02:06:09 +00:00
thunderdog1138 0df81f8ea8 Delete 'mods/unified_inventory/textures/ui_5_icon.png' 2020-03-19 02:01:34 +00:00
thunderdog1138 14f95964f7 Delete 'mods/unified_inventory/textures/ui_4_icon.png' 2020-03-19 02:01:25 +00:00
thunderdog1138 5b1e2d22a0 Delete 'mods/unified_inventory/textures/ui_3_icon.png' 2020-03-19 02:01:15 +00:00
thunderdog1138 02d6d14149 Delete 'mods/unified_inventory/textures/ui_2_icon.png' 2020-03-19 02:01:06 +00:00
thunderdog1138 c92986978b Delete 'mods/unified_inventory/textures/ui_1_icon.png' 2020-03-19 02:00:56 +00:00
thunderdog1138 1ceab9f829 Delete 'mods/unified_inventory/textures/bags_small.png' 2020-03-19 02:00:47 +00:00
thunderdog1138 28e978a00c Delete 'mods/unified_inventory/textures/bags_medium.png' 2020-03-19 02:00:35 +00:00
thunderdog1138 32756df940 Delete 'mods/unified_inventory/textures/bags_large.png' 2020-03-19 02:00:26 +00:00
thunderdog1138 8bd07a13ea Delete 'mods/unified_inventory/sounds/trash_all.ogg' 2020-03-19 02:00:12 +00:00
thunderdog1138 d6fecdb493 Delete 'mods/unified_inventory/sounds/trash.ogg' 2020-03-19 01:59:21 +00:00
thunderdog1138 c2dd91d98d Delete 'mods/unified_inventory/sounds/teleport.ogg' 2020-03-19 01:59:11 +00:00
thunderdog1138 9261795a89 Delete 'mods/unified_inventory/sounds/paperflip2.ogg' 2020-03-19 01:59:00 +00:00
thunderdog1138 8a6bc65853 Delete 'mods/unified_inventory/sounds/paperflip1.ogg' 2020-03-19 01:58:50 +00:00
thunderdog1138 375f987c4f Delete 'mods/unified_inventory/sounds/owl.ogg' 2020-03-19 01:58:41 +00:00
thunderdog1138 f899f7f9d0 Delete 'mods/unified_inventory/sounds/electricity.ogg' 2020-03-19 01:58:31 +00:00
thunderdog1138 2fb1f51df1 Delete 'mods/unified_inventory/sounds/dingdong.ogg' 2020-03-19 01:58:21 +00:00
thunderdog1138 20b2c94fb1 Delete 'mods/unified_inventory/sounds/click.ogg' 2020-03-19 01:58:10 +00:00
thunderdog1138 4a300c5c5f Delete 'mods/unified_inventory/sounds/birds.ogg' 2020-03-19 01:58:03 +00:00
thunderdog1138 1c8c7feb70 Delete 'mods/unified_inventory/doc/mod_api.txt' 2020-03-19 01:57:49 +00:00
thunderdog1138 a28d06dd0d Upload files to 'mods/inventory_plus' 2020-03-19 01:44:53 +00:00
thunderdog1138 d00fe4cf71 Upload files to 'mods/inventory_plus' 2020-03-19 01:44:18 +00:00
858 changed files with 17301 additions and 6395 deletions

View File

@ -1,3 +1,3 @@
name = Star Wars name = Star Wars broken
author = thunderdog1138 author = thunderdog1138
description = Star Wars themed version of the Minetest game. description = Star Wars themed version of the Minetest game.

BIN
menu/footer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

BIN
menu/overlay.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

View File

@ -7,24 +7,24 @@ local S = beds.get_translator
beds.register_bed("beds:fancy_bed", { beds.register_bed("beds:fancy_bed", {
description = S("Fancy Bed"), description = S("Fancy Bed"),
inventory_image = "beds_bed_fancy.png", inventory_image = "bed_fancy.png",
wield_image = "beds_bed_fancy.png", wield_image = "bed_fancy.png",
tiles = { tiles = {
bottom = { bottom = {
"beds_bed_top1.png", "bed_top1.png",
"beds_bed_under.png", "bed_under.png",
"beds_bed_side1.png", "bed_side1.png",
"beds_bed_side1.png^[transformFX", "bed_side1.png^[transformFX",
"beds_bed_foot.png", "bed_foot.png",
"beds_bed_foot.png", "bed_foot.png",
}, },
top = { top = {
"beds_bed_top2.png", "bed_top2.png",
"beds_bed_under.png", "bed_under.png",
"beds_bed_side2.png", "bed_side2.png",
"beds_bed_side2.png^[transformFX", "bed_side2.png^[transformFX",
"beds_bed_head.png", "bed_head.png",
"beds_bed_head.png", "bed_head.png",
} }
}, },
nodebox = { nodebox = {
@ -50,7 +50,7 @@ beds.register_bed("beds:fancy_bed", {
recipe = { recipe = {
{"", "", "group:stick"}, {"", "", "group:stick"},
{"wool:white", "wool:white", "wool:white"}, {"wool:white", "wool:white", "wool:white"},
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
}, },
}) })
@ -58,24 +58,24 @@ beds.register_bed("beds:fancy_bed", {
beds.register_bed("beds:bed", { beds.register_bed("beds:bed", {
description = S("Simple Bed"), description = S("Simple Bed"),
inventory_image = "beds_bed.png", inventory_image = "bed.png",
wield_image = "beds_bed.png", wield_image = "bed.png",
tiles = { tiles = {
bottom = { bottom = {
"beds_bed_top_bottom.png^[transformR90", "bed_top_bottom.png^[transformR90",
"beds_bed_under.png", "bed_under.png",
"beds_bed_side_bottom_r.png", "bed_side_bottom_r.png",
"beds_bed_side_bottom_r.png^[transformfx", "bed_side_bottom_r.png^[transformfx",
"beds_transparent.png", "transparent.png",
"beds_bed_side_bottom.png" "bed_side_bottom.png"
}, },
top = { top = {
"beds_bed_top_top.png^[transformR90", "bed_top_top.png^[transformR90",
"beds_bed_under.png", "bed_under.png",
"beds_bed_side_top_r.png", "bed_side_top_r.png",
"beds_bed_side_top_r.png^[transformfx", "bed_side_top_r.png^[transformfx",
"beds_bed_side_top.png", "bed_side_top.png",
"beds_transparent.png", "transparent.png",
} }
}, },
nodebox = { nodebox = {
@ -85,7 +85,7 @@ beds.register_bed("beds:bed", {
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = { recipe = {
{"wool:white", "wool:white", "wool:white"}, {"wool:white", "wool:white", "wool:white"},
{"group:wood", "group:wood", "group:wood"} {"group:soft_wood", "group:soft_wood", "group:soft_wood"}
}, },
}) })

View File

@ -60,7 +60,7 @@ minetest.after(4.7, cyclic_update)
minetest.register_craftitem("binoculars:binoculars", { minetest.register_craftitem("binoculars:binoculars", {
description = S("Binoculars") .. "\n" .. S("Use with 'Zoom' key"), description = S("Binoculars") .. "\n" .. S("Use with 'Zoom' key"),
inventory_image = "binoculars_binoculars.png", inventory_image = "binoculars.png",
stack_max = 1, stack_max = 1,
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)

View File

@ -36,7 +36,7 @@ local boat = {
collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5}, collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5},
visual = "mesh", visual = "mesh",
mesh = "boats_boat.obj", mesh = "boats_boat.obj",
textures = {"default_wood.png"}, textures = {"jogan_wood.png"},
}, },
driver = nil, driver = nil,
@ -238,8 +238,8 @@ minetest.register_entity("boats:boat", boat)
minetest.register_craftitem("boats:boat", { minetest.register_craftitem("boats:boat", {
description = S("Boat"), description = S("Boat"),
inventory_image = "boats_inventory.png", inventory_image = "inventory.png",
wield_image = "boats_wield.png", wield_image = "wield.png",
wield_scale = {x = 2, y = 2, z = 1}, wield_scale = {x = 2, y = 2, z = 1},
liquids_pointable = true, liquids_pointable = true,
groups = {flammable = 2}, groups = {flammable = 2},
@ -282,8 +282,8 @@ minetest.register_craft({
output = "boats:boat", output = "boats:boat",
recipe = { recipe = {
{"", "", "" }, {"", "", "" },
{"group:wood", "", "group:wood"}, {"group:soft_wood", "", "group:soft_wood"},
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
}, },
}) })

View File

@ -10,7 +10,7 @@ local cart_entity = {
visual = "mesh", visual = "mesh",
mesh = "carts_cart.b3d", mesh = "carts_cart.b3d",
visual_size = {x=1, y=1}, visual_size = {x=1, y=1},
textures = {"carts_cart.png"}, textures = {"cart.png"},
}, },
driver = nil, driver = nil,

View File

@ -6,20 +6,20 @@ local S = carts.get_translator
carts:register_rail("carts:rail", { carts:register_rail("carts:rail", {
description = S("Rail"), description = S("Rail"),
tiles = { tiles = {
"carts_rail_straight.png", "carts_rail_curved.png", "rail_straight.png", "rail_curved.png",
"carts_rail_t_junction.png", "carts_rail_crossing.png" "rail_t_junction.png", "rail_crossing.png"
}, },
inventory_image = "carts_rail_straight.png", inventory_image = "rail_straight.png",
wield_image = "carts_rail_straight.png", wield_image = "rail_straight.png",
groups = carts:get_rail_groups(), groups = carts:get_rail_groups(),
}, {}) }, {})
minetest.register_craft({ minetest.register_craft({
output = "carts:rail 18", output = "carts:rail 18",
recipe = { recipe = {
{"default:durasteel_ingot", "group:wood", "default:durasteel_ingot"}, {"default:durasteel_ingot", "group:soft_wood", "default:durasteel_ingot"},
{"default:durasteel_ingot", "", "default:durasteel_ingot"}, {"default:durasteel_ingot", "", "default:durasteel_ingot"},
{"default:durasteel_ingot", "group:wood", "default:durasteel_ingot"}, {"default:durasteel_ingot", "group:soft_wood", "default:durasteel_ingot"},
} }
}) })
@ -29,8 +29,8 @@ minetest.register_alias("default:rail", "carts:rail")
carts:register_rail("carts:powerrail", { carts:register_rail("carts:powerrail", {
description = S("Powered Rail"), description = S("Powered Rail"),
tiles = { tiles = {
"carts_rail_straight_pwr.png", "carts_rail_curved_pwr.png", "rail_straight_pwr.png", "rail_curved_pwr.png",
"carts_rail_t_junction_pwr.png", "carts_rail_crossing_pwr.png" "rail_t_junction_pwr.png", "rail_crossing_pwr.png"
}, },
groups = carts:get_rail_groups(), groups = carts:get_rail_groups(),
}, {acceleration = 5}) }, {acceleration = 5})
@ -38,9 +38,9 @@ carts:register_rail("carts:powerrail", {
minetest.register_craft({ minetest.register_craft({
output = "carts:powerrail 18", output = "carts:powerrail 18",
recipe = { recipe = {
{"default:durasteel_ingot", "group:wood", "default:durasteel_ingot"}, {"default:durasteel_ingot", "group:soft_wood", "default:durasteel_ingot"},
{"default:durasteel_ingot", "default:mese_crystal", "default:durasteel_ingot"}, {"default:durasteel_ingot", "default:mese_crystal", "default:durasteel_ingot"},
{"default:durasteel_ingot", "group:wood", "default:durasteel_ingot"}, {"default:durasteel_ingot", "group:soft_wood", "default:durasteel_ingot"},
} }
}) })
@ -48,8 +48,8 @@ minetest.register_craft({
carts:register_rail("carts:brakerail", { carts:register_rail("carts:brakerail", {
description = S("Brake Rail"), description = S("Brake Rail"),
tiles = { tiles = {
"carts_rail_straight_brk.png", "carts_rail_curved_brk.png", "rail_straight_brk.png", "rail_curved_brk.png",
"carts_rail_t_junction_brk.png", "carts_rail_crossing_brk.png" "rail_t_junction_brk.png", "rail_crossing_brk.png"
}, },
groups = carts:get_rail_groups(), groups = carts:get_rail_groups(),
}, {acceleration = -3}) }, {acceleration = -3})
@ -57,8 +57,8 @@ carts:register_rail("carts:brakerail", {
minetest.register_craft({ minetest.register_craft({
output = "carts:brakerail 18", output = "carts:brakerail 18",
recipe = { recipe = {
{"default:durasteel_ingot", "group:wood", "default:durasteel_ingot"}, {"default:durasteel_ingot", "group:soft_wood", "default:durasteel_ingot"},
{"default:durasteel_ingot", "default:coal_lump", "default:durasteel_ingot"}, {"default:durasteel_ingot", "default:coal_lump", "default:durasteel_ingot"},
{"default:durasteel_ingot", "group:wood", "default:durasteel_ingot"}, {"default:durasteel_ingot", "group:soft_wood", "default:durasteel_ingot"},
} }
}) })

View File

@ -289,12 +289,12 @@ end
default.chest.register_chest("chest", { default.chest.register_chest("chest", {
description = S("Chest"), description = S("Chest"),
tiles = { tiles = {
"default_chest_top.png", "chest_top.png",
"default_chest_top.png", "chest_top.png",
"default_chest_side.png", "chest_side.png",
"default_chest_side.png", "chest_side.png",
"default_chest_front.png", "chest_front.png",
"default_chest_inside.png" "chest_inside.png"
}, },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
sound_open = "default_chest_open", sound_open = "default_chest_open",
@ -305,12 +305,12 @@ default.chest.register_chest("chest", {
default.chest.register_chest("chest_locked", { default.chest.register_chest("chest_locked", {
description = S("Locked Chest"), description = S("Locked Chest"),
tiles = { tiles = {
"default_chest_top.png", "chest_top.png",
"default_chest_top.png", "chest_top.png",
"default_chest_side.png", "chest_side.png",
"default_chest_side.png", "chest_side.png",
"default_chest_lock.png", "chest_lock.png",
"default_chest_inside.png" "chest_inside.png"
}, },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
sound_open = "default_chest_open", sound_open = "default_chest_open",

View File

@ -1,73 +1,66 @@
-- mods/default/crafting.lua -- mods/default/crafting.lua
minetest.register_craft({ minetest.register_craft({
output = "default:wood 4", output = "default:jogan_wood 4",
recipe = { recipe = {
{"default:tree"}, {"default:jogan_trunk"},
}
})
minetest.register_craft({
output = "default:junglewood 4",
recipe = {
{"default:jungletree"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:pine_wood 4", output = "default:pine_wood 4",
recipe = { recipe = {
{"default:pine_tree"}, {"default:pine_trunk"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:acacia_wood 4", output = "default:uneti_wood 4",
recipe = { recipe = {
{"default:acacia_tree"}, {"default:uneti_trunk"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:aspen_wood 4", output = "default:brylark_wood 4",
recipe = { recipe = {
{"default:aspen_tree"}, {"default:brylark_trunk"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:wood", output = "default:wroshyr_wood 4",
recipe = { recipe = {
{"default:bush_stem"}, {"default:wroshyr_trunk"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:acacia_wood", output = "default:palm_wood 4",
recipe = { recipe = {
{"default:acacia_bush_stem"}, {"default:palm_trunk"},
}
})
minetest.register_craft({
output = "default:pine_wood",
recipe = {
{"default:pine_bush_stem"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:stick 4", output = "default:stick 4",
recipe = { recipe = {
{"group:wood"}, {"default:bush_stem"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:sign_wall_steel 3", output = "default:stick 4",
recipe = { recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"group:soft_wood"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, }
})
minetest.register_craft({
output = "default:sign_wall_durasteel 3",
recipe = {
{"default:durasteel_ingot", "default:durasteel_ingot", "default:durasteel_ingot"},
{"default:durasteel_ingot", "default:durasteel_ingot", "default:durasteel_ingot"},
{"", "group:stick", ""}, {"", "group:stick", ""},
} }
}) })
@ -75,8 +68,8 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:sign_wall_wood 3", output = "default:sign_wall_wood 3",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"", "group:stick", ""}, {"", "group:stick", ""},
} }
}) })
@ -92,7 +85,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:pick_wood", output = "default:pick_wood",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"", "group:stick", ""}, {"", "group:stick", ""},
{"", "group:stick", ""}, {"", "group:stick", ""},
} }
@ -137,7 +130,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:shovel_wood", output = "default:shovel_wood",
recipe = { recipe = {
{"group:wood"}, {"group:soft_wood"},
{"group:stick"}, {"group:stick"},
{"group:stick"}, {"group:stick"},
} }
@ -185,8 +178,8 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:axe_wood", output = "default:axe_wood",
recipe = { recipe = {
{"group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood"},
{"group:wood", "group:stick"}, {"group:soft_wood", "group:stick"},
{"", "group:stick"}, {"", "group:stick"},
} }
}) })
@ -230,8 +223,8 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:sword_wood", output = "default:sword_wood",
recipe = { recipe = {
{"group:wood"}, {"group:soft_wood"},
{"group:wood"}, {"group:soft_wood"},
{"group:stick"}, {"group:stick"},
} }
}) })
@ -282,18 +275,18 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:chest", output = "default:chest",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"group:wood", "", "group:wood"}, {"group:soft_wood", "", "group:soft_wood"},
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:chest_locked", output = "default:chest_locked",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"group:wood", "default:durasteel_ingot", "group:wood"}, {"group:soft_wood", "default:durasteel_ingot", "group:soft_wood"},
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
} }
}) })
@ -313,7 +306,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:coalblock", output = "default:coal_block",
recipe = { recipe = {
{"default:coal_lump", "default:coal_lump", "default:coal_lump"}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"},
{"default:coal_lump", "default:coal_lump", "default:coal_lump"}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"},
@ -324,12 +317,12 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:coal_lump 9", output = "default:coal_lump 9",
recipe = { recipe = {
{"default:coalblock"}, {"default:coal_block"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:durasteelblock", output = "default:durasteel_block",
recipe = { recipe = {
{"default:durasteel_ingot", "default:durasteel_ingot", "default:durasteel_ingot"}, {"default:durasteel_ingot", "default:durasteel_ingot", "default:durasteel_ingot"},
{"default:durasteel_ingot", "default:durasteel_ingot", "default:durasteel_ingot"}, {"default:durasteel_ingot", "default:durasteel_ingot", "default:durasteel_ingot"},
@ -340,12 +333,12 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:durasteel_ingot 9", output = "default:durasteel_ingot 9",
recipe = { recipe = {
{"default:durasteelblock"}, {"default:durasteel_block"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:copperblock", output = "default:copper_block",
recipe = { recipe = {
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
@ -356,12 +349,12 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:copper_ingot 9", output = "default:copper_ingot 9",
recipe = { recipe = {
{"default:copperblock"}, {"default:copper_block"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:tinblock", output = "default:tin_block",
recipe = { recipe = {
{"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"}, {"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"},
{"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"}, {"default:tin_ingot", "default:tin_ingot", "default:tin_ingot"},
@ -372,7 +365,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:tin_ingot 9", output = "default:tin_ingot 9",
recipe = { recipe = {
{"default:tinblock"}, {"default:tin_block"},
} }
}) })
@ -386,7 +379,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:bronzeblock", output = "default:bronze_block",
recipe = { recipe = {
{"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"}, {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
{"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"}, {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
@ -397,12 +390,12 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:bronze_ingot 9", output = "default:bronze_ingot 9",
recipe = { recipe = {
{"default:bronzeblock"}, {"default:bronze_block"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:goldblock", output = "default:gold_block",
recipe = { recipe = {
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
@ -413,12 +406,12 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:gold_ingot 9", output = "default:gold_ingot 9",
recipe = { recipe = {
{"default:goldblock"}, {"default:gold_block"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:beskarblock", output = "default:beskar_block",
recipe = { recipe = {
{"default:beskar_ingot", "default:beskar_ingot", "default:beskar_ingot"}, {"default:beskar_ingot", "default:beskar_ingot", "default:beskar_ingot"},
{"default:beskar_ingot", "default:beskar_ingot", "default:beskar_ingot"}, {"default:beskar_ingot", "default:beskar_ingot", "default:beskar_ingot"},
@ -429,7 +422,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:beskar_ingot 9", output = "default:beskar_ingot 9",
recipe = { recipe = {
{"default:beskarblock"}, {"default:beskar_block"},
} }
}) })
@ -449,7 +442,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:sandstonebrick 4", output = "default:sandstone_brick 4",
recipe = { recipe = {
{"default:sandstone", "default:sandstone"}, {"default:sandstone", "default:sandstone"},
{"default:sandstone", "default:sandstone"}, {"default:sandstone", "default:sandstone"},
@ -545,7 +538,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:brick", output = "default:brick_block",
recipe = { recipe = {
{"default:clay_brick", "default:clay_brick"}, {"default:clay_brick", "default:clay_brick"},
{"default:clay_brick", "default:clay_brick"}, {"default:clay_brick", "default:clay_brick"},
@ -555,14 +548,14 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:clay_brick 4", output = "default:clay_brick 4",
recipe = { recipe = {
{"default:brick"}, {"default:brick_block"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:paper", output = "default:paper",
recipe = { recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"}, {"default:reeds", "default:reeds", "default:reeds"},
} }
}) })
@ -578,9 +571,9 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:bookshelf", output = "default:bookshelf",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"default:book", "default:book", "default:book"}, {"default:book", "default:book", "default:book"},
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
} }
}) })
@ -602,55 +595,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:mese",
recipe = {
{"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
}
})
minetest.register_craft({
output = "default:mese_crystal 9",
recipe = {
{"default:mese"},
}
})
minetest.register_craft({
output = "default:mese_crystal_fragment 9",
recipe = {
{"default:mese_crystal"},
}
})
minetest.register_craft({
output = "default:mese_crystal",
recipe = {
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
}
})
minetest.register_craft({
output = "default:meselamp",
recipe = {
{"default:glass"},
{"default:mese_crystal"},
}
})
minetest.register_craft({
output = "default:mese_post_light 3",
recipe = {
{"", "default:glass", ""},
{"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{"", "group:wood", ""},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:obsidian_shard 9", output = "default:obsidian_shard 9",
recipe = { recipe = {
@ -668,7 +612,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:obsidianbrick 4", output = "default:obsidian_brick 4",
recipe = { recipe = {
{"default:obsidian", "default:obsidian"}, {"default:obsidian", "default:obsidian"},
{"default:obsidian", "default:obsidian"} {"default:obsidian", "default:obsidian"}
@ -685,7 +629,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:stonebrick 4", output = "default:stone_brick 4",
recipe = { recipe = {
{"default:stone", "default:stone"}, {"default:stone", "default:stone"},
{"default:stone", "default:stone"}, {"default:stone", "default:stone"},
@ -702,7 +646,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:desert_stonebrick 4", output = "default:desert_stone_brick 4",
recipe = { recipe = {
{"default:desert_stone", "default:desert_stone"}, {"default:desert_stone", "default:desert_stone"},
{"default:desert_stone", "default:desert_stone"}, {"default:desert_stone", "default:desert_stone"},
@ -719,7 +663,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:snowblock", output = "default:snow_block",
recipe = { recipe = {
{"default:snow", "default:snow", "default:snow"}, {"default:snow", "default:snow", "default:snow"},
{"default:snow", "default:snow", "default:snow"}, {"default:snow", "default:snow", "default:snow"},
@ -730,25 +674,19 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:snow 9", output = "default:snow 9",
recipe = { recipe = {
{"default:snowblock"}, {"default:snow_block"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:emergent_jungle_sapling", output = "default:quicksand",
recipe = { recipe = {
{"default:junglesapling", "default:junglesapling", "default:junglesapling"}, {"group:sand", "group:sand", "group:sand"},
{"default:junglesapling", "default:junglesapling", "default:junglesapling"}, {"group:sand", "bucket:bucket_water", "group:sand"},
{"default:junglesapling", "default:junglesapling", "default:junglesapling"}, {"group:sand", "group:sand", "group:sand"},
} },
}) replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"}
minetest.register_craft({
output = "default:large_cactus_seedling",
recipe = {
{"", "default:cactus", ""},
{"default:cactus", "default:cactus", "default:cactus"},
{"", "default:cactus", ""},
} }
}) })
@ -799,8 +737,8 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:beskar_ingot", output = "default:durasteel_ingot",
recipe = "default:iron_lump", recipe = "default:zersium_lump",
}) })
minetest.register_craft({ minetest.register_craft({
@ -852,71 +790,69 @@ minetest.register_craft({
-- Fuels -- Fuels
-- --
-- Support use of group:tree, includes default:tree which has the same burn time -- Burn time for trunks
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "group:tree", recipe = "default:jogan_trunk",
burntime = 30, burntime = 30,
}) })
-- Burn time for all woods are in order of wood density,
-- which is also the order of wood colour darkness:
-- aspen, pine, apple, acacia, jungle
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:aspen_tree", recipe = "default:pine_trunk",
burntime = 22, burntime = 30,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:pine_tree", recipe = "default:palm_trunk",
burntime = 26, burntime = 30,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:acacia_tree", recipe = "default:uneti_trunk",
burntime = 34, burntime = 30,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:jungletree", recipe = "default:wroshyr_trunk",
burntime = 38, burntime = 30,
}) })
-- Support use of group:wood, includes default:wood which has the same burn time -- Burn time for wood
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "group:wood", recipe = "default:jogan_wood",
burntime = 7, burntime = 7,
}) })
minetest.register_craft({
type = "fuel",
recipe = "default:aspen_wood",
burntime = 5,
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:pine_wood", recipe = "default:pine_wood",
burntime = 6, burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:acacia_wood", recipe = "default:palm_wood",
burntime = 8, burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:junglewood", recipe = "default:uneti_wood",
burntime = 9, burntime = 7,
})
minetest.register_craft({
type = "fuel",
recipe = "default:wroshyr_wood",
burntime = 7,
}) })
@ -933,108 +869,66 @@ minetest.register_craft({
burntime = 3, burntime = 3,
}) })
minetest.register_craft({
type = "fuel",
recipe = "default:acacia_bush_sapling",
burntime = 4,
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:pine_bush_sapling", recipe = "default:fence_jogan_wood",
burntime = 2,
})
minetest.register_craft({
type = "fuel",
recipe = "default:aspen_sapling",
burntime = 4,
})
minetest.register_craft({
type = "fuel",
recipe = "default:pine_sapling",
burntime = 5,
})
minetest.register_craft({
type = "fuel",
recipe = "default:acacia_sapling",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:junglesapling",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:emergent_jungle_sapling",
burntime = 7, burntime = 7,
}) })
minetest.register_craft({
type = "fuel",
recipe = "default:fence_aspen_wood",
burntime = 5,
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_pine_wood", recipe = "default:fence_pine_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:fence_wood",
burntime = 7, burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_acacia_wood", recipe = "default:fence_palm_wood",
burntime = 8, burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_junglewood", recipe = "default:fence_uneti_wood",
burntime = 9, burntime = 7,
})
minetest.register_craft({
type = "fuel",
recipe = "default:fence_wroshyr_wood",
burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_rail_aspen_wood", recipe = "default:fence_rail_jogan_wood",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:fence_rail_pine_wood",
burntime = 4,
})
minetest.register_craft({
type = "fuel",
recipe = "default:fence_rail_wood",
burntime = 5, burntime = 5,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_rail_acacia_wood", recipe = "default:fence_rail_pine_wood",
burntime = 6, burntime = 5,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_rail_junglewood", recipe = "default:fence_rail_palm_wood",
burntime = 7, burntime = 5,
})
minetest.register_craft({
type = "fuel",
recipe = "default:fence_rail_uneti_wood",
burntime = 5,
})
minetest.register_craft({
type = "fuel",
recipe = "default:fence_rail_wroshyr_wood",
burntime = 5,
}) })
@ -1046,19 +940,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:acacia_bush_stem", recipe = "default:jungle_grass",
burntime = 8,
})
minetest.register_craft({
type = "fuel",
recipe = "default:pine_bush_stem",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:junglegrass",
burntime = 3, burntime = 3,
}) })
@ -1076,13 +958,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:large_cactus_seedling", recipe = "default:reeds",
burntime = 5,
})
minetest.register_craft({
type = "fuel",
recipe = "default:papyrus",
burntime = 3, burntime = 3,
}) })
@ -1136,7 +1012,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:coalblock", recipe = "default:coal_block",
burntime = 370, burntime = 370,
}) })
@ -1160,7 +1036,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:marram_grass_1", recipe = "default:saago_grass_1",
burntime = 2, burntime = 2,
}) })

View File

@ -5,13 +5,13 @@ local S = default.get_translator
minetest.register_craftitem("default:stick", { minetest.register_craftitem("default:stick", {
description = S("Stick"), description = S("Stick"),
inventory_image = "default_stick.png", inventory_image = "stick.png",
groups = {stick = 1, flammable = 2}, groups = {stick = 1, flammable = 2},
}) })
minetest.register_craftitem("default:paper", { minetest.register_craftitem("default:paper", {
description = S("Paper"), description = S("Paper"),
inventory_image = "default_paper.png", inventory_image = "paper.png",
groups = {flammable = 3}, groups = {flammable = 3},
}) })
@ -160,14 +160,14 @@ end)
minetest.register_craftitem("default:book", { minetest.register_craftitem("default:book", {
description = S("Book"), description = S("Book"),
inventory_image = "default_book.png", inventory_image = "book.png",
groups = {book = 1, flammable = 3}, groups = {book = 1, flammable = 3},
on_use = book_on_use, on_use = book_on_use,
}) })
minetest.register_craftitem("default:book_written", { minetest.register_craftitem("default:book_written", {
description = S("Book with Text"), description = S("Book with Text"),
inventory_image = "default_book_written.png", inventory_image = "book_written.png",
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3}, groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
stack_max = 1, stack_max = 1,
on_use = book_on_use, on_use = book_on_use,
@ -204,7 +204,7 @@ end)
minetest.register_craftitem("default:skeleton_keycard", { minetest.register_craftitem("default:skeleton_keycard", {
description = S("Skeleton Keycard"), description = S("Skeleton Keycard"),
inventory_image = "default_keycard_skeleton.png", inventory_image = "keycard_skeleton.png",
groups = {key = 1}, groups = {key = 1},
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then if pointed_thing.type ~= "node" then
@ -260,98 +260,106 @@ minetest.register_craftitem("default:skeleton_keycard", {
minetest.register_craftitem("default:coal_lump", { minetest.register_craftitem("default:coal_lump", {
description = S("Coal Lump"), description = S("Coal Lump"),
inventory_image = "default_coal_lump.png", inventory_image = "coal_lump.png",
groups = {coal = 1, flammable = 1} groups = {coal = 1, flammable = 1}
}) })
minetest.register_craftitem("default:iron_lump", { minetest.register_craftitem("default:zersium_lump", {
description = S("Iron Lump"), description = S("Zersium Lump"),
inventory_image = "default_iron_lump.png" inventory_image = "zersium_lump.png"
}) })
minetest.register_craftitem("default:copper_lump", { minetest.register_craftitem("default:copper_lump", {
description = S("Copper Lump"), description = S("Copper Lump"),
inventory_image = "default_copper_lump.png" inventory_image = "copper_lump.png"
}) })
minetest.register_craftitem("default:tin_lump", { minetest.register_craftitem("default:tin_lump", {
description = S("Tin Lump"), description = S("Tin Lump"),
inventory_image = "default_tin_lump.png" inventory_image = "tin_lump.png"
})
minetest.register_craftitem("default:mese_crystal", {
description = S("Mese Crystal"),
inventory_image = "default_mese_crystal.png",
}) })
minetest.register_craftitem("default:gold_lump", { minetest.register_craftitem("default:gold_lump", {
description = S("Gold Lump"), description = S("Gold Lump"),
inventory_image = "default_gold_lump.png" inventory_image = "gold_lump.png"
}) })
minetest.register_craftitem("default:beskar_lump", { minetest.register_craftitem("default:beskar_lump", {
description = S("Beskar Lump"), description = S("Beskar Lump"),
inventory_image = "default_beskar_lump.png", inventory_image = "beskar_lump.png",
}) })
minetest.register_craftitem("default:clay_lump", { minetest.register_craftitem("default:clay_lump", {
description = S("Clay Lump"), description = S("Clay Lump"),
inventory_image = "default_clay_lump.png", inventory_image = "clay_lump.png",
}) })
minetest.register_craftitem("default:durasteel_ingot", { minetest.register_craftitem("default:durasteel_ingot", {
description = S("Durasteel Ingot"), description = S("Durasteel Ingot"),
inventory_image = "default_durasteel_ingot.png" inventory_image = "durasteel_ingot.png"
}) })
minetest.register_craftitem("default:copper_ingot", { minetest.register_craftitem("default:copper_ingot", {
description = S("Copper Ingot"), description = S("Copper Ingot"),
inventory_image = "default_copper_ingot.png" inventory_image = "copper_ingot.png"
}) })
minetest.register_craftitem("default:tin_ingot", { minetest.register_craftitem("default:tin_ingot", {
description = S("Tin Ingot"), description = S("Tin Ingot"),
inventory_image = "default_tin_ingot.png" inventory_image = "tin_ingot.png"
}) })
minetest.register_craftitem("default:bronze_ingot", { minetest.register_craftitem("default:bronze_ingot", {
description = S("Bronze Ingot"), description = S("Bronze Ingot"),
inventory_image = "default_bronze_ingot.png" inventory_image = "bronze_ingot.png"
}) })
minetest.register_craftitem("default:gold_ingot", { minetest.register_craftitem("default:gold_ingot", {
description = S("Gold Ingot"), description = S("Gold Ingot"),
inventory_image = "default_gold_ingot.png" inventory_image = "gold_ingot.png"
}) })
minetest.register_craftitem("default:beskar_ingot", { minetest.register_craftitem("default:beskar_ingot", {
description = S("Beskar Ingot"), description = S("Beskar Ingot"),
inventory_image = "default_beskar_ingot.png" inventory_image = "beskar_ingot.png"
})
minetest.register_craftitem("default:mese_crystal_fragment", {
description = S("Mese Crystal Fragment"),
inventory_image = "default_mese_crystal_fragment.png",
}) })
minetest.register_craftitem("default:clay_brick", { minetest.register_craftitem("default:clay_brick", {
description = S("Clay Brick"), description = S("Clay Brick"),
inventory_image = "default_clay_brick.png", inventory_image = "clay_brick.png",
}) })
minetest.register_craftitem("default:obsidian_shard", { minetest.register_craftitem("default:obsidian_shard", {
description = S("Obsidian Shard"), description = S("Obsidian Shard"),
inventory_image = "default_obsidian_shard.png", inventory_image = "obsidian_shard.png",
}) })
minetest.register_craftitem("default:flint", { minetest.register_craftitem("default:kyber_crystal_blue", {
description = S("Flint"), description = S("Kyber Crystal"),
inventory_image = "default_flint.png" inventory_image = "kyber_crystal.png",
stack_max = 1
}) })
minetest.register_craftitem("default:blueberries", { minetest.register_craftitem("default:kyber_crystal_green", {
description = S("Blueberries"), description = S("Kyber Crystal"),
inventory_image = "default_blueberries.png", inventory_image = "kyber_crystal.png",
groups = {food_blueberries = 1, food_berry = 1}, stack_max = 1
on_use = minetest.item_eat(2), })
minetest.register_craftitem("default:kyber_crystal_yellow", {
description = S("Kyber Crystal"),
inventory_image = "kyber_crystal.png",
stack_max = 1
})
minetest.register_craftitem("default:kyber_crystal_purple", {
description = S("Kyber Crystal"),
inventory_image = "kyber_crystal.png",
stack_max = 1
})
minetest.register_craftitem("default:kyber_crystal_red", {
description = S("Bleeding Kyber Crystal"),
inventory_image = "kyber_crystal_red.png",
stack_max = 1
}) })

22
mods/default/food.lua Normal file
View File

@ -0,0 +1,22 @@
-- support for MT game translation.
local S = default.get_translator
-- Jogan Fruit
minetest.register_node("default:jogan_fruit", {
description = S("Jogan Fruit"),
drawtype = "plantlike",
tiles = {"jogan_fruit.png"},
inventory_image = "jogan_fruit.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = false,
selection_box = {
type = "fixed",
fixed = {-3 / 16, -7 / 16, -3 / 16, 3 / 16, 4 / 16, 3 / 16}
},
groups = {food_apple = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 3, leafdecay_drop = 1},
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
})

View File

@ -210,7 +210,7 @@ end
function default.grow_papyrus(pos, node) function default.grow_papyrus(pos, node)
pos.y = pos.y - 1 pos.y = pos.y - 1
local name = minetest.get_node(pos).name local name = minetest.get_node(pos).name
if name ~= "default:dirt_with_grass" and name ~= "default:dirt" then if name ~= "ethereal:grove_dirt" and name ~= "default:dirt" then
return return
end end
if not minetest.find_node_near(pos, 3, {"group:water"}) then if not minetest.find_node_near(pos, 3, {"group:water"}) then
@ -247,7 +247,7 @@ minetest.register_abm({
minetest.register_abm({ minetest.register_abm({
label = "Grow papyrus", label = "Grow papyrus",
nodenames = {"default:papyrus"}, nodenames = {"default:papyrus"},
neighbors = {"default:dirt", "default:dirt_with_grass"}, neighbors = {"default:dirt", "ethereal:grove_dirt"},
interval = 14, interval = 14,
chance = 71, chance = 71,
action = function(...) action = function(...)
@ -519,7 +519,7 @@ minetest.register_abm({
if name == "default:snow" then if name == "default:snow" then
minetest.set_node(pos, {name = "default:dirt_with_snow"}) minetest.set_node(pos, {name = "default:dirt_with_snow"})
elseif minetest.get_item_group(name, "grass") ~= 0 then elseif minetest.get_item_group(name, "grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_grass"}) minetest.set_node(pos, {name = "ethereal:grove_dirt"})
end end
end end
}) })
@ -531,7 +531,7 @@ minetest.register_abm({
minetest.register_abm({ minetest.register_abm({
label = "Grass covered", label = "Grass covered",
nodenames = {"group:spreading_dirt_type", "default:dry_dirt_with_dry_grass"}, nodenames = {"group:spreading_dirt_type", "default:dirt_with_dry_grass"},
interval = 8, interval = 8,
chance = 50, chance = 50,
catch_up = false, catch_up = false,
@ -542,7 +542,7 @@ minetest.register_abm({
if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or
nodedef.paramtype == "light") and nodedef.paramtype == "light") and
nodedef.liquidtype == "none") then nodedef.liquidtype == "none") then
if node.name == "default:dry_dirt_with_dry_grass" then if node.name == "default:dirt_with_dry_grass" then
minetest.set_node(pos, {name = "default:dry_dirt"}) minetest.set_node(pos, {name = "default:dry_dirt"})
else else
minetest.set_node(pos, {name = "default:dirt"}) minetest.set_node(pos, {name = "default:dirt"})

View File

@ -11,8 +11,8 @@ function default.get_furnace_active_formspec(fuel_percent, item_percent)
return "size[8,8.5]".. return "size[8,8.5]"..
"list[context;src;2.75,0.5;1,1;]".. "list[context;src;2.75,0.5;1,1;]"..
"list[context;fuel;2.75,2.5;1,1;]".. "list[context;fuel;2.75,2.5;1,1;]"..
"image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:".. "image[2.75,1.5;1,1;furnace_fire_bg.png^[lowpart:"..
(fuel_percent)..":default_furnace_fire_fg.png]".. (fuel_percent)..":furnace_fire_fg.png]"..
"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:"..
(item_percent)..":gui_furnace_arrow_fg.png^[transformR270]".. (item_percent)..":gui_furnace_arrow_fg.png^[transformR270]"..
"list[context;dst;4.75,0.96;2,2;]".. "list[context;dst;4.75,0.96;2,2;]"..
@ -31,7 +31,7 @@ function default.get_furnace_inactive_formspec()
return "size[8,8.5]".. return "size[8,8.5]"..
"list[context;src;2.75,0.5;1,1;]".. "list[context;src;2.75,0.5;1,1;]"..
"list[context;fuel;2.75,2.5;1,1;]".. "list[context;fuel;2.75,2.5;1,1;]"..
"image[2.75,1.5;1,1;default_furnace_fire_bg.png]".. "image[2.75,1.5;1,1;furnace_fire_bg.png]"..
"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
"list[context;dst;4.75,0.96;2,2;]".. "list[context;dst;4.75,0.96;2,2;]"..
"list[current_player;main;0,4.25;8,1;]".. "list[current_player;main;0,4.25;8,1;]"..
@ -275,9 +275,9 @@ end
minetest.register_node("default:furnace", { minetest.register_node("default:furnace", {
description = S("Furnace"), description = S("Furnace"),
tiles = { tiles = {
"default_furnace_top.png", "default_furnace_bottom.png", "furnace_top.png", "furnace_bottom.png",
"default_furnace_side.png", "default_furnace_side.png", "furnace_side.png", "furnace_side.png",
"default_furnace_side.png", "default_furnace_front.png" "furnace_side.png", "furnace_front.png"
}, },
paramtype2 = "facedir", paramtype2 = "facedir",
groups = {cracky=2}, groups = {cracky=2},
@ -323,11 +323,11 @@ minetest.register_node("default:furnace", {
minetest.register_node("default:furnace_active", { minetest.register_node("default:furnace_active", {
description = S("Furnace"), description = S("Furnace"),
tiles = { tiles = {
"default_furnace_top.png", "default_furnace_bottom.png", "furnace_top.png", "furnace_bottom.png",
"default_furnace_side.png", "default_furnace_side.png", "furnace_side.png", "furnace_side.png",
"default_furnace_side.png", "furnace_side.png",
{ {
image = "default_furnace_front_active.png", image = "furnace_front_active.png",
backface_culling = false, backface_culling = false,
animation = { animation = {
type = "vertical_frames", type = "vertical_frames",

View File

@ -54,15 +54,15 @@ default.gui_survival_form = "size[8,8.5]"..
local default_path = minetest.get_modpath("default") local default_path = minetest.get_modpath("default")
dofile(default_path.."/functions.lua") dofile(default_path.."/functions.lua")
dofile(default_path.."/trees.lua")
dofile(default_path.."/nodes.lua") dofile(default_path.."/nodes.lua")
dofile(default_path.."/chests.lua") dofile(default_path.."/chests.lua")
dofile(default_path.."/furnace.lua") dofile(default_path.."/furnace.lua")
dofile(default_path.."/torch.lua") dofile(default_path.."/torch.lua")
dofile(default_path.."/tools.lua") dofile(default_path.."/tools.lua")
dofile(default_path.."/food.lua")
dofile(default_path.."/item_entity.lua") dofile(default_path.."/item_entity.lua")
dofile(default_path.."/craftitems.lua") dofile(default_path.."/craftitems.lua")
dofile(default_path.."/crafting.lua") dofile(default_path.."/crafting.lua")
dofile(default_path.."/mapgen.lua")
dofile(default_path.."/aliases.lua") dofile(default_path.."/aliases.lua")
dofile(default_path.."/legacy.lua") dofile(default_path.."/legacy.lua")
dofile(default_path.."/mapgen.lua")

View File

@ -35,7 +35,7 @@ local item = {
minsize = 5, minsize = 5,
maxsize = 5, maxsize = 5,
collisiondetection = true, collisiondetection = true,
texture = "default_item_smoke.png" texture = "smoke.png"
}) })
end, end,

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -26,7 +26,7 @@ minetest.register_item(":", {
minetest.register_tool("default:pick_wood", { minetest.register_tool("default:pick_wood", {
description = S("Wooden Pickaxe"), description = S("Wooden Pickaxe"),
inventory_image = "default_tool_woodpick.png", inventory_image = "pick_wood.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level=0,
@ -41,7 +41,7 @@ minetest.register_tool("default:pick_wood", {
minetest.register_tool("default:pick_stone", { minetest.register_tool("default:pick_stone", {
description = S("Stone Pickaxe"), description = S("Stone Pickaxe"),
inventory_image = "default_tool_stonepick.png", inventory_image = "pick_stone.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.3, full_punch_interval = 1.3,
max_drop_level=0, max_drop_level=0,
@ -56,7 +56,7 @@ minetest.register_tool("default:pick_stone", {
minetest.register_tool("default:pick_bronze", { minetest.register_tool("default:pick_bronze", {
description = S("Bronze Pickaxe"), description = S("Bronze Pickaxe"),
inventory_image = "default_tool_bronzepick.png", inventory_image = "pick_bronze.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level=1,
@ -71,7 +71,7 @@ minetest.register_tool("default:pick_bronze", {
minetest.register_tool("default:pick_durasteel", { minetest.register_tool("default:pick_durasteel", {
description = S("Durasteel Pickaxe"), description = S("Durasteel Pickaxe"),
inventory_image = "default_tool_durasteelpick.png", inventory_image = "pick_durasteel.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level=1,
@ -86,7 +86,7 @@ minetest.register_tool("default:pick_durasteel", {
minetest.register_tool("default:pick_beskar", { minetest.register_tool("default:pick_beskar", {
description = S("Beskar Pickaxe"), description = S("Beskar Pickaxe"),
inventory_image = "default_tool_beskarpick.png", inventory_image = "pick_beskar.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
max_drop_level=3, max_drop_level=3,
@ -105,8 +105,8 @@ minetest.register_tool("default:pick_beskar", {
minetest.register_tool("default:shovel_wood", { minetest.register_tool("default:shovel_wood", {
description = S("Wooden Shovel"), description = S("Wooden Shovel"),
inventory_image = "default_tool_woodshovel.png", inventory_image = "shovel_wood.png",
wield_image = "default_tool_woodshovel.png^[transformR90", wield_image = "shovel_wood.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level=0,
@ -121,8 +121,8 @@ minetest.register_tool("default:shovel_wood", {
minetest.register_tool("default:shovel_stone", { minetest.register_tool("default:shovel_stone", {
description = S("Stone Shovel"), description = S("Stone Shovel"),
inventory_image = "default_tool_stoneshovel.png", inventory_image = "shovel_stone.png",
wield_image = "default_tool_stoneshovel.png^[transformR90", wield_image = "shovel_stone.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.4, full_punch_interval = 1.4,
max_drop_level=0, max_drop_level=0,
@ -137,8 +137,8 @@ minetest.register_tool("default:shovel_stone", {
minetest.register_tool("default:shovel_bronze", { minetest.register_tool("default:shovel_bronze", {
description = S("Bronze Shovel"), description = S("Bronze Shovel"),
inventory_image = "default_tool_bronzeshovel.png", inventory_image = "shovel_bronze.png",
wield_image = "default_tool_bronzeshovel.png^[transformR90", wield_image = "shovel_bronze.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.1, full_punch_interval = 1.1,
max_drop_level=1, max_drop_level=1,
@ -153,8 +153,8 @@ minetest.register_tool("default:shovel_bronze", {
minetest.register_tool("default:shovel_durasteel", { minetest.register_tool("default:shovel_durasteel", {
description = S("Durateel Shovel"), description = S("Durateel Shovel"),
inventory_image = "default_tool_durasteelshovel.png", inventory_image = "shovel_durasteel.png",
wield_image = "default_tool_durasteelshovel.png^[transformR90", wield_image = "shovel_durasteel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.1, full_punch_interval = 1.1,
max_drop_level=1, max_drop_level=1,
@ -169,8 +169,8 @@ minetest.register_tool("default:shovel_durasteel", {
minetest.register_tool("default:shovel_beskar", { minetest.register_tool("default:shovel_beskar", {
description = S("Beskar Shovel"), description = S("Beskar Shovel"),
inventory_image = "default_tool_beskarshovel.png", inventory_image = "shovel_beskar.png",
wield_image = "default_tool_beskarshovel.png^[transformR90", wield_image = "shovel_beskar.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level=1,
@ -189,7 +189,7 @@ minetest.register_tool("default:shovel_beskar", {
minetest.register_tool("default:axe_wood", { minetest.register_tool("default:axe_wood", {
description = S("Wooden Axe"), description = S("Wooden Axe"),
inventory_image = "default_tool_woodaxe.png", inventory_image = "axe_wood.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=0, max_drop_level=0,
@ -204,7 +204,7 @@ minetest.register_tool("default:axe_wood", {
minetest.register_tool("default:axe_stone", { minetest.register_tool("default:axe_stone", {
description = S("Stone Axe"), description = S("Stone Axe"),
inventory_image = "default_tool_stoneaxe.png", inventory_image = "axe_stone.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level=0,
@ -219,7 +219,7 @@ minetest.register_tool("default:axe_stone", {
minetest.register_tool("default:axe_bronze", { minetest.register_tool("default:axe_bronze", {
description = S("Bronze Axe"), description = S("Bronze Axe"),
inventory_image = "default_tool_bronzeaxe.png", inventory_image = "axe_bronze.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level=1,
@ -234,7 +234,7 @@ minetest.register_tool("default:axe_bronze", {
minetest.register_tool("default:axe_durasteel", { minetest.register_tool("default:axe_durasteel", {
description = S("Durasteel Axe"), description = S("Durasteel Axe"),
inventory_image = "default_tool_durasteelaxe.png", inventory_image = "axe_durasteel.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level=1,
@ -249,7 +249,7 @@ minetest.register_tool("default:axe_durasteel", {
minetest.register_tool("default:axe_beskar", { minetest.register_tool("default:axe_beskar", {
description = S("Beskar Axe"), description = S("Beskar Axe"),
inventory_image = "default_tool_beskaraxe.png", inventory_image = "axe_beskar.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
max_drop_level=1, max_drop_level=1,
@ -268,7 +268,7 @@ minetest.register_tool("default:axe_beskar", {
minetest.register_tool("default:sword_wood", { minetest.register_tool("default:sword_wood", {
description = S("Wooden Sword"), description = S("Wooden Sword"),
inventory_image = "default_tool_woodsword.png", inventory_image = "sword_wood.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1, full_punch_interval = 1,
max_drop_level=0, max_drop_level=0,
@ -283,7 +283,7 @@ minetest.register_tool("default:sword_wood", {
minetest.register_tool("default:sword_stone", { minetest.register_tool("default:sword_stone", {
description = S("Stone Sword"), description = S("Stone Sword"),
inventory_image = "default_tool_stonesword.png", inventory_image = "sword_stone.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level=0,
@ -298,7 +298,7 @@ minetest.register_tool("default:sword_stone", {
minetest.register_tool("default:sword_bronze", { minetest.register_tool("default:sword_bronze", {
description = S("Bronze Sword"), description = S("Bronze Sword"),
inventory_image = "default_tool_bronzesword.png", inventory_image = "sword_bronze.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.8, full_punch_interval = 0.8,
max_drop_level=1, max_drop_level=1,
@ -313,7 +313,7 @@ minetest.register_tool("default:sword_bronze", {
minetest.register_tool("default:sword_durasteel", { minetest.register_tool("default:sword_durasteel", {
description = S("Durasteel Sword"), description = S("Durasteel Sword"),
inventory_image = "default_tool_durasteelsword.png", inventory_image = "sword_durasteel.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.8, full_punch_interval = 0.8,
max_drop_level=1, max_drop_level=1,
@ -328,7 +328,7 @@ minetest.register_tool("default:sword_durasteel", {
minetest.register_tool("default:sword_beskar", { minetest.register_tool("default:sword_beskar", {
description = S("Beskar Sword"), description = S("Beskar Sword"),
inventory_image = "default_tool_beskarsword.png", inventory_image = "sword_beskar.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.7, full_punch_interval = 0.7,
max_drop_level=1, max_drop_level=1,
@ -343,7 +343,7 @@ minetest.register_tool("default:sword_beskar", {
minetest.register_tool("default:keycard", { minetest.register_tool("default:keycard", {
description = S("Keycard"), description = S("Keycard"),
inventory_image = "default_keycard.png", inventory_image = "keycard.png",
groups = {key = 1, not_in_creative_inventory = 1}, groups = {key = 1, not_in_creative_inventory = 1},
stack_max = 1, stack_max = 1,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)

View File

@ -22,10 +22,10 @@ minetest.register_node("default:torch", {
description = S("Torch"), description = S("Torch"),
drawtype = "mesh", drawtype = "mesh",
mesh = "torch_floor.obj", mesh = "torch_floor.obj",
inventory_image = "default_torch_on_floor.png", inventory_image = "torch.png",
wield_image = "default_torch_on_floor.png", wield_image = "torch.png",
tiles = {{ tiles = {{
name = "default_torch_on_floor_animated.png", name = "torch_animated.png",
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
}}, }},
paramtype = "light", paramtype = "light",
@ -76,7 +76,7 @@ minetest.register_node("default:torch_wall", {
drawtype = "mesh", drawtype = "mesh",
mesh = "torch_wall.obj", mesh = "torch_wall.obj",
tiles = {{ tiles = {{
name = "default_torch_on_floor_animated.png", name = "torch_animated.png",
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
}}, }},
paramtype = "light", paramtype = "light",
@ -99,7 +99,7 @@ minetest.register_node("default:torch_ceiling", {
drawtype = "mesh", drawtype = "mesh",
mesh = "torch_ceiling.obj", mesh = "torch_ceiling.obj",
tiles = {{ tiles = {{
name = "default_torch_on_floor_animated.png", name = "torch_animated.png",
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
}}, }},
paramtype = "light", paramtype = "light",

View File

@ -1,610 +0,0 @@
-- default/trees.lua
-- support for MT game translation.
local S = default.get_translator
local random = math.random
--
-- Grow trees from saplings
--
-- 'can grow' function
function default.can_grow(pos)
local node_under = minetest.get_node_or_nil({x = pos.x, y = pos.y - 1, z = pos.z})
if not node_under then
return false
end
local name_under = node_under.name
local is_soil = minetest.get_item_group(name_under, "soil")
if is_soil == 0 then
return false
end
local light_level = minetest.get_node_light(pos)
if not light_level or light_level < 13 then
return false
end
return true
end
-- 'is snow nearby' function
local function is_snow_nearby(pos)
return minetest.find_node_near(pos, 1, {"group:snowy"})
end
-- Grow sapling
function default.grow_sapling(pos)
if not default.can_grow(pos) then
-- try again 5 min later
minetest.get_node_timer(pos):start(300)
return
end
local mg_name = minetest.get_mapgen_setting("mg_name")
local node = minetest.get_node(pos)
if node.name == "default:sapling" then
minetest.log("action", "A sapling grows into a tree at "..
minetest.pos_to_string(pos))
if mg_name == "v6" then
default.grow_tree(pos, random(1, 4) == 1)
else
default.grow_new_jogan_tree(pos)
end
elseif node.name == "default:junglesapling" then
minetest.log("action", "A jungle sapling grows into a tree at "..
minetest.pos_to_string(pos))
if mg_name == "v6" then
default.grow_jungle_tree(pos)
else
default.grow_new_jungle_tree(pos)
end
elseif node.name == "default:pine_sapling" then
minetest.log("action", "A pine sapling grows into a tree at "..
minetest.pos_to_string(pos))
local snow = is_snow_nearby(pos)
if mg_name == "v6" then
default.grow_pine_tree(pos, snow)
elseif snow then
default.grow_new_snowy_pine_tree(pos)
else
default.grow_new_pine_tree(pos)
end
elseif node.name == "default:acacia_sapling" then
minetest.log("action", "An acacia sapling grows into a tree at "..
minetest.pos_to_string(pos))
default.grow_new_acacia_tree(pos)
elseif node.name == "default:aspen_sapling" then
minetest.log("action", "An aspen sapling grows into a tree at "..
minetest.pos_to_string(pos))
default.grow_new_aspen_tree(pos)
elseif node.name == "default:bush_sapling" then
minetest.log("action", "A bush sapling grows into a bush at "..
minetest.pos_to_string(pos))
default.grow_bush(pos)
elseif node.name == "default:blueberry_bush_sapling" then
minetest.log("action", "A blueberry bush sapling grows into a bush at "..
minetest.pos_to_string(pos))
default.grow_blueberry_bush(pos)
elseif node.name == "default:acacia_bush_sapling" then
minetest.log("action", "An acacia bush sapling grows into a bush at "..
minetest.pos_to_string(pos))
default.grow_acacia_bush(pos)
elseif node.name == "default:pine_bush_sapling" then
minetest.log("action", "A pine bush sapling grows into a bush at "..
minetest.pos_to_string(pos))
default.grow_pine_bush(pos)
elseif node.name == "default:emergent_jungle_sapling" then
minetest.log("action", "An emergent jungle sapling grows into a tree at "..
minetest.pos_to_string(pos))
default.grow_new_emergent_jungle_tree(pos)
end
end
minetest.register_lbm({
name = "default:convert_saplings_to_node_timer",
nodenames = {"default:sapling", "default:junglesapling",
"default:pine_sapling", "default:acacia_sapling",
"default:aspen_sapling"},
action = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end
})
--
-- Tree generation
--
-- Jogan tree and jungle tree trunk and leaves function
local function add_trunk_and_leaves(data, a, pos, tree_cid, leaves_cid,
height, size, iters, is_jogan_tree)
local x, y, z = pos.x, pos.y, pos.z
local c_air = minetest.get_content_id("air")
local c_ignore = minetest.get_content_id("ignore")
local c_jogan = minetest.get_content_id("default:joganfruit")
-- Trunk
data[a:index(x, y, z)] = tree_cid -- Force-place lowest trunk node to replace sapling
for yy = y + 1, y + height - 1 do
local vi = a:index(x, yy, z)
local node_id = data[vi]
if node_id == c_air or node_id == c_ignore or node_id == leaves_cid then
data[vi] = tree_cid
end
end
-- Force leaves near the trunk
for z_dist = -1, 1 do
for y_dist = -size, 1 do
local vi = a:index(x - 1, y + height + y_dist, z + z_dist)
for x_dist = -1, 1 do
if data[vi] == c_air or data[vi] == c_ignore then
if is_jogan_tree and random(1, 8) == 1 then
data[vi] = c_jogan
else
data[vi] = leaves_cid
end
end
vi = vi + 1
end
end
end
-- Randomly add leaves in 2x2x2 clusters.
for i = 1, iters do
local clust_x = x + random(-size, size - 1)
local clust_y = y + height + random(-size, 0)
local clust_z = z + random(-size, size - 1)
for xi = 0, 1 do
for yi = 0, 1 do
for zi = 0, 1 do
local vi = a:index(clust_x + xi, clust_y + yi, clust_z + zi)
if data[vi] == c_air or data[vi] == c_ignore then
if is_jogan_tree and random(1, 8) == 1 then
data[vi] = c_jogan
else
data[vi] = leaves_cid
end
end
end
end
end
end
end
-- Jogan tree
function default.grow_tree(pos, is_jogan_tree, bad)
--[[
NOTE: Tree-placing code is currently duplicated in the engine
and in games that have saplings; both are deprecated but not
replaced yet
--]]
if bad then
error("Deprecated use of default.grow_tree")
end
local x, y, z = pos.x, pos.y, pos.z
local height = random(4, 5)
local c_tree = minetest.get_content_id("default:tree")
local c_leaves = minetest.get_content_id("default:leaves")
local vm = minetest.get_voxel_manip()
local minp, maxp = vm:read_from_map(
{x = x - 2, y = y, z = z - 2},
{x = x + 2, y = y + height + 1, z = z + 2}
)
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
local data = vm:get_data()
add_trunk_and_leaves(data, a, pos, c_tree, c_leaves, height, 2, 8, is_jogan_tree)
vm:set_data(data)
vm:write_to_map()
vm:update_map()
end
-- Jungle tree
function default.grow_jungle_tree(pos, bad)
--[[
NOTE: Jungletree-placing code is currently duplicated in the engine
and in games that have saplings; both are deprecated but not
replaced yet
--]]
if bad then
error("Deprecated use of default.grow_jungle_tree")
end
local x, y, z = pos.x, pos.y, pos.z
local height = random(8, 12)
local c_air = minetest.get_content_id("air")
local c_ignore = minetest.get_content_id("ignore")
local c_jungletree = minetest.get_content_id("default:jungletree")
local c_jungleleaves = minetest.get_content_id("default:jungleleaves")
local vm = minetest.get_voxel_manip()
local minp, maxp = vm:read_from_map(
{x = x - 3, y = y - 1, z = z - 3},
{x = x + 3, y = y + height + 1, z = z + 3}
)
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
local data = vm:get_data()
add_trunk_and_leaves(data, a, pos, c_jungletree, c_jungleleaves,
height, 3, 30, false)
-- Roots
for z_dist = -1, 1 do
local vi_1 = a:index(x - 1, y - 1, z + z_dist)
local vi_2 = a:index(x - 1, y, z + z_dist)
for x_dist = -1, 1 do
if random(1, 3) >= 2 then
if data[vi_1] == c_air or data[vi_1] == c_ignore then
data[vi_1] = c_jungletree
elseif data[vi_2] == c_air or data[vi_2] == c_ignore then
data[vi_2] = c_jungletree
end
end
vi_1 = vi_1 + 1
vi_2 = vi_2 + 1
end
end
vm:set_data(data)
vm:write_to_map()
vm:update_map()
end
-- Pine tree from mg mapgen mod, design by sfan5, pointy top added by paramat
local function add_pine_needles(data, vi, c_air, c_ignore, c_snow, c_pine_needles)
local node_id = data[vi]
if node_id == c_air or node_id == c_ignore or node_id == c_snow then
data[vi] = c_pine_needles
end
end
local function add_snow(data, vi, c_air, c_ignore, c_snow)
local node_id = data[vi]
if node_id == c_air or node_id == c_ignore then
data[vi] = c_snow
end
end
function default.grow_pine_tree(pos, snow)
local x, y, z = pos.x, pos.y, pos.z
local maxy = y + random(9, 13) -- Trunk top
local c_air = minetest.get_content_id("air")
local c_ignore = minetest.get_content_id("ignore")
local c_pine_tree = minetest.get_content_id("default:pine_tree")
local c_pine_needles = minetest.get_content_id("default:pine_needles")
local c_snow = minetest.get_content_id("default:snow")
local vm = minetest.get_voxel_manip()
local minp, maxp = vm:read_from_map(
{x = x - 3, y = y, z = z - 3},
{x = x + 3, y = maxy + 3, z = z + 3}
)
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
local data = vm:get_data()
-- Upper branches layer
local dev = 3
for yy = maxy - 1, maxy + 1 do
for zz = z - dev, z + dev do
local vi = a:index(x - dev, yy, zz)
local via = a:index(x - dev, yy + 1, zz)
for xx = x - dev, x + dev do
if random() < 0.95 - dev * 0.05 then
add_pine_needles(data, vi, c_air, c_ignore, c_snow,
c_pine_needles)
if snow then
add_snow(data, via, c_air, c_ignore, c_snow)
end
end
vi = vi + 1
via = via + 1
end
end
dev = dev - 1
end
-- Centre top nodes
add_pine_needles(data, a:index(x, maxy + 1, z), c_air, c_ignore, c_snow,
c_pine_needles)
add_pine_needles(data, a:index(x, maxy + 2, z), c_air, c_ignore, c_snow,
c_pine_needles) -- Paramat added a pointy top node
if snow then
add_snow(data, a:index(x, maxy + 3, z), c_air, c_ignore, c_snow)
end
-- Lower branches layer
local my = 0
for i = 1, 20 do -- Random 2x2 squares of needles
local xi = x + random(-3, 2)
local yy = maxy + random(-6, -5)
local zi = z + random(-3, 2)
if yy > my then
my = yy
end
for zz = zi, zi+1 do
local vi = a:index(xi, yy, zz)
local via = a:index(xi, yy + 1, zz)
for xx = xi, xi + 1 do
add_pine_needles(data, vi, c_air, c_ignore, c_snow,
c_pine_needles)
if snow then
add_snow(data, via, c_air, c_ignore, c_snow)
end
vi = vi + 1
via = via + 1
end
end
end
dev = 2
for yy = my + 1, my + 2 do
for zz = z - dev, z + dev do
local vi = a:index(x - dev, yy, zz)
local via = a:index(x - dev, yy + 1, zz)
for xx = x - dev, x + dev do
if random() < 0.95 - dev * 0.05 then
add_pine_needles(data, vi, c_air, c_ignore, c_snow,
c_pine_needles)
if snow then
add_snow(data, via, c_air, c_ignore, c_snow)
end
end
vi = vi + 1
via = via + 1
end
end
dev = dev - 1
end
-- Trunk
-- Force-place lowest trunk node to replace sapling
data[a:index(x, y, z)] = c_pine_tree
for yy = y + 1, maxy do
local vi = a:index(x, yy, z)
local node_id = data[vi]
if node_id == c_air or node_id == c_ignore or
node_id == c_pine_needles or node_id == c_snow then
data[vi] = c_pine_tree
end
end
vm:set_data(data)
vm:write_to_map()
vm:update_map()
end
-- New jogan tree
function default.grow_new_jogan_tree(pos)
local path = minetest.get_modpath("default") ..
"/schematics/jogan_tree_from_sapling.mts"
minetest.place_schematic({x = pos.x - 3, y = pos.y - 1, z = pos.z - 3},
path, "random", nil, false)
end
-- New jungle tree
function default.grow_new_jungle_tree(pos)
local path = minetest.get_modpath("default") ..
"/schematics/jungle_tree_from_sapling.mts"
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
path, "random", nil, false)
end
-- New emergent jungle tree
function default.grow_new_emergent_jungle_tree(pos)
local path = minetest.get_modpath("default") ..
"/schematics/emergent_jungle_tree_from_sapling.mts"
minetest.place_schematic({x = pos.x - 3, y = pos.y - 5, z = pos.z - 3},
path, "random", nil, false)
end
-- New pine tree
function default.grow_new_pine_tree(pos)
local path
if math.random() > 0.5 then
path = minetest.get_modpath("default") ..
"/schematics/pine_tree_from_sapling.mts"
else
path = minetest.get_modpath("default") ..
"/schematics/small_pine_tree_from_sapling.mts"
end
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
path, "0", nil, false)
end
-- New snowy pine tree
function default.grow_new_snowy_pine_tree(pos)
local path
if math.random() > 0.5 then
path = minetest.get_modpath("default") ..
"/schematics/snowy_pine_tree_from_sapling.mts"
else
path = minetest.get_modpath("default") ..
"/schematics/snowy_small_pine_tree_from_sapling.mts"
end
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
path, "random", nil, false)
end
-- New acacia tree
function default.grow_new_acacia_tree(pos)
local path = minetest.get_modpath("default") ..
"/schematics/acacia_tree_from_sapling.mts"
minetest.place_schematic({x = pos.x - 4, y = pos.y - 1, z = pos.z - 4},
path, "random", nil, false)
end
-- New aspen tree
function default.grow_new_aspen_tree(pos)
local path = minetest.get_modpath("default") ..
"/schematics/aspen_tree_from_sapling.mts"
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
path, "0", nil, false)
end
-- Bushes do not need 'from sapling' schematic variants because
-- only the stem node is force-placed in the schematic.
-- Bush
function default.grow_bush(pos)
local path = minetest.get_modpath("default") ..
"/schematics/bush.mts"
minetest.place_schematic({x = pos.x - 1, y = pos.y - 1, z = pos.z - 1},
path, "0", nil, false)
end
-- Blueberry bush
function default.grow_blueberry_bush(pos)
local path = minetest.get_modpath("default") ..
"/schematics/blueberry_bush.mts"
minetest.place_schematic({x = pos.x - 1, y = pos.y, z = pos.z - 1},
path, "0", nil, false)
end
-- Acacia bush
function default.grow_acacia_bush(pos)
local path = minetest.get_modpath("default") ..
"/schematics/acacia_bush.mts"
minetest.place_schematic({x = pos.x - 1, y = pos.y - 1, z = pos.z - 1},
path, "0", nil, false)
end
-- Pine bush
function default.grow_pine_bush(pos)
local path = minetest.get_modpath("default") ..
"/schematics/pine_bush.mts"
minetest.place_schematic({x = pos.x - 1, y = pos.y - 1, z = pos.z - 1},
path, "0", nil, false)
end
-- Large cactus
function default.grow_large_cactus(pos)
local path = minetest.get_modpath("default") ..
"/schematics/large_cactus.mts"
minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
path, "random", nil, false)
end
--
-- Sapling 'on place' function to check protection of node and resulting tree volume
--
function default.sapling_on_place(itemstack, placer, pointed_thing,
sapling_name, minp_relative, maxp_relative, interval)
-- Position of sapling
local pos = pointed_thing.under
local node = minetest.get_node_or_nil(pos)
local pdef = node and minetest.registered_nodes[node.name]
if pdef and pdef.on_rightclick and
not (placer and placer:is_player() and
placer:get_player_control().sneak) then
return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing)
end
if not pdef or not pdef.buildable_to then
pos = pointed_thing.above
node = minetest.get_node_or_nil(pos)
pdef = node and minetest.registered_nodes[node.name]
if not pdef or not pdef.buildable_to then
return itemstack
end
end
local player_name = placer and placer:get_player_name() or ""
-- Check sapling position for protection
if minetest.is_protected(pos, player_name) then
minetest.record_protection_violation(pos, player_name)
return itemstack
end
-- Check tree volume for protection
if minetest.is_area_protected(
vector.add(pos, minp_relative),
vector.add(pos, maxp_relative),
player_name,
interval) then
minetest.record_protection_violation(pos, player_name)
-- Print extra information to explain
-- minetest.chat_send_player(player_name,
-- itemstack:get_definition().description .. " will intersect protection " ..
-- "on growth")
minetest.chat_send_player(player_name,
S("@1 will intersect protection on growth.",
itemstack:get_definition().description))
return itemstack
end
minetest.log("action", player_name .. " places node "
.. sapling_name .. " at " .. minetest.pos_to_string(pos))
local take_item = not (creative and creative.is_enabled_for
and creative.is_enabled_for(player_name))
local newnode = {name = sapling_name}
local ndef = minetest.registered_nodes[sapling_name]
minetest.set_node(pos, newnode)
-- Run callback
if ndef and ndef.after_place_node then
-- Deepcopy place_to and pointed_thing because callback can modify it
if ndef.after_place_node(table.copy(pos), placer,
itemstack, table.copy(pointed_thing)) then
take_item = false
end
end
-- Run script hook
for _, callback in ipairs(minetest.registered_on_placenodes) do
-- Deepcopy pos, node and pointed_thing because callback can modify them
if callback(table.copy(pos), table.copy(newnode),
placer, table.copy(node or {}),
itemstack, table.copy(pointed_thing)) then
take_item = false
end
end
if take_item then
itemstack:take_item()
end
return itemstack
end

View File

@ -93,7 +93,7 @@ minetest.register_node("doors:hidden", {
drop = "", drop = "",
groups = {not_in_creative_inventory = 1}, groups = {not_in_creative_inventory = 1},
on_blast = function() end, on_blast = function() end,
tiles = {"doors_blank.png"}, tiles = {"door_blank.png"},
-- 1px transparent block inside door hinge near node top. -- 1px transparent block inside door hinge near node top.
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -454,37 +454,37 @@ function doors.register(name, def)
end end
doors.register("door_wood", { doors.register("door_wood", {
tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, tiles = {{ name = "door_wood.png", backface_culling = true }},
description = S("Wooden Door"), description = S("Wooden Door"),
inventory_image = "doors_item_wood.png", inventory_image = "doore_wood_item.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
recipe = { recipe = {
{"group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood"},
{"group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood"},
{"group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood"},
} }
}) })
doors.register("door_durasteel", { doors.register("door_durasteel", {
tiles = {{name = "doors_door_durasteel.png", backface_culling = true}}, tiles = {{name = "door_durasteel.png", backface_culling = true}},
description = S("Durasteel Door"), description = S("Durasteel Door"),
inventory_image = "doors_item_durasteel.png", inventory_image = "door_durasteel_item.png",
protected = true, protected = true,
groups = {cracky = 1, level = 2}, groups = {cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
sound_open = "doors_steel_door_open", sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close", sound_close = "doors_steel_door_close",
recipe = { recipe = {
{"default:durasteel_ingot", "duradefault:steel_ingot"}, {"default:durasteel_ingot", "default:durasteel_ingot"},
{"default:durasteel_ingot", "duradefault:steel_ingot"}, {"default:durasteel_ingot", "default:durasteel_ingot"},
{"default:durasteel_ingot", "duradefault:steel_ingot"}, {"default:durasteel_ingot", "default:durasteel_ingot"},
} }
}) })
doors.register("door_glass", { doors.register("door_glass", {
tiles = {"doors_door_glass.png"}, tiles = {"door_glass.png"},
description = S("Glass Door"), description = S("Glass Door"),
inventory_image = "doors_item_glass.png", inventory_image = "door_glass_item.png",
groups = {cracky=3, oddly_breakable_by_hand=3}, groups = {cracky=3, oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open", sound_open = "doors_glass_door_open",
@ -497,9 +497,9 @@ doors.register("door_glass", {
}) })
doors.register("door_obsidian_glass", { doors.register("door_obsidian_glass", {
tiles = {"doors_door_obsidian_glass.png"}, tiles = {"door_obsidian_glass.png"},
description = S("Obsidian Glass Door"), description = S("Obsidian Glass Door"),
inventory_image = "doors_item_obsidian_glass.png", inventory_image = "door_obsidian_glass_item.png",
groups = {cracky=3}, groups = {cracky=3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open", sound_open = "doors_glass_door_open",
@ -522,9 +522,9 @@ function doors.register_door(name, def)
local modname = name:sub(1, i - 1) local modname = name:sub(1, i - 1)
if not def.tiles then if not def.tiles then
if def.protected then if def.protected then
def.tiles = {{name = "doors_door_durasteel.png", backface_culling = true}} def.tiles = {{name = "door_durasteel.png", backface_culling = true}}
else else
def.tiles = {{name = "doors_door_wood.png", backface_culling = true}} def.tiles = {{name = "door_wood.png", backface_culling = true}}
end end
minetest.log("warning", modname .. " registered door \"" .. name .. "\" " .. minetest.log("warning", modname .. " registered door \"" .. name .. "\" " ..
"using deprecated API method \"doors.register_door()\" but " .. "using deprecated API method \"doors.register_door()\" but " ..
@ -684,21 +684,21 @@ function doors.register_trapdoor(name, def)
doors.registered_trapdoors[name_closed] = true doors.registered_trapdoors[name_closed] = true
end end
doors.register_trapdoor("doors:trapdoor", { doors.register_trapdoor("doors:trapdoor_wood", {
description = S("Wooden Trapdoor"), description = S("Wooden Trapdoor"),
inventory_image = "doors_trapdoor.png", inventory_image = "trapdoor_wood.png",
wield_image = "doors_trapdoor.png", wield_image = "trapdoor_wood.png",
tile_front = "doors_trapdoor.png", tile_front = "trapdoor_wood.png",
tile_side = "doors_trapdoor_side.png", tile_side = "trapdoor_wood_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
}) })
doors.register_trapdoor("doors:trapdoor_durasteel", { doors.register_trapdoor("doors:trapdoor_durasteel", {
description = S("Durasteel Trapdoor"), description = S("Durasteel Trapdoor"),
inventory_image = "doors_trapdoor_durasteel.png", inventory_image = "trapdoor_durasteel.png",
wield_image = "doors_trapdoor_durasteel.png", wield_image = "trapdoor_durasteel.png",
tile_front = "doors_trapdoor_durasteel.png", tile_front = "trapdoor_durasteel.png",
tile_side = "doors_trapdoor_durasteel_side.png", tile_side = "trapdoor_durasteel_side.png",
protected = true, protected = true,
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
sound_open = "doors_steel_door_open", sound_open = "doors_steel_door_open",
@ -707,10 +707,10 @@ doors.register_trapdoor("doors:trapdoor_durasteel", {
}) })
minetest.register_craft({ minetest.register_craft({
output = "doors:trapdoor 2", output = "doors:trapdoor_wood 2",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"group:wood", "group:wood", "group:wood"}, {"group:soft_wood", "group:soft_wood", "group:soft_wood"},
{"", "", ""}, {"", "", ""},
} }
}) })
@ -801,39 +801,39 @@ function doors.register_fencegate(name, def)
}) })
end end
doors.register_fencegate("doors:gate_wood", { doors.register_fencegate("doors:gate_jogan_wood", {
description = S("Apple Wood Fence Gate"), description = S("Jogan Wood Fence Gate"),
texture = "default_wood.png", texture = "jogan_wood.png",
material = "default:wood", material = "default:jogan_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("doors:gate_acacia_wood", {
description = S("Acacia Wood Fence Gate"),
texture = "default_acacia_wood.png",
material = "default:acacia_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("doors:gate_junglewood", {
description = S("Jungle Wood Fence Gate"),
texture = "default_junglewood.png",
material = "default:junglewood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
}) })
doors.register_fencegate("doors:gate_pine_wood", { doors.register_fencegate("doors:gate_pine_wood", {
description = S("Pine Wood Fence Gate"), description = S("Pine Wood Fence Gate"),
texture = "default_pine_wood.png", texture = "pine_wood.png",
material = "default:pine_wood", material = "default:pine_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
}) })
doors.register_fencegate("doors:gate_aspen_wood", { doors.register_fencegate("doors:gate_palm_wood", {
description = S("Aspen Wood Fence Gate"), description = S("Palm Wood Fence Gate"),
texture = "default_aspen_wood.png", texture = "palm_wood.png",
material = "default:aspen_wood", material = "default:palm_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("doors:gate_uneti_wood", {
description = S("Uneti Wood Fence Gate"),
texture = "uneti_wood.png",
material = "default:uneti_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("doors:gate_wroshyr_wood", {
description = S("Wroshyr Wood Fence Gate"),
texture = "wroshyr_wood.png",
material = "default:wroshyr_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
}) })
@ -841,7 +841,7 @@ doors.register_fencegate("doors:gate_aspen_wood", {
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "doors:trapdoor", recipe = "doors:trapdoor_wood",
burntime = 7, burntime = 7,
}) })
@ -853,30 +853,30 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "doors:gate_wood_closed", recipe = "doors:gate_jogan_wood_closed",
burntime = 7, burntime = 7,
}) })
minetest.register_craft({
type = "fuel",
recipe = "doors:gate_acacia_wood_closed",
burntime = 8,
})
minetest.register_craft({
type = "fuel",
recipe = "doors:gate_junglewood_closed",
burntime = 9,
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "doors:gate_pine_wood_closed", recipe = "doors:gate_pine_wood_closed",
burntime = 6, burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "doors:gate_aspen_wood_closed", recipe = "doors:gate_palm_wood_closed",
burntime = 5, burntime = 7,
})
minetest.register_craft({
type = "fuel",
recipe = "doors:gate_uneti_wood_closed",
burntime = 7,
})
minetest.register_craft({
type = "fuel",
recipe = "doors:gate_wroshyr_wood_closed",
burntime = 7,
}) })

View File

@ -18,7 +18,7 @@ dungeon_loot.registered_loot = {
-- farming / consumable -- farming / consumable
{name = "farming:string", chance = 0.5, count = {1, 8}}, {name = "farming:string", chance = 0.5, count = {1, 8}},
{name = "farming:wheat", chance = 0.5, count = {2, 5}}, {name = "farming:wheat", chance = 0.5, count = {2, 5}},
{name = "default:joganfruit", chance = 0.4, count = {1, 4}}, {name = "default:jogan_fruit", chance = 0.4, count = {1, 4}},
{name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, {name = "farming:seed_cotton", chance = 0.4, count = {1, 4},
types = {"normal"}}, types = {"normal"}},
{name = "default:cactus", chance = 0.4, count = {1, 4}, {name = "default:cactus", chance = 0.4, count = {1, 4},
@ -28,7 +28,7 @@ dungeon_loot.registered_loot = {
{name = "default:coal_lump", chance = 0.9, count = {1, 12}}, {name = "default:coal_lump", chance = 0.9, count = {1, 12}},
{name = "default:gold_ingot", chance = 0.5}, {name = "default:gold_ingot", chance = 0.5},
{name = "default:durasteel_ingot", chance = 0.4, count = {1, 6}}, {name = "default:durasteel_ingot", chance = 0.4, count = {1, 6}},
{name = "default:mese_crystal", chance = 0.1, count = {2, 3}}, {name = "default:beskar_ingot", chance = 0.1, count = {2, 3}},
-- tools -- tools
{name = "default:sword_wood", chance = 0.6}, {name = "default:sword_wood", chance = 0.6},
@ -47,7 +47,7 @@ dungeon_loot.registered_loot = {
{name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 32768}, {name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 32768},
types = {"normal", "sandstone", "desert"}}, types = {"normal", "sandstone", "desert"}},
{name = "default:obsidian", chance = 0.25, count = {1, 3}, y = {-32768, -512}}, {name = "default:obsidian", chance = 0.25, count = {1, 3}, y = {-32768, -512}},
{name = "default:mese", chance = 0.15, y = {-32768, -512}}, {name = "default:beskar_block", chance = 0.15, y = {-32768, -512}},
} }
function dungeon_loot.register(t) function dungeon_loot.register(t)

View File

@ -56,15 +56,6 @@ minetest.register_craft({
}, },
}) })
-- Manually add blueberries->violet dye
minetest.register_craft({
output = "dye:violet 2",
recipe = {
{"default:blueberries"}
},
})
-- Mix recipes -- Mix recipes
local dye_recipes = { local dye_recipes = {

377
mods/ethereal/README.md Normal file
View File

@ -0,0 +1,377 @@
# ethereal
Ethereal Mapgen mod for Minetest (works on all except v6)
## Forum Topic
- https://forum.minetest.net/viewtopic.php?f=11&t=14638
## Lucky Blocks
42
## Changelog
### 1.27
- Added Etherium ore and dust
- Added sparse decoration of dry grass and shrub to caves biome
- Added sponges that spawn near coral, dry sponge in furnace to soak up water
- Added new savanna dirt and decorations
- Use default grass abms
### 1.26
- Added Sakura biome, pink sakura trees and saplings
- 1 in 10 chance of sakura sapling growing into white sakura
- Bamboo grows in higher elevation while sakura grows in lower
- Added sakura wood, stairs, fence, gate and door
- Added 5.0 checks to add new biomes and decorations
- Fixed water abm for dry dirt and added check for minetest 5.1 dry dirt also
### 1.25
- Converted .mts files into schematic tables for easier editing
- Added firethorn shrub in glacier areas (can be crafted into jelly)
- Tweaked mapgen decorations
- Added more lucky blocks
- Added igloo to glacier biome
- 2x2 bamboo = bamboo floor, 3x3 bamboo or 2x bamboo floor = bamboo block, blocks can be made into sticks, bamboo stairs need blocks to craft
### 1.24
- Updating code to newer functions, requires Minetest 0.4.16 and above
- Added food groups to be more compatible with other food mods
- Bonemeal removed (use Bonemeal mod to replace https://forum.minetest.net/viewtopic.php?f=9&t=16446 )
- Crystal Ingot recipe requires a bucket of water, unless you are using builtin_item mod where you can mix ingredients by dropping in a pool of water instead
### 1.23
- Added bonemeal support for bush sapling and acacia bush sapling
- Added support for [toolranks] mod if found
- Reworked Crystal Shovel so it acts more like a normal shovel with soft touch
### 1.22
- Added coral and silver sand to mapgen (0.4.15 only)
- Replaced ethereal:green_dirt with default:dirt_with_grass for mortrees compatibility
- Mesa biomes are now topped with dirt with dry grass (redwood saplings grow on dry grass)
- Added bonemeal support for moretree's saplings
- Added settings.conf file example so that settings remain after mod update
- Added support for Real Torch so that torches near water drop an unlit torch
- Added support for new leafdecay functions (0.4.15 dev)
- Mapgen will use dirt_with_rainforest_litter for jungles if found
- Added bushes to mapgen
### 1.21
- Saplings need clear space above to grow (depending on height of tree)
- Bonemeal changes to suit new sapling growth
- Fixes and tweaks
- Added default Abm overrides
- Added 4 new plants from baked clay mod to mapgen
- Added swamp biome to outskirts of bamboo areas
### 1.20
- Tweaked Ethereal to work with new features and nodes in Minetest 0.4.14
- Added bones found in dirt and bonemeal to make tree's and crops grow quicker
- Tree's follow default rules where saplings need light to grow
- Using default schematics for apple, pine, acacia and jungle tree's
- Tidied and split code into separate files
- Redid coloured grass spread function to run better
- Added support for moreblock's stairsplus feature
### 1.19
- Added new biome routine to help restructure biomes
- Tweaked biome values so that they are more spread out (no more huge bamboo biome)
- Tweaked biome plant and tree decorations
- Fixed farming compatibility when using hoe on ethereal dirt
- Dirt with dry grass turns into green grass when near water
- Ice or snow above sea level melts into river water
- Disabling ethereal biomes no longer shows error messages
- Fire Flowers re-generate, can also be made into Fire Dust and both are fuel
- Optimize and tidy code
### 1.18
- Added Birch tree, also stairs; fence and gate
- Added Fire flower to fiery biomes (careful, it hurts)
- Tweaked biomes and decoration slightly
- Added tree_tool for admin to quickly grow tree's
- Cobble to Mossycobble when near water has been toned down a bit
### 1.17
- Added new Glacier biome filled with snow and ice
- Changed Mesa biome to have more coloured clay patterns
- Changed Bamboo biome to have tall tree-like stalks with leaves that give
- Bamboo sprouts are now saplings to grow new stalks
- Removed farmed mushrooms and replaced with default game mushrooms with spores
### 1.16
- Added new tree schematics that change when placed with random leaves, fruit and height
- Changed frost dirt so that it no longer freezes water (saves lag)
- Torches cannot be placed next to water, otherwise they drop as items
- Added latest farming redo Bean Bushes to mapgen
- Code tidy (thanks HybridDog) and bug fix
- Banana, Orange and Apple fruits now drop when tree has been removed.
### 1.15
- Added Staff of Light (thanks Xanthin), crafted from illumishrooms and can turn stone into glostone and back again
- Changed how Crystal Spikes reproduce
- Crystal Ingots now require 2x mese crystal and 2x crystal spikes to craft
- Removed obsidian brick & stairs now they are in default game, also removed pine wood stairs for same reason
- Tidied code and optimized a few routines
### 1.14
- Changed Ethereal to work with Minetest 0.4.11 update and new mapgen features
- Changed Pine tree's to use default pine wood
- Added pine wood fence, gate and stairs
- Crystal Spikes now re-generate in crystal biomes
- Removed layer mapgen, keeping spread as default
### 1.13
- Changed melting feature to work with 0.4.11 pre-release now that group:hot and group:melt have been removed
### 1.12
- Added ability to disable biomes in the init.lua file by setting to 1 (enable) or 0 (disable)
- Supports Framing Redo 1.10 foods
### 1.11
- Added Stairs for Ethereal wood types, mushroom, dry dirt, obsidian brick and clay
- Added Green Coral which can be used as green dye
- Craft 5x Ice in X pattern to give 5x Snow
- Added Snow and Ice Bricks with their own stairs and slabs which melt when near heat
### 1.10
- Added Stone Ladders (another use for cobble)
- Craft 5x Gravel in X pattern to give 5 dirt, and 5x dirt in X pattern for 5 sand
- Added Acacia tree's to desert biome (a nice pink wood to build with, thanks to VanessaE for textures)
- Added Acacia fences and gates
- Added Vines, craftable with 2x3 leaves
### 1.09
- Fixed Quicksand bug where player see's only black when sinking instead of yellow effect, note this will only work on new maps or newly generated areas of map containing quicksand
- Hot nodes will melt ice and snow in a better way
- Few spelling errors sorted for sapling and wood names
### 1.08
- Saplings produce better placed tree's when grown, routines have been redone
- Orange tree's now spawn in prairie biomes
- The usual code tidy and few bug fixes along the way
### 1.07
- If Farming Redo mod detected then it's growing routines will be used for Ethereal plantlife instead of default
Leaftype and Mapstyle settings can be changed within init.lua file, new layered style maps are being tested
Changed crafting recipe for Fences, they tie in with Gates a little better
### 1.06
- Added support for Farming Redo mod, all plants spawn on newly generated areas:
- https://forum.minetest.net/viewtopic.php?id=9019
### 1.05b
- Added Gates for each of the fence types (thanks to Blockmen for gate model)
- Players can no longer jump over fences unless they wear crystal boots < REMOVED
### 1.04
- Farming of Mushrooms, Wild Onions and Strawberries now use minetest 0.4.10 functions
- Strawberries can be grown by using actual fruit, seeds no longer needed
- Tree leaves are no longer walkable, player can go through them
- Saplings now fall if block underneath disturbed
### 1.03
- Changed Fence recipe's so it doesn't interfere with 3d armor's wooden boots
- Tweaked textures to bring down file sizes
- Flowers, Sprouts and Ferns now spread over ALL grassland
### 1.02
- Fences added for each type of wood in Ethereal
- Changes to biome settings, less artifacts
### 1.01
- Quicksand generates throughout world near sandy water
- Bamboo as well as Papyrus now grow on dirt near water
- Fixed Coral textures and light
### 1.00
- Seaweed now spawns in deep water and can grow up to 10 high
- Coral also spawns in deep water and glows slightly (orange, pink and blue)
- Above items can be crafted into dye, also Seaweed is edible
- So long as sand isn't disturbed under the ocean, sealife will re-generate
- Fixed Leaves inventory images and Mushroom selection box (thanks Wuzzy)
### 0.0.9
#### 0.0.9p
- Willow Trees now spawn in grey biome instead of tiny grey trees (model by Phiwari123)
- Redwood Trees now spawn in Mesa biome (model by Wes42033)
- BakedClay mod no longer required for Mesa biome but used if found
- Paper Wall added
#### 0.0.9o
- Added Obsidian Brick craft for building
- Changed Illumishroom cave levels
- Changed *is_ground_content* to false for ethereal dirt so mapgen doesn't carve it up with caves
#### 0.0.9n
- New textures for farming mushrooms and spores
- Illumi-shrooms spawn in caves to brighten things up a little
- Crafting a wooden sign now gives 4 instead of 1
#### 0.0.9m
- Changed Bamboo biome slightly, Bamboo Sprout has new image
- Abm timings changed and a few bugs fixed
- Crystal Gilly Staff has to be used (left-click) to replenish air while underwater
- Crystal Shovel now works with protection mods
- Tidied code and changed ladder recipe's to double output
#### 0.0.9L
- Scorched Tree's are now different sizes
- Crystal Shovel with soft touch can now be used to dig up sand and gravel
- Bamboo and Papyrus drop entire stalk when bottom node dug
- Crystal Spikes require steel pick or better to dig and fall when dirt below is removed
- Few changes to mapgen and water functions
#### 0.0.9k
- Fixed bug in charcoal lumps (no more placing as unknown nodes)
- Added Crystal Shovel with soft touch, can be used to dig up dirt with grass intact
- Fixed bug in Crystal Shovel, now works with dirt_with_snow and has sounds
- Tweaked Fiery Biomes slightly, smaller craters on outside, large in hotter areas
#### 0.0.9i
- Cleaned up mapgen_v7.lua file, maps now generate a little faster
- Removed cactus.mts, no longer required
- Removed mushroomtwo.mts, no longer required
- Removed bamboo.mts, no longer required
- Removed deadtree.mts, no longer required
- Few new textures added
- Papyrus also spawns on jungle dirt near water
- Replaced dead tree's with scorched tree's
- Each scorched tree trunk crafts into 2x charcoal Lumps (fixed)
- Torches can also be crafted from Charcoal
#### 0.0.9h
- Added Strawberry farming, Strawberry Seeds and new Textures
- Tidied up mapgen_v7.lua for better spawning of plants and trees
- Player can no longer walk through Bamboo Stalks
#### 0.0.9g
- Changed Ethereal's growing routine for Saplings, it now uses 1 single abm to grow all tree's
#### 0.0.9f
- Added Fishing to Ethereal, Fishing Rod, Worms, Fish and Cooked Fish (Left-click the water with a Baited Rod in the hope of landing your prize)
#### 0.0.9e
- Changed textures for Bowl, Mushroom Soup, Crystal Spike, Banana Loaf, Strawberry & Bush
- Added Hearty Stew Recipes
- If BakedClay mod is installed, Mesa Biome will be added to the mix
#### 0.0.9d
- Added Bamboo Grove and Bamboo Sprouts )
- Craft Bamboo into Paper and Bamboo Flooring
- Cactus is now edible when crafted beside empty bucket
#### 0.0.9c
- Code re-worked so mod now uses sections for each function (easier to read and edit)
- New textures for Strawberry Bush and Crystal Spikes
#### 0.0.9b
- Pine Tree Leaves have new texture and sometimes give Pine Nuts
- Jungle Tree's now use default Jungle Wood as texture
#### 0.0.9
- Prairie, Grove, Jungle and Snowy biomes have their own dirt
- Saplings will only grow in the biomes they were taken from
- Mapgen tweaks and code changes for new dirt added
### 0.0.8 Changes
#### 0.0.8m
- Added Banana Trunk and Wood
- Added Boston Ferns to Grove biome
- Added edible Fern Tubers
- Mushroom Biome now has different sized mushrooms
- Changed Pine Needles texture
#### 0.0.8k
- Added Desert Sand biome
- Added Alpine biome with Pine Trees and Snow
- Added Grove biome with Banana Tree's (saplings only grow in that temperate area)
- Added Bananas, Banana Dough and Banana Bread
- Changed biome generation to be more like real-world environs (e.g. shrooms like hot & humid so that's where they spawn)
- Tidied up code and removed redundant lines
#### 0.0.8e
- New Plains biome added between Fiery and Green areas to hopefully stop forest fires, these have dry dirt and dead trees
- Placing water near Dry Dirt turns it into normal dirt, cooking normal dirt changes it into Dry Dirt
Note: if your Ethereal world does have a few forest fires appearing you can always add this line to your minetest.conf file:
disable_fire = true
#### 0.0.8
- Healing Tree (grows on high snowy peaks, leaves are edible and golden apples heal all hearts)
- Added some new images for Cooked Mushroom Soup, Mushroom Spores and Palm Trees
- 2D leaves or 3D leaves option, both wave in wind if enabled
- All new saplings can grow on their native dirt, and palm tree's on sand
- Crystal Spike or Crystal Dirt freezes nearby water, Heat can also melt ice
- Wild Mushrooms now give Spores, plant these to grow edible mushrooms
- Cobble in water turns mossy
- Palm Leaves can be cooked into Palm Wax and made into Candles
### 0.0.7c
- Gravel can be found under lake biomes (or craft 5 cobble in X pattern)
- Papyrus is found and grows on dirt near water (also craft 2x3 string for paper)
- Mushroom Heads have a chance of giving Mushroom Sapling (craft 1 head = 4x Mushrooms ready for Planting)
- Trees and Mushrooms have a chance of giving Saplings
- Frost Trunk and Mushroom Trunk are rotatable (craft 1 Mushroom Trunk = 4x White Dye)
- Desert areas have Dry Shrubs added
- Crystal Spikes added to Crystal Biome (watch out they hurt)
- Crystal Ingots added to make Sword and Pick
- New Pine Tree model added to snowy biome which adds Pine leaves and drops Pine Saplings
- Fixed GrassyTwo biome so that BigTree now spawns and grows from sapling
- Added Crystal Gilly Staff to allow breathing underwater (so long as it's in hand)
- Added Palm Trees, Trunk, Wood, Sapling, Coconuts, Coconut Slice (to eat)
- Thanks to VanessaE's for the Palm textures

127
mods/ethereal/blumfruit.lua Normal file
View File

@ -0,0 +1,127 @@
local S = ethereal.intllib
-- Blumfruit (can also be planted as seed)
minetest.register_craftitem("ethereal:blumfruit", {
description = S("Blumfruit"),
inventory_image = "blumfruit.png",
wield_image = "blumfruit.png",
groups = {food_blumfruit = 1, food_berry = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:blumfruit_1")
end,
on_use = minetest.item_eat(1),
})
-- Define Blumfruit Bush growth stages
local crop_def = {
drawtype = "plantlike",
tiles = {"blumfruit_1.png"},
paramtype = "light",
sunlight_propagates = true,
waving = 1,
walkable = false,
buildable_to = true,
drop = "",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
},
groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
not_in_creative_inventory = 1, growing = 1
},
sounds = default.node_sound_leaves_defaults(),
}
--stage 1
minetest.register_node("ethereal:blumfruit_1", table.copy(crop_def))
-- stage 2
crop_def.tiles = {"strawberry_2.png"}
minetest.register_node("ethereal:blumfruit_2", table.copy(crop_def))
-- stage 3
crop_def.tiles = {"strawberry_3.png"}
minetest.register_node("ethereal:blumfruit_3", table.copy(crop_def))
-- stage 4
crop_def.tiles = {"strawberry_4.png"}
minetest.register_node("ethereal:blumfruit_4", table.copy(crop_def))
-- stage 5
crop_def.tiles = {"strawberry_5.png"}
minetest.register_node("ethereal:blumfruit_5", table.copy(crop_def))
-- stage 6
crop_def.tiles = {"blumfruit_6.png"}
crop_def.drop = {
items = {
{items = {"ethereal:blumfruit 1"},rarity = 2},
{items = {"ethereal:blumfruit 2"},rarity = 3},
}
}
minetest.register_node("ethereal:blumfruit_6", table.copy(crop_def))
-- stage 7
crop_def.tiles = {"blumfruit_7.png"}
crop_def.drop = {
items = {
{items = {"ethereal:blumfruit 1"},rarity = 1},
{items = {"ethereal:blumfruit 2"},rarity = 3},
}
}
minetest.register_node("ethereal:blumfruit_7", table.copy(crop_def))
-- stage 8
crop_def.tiles = {"blumfruit_8.png"}
crop_def.groups.growing = 0
crop_def.drop = {
items = {
{items = {"ethereal:blumfruit 2"},rarity = 1},
{items = {"ethereal:blumfruit 3"},rarity = 3},
}
}
minetest.register_node("ethereal:blumfruit_8", table.copy(crop_def))
-- growing routine if farming redo isn't present
if not farming or not farming.mod or farming.mod ~= "redo" then
minetest.register_abm({
label = "Ethereal grow blumfruit",
nodenames = {
"ethereal:blumfruit_1", "ethereal:blumfruit_2", "ethereal:blumfruit_3",
"ethereal:blumfruit_4", "ethereal:blumfruit_5", "ethereal:blumfruit_6",
"ethereal:blumfruit_7"
},
neighbors = {"farming:soil_wet"},
interval = 9,
chance = 20,
catch_up = false,
action = function(pos, node)
-- are we on wet soil?
pos.y = pos.y - 1
if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then
return
end
pos.y = pos.y + 1
-- do we have enough light?
local light = minetest.get_node_light(pos)
if not light
or light < 13 then
return
end
-- grow to next stage
local num = node.name:split("_")[2]
node.name = "ethereal:blumfruit_" .. tonumber(num + 1)
minetest.swap_node(pos, node)
end
})
end -- END IF

View File

@ -0,0 +1,46 @@
-- add compatibility for ethereal nodes already in default game or name changed
minetest.register_alias("ethereal:acacia_trunk", "default:acacia_tree")
minetest.register_alias("ethereal:acacia_wood", "default:acacia_wood")
minetest.register_alias("ethereal:fence_acacia", "default:fence_acacia_wood")
minetest.register_alias("ethereal:fence_junglewood", "default:fence_junglewood")
minetest.register_alias("ethereal:fence_pine", "default:fence_pine_wood")
minetest.register_alias("ethereal:acacia_leaves", "default:acacia_leaves")
minetest.register_alias("ethereal:pineleaves", "default:pine_needles")
minetest.register_alias("ethereal:mushroom_craftingitem", "flowers:mushroom_brown")
minetest.register_alias("ethereal:mushroom_plant", "flowers:mushroom_brown")
minetest.register_alias("ethereal:mushroom_soup_cooked", "ethereal:mushroom_soup")
minetest.register_alias("ethereal:mushroom_1", "flowers:mushroom_brown")
minetest.register_alias("ethereal:mushroom_2", "flowers:mushroom_brown")
minetest.register_alias("ethereal:mushroom_3", "flowers:mushroom_brown")
minetest.register_alias("ethereal:mushroom_4", "flowers:mushroom_brown")
minetest.register_alias("ethereal:strawberry_bush", "ethereal:strawberry_7")
minetest.register_alias("ethereal:seed_strawberry", "ethereal:strawberry")
for i = 1, 5 do
minetest.register_alias("ethereal:wild_onion_"..i, "ethereal:onion_"..i)
end
minetest.register_alias("ethereal:onion_7", "ethereal:onion_4")
minetest.register_alias("ethereal:onion_8", "ethereal:onion_5")
minetest.register_alias("ethereal:wild_onion_7", "ethereal:onion_4")
minetest.register_alias("ethereal:wild_onion_8", "ethereal:onion_5")
minetest.register_alias("ethereal:wild_onion_craftingitem", "ethereal:wild_onion_plant")
minetest.register_alias("ethereal:hearty_stew_cooked", "ethereal:hearty_stew")
minetest.register_alias("ethereal:obsidian_brick", "default:obsidianbrick")
minetest.register_alias("ethereal:crystal_topped_dirt", "ethereal:crystal_dirt")
minetest.register_alias("ethereal:fiery_dirt_top", "ethereal:fiery_dirt")
minetest.register_alias("ethereal:gray_dirt_top", "ethereal:gray_dirt")
minetest.register_alias("ethereal:green_dirt_top", "default;dirt_with_grass")
minetest.register_alias("ethereal:tree_sapling", "default:sapling")
minetest.register_alias("ethereal:jungle_tree_sapling", "default:junglesapling")
minetest.register_alias("ethereal:acacia_sapling", "default:acacia_sapling")
minetest.register_alias("ethereal:pine_tree_sapling", "default:pine_sapling")

10
mods/ethereal/depends.txt Normal file
View File

@ -0,0 +1,10 @@
default
farming?
stairs
flowers
doors
bakedclay?
moreblocks?
intllib?
lucky_block?
toolranks?

View File

@ -0,0 +1 @@
Ethereal mod uses the v7 mapgen to add many new biomes to the world.

146
mods/ethereal/dirt.lua Normal file
View File

@ -0,0 +1,146 @@
local S = ethereal.intllib
-- flower spread
local flower_spread = function(pos, node)
if (minetest.get_node_light(pos) or 0) < 13 then
return
end
local pos0 = {x = pos.x - 4, y = pos.y - 2, z = pos.z - 4}
local pos1 = {x = pos.x + 4, y = pos.y + 2, z = pos.z + 4}
local num = #minetest.find_nodes_in_area(pos0, pos1, "group:flora")
-- stop flowers spreading too much just below top of map block
if minetest.find_node_near(pos, 2, "ignore") then
return
end
local seedling = minetest.find_nodes_in_area_under_air(
pos0, pos1, {"group:soil"})
if #seedling > 0 then
pos = seedling[math.random(#seedling)]
-- default farming has desert sand as soil, so dont spread on this
if minetest.get_node(pos).name == "default:desert_sand" then
return
end
pos.y = pos.y + 1
if (minetest.get_node_light(pos) or 0) < 13 then
return
end
minetest.swap_node(pos, {name = node.name})
end
end
-- grow reeds up to 4 high and bamboo up to 8 high
local grow_reeds = function(pos, node)
local oripos = pos.y
local high = 4
pos.y = pos.y - 1
local nod = minetest.get_node_or_nil(pos)
if not nod
or minetest.get_item_group(nod.name, "soil") < 1
or minetest.find_node_near(pos, 3, {"group:water"}) == nil then
return
end
if node.name == "default:bamboo" then
high = 8
end
pos.y = pos.y + 1
local height = 0
while height < high
and minetest.get_node(pos).name == node.name do
height = height + 1
pos.y = pos.y + 1
end
nod = minetest.get_node_or_nil(pos)
if nod
and nod.name == "air"
and height < high then
if node.name == "default:bamboo"
and height == (high - 1) then
ethereal.grow_bamboo_tree({x = pos.x, y = oripos, z = pos.z})
else
minetest.swap_node(pos, {name = node.name})
end
end
end
-- loop through active abm's
for _, ab in pairs(minetest.registered_abms) do
local label = ab.label or ""
local node1 = ab.nodenames and ab.nodenames[1] or ""
local node2 = ab.nodenames and ab.nodenames[2] or ""
local neigh = ab.neighbors and ab.neighbors[1] or ""
if label == "Flower spread"
or node1 == "group:flora" then
--ab.interval = 1
--ab.chance = 1
ab.nodenames = {"group:flora"}
ab.neighbors = {"group:soil"}
ab.action = flower_spread
-- find grow papyrus abm and change to grow_papyrus function
elseif label == "Grow reeds"
or node1 == "default:reeds" then
--ab.interval = 2
--ab.chance = 1
ab.nodenames = {"default:reeds", "default:bamboo"}
ab.neighbors = {"group:soil"}
ab.action = grow_reeds
end
end
-- If Baked Clay mod not active, make Red, Orange and Grey nodes
if not minetest.get_modpath("bakedclay") then
minetest.register_node(":bakedclay:red", {
description = S("Red Baked Clay"),
tiles = {"baked_clay_red.png"},
groups = {cracky = 3},
is_ground_content = ethereal.cavedirt,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node(":bakedclay:orange", {
description = S("Orange Baked Clay"),
tiles = {"baked_clay_orange.png"},
groups = {cracky = 3},
is_ground_content = ethereal.cavedirt,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node(":bakedclay:grey", {
description = S("Grey Baked Clay"),
tiles = {"baked_clay_grey.png"},
groups = {cracky = 3},
is_ground_content = ethereal.cavedirt,
sounds = default.node_sound_stone_defaults(),
})
end

290
mods/ethereal/extra.lua Normal file
View File

@ -0,0 +1,290 @@
local S = ethereal.intllib
-- Bamboo Flooring
minetest.register_node("ethereal:bamboo_floor", {
description = S("Bamboo Floor"),
drawtype = "nodebox",
tiles = { "bamboo_floor.png" },
wield_image = "bamboo_floor.png",
inventory_image = "bamboo_floor.png",
paramtype = "light",
paramtype2 = "wallmounted",
walkable = true,
node_box = {
type = "wallmounted",
wall_top = {-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
wall_side = {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5},
},
selection_box = {type = "wallmounted"},
groups = {snappy = 3, choppy = 3 , flammable = 2},
sounds = default.node_sound_wood_defaults(),
})
-- Craft Bamboo into Bamboo Flooring
minetest.register_craft({
output = "ethereal:bamboo_floor 2",
recipe = {
{"default:bamboo", "default:bamboo"},
{"default:bamboo", "default:bamboo"},
}
})
minetest.register_craft({
output = "ethereal:bamboo_block",
recipe = {
{"ethereal:bamboo_floor"},
{"ethereal:bamboo_floor"},
}
})
-- Bamboo Block
minetest.register_node("ethereal:bamboo_block", {
description = S("Bamboo Block"),
tiles = { "bamboo_floor.png" },
paramtype = "light",
groups = {snappy = 3, choppy = 3 , flammable = 2, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "ethereal:bamboo_block",
recipe = {
{"default:bamboo", "default:bamboo", "default:bamboo"},
{"default:bamboo", "default:bamboo", "default:bamboo"},
{"default:bamboo", "default:bamboo", "default:bamboo"},
}
})
-- Craft Bamboo into Paper
minetest.register_craft({
output = "default:paper 6",
recipe = {
{"default:bamboo", "default:bamboo"},
{"default:bamboo", "default:bamboo"},
{"default:bamboo", "default:bamboo"},
}
})
if ethereal.xcraft == true then
-- X pattern craft recipes (5x 'a' in X pattern gives 5 of 'b')
local cheat = {
{"default:cobble", "default:gravel", 5},
{"default:gravel", "default:dirt", 5},
{"default:dirt", "default:sand", 5},
{"default:ice", "default:snow", 20},
{"ethereal:dry_dirt", "default:desert_sand", 5},
}
for n = 1, #cheat do
minetest.register_craft({
output = cheat[n][2] .. " " .. cheat[n][3],
recipe = {
{cheat[n][1], "", cheat[n][1]},
{"", cheat[n][1], ""},
{cheat[n][1], "", cheat[n][1]},
}
})
end
end -- END if
-- Paper (2x3 string = 4 paper)
--minetest.register_craft({
-- output = "default:paper 4",
-- recipe = {
-- {"farming:string", "farming:string"},
-- {"farming:string", "farming:string"},
-- {"farming:string", "farming:string"},
-- }
--})
-- Palm Wax
minetest.register_craftitem("ethereal:palm_wax", {
description = S("Palm Wax"),
inventory_image = "palm_wax.png",
wield_image = "palm_wax.png",
})
minetest.register_craft({
type = "cooking",
cooktime = 10,
output = "ethereal:palm_wax",
recipe = "default:palm_leaves"
})
-- Candle from Wax and String/Cotton
minetest.register_node("ethereal:candle", {
description = S("Candle"),
drawtype = "plantlike",
inventory_image = "candle_static.png",
wield_image = "candle_static.png",
tiles = {
{
name = "candle.png",
animation={
type="vertical_frames",
aspect_w = 32,
aspect_h = 32,
length = 1.0
}
},
},
paramtype = "light",
light_source = 11,
sunlight_propagates = true,
walkable = false,
groups = {dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = { -0.15, -0.5, -0.15, 0.15, 0, 0.15 }
},
})
--minetest.register_craft({
-- output = "ethereal:candle 2",
-- recipe = {
-- {"farming:cotton"},
-- {"ethereal:palm_wax"},
-- {"ethereal:palm_wax"},
-- }
--})
-- Wooden Bowl
minetest.register_craftitem("ethereal:bowl", {
description = S("Bowl"),
inventory_image = "bowl.png",
groups = {food_bowl = 1, flammable = 2},
})
-- use farming redo's recipe if found
if not minetest.registered_items["farming:bowl"] then
minetest.register_craft({
output = "ethereal:bowl 4",
recipe = {
{"group:soft_wood", "", "group:soft_wood"},
{"", "group:soft_wood", ""},
}
})
end
-- stone Ladder
minetest.register_node("ethereal:stone_ladder", {
description = S("Stone Ladder"),
drawtype = "signlike",
tiles = {"stone_ladder.png"},
inventory_image = "stone_ladder.png",
wield_image = "stone_ladder.png",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = {
type = "wallmounted",
},
groups = {cracky = 3, oddly_breakable_by_hand = 1},
legacy_wallmounted = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "ethereal:stone_ladder 4",
recipe = {
{"group:stone", "", "group:stone"},
{"group:stone", "group:stone", "group:stone"},
{"group:stone", "", "group:stone"},
}
})
-- Paper Wall
minetest.register_node("ethereal:paper_wall", {
drawtype = "nodebox",
description = S("Paper Wall"),
tiles = {"paper_wall.png"},
inventory_image_image = "paper_wall.png",
wield_image = "paper_wall.png",
paramtype = "light",
groups = {snappy = 3},
sounds = default.node_sound_wood_defaults(),
walkable = true,
is_ground_content = false,
sunlight_propagates = true,
paramtype2 = "facedir",
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, 5/11, 0.5, 0.5, 8/16 }
},
node_box = {
type = "fixed",
fixed = {
{ -0.5, -0.5, 5/11, 0.5, 0.5, 8/16 }
}
},
})
minetest.register_craft({
output = "ethereal:paper_wall",
recipe = {
{"group:stick", "default:paper", "group:stick"},
{"group:stick", "default:paper", "group:stick"},
{"group:stick", "default:paper", "group:stick"},
}
})
-- Glostone (A little bit of light decoration)
minetest.register_node("ethereal:glostone", {
description = S("Glo Stone"),
tiles = {"glostone.png"},
groups = {cracky = 3},
light_source = 13,
drop = "ethereal:glostone",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
type = "shapeless",
output = "ethereal:glostone",
recipe = {"default:torch", "default:stone", "dye:yellow"}
})
-- Charcoal Lump
minetest.register_craftitem("ethereal:charcoal_lump", {
description = S("Lump of Charcoal"),
inventory_image = "charcoal_lump.png",
})
minetest.register_craft({
output = "ethereal:charcoal_lump 2",
recipe = {
{"default:scorched_tree"}
}
})
minetest.register_craft({
output = "ethereal:charcoal_lump 2",
type = "cooking",
recipe = "group:tree",
cooktime = 4
})
minetest.register_craft({
type = "fuel",
recipe = "ethereal:charcoal_lump",
burntime = 10,
})
-- Make Torch from Charcoal Lump
minetest.register_craft({
output = "default:torch 4",
recipe = {
{"ethereal:charcoal_lump"},
{"default:stick"},
}
})

167
mods/ethereal/fishing.lua Normal file
View File

@ -0,0 +1,167 @@
local S = ethereal.intllib
-- Raw Fish (Thanks to Altairas for her Fish image on DeviantArt)
minetest.register_craftitem("ethereal:fish_raw", {
description = S("Raw Fish"),
inventory_image = "fish_raw.png",
wield_image = "fish_raw.png",
groups = {food_fish_raw = 1, flammable = 3},
on_use = minetest.item_eat(2),
})
-- Cooked Fish
minetest.register_craftitem("ethereal:fish_cooked", {
description = S("Cooked Fish"),
inventory_image = "fish_cooked.png",
wield_image = "fish_cooked.png",
groups = {food_fish = 1, flammable = 3},
on_use = minetest.item_eat(5),
})
minetest.register_craft({
type = "cooking",
output = "ethereal:fish_cooked",
recipe = "ethereal:fish_raw",
cooktime = 2,
})
-- Sashimi (Thanks to Natalia Grosner for letting me use the sashimi image)
minetest.register_craftitem("ethereal:sashimi", {
description = S("Sashimi"),
inventory_image = "sashimi.png",
wield_image = "sashimi.png",
on_use = minetest.item_eat(4),
})
minetest.register_craft({
output = "ethereal:sashimi 2",
recipe = {
{"group:food_seaweed", "group:food_fish_raw", "group:food_seaweed"},
}
})
-- Worm
minetest.register_craftitem("ethereal:worm", {
description = S("Worm"),
inventory_image = "worm.png",
wield_image = "worm.png",
})
-- Used when right-clicking with fishing rod to check for worm and bait rod
local rod_use = function(itemstack, placer, pointed_thing)
local inv = placer:get_inventory()
if inv:contains_item("main", "ethereal:worm") then
inv:remove_item("main", "ethereal:worm")
return ItemStack("ethereal:fishing_rod_baited")
end
end
-- Fishing Rod
minetest.register_craftitem("ethereal:fishing_rod", {
description = S("Fishing Rod (Right-Click with rod to bait with worm from inventory)"),
inventory_image = "fishing_rod.png",
wield_image = "fishing_rod.png",
stack_max = 1,
on_place = rod_use,
on_secondary_use = rod_use
})
--minetest.register_craft({
-- output = "ethereal:fishing_rod",
-- recipe = {
-- {"","","group:stick"},
-- {"", "group:stick", "farming:string"},
-- {"group:stick", "", "farming:string"},
-- }
--})
-- Sift through 2 Dirt Blocks to find Worm
minetest.register_craft({
output = "ethereal:worm",
recipe = {
{"default:dirt","default:dirt"},
}
})
-- default ethereal fish
ethereal.fish = {
{"ethereal:fish_raw"},
}
-- xanadu server additional fish
if minetest.get_modpath("xanadu") then
ethereal.fish[2] = {"mobs:clownfish_raw"}
ethereal.fish[3] = {"mobs:bluefish_raw"}
end
-- Fishing Rod (Baited)
minetest.register_craftitem("ethereal:fishing_rod_baited", {
description = S("Baited Fishing Rod"),
inventory_image = "fishing_rod_baited.png",
wield_image = "fishing_rod_wield.png",
stack_max = 1,
liquids_pointable = true,
on_use = function (itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then
return
end
local pos = pointed_thing.under
local node = minetest.get_node(pos).name
if (node == "default:water_source"
or node == "default:river_water_source")
and math.random(1, 100) < 5 then
local type = ethereal.fish[math.random(1, #ethereal.fish)][1]
local inv = user:get_inventory()
if inv:room_for_item("main", {name = type}) then
inv:add_item("main", {name = type})
minetest.sound_play("default_water_footstep", {pos = pos})
pos.y = pos.y + 0.5
minetest.add_particlespawner({
amount = 5,
time = .3,
minpos = pos,
maxpos = pos,
minvel = {x = 2, y = .5, z = 2},
maxvel = {x = 2, y = .5, z = 2},
minacc = {x = 1, y = .1, z = 1},
maxacc = {x = 1, y = .1, z = 1},
minexptime = .3,
maxexptime = .5,
minsize = .5,
maxsize = 1,
collisiondetection = false,
vertical = false,
texture = "bubble.png",
playername = "singleplayer"
})
return ItemStack("ethereal:fishing_rod")
else
minetest.chat_send_player(user:get_player_name(),
S("Inventory full, Fish Got Away!"))
end
end
end,
})
minetest.register_craft({
type = "shapeless",
output = "ethereal:fishing_rod_baited",
recipe = {"ethereal:fishing_rod", "ethereal:worm"},
})

240
mods/ethereal/food.lua Normal file
View File

@ -0,0 +1,240 @@
local S = ethereal.intllib
-- Banana (Heals one heart when eaten)
minetest.register_node("ethereal:banana", {
description = S("Banana"),
drawtype = "torchlike",
tiles = {"banana_single.png"},
inventory_image = "banana_single.png",
wield_image = "banana_single.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1
},
drop = "ethereal:banana",
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "ethereal:banana", param2 = 1})
end
end,
})
-- Ration Pack
minetest.register_craftitem("ethereal:ration_pack", {
description = S("Ration Pack"),
inventory_image = "ration_pack.png",
})
minetest.register_craft({
type = "shapeless",
output = "ethereal:polystarch_bread",
recipe = {
"ethereal:ration_pack",
"bucket:bucket_water",
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"},
},
})
-- Polystarch Bread (Heals 2 hearts when eaten)
minetest.register_craftitem("ethereal:polystarch_bread", {
description = S("Polystarch Bread"),
inventory_image = "polystarch_bread.png",
wield_image = "polystarch_bread.png",
groups = {food_bread = 1, flammable = 3},
on_use = minetest.item_eat(4),
})
-- Orange (Heals 2 hearts when eaten)
minetest.register_node("ethereal:orange", {
description = S("Orange"),
drawtype = "plantlike",
tiles = {"farming_orange.png"},
inventory_image = "farming_orange.png",
wield_image = "farming_orange.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27}
},
groups = {
food_orange = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 3, leafdecay_drop = 1
},
drop = "ethereal:orange",
on_use = minetest.item_eat(4),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "ethereal:orange", param2 = 1})
end
end,
})
-- Pine Nuts (Heals 1/2 heart when eaten)
minetest.register_craftitem("ethereal:pine_nuts", {
description = S("Pine Nuts"),
inventory_image = "pine_nuts.png",
wield_image = "pine_nuts.png",
groups = {food_pine_nuts = 1, flammable = 2},
on_use = minetest.item_eat(1),
})
-- Banana Loaf (Heals 3 hearts when eaten)
minetest.register_craftitem("ethereal:banana_bread", {
description = S("Banana Loaf"),
inventory_image = "banana_bread.png",
wield_image = "banana_bread.png",
groups = {food_bread = 1, flammable = 3},
on_use = minetest.item_eat(6),
})
-- Coconut (Gives 4 coconut slices, each heal 1/2 heart)
minetest.register_node("ethereal:coconut", {
description = S("Coconut"),
drawtype = "plantlike",
walkable = false,
paramtype = "light",
sunlight_propagates = true,
tiles = {"moretrees_coconut.png"},
inventory_image = "moretrees_coconut.png",
wield_image = "moretrees_coconut.png",
selection_box = {
type = "fixed",
fixed = {-0.31, -0.43, -0.31, 0.31, 0.44, 0.31}
},
groups = {
food_coconut = 1, snappy = 1, oddly_breakable_by_hand = 1, cracky = 1,
choppy = 1, flammable = 1, leafdecay = 3, leafdecay_drop = 1
},
drop = "ethereal:coconut_slice 4",
sounds = default.node_sound_wood_defaults(),
})
-- Coconut Slice (Heals half heart when eaten)
minetest.register_craftitem("ethereal:coconut_slice", {
description = S("Coconut Slice"),
inventory_image = "moretrees_coconut_slice.png",
wield_image = "moretrees_coconut_slice.png",
groups = {food_coconut_slice = 1, flammable = 1},
on_use = minetest.item_eat(1),
})
-- Golden Apple (Found on Healing Tree, heals all 10 hearts)
minetest.register_node("ethereal:golden_apple", {
description = S("Golden Apple"),
drawtype = "plantlike",
tiles = {"default_apple_gold.png"},
inventory_image = "default_apple_gold.png",
wield_image = "default_apple_gold.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.37, -0.2, 0.2, 0.31, 0.2}
},
groups = {
fleshy = 3, dig_immediate = 3,
leafdecay = 3,leafdecay_drop = 1
},
drop = "ethereal:golden_apple",
-- on_use = minetest.item_eat(20),
on_use = function(itemstack, user, pointed_thing)
if user then
user:set_hp(20)
return minetest.do_item_eat(2, nil, itemstack, user, pointed_thing)
end
end,
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer, itemstack)
if placer:is_player() then
minetest.set_node(pos, {name = "ethereal:golden_apple", param2 = 1})
end
end,
})
-- Hearty Stew (Heals 5 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture)
minetest.register_craftitem("ethereal:hearty_stew", {
description = S("Hearty Stew"),
inventory_image = "hearty_stew.png",
wield_image = "hearty_stew.png",
on_use = minetest.item_eat(10, "ethereal:bowl"),
})
minetest.register_craft({
output = "ethereal:hearty_stew",
recipe = {
{"group:food_onion","flowers:mushroom_brown", "group:food_tuber"},
{"","flowers:mushroom_brown", ""},
{"","group:food_bowl", ""},
}
})
-- Extra recipe for hearty stew
if farming and farming.mod and farming.mod == "redo" then
minetest.register_craft({
output = "ethereal:hearty_stew",
recipe = {
{"group:food_onion","flowers:mushroom_brown", "group:food_beans"},
{"","flowers:mushroom_brown", ""},
{"","group:food_bowl", ""},
}
})
end
-- Bucket of Cactus Pulp
minetest.register_craftitem("ethereal:bucket_cactus", {
description = S("Bucket of Cactus Pulp"),
inventory_image = "bucket_cactus.png",
wield_image = "bucket_cactus.png",
stack_max = 1,
on_use = minetest.item_eat(2, "bucket:bucket_empty"),
})
minetest.register_craft({
output = "ethereal:bucket_cactus",
recipe = {
{"bucket:bucket_empty","default:cactus"},
}
})
-- firethorn jelly
minetest.register_craftitem("ethereal:firethorn_jelly", {
description = S("Firethorn Jelly"),
inventory_image = "ethereal_firethorn_jelly.png",
wield_image = "ethereal_firethorn_jelly.png",
on_use = minetest.item_eat(2, "vessels:glass_bottle"),
groups = {vessel = 1},
})
if minetest.registered_items["farming:bowl"] then
minetest.register_craft({
type = "shapeless",
output = "ethereal:firethorn_jelly",
recipe = {
"farming:mortar_pestle","vessels:glass_bottle",
"ethereal:firethorn", "ethereal:firethorn", "ethereal:firethorn",
"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water",
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty 3"},
{"farming:mortar_pestle", "farming:mortar_pestle"},
},
})
end

111
mods/ethereal/gates.lua Normal file
View File

@ -0,0 +1,111 @@
local S = ethereal.intllib
-- register Ethereal wood type gates
doors.register_fencegate("ethereal:fencegate_scorched", {
description = S("Scorched Wood Fence Gate"),
texture = "scorched_tree.png",
material = "ethereal:scorched_tree",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_frostwood", {
description = S("Frost Wood Fence Gate"),
texture = "frost_wood.png",
material = "ethereal:frost_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_redwood", {
description = S("Redwood Fence Gate"),
texture = "redwood_wood.png",
material = "ethereal:redwood_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_willow", {
description = S("Willow Wood Fence Gate"),
texture = "willow_wood.png",
material = "ethereal:willow_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_yellowwood", {
description = S("Healing Wood Fence Gate"),
texture = "yellow_wood.png",
material = "ethereal:yellow_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_palm", {
description = S("Palm Wood Fence Gate"),
texture = "moretrees_palm_wood.png",
material = "ethereal:palm_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_banana", {
description = S("Banana Wood Fence Gate"),
texture = "banana_wood.png",
material = "ethereal:banana_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_mushroom", {
description = S("Mushroom Trunk Fence Gate"),
texture = "mushroom_trunk.png",
material = "ethereal:mushroom_trunk",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_birch", {
description = S("Birch Wood Fence Gate"),
texture = "moretrees_birch_wood.png",
material = "ethereal:birch_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
doors.register_fencegate("ethereal:fencegate_sakura", {
description = S("Sakura Wood Fence Gate"),
texture = "ethereal_sakura_wood.png",
material = "ethereal:sakura_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
-- add compatibility for ethereal's to default wooden gates
minetest.register_alias("ethereal:fencegate_wood_open", "doors:gate_wood_open")
minetest.register_alias("ethereal:fencegate_wood_closed", "doors:gate_wood_closed")
minetest.register_alias("ethereal:fencegate_acacia_open", "doors:gate_acacia_wood_open")
minetest.register_alias("ethereal:fencegate_acacia_closed", "doors:gate_acacia_wood_closed")
minetest.register_alias("ethereal:fencegate_junglewood_open", "doors:gate_junglewood_open")
minetest.register_alias("ethereal:fencegate_junglewood_closed", "doors:gate_junglewood_closed")
minetest.register_alias("ethereal:fencegate_pine_open", "doors:gate_pine_wood_open")
minetest.register_alias("ethereal:fencegate_pine_closed", "doors:gate_pine_wood_closed")
-- sakura door
doors.register_door("ethereal:door_sakura", {
tiles = {
{name = "ethereal_sakura_door.png", backface_culling = true}
},
description = S("Sakura Wood Door"),
inventory_image = "ethereal_sakura_door_inv.png",
groups = {
snappy = 1, choppy = 2, oddly_breakable_by_hand = 2,
flammable = 2
},
sound_open = "doors_glass_door_open",
sound_close = "doors_glass_door_close",
recipe = {
{"group:stick", "default:paper"},
{"default:paper", "group:stick"},
{"ethereal:sakura_wood", "ethereal:sakura_wood"}
}
})
minetest.register_alias("ethereal:sakura_door", "ethereal:door_sakura")
minetest.register_alias("ethereal:sakura_door_a", "ethereal:door_sakura_a")
minetest.register_alias("ethereal:sakura_door_b", "ethereal:door_sakura_b")

116
mods/ethereal/init.lua Normal file
View File

@ -0,0 +1,116 @@
--[[
Minetest Ethereal Mod
Created by ChinChow
Updated by TenPlus1
]]
-- DO NOT change settings below, use the settings.conf file instead
ethereal = {
version = "1.27",
leaftype = 0, -- 0 for 2D plantlike, 1 for 3D allfaces
leafwalk = false, -- true for walkable leaves, false to fall through
cavedirt = true, -- caves chop through dirt when true
torchdrop = true, -- torches drop when touching water
papyruswalk = true, -- papyrus can be walked on
lilywalk = true, -- waterlilies can be walked on
xcraft = true, -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
glacier = 1, -- Ice glaciers with snow
bamboo = 1, -- Bamboo with sprouts
mesa = 1, -- Mesa red and orange clay with giant redwood
alpine = 1, -- Snowy grass
snowy = 1, -- Cold grass with pine trees and snow spots
grassy = 1, -- Green grass with flowers and trees
caves = 1, -- Desert stone ares with huge caverns underneath
grayness = 1, -- Grey grass with willow trees
grassytwo = 1, -- Sparse trees with old trees and flowers
prairie = 1, -- Flowery grass with many plants and flowers
jumble = 1, -- Green grass with trees and jungle grass
junglee = 1, -- Jungle grass with tall jungle trees
desert = 1, -- Desert sand with cactus
grove = 1, -- Banana groves and ferns
mushroom = 1, -- Purple grass with giant mushrooms
sandstone = 1, -- Sandstone with smaller cactus
quicksand = 1, -- Quicksand banks
plains = 1, -- Dry dirt with scorched trees
savanna = 1, -- Dry yellow grass with acacia tree's
volcanic = 1, -- Red grass with lava craters
sandclay = 1, -- Sand areas with clay underneath
swamp = 1, -- Swamp areas with vines on tree's, mushrooms, lilly's and clay sand
sealife = 1, -- Enable coral and seaweed
reefs = 1, -- Enable new 0.4.15 coral reefs in default
sakura = 1, -- Enable sakura biome with trees
tundra = 1, -- Enable tuntra biome with permafrost
}
local path = minetest.get_modpath("ethereal")
-- Load new settings if found
local input = io.open(path.."/settings.conf", "r")
if input then
dofile(path .. "/settings.conf")
input:close()
input = nil
end
-- Intllib
local S
if minetest.global_exists("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
S = intllib.make_gettext_pair()
else
-- Old method using text files.
S = intllib.Getter()
end
else
S = function(s) return s end
end
ethereal.intllib = S
-- Falling node function
ethereal.check_falling = minetest.check_for_falling or nodeupdate
-- creative check
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
function ethereal.check_creative(name)
return creative_mode_cache or minetest.check_player_privs(name, {creative = true})
end
dofile(path .. "/plantlife.lua")
dofile(path .. "/mushroom.lua")
dofile(path .. "/onion.lua")
dofile(path .. "/water.lua")
dofile(path .. "/dirt.lua")
dofile(path .. "/food.lua")
dofile(path .. "/wood.lua")
dofile(path .. "/leaves.lua")
dofile(path .. "/sapling.lua")
dofile(path .. "/blumfruit.lua")
dofile(path .. "/fishing.lua")
dofile(path .. "/extra.lua")
dofile(path .. "/sealife.lua")
dofile(path .. "/gates.lua")
dofile(path .. "/mapgen.lua")
dofile(path .. "/compatibility.lua")
dofile(path .. "/stairs.lua")
dofile(path .. "/lucky_block.lua")
-- Set bonemeal aliases
if minetest.get_modpath("bonemeal") then
minetest.register_alias("ethereal:bone", "bonemeal:bone")
minetest.register_alias("ethereal:bonemeal", "bonemeal:bonemeal")
else -- or return to where it came from
minetest.register_alias("ethereal:bone", "default:dirt")
minetest.register_alias("ethereal:bonemeal", "default:dirt")
end
if minetest.get_modpath("xanadu") then
dofile(path .. "/plantpack.lua")
end
print (S("[MOD] Ethereal loaded"))

52
mods/ethereal/leaves.lua Normal file
View File

@ -0,0 +1,52 @@
local S = ethereal.intllib
-- leaf decay
default.register_leafdecay({
trunks = {"default:jogan_trunk"},
leaves = {"default:jogan_fruit", "default:jogan_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"default:pine_trunk"},
leaves = {"default:pine_needles"},
radius = 3
})
default.register_leafdecay({
trunks = {"default:brylark_trunk"},
leaves = {"default:brylark_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"default:uneti_trunk"},
leaves = {"default:uneti_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"default:wroshyr_trunk"},
leaves = {"default:wroshyr_leaves"},
radius = 3
})
default.register_leafdecay({
trunks = {"default:palm_trunk"},
leaves = {"default:palm_leaves", "ethereal:coconut"},
radius = 3
})
default.register_leafdecay({
trunks = {"default:bamboo"},
leaves = {"default:bamboo_leaves"},
radius = 2
})
default.register_leafdecay({
trunks = {"default:bush_stem"},
leaves = {"default:bush_leaves"},
radius = 1
})

21
mods/ethereal/license.txt Normal file
View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 TenPlus1
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,89 @@
-- add lucky blocks
if minetest.get_modpath("lucky_block") then
local epath = minetest.get_modpath("ethereal") .. "/schematics/"
lucky_block:add_schematics({
{"pinetree", ethereal.pinetree, {x = 3, y = 0, z = 3}},
{"palmtree", ethereal.palmtree, {x = 4, y = 0, z = 4}},
{"bananatree", ethereal.bananatree, {x = 3, y = 0, z = 3}},
{"orangetree", ethereal.orangetree, {x = 1, y = 0, z = 1}},
{"birchtree", ethereal.birchtree, {x = 2, y = 0, z = 2}},
})
lucky_block:add_blocks({
{"dro", {"ethereal:firethorn"}, 3},
{"dro", {"ethereal:firethorn_jelly"}, 3},
{"nod", "ethereal:crystal_spike", 1},
{"sch", "pinetree", 0, false},
{"dro", {"ethereal:orange"}, 10},
{"sch", "appletree", 0, false},
{"dro", {"ethereal:strawberry"}, 10},
{"sch", "bananatree", 0, false},
{"sch", "orangetree", 0, false},
{"dro", {"ethereal:banana"}, 10},
{"sch", "acaciatree", 0, false},
{"dro", {"ethereal:golden_apple"}, 3},
{"sch", "palmtree", 0, false},
{"dro", {"ethereal:tree_sapling"}, 5},
{"dro", {"ethereal:orange_tree_sapling"}, 5},
{"dro", {"ethereal:banana_tree_sapling"}, 5},
{"dro", {"ethereal:willow_sapling"} ,5},
{"dro", {"ethereal:mushroom_sapling"} ,5},
{"dro", {"ethereal:palm_sapling"} ,5},
{"dro", {"ethereal:birch_sapling"} ,5},
{"dro", {"ethereal:redwood_sapling"} ,1},
{"dro", {"ethereal:prairie_dirt"}, 10},
{"dro", {"ethereal:grove_dirt"}, 10},
{"fal", {"default:lava_source", "default:lava_source", "default:lava_source",
"default:lava_source", "default:lava_source"}, 1, true, 4},
{"dro", {"ethereal:cold_dirt"}, 10},
{"dro", {"ethereal:mushroom_dirt"}, 10},
{"dro", {"ethereal:fiery_dirt"}, 10},
{"dro", {"ethereal:axe_crystal"}},
{"nod", "ethereal:fire_flower", 1},
{"dro", {"ethereal:sword_crystal"}},
{"dro", {"ethereal:pick_crystal"}},
{"sch", "birchtree", 0, false},
{"dro", {"ethereal:fish_raw"}},
{"dro", {"ethereal:shovel_crystal"}},
{"dro", {"ethereal:fishing_rod_baited"}},
{"exp"},
{"dro", {"ethereal:fire_dust"}, 2},
{"exp", 4},
{"dro", {"ethereal:crystal_gilly_staff"}},
{"dro", {"ethereal:light_staff"}},
{"nod", "default:chest", 0, {
{name = "ethereal:birch_sapling", max = 10},
{name = "ethereal:palm_sapling", max = 10},
{name = "ethereal:orange_tree_sapling", max = 10},
{name = "ethereal:redwood_sapling", max = 10},
{name = "ethereal:bamboo_sprout", max = 10},
{name = "ethereal:banana_tree_sapling", max = 10},
{name = "ethereal:mushroom_sapling", max = 10},
{name = "ethereal:frost_tree_sapling", max = 10},
{name = "ethereal:sakura_sapling", max = 10},
{name = "ethereal:willow_sapling", max = 10},
}},
})
if minetest.get_modpath("3d_armor") then
lucky_block:add_blocks({
{"dro", {"3d_armor:helmet_crystal"}},
{"dro", {"3d_armor:chestplate_crystal"}},
{"dro", {"3d_armor:leggings_crystal"}},
{"dro", {"3d_armor:boots_crystal"}},
{"lig"},
})
end
if minetest.get_modpath("shields") then
lucky_block:add_blocks({
{"dro", {"shields:shield_crystal"}},
{"exp"},
})
end
end -- END IF

694
mods/ethereal/mapgen.lua Normal file
View File

@ -0,0 +1,694 @@
-- clear default mapgen biomes, decorations and ores
minetest.clear_registered_biomes()
minetest.clear_registered_decorations()
--minetest.clear_registered_ores()
local path = minetest.get_modpath("ethereal")
dofile(path .. "/ores.lua")
path = path .. "/schematics/"
local dpath = minetest.get_modpath("default") .. "/schematics/"
-- tree schematics
dofile(path .. "bamboo_tree.lua")
dofile(path .. "bush.lua")
dofile(path .. "waterlily.lua")
dofile(path .. "volcanom.lua")
dofile(path .. "volcanol.lua")
dofile(path .. "palm_tree.lua")
dofile(path .. "pine_tree.lua")
dofile(path .. "mushroomone.lua")
dofile(path .. "brylark_tree.lua")
dofile(path .. "jogan_tree.lua")
dofile(path .. "uneti_tree.lua")
dofile(path .. "wroshyr_tree.lua")
--= Biomes
local add_biome = function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
if p ~= 1 then return end
minetest.register_biome({
name = a,
node_dust = b,
node_top = c,
depth_top = d,
node_filler = e,
depth_filler = f,
node_stone = g,
node_water_top = h,
depth_water_top = i,
node_water = j,
node_river_water = k,
y_min = l,
y_max = m,
heat_point = n,
humidity_point = o,
})
end
add_biome("underground", nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
-31000, -192, 50, 50, 1)
add_biome("mountain", nil, "default:snow", 1, "default:snow_block", 2,
nil, nil, nil, nil, nil, 140, 31000, 50, 50, 1)
add_biome("desert", nil, "default:desert_sand", 1, "default:desert_sand", 3,
"default:desert_stone", nil, nil, nil, nil, 3, 23, 35, 20, ethereal.desert)
add_biome("desert_ocean", nil, "default:sand", 1, "default:sand", 2,
"default:desert_stone", nil, nil, nil, nil, -192, 3, 35, 20, ethereal.desert)
if ethereal.glacier == 1 then
minetest.register_biome({
name = "glacier",
node_dust = "default:snow_block",
node_top = "default:snow_block",
depth_top = 1,
node_filler = "default:snow_block",
depth_filler = 3,
node_stone = "default:ice",
node_water_top = "default:ice",
depth_water_top = 10,
--node_water = "",
node_river_water = "default:ice",
node_riverbed = "default:gravel",
depth_riverbed = 2,
y_min = -8,
y_max = 31000,
heat_point = 0,
humidity_point = 50,
})
minetest.register_biome({
name = "glacier_ocean",
node_dust = "default:snow_block",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
y_min = -112,
y_max = -9,
heat_point = 0,
humidity_point = 50,
})
end
add_biome("clearing", nil, "default:grass_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 3, 71, 45, 65, 1) -- ADDED
add_biome("bamboo", nil, "default:bamboo_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 25, 70, 45, 75, ethereal.bamboo)
--add_biome("bamboo_ocean", nil, "default:sand", 1, "default:sand", 2,
--nil, nil, nil, nil, nil, -192, 2, 45, 75, ethereal.bamboo)
add_biome("mesa", nil, "default:savanna_dirt", 1, "bakedclay:orange", 15,
nil, nil, nil, nil, nil, 1, 71, 25, 28, ethereal.mesa)
add_biome("mesa_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 1, 25, 28, ethereal.mesa)
add_biome("alpine", nil, "default:snow_dirt", 1, "default:dirt", 2,
nil, nil, nil, nil, nil, 40, 140, 10, 40, ethereal.alpine)
add_biome("snowy", nil, "default:cold_dirt", 1, "default:dirt", 2,
nil, nil, nil, nil, nil, 4, 40, 10, 40, ethereal.snowy)
add_biome("grassy", nil, "default:grass_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 3, 91, 13, 40, ethereal.grassy)
add_biome("grassy_ocean", nil, "defaut:sand", 2, "default:gravel", 1,
nil, nil, nil, nil, nil, -31000, 3, 13, 40, ethereal.grassy)
add_biome("caves", nil, "default:desert_stone", 3, "air", 8,
nil, nil, nil, nil, nil, 4, 41, 15, 25, ethereal.caves)
add_biome("prairie", nil, "default:prairie_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 3, 26, 20, 40, ethereal.prairie)
add_biome("prairie_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 1, 20, 40, ethereal.prairie)
add_biome("jumble", nil, "default:grass_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 1, 71, 25, 50, ethereal.jumble)
add_biome("jumble_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 1, 25, 50, ethereal.jumble)
add_biome("junglee", nil, "default:jungle_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 1, 71, 30, 60, ethereal.junglee)
add_biome("junglee_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 1, 30, 60, ethereal.junglee)
add_biome("grove", nil, "default:grass_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 3, 23, 45, 35, ethereal.grove)
add_biome("grove_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 2, 45, 35, ethereal.grove)
add_biome("mushroom", nil, "default:fungus_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 3, 50, 45, 55, ethereal.mushroom)
add_biome("mushroom_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 2, 45, 55, ethereal.mushroom)
add_biome("sandstone", nil, "default:sandstone", 1, "default:sandstone", 1,
"default:sandstone", nil, nil, nil, nil, 3, 23, 50, 20, ethereal.sandstone)
add_biome("sandstone_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 2, 50, 20, ethereal.sandstone)
add_biome("quicksand", nil, "default:quicksand", 3, "default:gravel", 1,
nil, nil, nil, nil, nil, 1, 1, 50, 38, ethereal.quicksand)
add_biome("plains", nil, "default:dry_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 3, 25, 65, 25, ethereal.plains)
add_biome("plains_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 2, 55, 25, ethereal.plains)
add_biome("savanna", nil, "default:savanna_dirt", 1, "default:dirt",
3, nil, nil, nil, nil, nil, 3, 50, 55, 25, ethereal.savanna)
add_biome("savanna_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 1, 55, 25, ethereal.savanna)
add_biome("volcanic", nil, "default:charred_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 5, 20, 75, 10, ethereal.volcanic)
add_biome("volcanic_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 4, 75, 10, ethereal.volcanic)
add_biome("sandclay", nil, "default:sand", 3, "default:clay", 2,
nil, nil, nil, nil, nil, 1, 11, 65, 2, ethereal.sandclay)
add_biome("swamp", nil, "default:grass_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 1, 7, 80, 90, ethereal.swamp)
add_biome("swamp_ocean", nil, "default:sand", 2, "default:clay", 2,
nil, nil, nil, nil, nil, -192, 1, 80, 90, ethereal.swamp)
--= schematic decorations
local add_schem = function(a, b, c, d, e, f, g, h)
if g ~= 1 then return end
minetest.register_decoration({
deco_type = "schematic",
place_on = a,
sidelen = 80,
fill_ratio = b,
biomes = c,
y_min = d,
y_max = e,
schematic = f,
flags = "place_center_x, place_center_z",
replacements = h,
})
end
-- wroshyr tree
add_schem({"default:jungle_dirt"}, 0.0025, {"junglee"}, 1, 100, ethereal.wroshyr_tree, ethereal.junglee)
-- brylark tree
add_schem({"default:jungle_dirt"}, 0.01, {"junglee"}, 1, 100, ethereal.brylark_tree, ethereal.junglee)
-- uneti tree
add_schem({"default:snowdirt"}, 0.001, {"alpine"}, 120, 140, ethereal.uneti_tree, ethereal.alpine)
if ethereal.mushroom then
-- giant mushshroom
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:fungus_dirt"},
sidelen = 80,
fill_ratio = 0.02,
biomes = {"mushroom"},
y_min = 1,
y_max = 100,
schematic = ethereal.mushroomone,
flags = "place_center_x, place_center_z",
spawn_by = "default:fungus_dirt",
num_spawn_by = 6,
})
end
if ethereal.fiery then
-- small lava crater
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:charred_dirt"},
sidelen = 80,
fill_ratio = 0.01,
biomes = {"volcanic"},
y_min = 1,
y_max = 100,
schematic = ethereal.volcanom,
flags = "place_center_x, place_center_z",
spawn_by = "default:charred_dirt",
num_spawn_by = 8,
})
-- large lava crater
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:charred_dirt"},
sidelen = 80,
fill_ratio = 0.003,
biomes = {"volcanic"},
y_min = 1,
y_max = 100,
schematic = ethereal.volcanol,
flags = "place_center_x, place_center_z",
spawn_by = "default:charred_dirt",
num_spawn_by = 8,
rotation = "random",
})
end
-- pine tree (default for lower elevation and ethereal for higher)
add_schem({"default:cold_dirt"}, 0.025, {"snowy"}, 10, 40, ethereal.pine_tree, ethereal.snowy)
add_schem({"default:snow_dirt"}, 0.025, {"alpine"}, 40, 140, ethereal.pine_tree, ethereal.alpine)
-- jogan tree
add_schem({"default:grass_dirt"}, 0.02, {"jumble"}, 1, 100, ethereal.jogan_tree, ethereal.grassy)
add_schem({"default:grass_dirt"}, 0.03, {"grassy"}, 1, 100, ethereal.jogan_tree, ethereal.grassy)
-- palm tree
add_schem({"default:sand"}, 0.0025, {"desert_ocean"}, 1, 1, ethereal.palm_tree, ethereal.desert)
add_schem({"default:sand"}, 0.0025, {"plains_ocean"}, 1, 1, ethereal.palm_tree, ethereal.plains)
add_schem({"default:sand"}, 0.0025, {"sandclay"}, 1, 1, ethereal.palm_tree, ethereal.sandclay)
add_schem({"default:sand"}, 0.0025, {"sandstone_ocean"}, 1, 1, ethereal.palm_tree, ethereal.sandstone)
add_schem({"default:sand"}, 0.0025, {"mesa_ocean"}, 1, 1, ethereal.palm_tree, ethereal.mesa)
add_schem({"default:sand"}, 0.0025, {"grove_ocean"}, 1, 1, ethereal.palm_tree, ethereal.grove)
add_schem({"default:sand"}, 0.0025, {"grassy_ocean"}, 1, 1, ethereal.palm_tree, ethereal.grassy)
-- bamboo tree
add_schem({"default:bamboo_dirt"}, 0.025, {"bamboo"}, 1, 100, ethereal.bamboo_tree, ethereal.bamboo)
-- bush
add_schem({"default:bamboo_dirt"}, 0.08, {"bamboo"}, 1, 100, ethereal.bush, ethereal.bamboo)
-- vine tree
add_schem({"default:grass_dirt"}, 0.02, {"swamp"}, 1, 100, ethereal.vine_tree, ethereal.swamp)
-- water pools in swamp areas if 5.0 detected
if minetest.registered_nodes["default:permafrost"] then
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:grass_dirt"},
place_offset_y = -1,
sidelen = 16,
fill_ratio = 0.01,
biomes = {"swamp"},
y_max = 2,
y_min = 1,
flags = "force_placement",
decoration = "default:water_source",
spawn_by = "default:grass_dirt",
num_spawn_by = 8,
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:grass_dirt"},
place_offset_y = -1,
sidelen = 16,
fill_ratio = 0.1,
biomes = {"swamp"},
y_max = 2,
y_min = 1,
flags = "force_placement",
decoration = "default:water_source",
spawn_by = {"default:grass_dirt", "default:water_source"},
num_spawn_by = 8,
})
end
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:savanna_dirt"},
sidelen = 4,
noise_params = {
offset = -1.5,
scale = -1.5,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 4,
persist = 1.0
},
biomes = {"savanna"},
y_max = 31000,
y_min = 1,
decoration = "default:dry_dirt",
place_offset_y = -1,
flags = "force_placement",
})
-- bush
--minetest.register_decoration({
-- deco_type = "schematic",
-- place_on = {"default:grass_dirt", "default:snow_dirt"},
-- sidelen = 16,
-- noise_params = {
-- offset = -0.004,
-- scale = 0.01,
-- spread = {x = 100, y = 100, z = 100},
-- seed = 137,
-- octaves = 3,
-- persist = 0.7,
-- },
-- biomes = {"grassy", "grassytwo", "jumble"},
-- y_min = 1,
-- y_max = 31000,
-- schematic = dpath .. "bush.mts",
-- flags = "place_center_x, place_center_z",
--})
--= simple decorations
local add_node = function(a, b, c, d, e, f, g, h, i, j)
if j ~= 1 then return end
minetest.register_decoration({
deco_type = "simple",
place_on = a,
sidelen = 80,
fill_ratio = b,
biomes = c,
y_min = d,
y_max = e,
decoration = f,
height_max = g,
spawn_by = h,
num_spawn_by = i,
})
end
-- scorched tree
add_node({"ethereal:dry_dirt"}, 0.006, {"plains"}, 1, 100, {"default:scorched_tree"}, 6, nil, nil, ethereal.plains)
-- dry shrub
add_node({"default:dry_dirt"}, 0.015, {"plains"}, 1, 100, {"default:dry_shrub"}, nil, nil, nil, ethereal.plains)
add_node({"default:sand"}, 0.015, {"grassy_ocean"}, 1, 100, {"default:dry_shrub"}, nil, nil, nil, ethereal.grassy)
add_node({"default:desert_sand"}, 0.015, {"desert"}, 1, 100, {"default:dry_shrub"}, nil, nil, nil, ethereal.desert)
add_node({"default:sandstone"}, 0.015, {"sandstone"}, 1, 100, {"default:dry_shrub"}, nil, nil, nil, ethereal.sandstone)
add_node({"bakedclay:red", "bakedclay:orange"}, 0.015, {"mesa"}, 1, 100, {"default:dry_shrub"}, nil, nil, nil, ethereal.mesa)
-- dry grass
add_node({"default:savanna_dirt"}, 0.25, {"savanna"}, 1, 100,
{"default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4",
"default:dry_grass_5"}, nil, nil, nil, ethereal.savanna)
add_node({"default:savanna_dirt"}, 0.10, {"mesa"}, 1, 100, {"default:dry_grass_2",
"default:dry_grass_3", "default:dry_grass_4", "default:dry_grass_5"}, nil, nil, nil, ethereal.mesa)
add_node({"default:desert_stone"}, 0.005, {"caves"}, 5, 40, {"default:dry_grass_2",
"default:dry_grass_3", "default:dry_shrub"}, nil, nil, nil, ethereal.caves)
-- flowers
add_node({"default:grass_dirt"}, 0.025, {"grassy"}, 1, 100, {"flowers:lily_white",
"flowers:delia_pavorum", "flowers:starflower", "flowers:plom_bloom", "flowers:hai_ka_flower",
"flowers:purple_passion"}, nil, nil, nil, ethereal.grassy)
add_node({"default:grass_dirt"}, 0.025, {"grassytwo"}, 1, 100, {"flowers:lily_white",
"flowers:delia_pavorum", "flowers:starflower", "flowers:plom_bloom", "flowers:hai_ka_flower",
"flowers:purple_passion"}, nil, nil, nil, ethereal.grassytwo)
-- prairie flowers & strawberry
add_node({"default:prairie_dirt"}, 0.035, {"prairie"}, 1, 100, {"flowers:lily_white",
"flowers:delia_pavorum", "flowers:starflower", "flowers:plom_bloom", "flowers:hai_ka_flower",
"flowers:purple_passion", "flowers:jade_rose", "flowers:zinthorn"}, nil, nil, nil, ethereal.prairie)
-- snowy grass
--add_node({"default:cold_dirt"}, 0.05, {"snowy"}, 1, 100, {"default:snowy_grass"}, nil, nil, nil, ethereal.snowy)
-- cactus
add_node({"default:sandstone"}, 0.0025, {"sandstone"}, 1, 100, {"default:cactus"}, 3, nil, nil, ethereal.sandstone)
add_node({"default:desert_sand"}, 0.005, {"desert"}, 1, 100, {"default:cactus"}, 4, nil, nil, ethereal.desert)
-- wild red mushroom
add_node({"default:fungus_dirt"}, 0.01, {"mushroom"}, 1, 100, {"flowers:mushroom_red"}, nil, nil, nil, ethereal.mushroom)
local list = {
{"junglee", {"default:jungle_dirt", "default:dirt_with_rainforest_litter"}, ethereal.junglee},
{"grassy", {"default:grass_dirt"}, ethereal.grassy},
{"grassytwo", {"default:grass_dirt"}, ethereal.grassytwo},
{"prairie", {"default:prairie_dirt"}, ethereal.prairie},
{"mushroom", {"default:fungus_dirt"}, ethereal.mushroom},
{"swamp", {"default:grass_dirt"}, ethereal.swamp},
}
-- wild red and brown mushrooms
for _, row in pairs(list) do
if row[3] == 1 then
minetest.register_decoration({
deco_type = "simple",
place_on = row[2],
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.009,
spread = {x = 200, y = 200, z = 200},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {row[1]},
y_min = 1,
y_max = 120,
decoration = {"flowers:mushroom_brown", "flowers:mushroom_red"},
})
end
end
-- jungle grass
add_node({"default:jungle_dirt"}, 0.10, {"junglee"}, 1, 100, {"default:jungle_grass"}, nil, nil, nil, ethereal.junglee)
add_node({"default:grass_dirt"}, 0.15, {"jumble"}, 1, 100, {"default:jungle_grass"}, nil, nil, nil, ethereal.jumble)
add_node({"default:grass_dirt"}, 0.25, {"swamp"}, 1, 100, {"default:jungle_grass"}, nil, nil, nil, ethereal.swamp)
-- grass
add_node({"default:grass_dirt"}, 0.35, {"grassy"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.grassy)
add_node({"default:grass_dirt"}, 0.35, {"grassytwo"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.grassytwo)
add_node({"default:grass_dirt"}, 0.35, {"jumble"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.jumble)
add_node({"default:jungle_dirt"}, 0.35, {"junglee"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.junglee)
add_node({"default:prairie_dirt"}, 0.35, {"prairie"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.prairie)
add_node({"default:grass_dirt"}, 0.35, {"grove"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.grove)
add_node({"default:bamboo_dirt"}, 0.35, {"bamboo"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.bamboo)
add_node({"default:grass_dirt"}, 0.35, {"clearing", "swamp"}, 1, 100, {"default:grass_3",
"default:grass_4"}, nil, nil, nil, 1)
-- grass on sand
add_node({"default:sand"}, 0.25, {"sandclay"}, 3, 4, {"default:saago_grass_1",
"default:saago_grass_2", "default:saago_grass_3"}, nil, nil, nil, ethereal.sandclay)
-- ferns
add_node({"default:grass_dirt"}, 0.2, {"grove"}, 1, 100, {"default:fern"}, nil, nil, nil, ethereal.grove)
add_node({"default:grass_dirt"}, 0.1, {"swamp"}, 1, 100, {"default:fern"}, nil, nil, nil, ethereal.swamp)
-- snow
add_node({"default:cold_dirt"}, 0.8, {"snowy"}, 4, 40, {"default:snow"}, nil, nil, nil, ethereal.snowy)
add_node({"default:snow_dirt"}, 0.8, {"alpine"}, 40, 140, {"default:snow"}, nil, nil, nil, ethereal.alpine)
-- reeds
add_node({"default:grass_dirt"}, 0.1, {"grassy"}, 1, 1, {"default:reeds"}, 4, "default:water_source", 1, ethereal.grassy)
add_node({"default:jungle_dirt"}, 0.1, {"junglee"}, 1, 1, {"default:reeds"}, 4, "default:water_source", 1, ethereal.junglee)
add_node({"default:grass_dirt"}, 0.1, {"swamp"}, 1, 1, {"default:reeds"}, 4, "default:water_source", 1, ethereal.swamp)
--= Farming Redo plants
if farming and farming.mod and farming.mod == "redo" then
print ("[MOD] Ethereal - Farming Redo detected and in use")
-- place waterlily in beach areas
local list = {
{"desert_ocean", ethereal.desert},
{"plains_ocean", ethereal.plains},
{"sandclay", ethereal.sandclay},
{"sandstone_ocean", ethereal.sandstone},
{"mesa_ocean", ethereal.mesa},
{"grove_ocean", ethereal.grove},
{"grassy_ocean", ethereal.grassy},
{"swamp_ocean", ethereal.swamp},
}
for _, row in pairs(list) do
if row[2] == 1 then
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0.12,
scale = 0.3,
spread = {x = 200, y = 200, z = 200},
seed = 33,
octaves = 3,
persist = 0.7
},
biomes = {row[1]},
y_min = 0,
y_max = 0,
schematic = ethereal.waterlily,
rotation = "random",
})
end
end
if ethereal.tundra and minetest.registered_nodes["default:permafrost"] then
minetest.register_biome({
name = "tundra_highland",
node_dust = "default:snow",
node_riverbed = "default:gravel",
depth_riverbed = 2,
y_max = 180,
y_min = 47,
heat_point = 0,
humidity_point = 40,
})
minetest.register_biome({
name = "tundra",
node_top = "default:permafrost_with_stones",
depth_top = 1,
node_filler = "default:permafrost",
depth_filler = 1,
node_riverbed = "default:gravel",
depth_riverbed = 2,
vertical_blend = 4,
y_max = 46,
y_min = 2,
heat_point = 0,
humidity_point = 40,
})
minetest.register_biome({
name = "tundra_beach",
node_top = "default:gravel",
depth_top = 1,
node_filler = "default:gravel",
depth_filler = 2,
node_riverbed = "default:gravel",
depth_riverbed = 2,
vertical_blend = 1,
y_max = 1,
y_min = -3,
heat_point = 0,
humidity_point = 40,
})
minetest.register_biome({
name = "tundra_ocean",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
node_riverbed = "default:gravel",
depth_riverbed = 2,
vertical_blend = 1,
y_max = -4,
y_min = -112,
heat_point = 0,
humidity_point = 40,
})
-- Tundra moss
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:permafrost_with_stones"},
sidelen = 4,
noise_params = {
offset = -0.8,
scale = 2.0,
spread = {x = 100, y = 100, z = 100},
seed = 53995,
octaves = 3,
persist = 1.0
},
biomes = {"tundra"},
y_max = 50,
y_min = 2,
decoration = "default:permafrost_with_moss",
place_offset_y = -1,
flags = "force_placement",
})
-- Tundra patchy snow
minetest.register_decoration({
deco_type = "simple",
place_on = {
"default:permafrost_with_moss",
"default:permafrost_with_stones",
"default:stone",
"default:gravel"
},
sidelen = 4,
noise_params = {
offset = 0,
scale = 1.0,
spread = {x = 100, y = 100, z = 100},
seed = 172555,
octaves = 3,
persist = 1.0
},
biomes = {"tundra", "tundra_beach"},
y_max = 50,
y_min = 1,
decoration = "default:snow",
})
end
-- Kelp
minetest.register_decoration({
name = "default:kelp",
deco_type = "simple",
place_on = {"default:sand"},
place_offset_y = -1,
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.1,
spread = {x = 200, y = 200, z = 200},
seed = 87112,
octaves = 3,
persist = 0.7
},
biomes = {
"frost_ocean", "grassy_ocean", "sandstone_ocean", "swamp_ocean"},
y_max = -5,
y_min = -10,
flags = "force_placement",
decoration = "default:sand_with_kelp",
param2 = 48,
param2_max = 96,
})
end

1
mods/ethereal/mod.conf Normal file
View File

@ -0,0 +1 @@
name = ethereal

View File

@ -0,0 +1,27 @@
local S = ethereal.intllib
-- mushroom soup (Heals 1 heart)
minetest.register_craftitem("ethereal:mushroom_soup", {
description = S("Mushroom Soup"),
inventory_image = "mushroom_soup.png",
on_use = minetest.item_eat(5, "ethereal:bowl"),
})
minetest.register_craft({
output = "ethereal:mushroom_soup",
recipe = {
{"flowers:mushroom_brown"},
{"flowers:mushroom_brown"},
{"group:food_bowl"},
}
})
-- 4x red mushrooms make mushroom block
minetest.register_craft({
output = "ethereal:mushroom",
recipe = {
{"flowers:mushroom_red", "flowers:mushroom_red"},
{"flowers:mushroom_red", "flowers:mushroom_red"},
}
})

104
mods/ethereal/onion.lua Normal file
View File

@ -0,0 +1,104 @@
local S = ethereal.intllib
-- wild onion
minetest.register_craftitem("ethereal:wild_onion_plant", {
description = S("Wild Onion"),
inventory_image = "wild_onion.png",
wield_image = "wild_onion.png",
groups = {food_onion = 1, flammable = 2},
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:wild_onion_1")
end,
on_use = minetest.item_eat(2),
})
-- Define Onion growth stages
local crop_def = {
drawtype = "plantlike",
tiles = {"ethereal_wild_onion_1.png"},
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
drop = "",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
},
groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
growing = 1, not_in_creative_inventory = 1
},
sounds = default.node_sound_leaves_defaults(),
}
--stage 1
minetest.register_node("ethereal:onion_1", table.copy(crop_def))
--stage 2
crop_def.tiles = {"ethereal_wild_onion_2.png"}
minetest.register_node("ethereal:onion_2", table.copy(crop_def))
--stage 3
crop_def.tiles = {"ethereal_wild_onion_3.png"}
minetest.register_node("ethereal:onion_3", table.copy(crop_def))
--stage 4
crop_def.tiles = {"ethereal_wild_onion_4.png"}
crop_def.drop = {
items = {
{items = {"ethereal:wild_onion_plant"}, rarity = 1},
{items = {"ethereal:wild_onion_plant 2"}, rarity = 3},
}
}
minetest.register_node("ethereal:onion_4", table.copy(crop_def))
--stage 5
crop_def.tiles = {"ethereal_wild_onion_5.png"}
crop_def.groups.growing = 0
crop_def.drop = {
items = {
{items = {"ethereal:wild_onion_plant 2"}, rarity = 1},
{items = {"ethereal:wild_onion_plant 3"}, rarity = 2},
}
}
minetest.register_node("ethereal:onion_5", table.copy(crop_def))
-- growing routine if farming redo isn't present
if not farming or not farming.mod or farming.mod ~= "redo" then
minetest.register_abm({
label = "Ethereal grow onion",
nodenames = {"ethereal:onion_1", "ethereal:onion_2", "ethereal:onion_3", "ethereal:onion_4"},
neighbors = {"farming:soil_wet"},
interval = 9,
chance = 20,
catch_up = false,
action = function(pos, node)
-- are we on wet soil?
pos.y = pos.y - 1
if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then
return
end
pos.y = pos.y + 1
-- do we have enough light?
local light = minetest.get_node_light(pos)
if not light
or light < 13 then
return
end
-- grow to next stage
local num = node.name:split("_")[2]
node.name = "ethereal:onion_" .. tonumber(num + 1)
minetest.swap_node(pos, node)
end
})
end -- END IF

76
mods/ethereal/ores.lua Normal file
View File

@ -0,0 +1,76 @@
-- Baked Clay
minetest.register_ore({
ore_type = "blob",
ore = "bakedclay:red",
wherein = {"bakedclay:orange"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -10,
y_max = 71,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -316,
octaves = 1,
persist = 0.5
},
})
minetest.register_ore({
ore_type = "blob",
ore = "bakedclay:grey",
wherein = {"bakedclay:orange"},
clust_scarcity = 4 * 4 * 4,
clust_num_ores = 8,
clust_size = 6,
y_min = -10,
y_max = 71,
noise_params = {
offset = 0.35,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = -613,
octaves = 1,
persist = 0.5
},
})
local add_ore = function(a, b, c, d, e, f, g)
minetest.register_ore({
ore_type = "scatter",
ore = a,
wherein = b,
clust_scarcity = c,
clust_num_ores = d,
clust_size = e,
y_min = f,
y_max = g,
})
end
-- Coal
add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16)
-- Zersium
add_ore("default:stone_with_zersium", "default:desert_stone", 9*9*9, 5, 3, -63, -16)
add_ore("default:stone_with_zersium", "default:desert_stone", 24*24*24, 27, 6, -31000, -64)
-- Gold
add_ore("default:stone_with_gold", "default:desert_stone", 15*15*15, 3, 2, -255, -64)
add_ore("default:stone_with_gold", "default:desert_stone", 13*13*13, 5, 3, -31000, -256)
-- Kyber
add_ore("default:stone_with_kyber", "default:desert_stone", 20*20*20, 3, 2, -255, -64)
add_ore("default:stone_with_kyber", "default:desert_stone", 17*17*17, 5, 3, -31000, -256)
-- Beskar
add_ore("default:stone_with_beskar", "default:desert_stone", 17*17*17, 4, 3, -255, -128)
add_ore("default:stone_with_beskar", "default:desert_stone", 15*15*15, 4, 3, -31000, -256)
-- Copper
add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64)

143
mods/ethereal/plantlife.lua Normal file
View File

@ -0,0 +1,143 @@
local S = ethereal.intllib
-- vines
minetest.register_node("ethereal:vine", {
description = S("Vine"),
drawtype = "signlike",
tiles = {"vine.png"},
inventory_image = "vine.png",
wield_image = "vine.png",
paramtype = "light",
paramtype2 = "wallmounted",
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = {
type = "wallmounted",
},
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2},
legacy_wallmounted = true,
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
output = "ethereal:vine 2",
recipe = {
{"group:leaves", "", "group:leaves"},
{"", "group:leaves", ""},
{"group:leaves", "", "group:leaves"},
}
})
-- light strings (glowing vine)
minetest.register_node("ethereal:lightstring", {
description = S("Light String Vine"),
drawtype = "signlike",
tiles = {"lightstring.png"},
inventory_image = "lightstring.png",
wield_image = "lightstring.png",
paramtype = "light",
paramtype2 = "wallmounted",
light_source = 10,
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = {
type = "wallmounted",
},
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2},
legacy_wallmounted = true,
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
output = "ethereal:lightstring 8",
recipe = {
{"ethereal:vine", "ethereal:vine", "ethereal:vine"},
{"ethereal:vine", "default:torch", "ethereal:vine"},
{"ethereal:vine", "ethereal:vine", "ethereal:vine"},
},
})
-- Fern (boston)
minetest.register_node("ethereal:fern", {
description = S("Fern"),
drawtype = "plantlike",
visual_scale = 1.4,
tiles = {"fern.png"},
inventory_image = "fern.png",
wield_image = "fern.png",
paramtype = "light",
sunlight_propagates = true,
waving = 1,
walkable = false,
buildable_to = true,
drop = {
max_items = 1,
items = {
{items = {"ethereal:fern"}}
}
},
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 0.67, 5 / 16},
},
})
-- Illuminated Cave Shrooms (Red, Green and Blue)
minetest.register_node("ethereal:illumishroom", {
description = S("Red Illumishroom"),
drawtype = "plantlike",
tiles = { "illumishroom.png" },
inventory_image = "illumishroom.png",
wield_image = "illumishroom.png",
paramtype = "light",
light_source = 5,
sunlight_propagates = true,
walkable = false,
groups = {dig_immediate = 3, attached_node = 1, flammable = 3},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
},
})
minetest.register_node("ethereal:illumishroom2", {
description = S("Green Illumishroom"),
drawtype = "plantlike",
tiles = { "illumishroom2.png" },
inventory_image = "illumishroom2.png",
wield_image = "illumishroom2.png",
paramtype = "light",
light_source = 5,
sunlight_propagates = true,
walkable = false,
groups = {dig_immediate = 3, attached_node = 1, flammable = 3},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
},
})
minetest.register_node("ethereal:illumishroom3", {
description = S("Cyan Illumishroom"),
drawtype = "plantlike",
tiles = { "illumishroom3.png" },
inventory_image = "illumishroom3.png",
wield_image = "illumishroom3.png",
paramtype = "light",
light_source = 5,
sunlight_propagates = true,
walkable = false,
groups = {dig_immediate = 3, attached_node = 1, flammable = 3},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
},
})

193
mods/ethereal/plantpack.lua Normal file
View File

@ -0,0 +1,193 @@
--= Register Biome Decoration Using Plants Mega Pack Lite
--= Desert Biome
-- Cactus
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:desert_sand", "default:sandstone"},
sidelen = 16,
fill_ratio = 0.005,
biomes = {"desert", "sandstone"},
decoration = {
"xanadu:cactus_echinocereus", "xanadu:cactus_matucana",
"xanadu:cactus_baseball", "xanadu:cactus_golden"
},
})
-- Desert Plants
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:desert_sand", "default:sandstone", "default:sand"},
sidelen = 16,
fill_ratio = 0.004,
biomes = {"desert", "sandstone"},
decoration = {
"xanadu:desert_kangaroo", "xanadu:desert_brittle",
"xanadu:desert_ocotillo", "xanadu:desert_whitesage"
},
})
--= Prairie Biome
-- Grass
minetest.register_decoration({
deco_type = "simple",
place_on = {"ethereal:prairie_dirt", "default:dirt_with_grass"},
sidelen = 16,
fill_ratio = 0.005,
biomes = {"prairie", "grassy", "grassytwo"},
decoration = {
"xanadu:grass_prairie", "xanadu:grass_cord",
"xanadu:grass_wheatgrass", "xanadu:desert_whitesage"
},
})
-- Flowers
minetest.register_decoration({
deco_type = "simple",
place_on = {
"ethereal:prairie_grass", "default:dirt_with_grass",
"ethereal:grove_dirt", "ethereal:bamboo_dirt"
},
sidelen = 16,
fill_ratio = 0.005,
biomes = {"prairie", "grassy", "grassytwo", "bamboo"},
decoration = {
"xanadu:flower_jacobsladder", "xanadu:flower_thistle",
"xanadu:flower_wildcarrot"
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {
"ethereal:prairie_grass", "default:dirt_with_grass",
"ethereal:grove_dirt"
},
sidelen = 16,
fill_ratio = 0.005,
biomes = {"prairie", "grassy", "grassytwo", "grove"},
decoration = {
"xanadu:flower_delphinium", "xanadu:flower_celosia",
"xanadu:flower_daisy", "xanadu:flower_bluerose"
},
})
-- Shrubs
minetest.register_decoration({
deco_type = "simple",
place_on = {
"ethereal:prairie_grass", "default:dirt_with_grass",
"ethereal:grove_dirt", "ethereal:jungle_grass",
"ethereal:gray_dirt", "default:dirt_with_rainforest_litter"
},
sidelen = 16,
fill_ratio = 0.005,
biomes = {
"prairie", "grassy", "grassytwo", "grove", "junglee",
"grayness", "jumble"
},
decoration = {"xanadu:shrub_kerria", "xanadu:shrub_spicebush"},
})
--= Jungle Biome
minetest.register_decoration({
deco_type = "simple",
place_on = {"ethereal:jungle_dirt", "default:dirt_with_grass", "default:dirt_with_rainforest_litter"},
sidelen = 16,
fill_ratio = 0.007,
biomes = {"junglee", "jumble"},
decoration = {
"xanadu:rainforest_guzmania", "xanadu:rainforest_devil",
"xanadu:rainforest_lazarus", "xanadu:rainforest_lollipop",
"xanadu:mushroom_woolly"
},
})
--= Cold Biomes
minetest.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_snow", "ethereal:cold_dirt",
"ethereal:gray_dirt"
},
sidelen = 16,
fill_ratio = 0.005,
biomes = {"snowy", "alpine", "grayness"},
decoration = {
"xanadu:mountain_edelweiss", "xanadu:mountain_armeria",
"xanadu:mountain_bellflower", "xanadu:mountain_willowherb",
"xanadu:mountain_bistort"
},
})
--= Mushroom Biome
minetest.register_decoration({
deco_type = "simple",
place_on = {"ethereal:mushroom_dirt"},
sidelen = 16,
fill_ratio = 0.005,
biomes = {"mushroom"},
decoration = {
"xanadu:mushroom_powderpuff", "xanadu:mushroom_chanterelle",
"xanadu:mushroom_parasol"
},
})
--= Lakeside
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand", "default:dirt_with_grass"},
sidelen = 16,
fill_ratio = 0.015,
biomes = {"sandclay", "grassy_ocean", "grassy", "grassytwo", "jumble", "swamp"},
decoration = {
"xanadu:wetlands_cattails", "xanadu:wetlands_pickerel",
"xanadu:wetlands_mannagrass", "xanadu:wetlands_turtle"
},
spawn_by = "default:water_source",
num_spawn_by = 1,
})
--= Harsh Biomes
minetest.register_decoration({
deco_type = "simple",
place_on = {
"ethereal:mushroom_dirt", "default:dirt_with_grass",
"ethereal:gray_dirt", "ethereal:cold_dirt",
"ethereal:dirt_with_snow", "ethereal:jungle_dirt",
"ethereal:prairie_dirt", "ethereal:grove_dirt",
"ethereal:dry_dirt", "ethereal:fiery_dirt", "default:sand",
"default:desert_sand", "xanadu:red", "ethereal:bamboo_dirt",
"default:dirt_with_rainforest_litter"
},
sidelen = 16,
fill_ratio = 0.004,
biomes = {
"mushroom", "prairie", "grayness", "plains", "desert",
"junglee", "grassy", "grassytwo", "jumble", "snowy", "alpine",
"fiery", "mesa", "bamboo"
},
decoration = {"xanadu:spooky_thornbush", "xanadu:spooky_baneberry"},
})
--= Poppy's growing in Clearing Biome in memory of RealBadAngel
minetest.register_decoration({
deco_type = "simple",
place_on = {
"default:dirt_with_grass",
},
sidelen = 16,
fill_ratio = 0.004,
biomes = {"clearing"},
decoration = {"xanadu:poppy"},
})

184
mods/ethereal/sapling.lua Normal file
View File

@ -0,0 +1,184 @@
local S = ethereal.intllib
-- Bamboo Sprout
minetest.register_node("ethereal:bamboo_sprout", {
description = S("Bamboo Sprout"),
drawtype = "plantlike",
tiles = {"bamboo_sprout.png"},
inventory_image = "bamboo_sprout.png",
wield_image = "bamboo_sprout.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
groups = {
food_bamboo_sprout = 1, snappy = 3, attached_node = 1, flammable = 2,
dig_immediate = 3, ethereal_sapling = 1, sapling = 1,
},
sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0, 4 / 16}
},
on_use = minetest.item_eat(2),
grown_height = 11,
})
-- Register Saplings
local register_sapling = function(name, desc, texture, height)
minetest.register_node(name .. "_sapling", {
description = S(desc .. " Tree Sapling"),
drawtype = "plantlike",
tiles = {texture .. ".png"},
inventory_image = texture .. ".png",
wield_image = texture .. ".png",
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {
snappy = 2, dig_immediate = 3, flammable = 2,
ethereal_sapling = 1, attached_node = 1, sapling = 1
},
sounds = default.node_sound_leaves_defaults(),
grown_height = height,
})
end
register_sapling("ethereal:uneti_tree", "Uneti", "ethereal_uneti_tree_sapling", 7)
register_sapling("ethereal:brylark_tree", "Brylark", "ethereal_brylark_tree_sapling", 19)
register_sapling("ethereal:mushroom", "Mushroom", "ethereal_mushroom_sapling", 11)
register_sapling("ethereal:palm", "Palm", "moretrees_palm_sapling", 9)
register_sapling("ethereal:wroshyr", "Wroshyr", "wroshyr_sapling", 31)
register_sapling("ethereal:jogan_tree", "Jogan", "jogan_tree_sapling", 6)
local add_tree = function (pos, ofx, ofy, ofz, schem, replace)
-- check for schematic
if not schem then
print (S("Schematic not found"))
return
end
-- remove sapling and place schematic
minetest.swap_node(pos, {name = "air"})
minetest.place_schematic(
{x = pos.x - ofx, y = pos.y - ofy, z = pos.z - ofz},
schem, 0, replace, false)
end
local path = minetest.get_modpath("ethereal") .. "/schematics/"
-- grow tree functions
function ethereal.grow_uneti_tree(pos)
add_tree(pos, 4, 0, 4, ethereal.uneti_tree)
end
function ethereal.grow_brylark_tree(pos)
add_tree(pos, 4, 0, 4, ethereal.brylark_tree)
end
function ethereal.grow_mushroom_tree(pos)
add_tree(pos, 4, 0, 4, ethereal.mushroomone)
end
function ethereal.grow_palm_tree(pos)
add_tree(pos, 4, 0, 4, ethereal.palmtree)
end
function ethereal.grow_wroshyr_tree(pos)
add_tree(pos, 7, 0, 7, ethereal.wroshyr_tree)
end
function ethereal.grow_jogan_tree(pos)
add_tree(pos, 1, 0, 1, ethereal.jogan_tree)
end
function ethereal.grow_bamboo_tree(pos)
add_tree(pos, 1, 0, 1, ethereal.bambootree)
end
-- check if sapling has enough height room to grow
local enough_height = function(pos, height)
local nod = minetest.line_of_sight(
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x, y = pos.y + height, z = pos.z})
if not nod then
return false -- obstructed
else
return true -- can grow
end
end
local grow_sapling = function(pos, node)
local under = minetest.get_node({
x = pos.x,
y = pos.y - 1,
z = pos.z
}).name
if not minetest.registered_nodes[node.name] then
return
end
local height = minetest.registered_nodes[node.name].grown_height
-- do we have enough height to grow sapling into tree?
if not height or not enough_height(pos, height) then
return
end
-- Check if Ethereal Sapling is growing on correct substrate
if node.name == "ethereal:uneti_tree_sapling"
and minetest.get_item_group(under, "soil") > 0 then
ethereal.grow_yellow_tree(pos)
elseif node.name == "ethereal:wroshyr_tree_sapling"
and minetest.get_item_group(under, "soil") > 0 then
ethereal.grow_big_tree(pos)
elseif node.name == "ethereal:brylark_tree_sapling"
and minetest.get_item_group(under, "soil") > 0 then
ethereal.grow_banana_tree(pos)
elseif node.name == "ethereal:jogan_tree_sapling"
and minetest.get_item_group(under, "soil") > 0 then
ethereal.grow_frost_tree(pos)
elseif node.name == "ethereal:mushroom_sapling"
and under == "ethereal:fungus_dirt" then
ethereal.grow_mushroom_tree(pos)
elseif node.name == "ethereal:palm_sapling"
and under == "default:sand" then
ethereal.grow_palm_tree(pos)
elseif node.name == "ethereal:bamboo_sprout"
and under == "ethereal:bamboo_dirt" then
ethereal.grow_bamboo_tree(pos)
end
end
-- Grow saplings
minetest.register_abm({
label = "Ethereal grow sapling",
nodenames = {"group:ethereal_sapling"},
interval = 10,
chance = 50,
catch_up = false,
action = function(pos, node)
local light_level = minetest.get_node_light(pos) or 0
if light_level < 13 then
return
end
grow_sapling(pos, node)
end,
})

View File

@ -0,0 +1,77 @@
local _ = {name = "air", param1 = 000}
local B = {name = "default:bamboo", param1 = 255}
local L = {name = "default:bamboo_leaves", param1 = 255}
local l = {name = "default:bamboo_leaves", param1 = 100}
ethereal.bamboo_tree = {
size = {x = 3, y = 18, z = 3},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 1, prob = 127},
{ypos = 2, prob = 127},
},
data = {
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
l,L,l,
_,L,_,
_,_,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
_,B,_,
l,L,l,
_,L,_,
_,l,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
_,_,_,
l,L,l,
_,L,_,
_,_,_,
}
}

View File

@ -0,0 +1,184 @@
local _ = {name = "air", prob = 0}
local l = {name = "default:brylark_leaves", prob = 255}
local t = {name = "default:brylark_trunk", prob = 255}
ethereal.brylark_tree = {
size = {x = 8, y = 19, z = 8},
yslice_prob = {
{ypos = 0, prob = 127}, -- trunk
{ypos = 1, prob = 127},
{ypos = 2, prob = 127},
{ypos = 3, prob = 127},
{ypos = 4, prob = 127},
{ypos = 5, prob = 127},
{ypos = 13, prob = 127}, -- leaves
{ypos = 15, prob = 127},
},
data = {
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,l,l,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,l,l,l,l,_,_,
_,_,_,_,_,_,_,_,
_,_,_,l,l,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,l,l,_,_,_,
_,l,l,l,l,l,l,_,
_,_,_,l,l,_,_,_,
_,_,l,l,l,l,_,_,
_,_,_,l,l,_,_,_,
_,_,_,l,l,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,l,t,t,l,_,_,
l,l,l,t,t,l,l,l,
_,_,l,t,t,l,_,_,
_,l,l,t,t,l,l,_,
_,_,l,t,t,l,_,_,
_,_,l,t,t,l,_,_,
_,_,_,l,l,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,_,t,t,_,_,_,
_,_,l,t,t,l,_,_,
l,l,l,t,t,l,l,l,
_,_,l,t,t,l,_,_,
_,l,l,t,t,l,l,_,
_,_,l,t,t,l,_,_,
_,_,l,t,t,l,_,_,
_,_,_,l,l,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,l,l,_,_,_,
_,l,l,l,l,l,l,_,
_,_,_,l,l,_,_,_,
_,_,l,l,l,l,_,_,
_,_,_,l,l,_,_,_,
_,_,_,l,l,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,l,l,l,l,_,_,
_,_,_,_,_,_,_,_,
_,_,_,l,l,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,l,l,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,38 @@
local _ = {name = "air", param1 = 0}
local B = {name = "default:bush_leaves", param1 = 255}
local b = {name = "default:bush_leaves", param1 = 100}
ethereal.bush = {
size = {x = 5, y = 3, z = 5},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 2, prob = 127},
},
data = {
b,B,B,B,b,
_,_,_,_,_,
_,_,_,_,_,
B,B,B,B,B,
_,b,B,b,_,
_,_,_,_,_,
B,B,B,B,B,
_,B,B,B,_,
_,_,b,_,_,
B,B,B,B,B,
_,b,B,b,_,
_,_,_,_,_,
b,B,B,B,b,
_,_,_,_,_,
_,_,_,_,_,
}
}

View File

@ -0,0 +1,41 @@
local _ = {name = "air", param1 = 0}
local L = {name = "default:jogan_leaves", param1 = 255}
local l = {name = "default:jogan_leaves", param1 = 200}
local T = {name = "default:jogan_trunk", param1 = 255}
local j = {name = "default:jogan_fruit", param1 = 200}
ethereal.jogan_tree = {
size = {x = 3, y = 6, z = 3},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 3, prob = 127},
},
data = {
_,_,_,
_,_,_,
_,_,_,
l,l,j,
L,L,L,
l,j,l,
_,T,_,
_,T,_,
_,T,_,
l,T,l,
L,T,L,
l,L,l,
_,_,_,
_,_,_,
_,_,_,
j,l,l,
L,L,L,
l,l,l,
}
}

View File

@ -0,0 +1,116 @@
local _ = {name = "air", prob = 0}
local M = {name = "default:mushroom_cap", prob = 255}
local T = {name = "default:mushroom_trunk", prob = 255}
local P = {name = "default:mushroom_pore", prob = 255}
ethereal.mushroomone = {
size = {x = 8, y = 11, z = 8},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 1, prob = 127},
{ypos = 7, prob = 127},
},
data = {
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,M,M,_,_,_,
_,_,_,M,M,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,M,_,_,M,_,_,
_,_,M,_,_,M,_,_,
_,_,_,M,M,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,M,_,_,_,_,M,_,
_,M,_,_,_,_,M,_,
_,_,M,P,P,M,_,_,
_,_,_,M,M,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
M,_,_,T,T,_,_,M,
M,_,_,T,T,_,_,M,
_,M,P,P,P,P,M,_,
_,_,M,M,M,M,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
_,_,_,T,T,_,_,_,
M,_,_,T,T,_,_,M,
M,_,_,T,T,_,_,M,
_,M,P,P,P,P,M,_,
_,_,M,M,M,M,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,M,_,_,_,_,M,_,
_,M,_,_,_,_,M,_,
_,_,M,P,P,M,_,_,
_,_,_,M,M,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,M,_,_,M,_,_,
_,_,M,_,_,M,_,_,
_,_,_,M,M,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,M,M,_,_,_,
_,_,_,M,M,_,_,_,
_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,110 @@
local _ = {name = "air", param = 0}
local L = {name = "default:palm_leaves", param = 255}
local l = {name = "default:palm_leaves", param = 191}
local T = {name = "default:palm_trunk", param = 255}
local t = {name = "default:palm_trunk", param = 191}
local C = {name = "ethereal:coconut", param = 127}
ethereal.palm_tree = {
size = {x = 9, y = 9, z = 9},
yslice_prob = {
{ypos = 3, prob = 127},
},
data = {
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,l,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,C,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,T,_,_,_,_,
_,_,_,_,T,_,_,_,_,
_,_,_,_,T,_,_,_,_,
_,_,_,_,T,t,_,_,_,
_,_,_,_,_,T,_,_,_,
_,_,l,_,_,T,_,_,l,
_,_,L,L,C,T,C,L,L,
_,_,_,L,L,L,L,L,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,C,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,l,_,_,_,
_,_,_,_,_,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,81 @@
local _ = {name = "air", prob = 0}
local L = {name = "default:pine_needles", prob = 255}
local T = {name = "default:pine_trunk", prob = 255}
ethereal.pine_tree = {
size = {x = 7, y = 8, z = 7},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 4, prob = 127},
},
data = {
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,L,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,L,L,L,_,_,
_,_,_,_,_,_,_,
_,_,_,L,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,L,_,_,_,
_,L,L,L,L,L,_,
_,_,_,L,_,_,_,
_,_,L,L,L,_,_,
_,_,_,L,_,_,_,
_,_,_,_,_,_,_,
_,_,_,T,_,_,_,
_,_,_,T,_,_,_,
_,_,L,T,L,_,_,
L,L,L,T,L,L,L,
_,_,L,T,L,_,_,
_,L,L,T,L,L,_,
_,_,L,T,L,_,_,
_,_,_,L,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,L,_,_,_,
_,L,L,L,L,L,_,
_,_,_,L,_,_,_,
_,_,L,L,L,_,_,
_,_,_,L,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,L,L,L,_,_,
_,_,_,_,_,_,_,
_,_,_,L,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,L,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,100 @@
local _ = {name = "air", prob = 0}
local L = {name = "default:uneti_leaves", prob = 255}
local T = {name = "default:uneti_trunk", prob = 255}
local t = {name = "default:uneti_trunk", prob = 127}
ethereal.uneti_tree = {
size = {x = 9, y = 8, z = 9},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 1, prob = 127},
},
data = {
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,t,t,_,t,t,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,L,L,L,_,_,_,
_,_,_,_,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,t,t,t,t,t,t,t,_,
_,_,_,t,_,t,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,L,L,L,L,L,_,_,
_,_,_,L,L,L,_,_,_,
_,_,_,_,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,t,t,t,T,t,t,t,_,
_,_,t,t,T,t,t,_,_,
_,_,_,_,T,_,_,_,_,
_,_,_,_,T,_,_,_,_,
_,L,L,L,T,L,L,L,_,
_,_,L,L,L,L,L,_,_,
_,_,_,L,L,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,t,T,T,T,t,_,_,
_,_,_,T,T,T,_,_,_,
_,_,_,T,T,T,_,_,_,
_,_,_,T,T,T,_,_,_,
L,L,L,L,T,L,L,L,L,
_,L,L,L,T,L,L,L,_,
_,_,L,L,L,L,L,_,_,
_,_,_,_,_,_,_,_,_,
_,t,t,t,T,t,t,t,_,
_,_,t,t,T,t,t,_,_,
_,_,_,_,T,_,_,_,_,
_,_,_,_,T,_,_,_,_,
_,L,L,L,T,L,L,L,_,
_,_,L,L,L,L,L,_,_,
_,_,_,L,L,L,_,_,_,
_,_,_,_,_,_,_,_,_,
_,t,t,t,t,t,t,t,_,
_,_,_,t,_,t,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,L,L,L,L,L,_,_,
_,_,_,L,L,L,_,_,_,
_,_,_,_,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,t,t,_,t,t,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,L,L,L,_,_,_,
_,_,_,_,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,77 @@
local _ = {name = "air", prob = 0}
local T = {name = "default:jogan_trunk", prob = 255}
local L = {name = "default:jogan_leaves", prob = 255}
local u = {name = "default:vine", prob = 255, param2 = 2}
local U = {name = "ethereal:vine", prob = 255, param2 = 3}
local W = {name = "ethereal:vine", prob = 255, param2 = 4}
local w = {name = "ethereal:vine", prob = 255, param2 = 5}
ethereal.vine_tree = {
size = {x = 7, y = 7, z = 7},
yslice_prob = {
{ypos = 0, prob = 127},
},
data = {
_,_,_,_,_,_,_,
_,W,_,_,_,_,_,
_,W,_,W,_,_,_,
_,W,_,W,_,_,_,
_,W,_,_,_,W,_,
_,W,_,_,_,W,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,W,_,_,
_,_,_,_,W,_,_,
_,L,L,L,W,L,_,
_,L,L,_,L,L,_,
_,L,L,L,L,L,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,U,
_,_,_,_,_,_,U,
_,_,_,_,_,_,U,
_,L,T,_,T,L,U,
u,L,L,L,L,_,_,
_,_,L,L,L,L,_,
_,_,L,L,L,_,_,
_,_,_,T,_,_,_,
_,_,_,T,_,_,_,
u,_,_,T,_,_,_,
u,L,_,L,_,L,_,
u,L,L,L,L,L,_,
_,L,L,L,L,L,_,
_,_,L,L,L,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,U,
_,_,_,_,_,_,U,
_,L,T,_,T,L,U,
_,L,L,L,L,L,U,
_,L,L,L,L,L,_,
_,_,_,L,L,_,_,
_,_,_,_,_,_,_,
u,_,_,_,_,_,_,
u,_,_,_,w,_,_,
u,L,L,L,w,L,_,
_,L,L,L,L,_,_,
_,_,L,L,L,L,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,w,_,_,_,_,
_,_,w,_,_,_,_,
_,_,w,w,_,_,_,
_,_,_,w,w,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,97 @@
local _ = {name = "air", prob = 0}
local d = {name = "default:charred_dirt", prob = 245}
local s = {name = "default:stone", prob = 255}
local l = {name = "default:lava_source", prob = 255}
local f = {name = "default:lava_flowing", prob = 255}
local o = {name = "default:obsidian", prob = 215}
ethereal.volcanol = {
size = {x = 17, y = 4, z = 15},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 1, prob = 127},
{ypos = 2, prob = 127},
},
data = {
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,d,d,d,d,_,_,d,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,d,s,s,s,s,d,d,s,d,d,_,_,_,_,
_,_,_,_,s,s,s,s,_,_,s,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,d,s,o,o,o,o,s,s,o,s,s,d,_,_,_,
_,_,_,s,f,f,s,f,s,s,f,s,s,_,_,_,_,
_,_,_,_,s,s,_,s,_,_,s,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,d,s,o,s,s,s,s,o,o,s,o,o,s,d,_,_,
_,_,s,l,l,l,l,f,s,f,f,l,l,s,_,_,_,
_,_,_,s,f,f,s,s,o,s,o,s,s,_,_,_,_,
_,_,_,_,o,o,o,_,_,_,o,_,_,_,_,_,_,
_,d,s,o,s,o,o,o,s,s,o,s,s,o,s,d,_,
_,_,s,f,l,l,l,l,l,l,l,l,l,l,s,_,_,
_,_,_,s,f,f,f,f,f,f,l,f,l,s,_,_,_,
_,_,_,_,o,_,_,o,o,o,_,o,o,_,_,_,_,
_,d,s,o,s,o,s,s,o,o,s,o,s,o,s,d,_,
_,_,s,s,l,l,l,l,l,l,l,l,l,l,s,_,_,
_,_,_,_,o,f,f,f,f,f,f,f,l,s,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,o,_,_,_,_,
_,_,d,s,o,s,o,s,s,s,s,o,s,o,s,d,_,
_,_,_,s,l,l,l,l,l,l,l,l,l,l,s,_,_,
_,_,_,s,f,f,f,f,f,f,f,f,l,s,_,_,_,
_,_,_,_,o,_,_,_,_,_,_,_,s,_,_,_,_,
_,d,s,o,s,o,o,o,o,o,o,s,o,s,d,_,_,
_,_,s,l,l,l,l,l,l,l,l,l,l,s,_,_,_,
_,_,_,s,f,f,f,f,f,f,f,l,s,_,_,_,_,
_,_,_,_,o,_,_,_,_,_,_,_,o,_,_,_,_,
_,d,s,o,s,s,s,s,s,s,o,s,o,s,d,_,_,
_,_,s,l,l,l,l,l,l,l,l,l,l,s,_,_,_,
_,_,_,s,f,f,f,f,l,l,f,l,s,_,_,_,_,
_,_,_,_,o,o,_,_,_,o,_,o,_,_,_,_,_,
_,_,d,s,o,o,o,o,o,o,s,o,s,d,_,_,_,
_,_,_,s,s,l,f,f,f,f,l,l,s,_,_,_,_,
_,_,_,_,s,s,s,s,s,s,f,s,_,_,_,_,_,
_,_,_,_,_,s,o,o,o,_,s,_,_,_,_,_,_,
_,_,_,d,s,s,s,s,s,s,o,s,d,_,_,_,_,
_,_,_,_,s,s,s,s,s,s,l,s,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,s,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,d,d,d,d,d,d,s,s,d,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,s,s,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,d,d,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,36 @@
local _ = {name = "air", prob = 0}
local l = {name = "default:lava_source", prob = 225}
local s = {name = "default:stone", prob = 255}
local d = {name = "default:charred_dirt", prob = 255}
ethereal.volcanom = {
size = {x = 6, y = 2, z = 6},
yslice_prob = {
{ypos = 0, prob = 127},
},
data = {
_,_,s,_,_,_,
_,_,_,_,_,_,
_,s,l,s,_,_,
_,_,s,d,_,_,
_,s,l,l,s,_,
_,s,_,_,s,_,
s,l,l,l,s,_,
_,s,_,_,d,_,
_,d,l,l,d,d,
_,_,s,d,_,_,
_,_,d,d,d,_,
_,_,_,_,_,_,
}
}

View File

@ -0,0 +1,20 @@
-- waterlily
ethereal.waterlily = {
size = {x = 1, y = 3, z = 1},
data = {
{name = "default:sand", param1 = 255},
{name = "default:water_source", param1 = 255},
{name = "flowers:waterlily", param1 = 255},
},
}
if ethereal.lilywalk == true then
minetest.override_item("flowers:waterlily", {
walkable = true,
})
end

View File

@ -0,0 +1,533 @@
local _ = {name = "air", prob = 0}
local T = {name = "default:wroshyr_trunk", prob = 255}
local L = {name = "default:wroshyr_leaves", prob = 255}
ethereal.wroshyr_tree = {
size = {x = 15, y = 33, z = 15},
yslice_prob = {
{ypos = 0, prob = 127},
{ypos = 5, prob = 127},
{ypos = 6, prob = 127},
{ypos = 7, prob = 127},
{ypos = 14, prob = 127},
{ypos = 15, prob = 127},
{ypos = 16, prob = 127},
},
data = {
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,L,L,_,L,_,_,_,_,_,_,
_,_,_,_,L,L,L,T,L,L,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,L,L,T,L,L,_,_,_,_,_,
_,_,_,_,L,L,L,T,L,L,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,L,L,L,_,_,_,
_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,L,L,T,L,L,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,T,L,L,_,_,_,
_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,L,L,L,L,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,L,L,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,_,T,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,L,T,L,L,_,_,_,_,_,
_,_,_,_,_,_,L,L,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,T,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,T,L,L,_,_,_,
_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,L,L,L,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,L,L,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,T,T,_,_,_,_,_,
_,_,_,_,_,_,_,_,L,L,_,L,L,L,L,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,L,L,T,T,L,L,_,_,_,_,_,_,
_,_,_,_,L,L,L,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
_,_,_,_,L,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
_,_,_,_,T,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
L,L,L,L,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,L,L,L,L,L,
_,_,_,_,_,_,_,T,_,_,_,L,L,L,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,L,L,T,T,_,_,_,_,_,_,_,
_,_,_,_,L,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,L,T,L,_,_,_,_,_,_,
_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,T,T,T,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,L,L,L,L,
_,_,_,_,_,_,T,T,T,_,_,_,L,L,L,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,T,T,T,T,T,T,_,_,_,_,_,_,
L,L,L,L,L,_,T,T,T,_,_,_,_,_,_,
L,L,L,L,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,T,T,T,_,_,_,
_,_,_,_,_,_,T,T,T,_,L,T,T,T,L,
_,_,_,_,_,_,T,T,T,_,_,L,L,L,L,
_,_,L,L,L,L,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,L,T,T,T,L,_,_,_,_,_,
_,_,_,_,L,L,L,T,L,L,L,_,_,_,_,
_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,T,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,T,T,_,_,
_,_,_,_,_,_,T,T,T,_,_,L,T,T,L,
_,_,_,_,_,_,T,T,T,_,_,_,L,L,L,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,T,_,_,T,T,T,_,_,_,_,_,_,
L,T,T,T,L,_,T,T,T,_,_,_,_,_,_,
L,L,L,L,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,_,_,_,L,L,L,L,
_,_,_,_,T,T,T,T,_,_,_,L,L,L,_,
_,L,L,L,L,L,_,T,_,_,_,_,_,_,_,
_,_,_,L,L,_,_,T,L,L,L,L,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,L,T,L,_,_,_,_,_,_,
_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
_,_,_,_,L,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,_,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,L,L,L,L,
_,_,_,_,_,_,_,_,_,_,_,_,L,L,L,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,L,_,_,_,_,_,
L,L,L,L,L,_,_,_,L,_,_,_,_,_,_,
L,L,L,L,_,_,T,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,L,L,L,L,
_,_,_,_,T,_,_,_,_,_,_,_,_,_,_,
_,L,L,T,T,L,L,T,T,T,_,_,_,_,_,
_,_,L,L,L,_,_,L,L,T,L,L,_,_,_,
_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,L,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,L,L,L,L,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,T,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,L,_,_,_,_,_,
L,L,L,L,_,_,_,_,L,L,_,_,_,_,_,
_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,
_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,L,L,L,L,L,L,_,_,_,_,_,_,_,_,
_,_,_,L,L,_,_,L,L,T,L,L,_,_,_,
_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,L,L,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,L,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,
_,_,_,_,L,L,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,L,L,L,L,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,L,L,L,_,_,_,
_,_,_,_,_,_,_,_,_,L,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,
_,_,_,_,L,L,T,L,L,_,_,_,_,_,_,
_,_,_,_,_,L,L,L,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,L,L,T,L,L,_,_,_,_,_,_,
_,_,_,_,_,L,L,L,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,L,L,L,L,L,_,_,_,_,_,_,
_,_,_,_,_,_,L,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

295
mods/ethereal/sealife.lua Normal file
View File

@ -0,0 +1,295 @@
local S = ethereal.intllib
-- Seaweed
minetest.register_node("ethereal:seaweed", {
description = S("Seaweed"),
drawtype = "plantlike",
tiles = {"seaweed.png"},
inventory_image = "seaweed.png",
wield_image = "seaweed.png",
paramtype = "light",
walkable = false,
climbable = true,
drowning = 1,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
},
post_effect_color = {a = 64, r = 100, g = 100, b = 200},
groups = {food_seaweed = 1, snappy = 3, flammable = 3},
on_use = minetest.item_eat(1),
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_craft( {
type = "shapeless",
output = "dye:dark_green 3",
recipe = {"ethereal:seaweed",},
})
-- agar powder
minetest.register_craftitem("ethereal:agar_powder", {
description = S("Agar Powder"),
inventory_image = "ethereal_agar_powder.png",
groups = {food_gelatin = 1, flammable = 2},
})
minetest.register_craft({
output = "ethereal:agar_powder 3",
recipe = {
{"group:food_seaweed", "group:food_seaweed", "group:food_seaweed"},
{"bucket:bucket_water", "bucket:bucket_water", "default:torch"},
{"bucket:bucket_water", "bucket:bucket_water", "default:torch"},
},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty 4"},
},
})
-- Blue Coral
minetest.register_node("ethereal:coral2", {
description = S("Blue Coral"),
drawtype = "plantlike",
tiles = {"coral2.png"},
inventory_image = "coral2.png",
wield_image = "coral2.png",
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 1 / 4, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft( {
type = "shapeless",
output = "dye:cyan 3",
recipe = {"ethereal:coral2",},
})
-- Orange Coral
minetest.register_node("ethereal:coral3", {
description = S("Orange Coral"),
drawtype = "plantlike",
tiles = {"coral3.png"},
inventory_image = "coral3.png",
wield_image = "coral3.png",
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 1 / 4, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft( {
type = "shapeless",
output = "dye:orange 3",
recipe = {"ethereal:coral3",},
})
-- Pink Coral
minetest.register_node("ethereal:coral4", {
description = S("Pink Coral"),
drawtype = "plantlike",
tiles = {"coral4.png"},
inventory_image = "coral4.png",
wield_image = "coral4.png",
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 8 / 16, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft( {
type = "shapeless",
output = "dye:pink 3",
recipe = {"ethereal:coral4",},
})
-- Green Coral
minetest.register_node("ethereal:coral5", {
description = S("Green Coral"),
drawtype = "plantlike",
tiles = {"coral5.png"},
inventory_image = "coral5.png",
wield_image = "coral5.png",
paramtype = "light",
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 3 / 16, 6 / 16},
},
light_source = 3,
groups = {snappy = 3},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft( {
type = "shapeless",
output = "dye:green 3",
recipe = {"ethereal:coral5",},
})
-- Undersea Sand
minetest.register_node("ethereal:sandy", {
description = S("Sandy"),
tiles = {"default_sand.png"},
is_ground_content = true,
groups = {
crumbly = 3, falling_node = 1, sand = 1, not_in_creative_inventory = 1
},
drop = "default:sand",
sounds = default.node_sound_sand_defaults(),
})
-- randomly generate coral or seaweed and have seaweed grow up to 14 high
if ethereal.sealife == 1 then
minetest.register_abm({
label = "Grow coral/seaweed",
nodenames = {"ethereal:sandy"},
neighbors = {"group:water"},
interval = 15,
chance = 10,
catch_up = false,
action = function(pos, node)
local sel = math.random(1, 6)
pos.y = pos.y + 1
local nod = minetest.get_node(pos).name
if nod == "default:water_source"
and sel == 6 then
minetest.swap_node(pos, {name = "ethereal:sponge_wet"})
return
end
if nod == "default:water_source"
and sel > 1 then
minetest.swap_node(pos, {name = "ethereal:coral" .. sel})
return
end
if nod == "ethereal:seaweed"
or sel == 1 then
local height = 0
local high = 14
while height < high
and minetest.get_node(pos).name == "ethereal:seaweed" do
height = height + 1
pos.y = pos.y + 1
end
if pos.y < 1
and height < high
and minetest.get_node(pos).name == "default:water_source" then
minetest.swap_node(pos, {name = "ethereal:seaweed"})
end
end
end,
})
end
-- sponges
minetest.register_node("ethereal:sponge_air", {
drawtype = "airlike",
paramtype = "light",
walkable = false,
buildable_to = true,
sunlight_propagates = true,
pointable = false,
drop = "",
groups = {not_in_creative_inventory = 1},
})
minetest.register_node("ethereal:sponge", {
description = S("Sponge"),
tiles = {"ethereal_sponge.png"},
groups = {crumbly = 3},
sounds = default.node_sound_sand_defaults(),
after_place_node = function(pos, placer, itemstack, pointed_thing)
-- get player name
local name = placer:get_player_name()
-- is area protected
if minetest.is_protected(pos, name) then
return
end
-- get water nodes within range
local num = minetest.find_nodes_in_area(
{x = pos.x - 3, y = pos.y - 3, z = pos.z - 3},
{x = pos.x + 3, y = pos.y + 3, z = pos.z + 3},
{"group:water"})
-- no water
if #num == 0 then return end
-- replace water nodes with sponge air
for _, w in pairs(num) do
if not minetest.is_protected(pos, name) then
minetest.swap_node(w, {name = "ethereal:sponge_air"})
end
end
-- replace dry sponge with wet sponge
minetest.swap_node(pos, {name="ethereal:sponge_wet"})
end
})
minetest.register_node("ethereal:sponge_wet", {
description = S("Wet sponge"),
tiles = {"ethereal_sponge_wet.png"},
groups = {crumbly = 3},
sounds = default.node_sound_sand_defaults(),
})
-- cook wet sponge into dry sponge
minetest.register_craft({
type = "cooking",
recipe = "ethereal:sponge_wet",
output = "ethereal:sponge",
cooktime = 3,
})
-- use leaf decay to remove sponge air nodes
default.register_leafdecay({
trunks = {"ethereal:sponge_wet"},
leaves = {"ethereal:sponge_air"},
radius = 3
})
-- dry sponges can be used as fuel
minetest.register_craft({
type = "fuel",
recipe = "ethereal:sponge",
burntime = 5,
})

View File

@ -0,0 +1,41 @@
--[[
Ethereal Settings can be changed here and kept even after the mod
has been updated
--]]
ethereal.leaftype = 0 -- 0 for 2D plantlike, 1 for 3D allfaces
ethereal.leafwalk = false -- true for walkable leaves, false to fall through
ethereal.cavedirt = true -- caves chop through dirt when true
ethereal.torchdrop = true -- torches drop when touching water
ethereal.papyruswalk = true -- papyrus can be walked on
ethereal.lilywalk = true -- waterlilies can be walked on
ethereal.xcraft = true -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
-- Set following to 1 to enable biome or false to disable
ethereal.glacier = 1 -- Ice glaciers with snow
ethereal.bamboo = 1 -- Bamboo with sprouts
ethereal.mesa = 1 -- Mesa red and orange clay with giant redwood
ethereal.alpine = 1 -- Snowy grass
ethereal.snowy = 1 -- Cold grass with pine trees and snow spots
ethereal.frost = 1 -- Blue dirt with blue/pink frost trees
ethereal.grassy = 1 -- Green grass with flowers and trees
ethereal.caves = 1 -- Desert stone ares with huge caverns underneath
ethereal.grayness = 1 -- Grey grass with willow trees
ethereal.grassytwo = 1 -- Sparse trees with old trees and flowers
ethereal.prairie = 1 -- Flowery grass with many plants and flowers
ethereal.jumble = 1 -- Green grass with trees and jungle grass
ethereal.junglee = 1 -- Jungle grass with tall jungle trees
ethereal.desert = 1 -- Desert sand with cactus
ethereal.grove = 1 -- Banana groves and ferns
ethereal.mushroom = 1 -- Purple grass with giant mushrooms
ethereal.sandstone = 1 -- Sandstone with smaller cactus
ethereal.quicksand = 1 -- Quicksand banks
ethereal.plains = 1 -- Dry dirt with scorched trees
ethereal.savanna = 1 -- Dry yellow grass with acacia tree's
ethereal.volcanic = 1 -- Red grass with lava craters
ethereal.sandclay = 1 -- Sand areas with clay underneath
ethereal.swamp = 1 -- Swamp areas with vines on tree's, mushrooms, lilly's and clay sand
ethereal.sealife = 1 -- Enable coral and seaweed
ethereal.reefs = 1 -- Enable new coral reefs in default
ethereal.sakura = 1 -- Enable sakura biomes with trees

338
mods/ethereal/stairs.lua Normal file
View File

@ -0,0 +1,338 @@
local S = ethereal.intllib
-- Stairs Redo
if stairs and stairs.mod and stairs.mod == "redo" then
stairs.register_all("crystal_block", "ethereal:crystal_block",
{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
{"crystal_block.png"},
S("Crystal Block Stair"),
S("Crystal Block Slab"),
default.node_sound_glass_defaults())
stairs.register_all("icebrick", "ethereal:icebrick",
{cracky = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_ice.png"},
S("Ice Brick Stair"),
S("Ice Brick Slab"),
default.node_sound_glass_defaults())
stairs.register_all("snowbrick", "ethereal:snowbrick",
{crumbly = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_snow.png"},
S("Snow Brick Stair"),
S("Snow Brick Slab"),
default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.25},
dug = {name = "default_snow_footstep", gain = 0.75},
}))
stairs.register_all("dry_dirt", "ethereal:dry_dirt",
{crumbly = 3},
{"ethereal_dry_dirt.png"},
S("Dried Dirt Stair"),
S("Dried Dirt Slab"),
default.node_sound_dirt_defaults())
stairs.register_all("mushroom_trunk", "ethereal:mushroom_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"mushroom_trunk.png"},
S("Mushroom Trunk Stair"),
S("Mushroom Trunk Slab"),
default.node_sound_wood_defaults())
stairs.register_all("mushroom", "ethereal:mushroom",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"mushroom_block.png"},
S("Mushroom Top Stair"),
S("Mushroom Top Slab"),
default.node_sound_wood_defaults())
stairs.register_all("frost_wood", "ethereal:frost_wood",
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
{"frost_wood.png"},
S("Frost Wood Stair"),
S("Frost Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_all("yellow_wood", "ethereal:yellow_wood",
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
{"yellow_wood.png"},
S("Healing Wood Stair"),
S("Healing Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_all("palm_wood", "ethereal:palm_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"moretrees_palm_wood.png"},
S("Palm Wood Stair"),
S("Palm Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_all("birch_wood", "ethereal:birch_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"moretrees_birch_wood.png"},
S("Birch Wood Stair"),
S("Birch Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_all("banana_wood", "ethereal:banana_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"banana_wood.png"},
S("Banana Wood Stair"),
S("Banana Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_all("willow_wood", "ethereal:willow_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"willow_wood.png"},
S("Willow Wood Stair"),
S("Willow Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_all("redwood_wood", "ethereal:redwood_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"redwood_wood.png"},
S("Redwood stair"),
S("Redwood Slab"),
default.node_sound_wood_defaults())
stairs.register_all("bamboo_wood", "ethereal:bamboo_block",
{snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"bamboo_floor.png"},
S("Bamboo stair"),
S("Bamboo Slab"),
default.node_sound_wood_defaults())
stairs.register_all("sakura_wood", "ethereal:sakura_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"ethereal_sakura_wood.png"},
S("Sakura Wood stair"),
S("Sakura Wood Slab"),
default.node_sound_wood_defaults())
-- Stairs Plus (in More Blocks)
elseif minetest.global_exists("stairsplus") then
stairsplus:register_all("ethereal", "crystal_block", "ethereal:crystal_block", {
description = S("Crystal block"),
tiles = {"crystal_block.png"},
groups = {cracky = 1, falling_node = 1, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_glass_defaults(),
})
stairsplus:register_all("ethereal", "icebrick", "ethereal:icebrick", {
description = S("Ice Brick"),
tiles = {"brick_ice.png"},
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_glass_defaults(),
})
stairsplus:register_all("ethereal", "snowbrick", "ethereal:snowbrick", {
description = S("Snow Brick"),
tiles = {"brick_snow.png"},
groups = {crumbly = 3, puts_out_fire = 1, cools_lava = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.25},
dug = {name = "default_snow_footstep", gain = 0.75},
})
})
stairsplus:register_all("ethereal", "dry_dirt", "ethereal:dry_dirt", {
description = S("Dried Dirt"),
tiles = {"ethereal_dry_dirt.png"},
groups = {crumbly = 3},
sounds = default.node_sound_dirt_defaults(),
})
stairsplus:register_all("ethereal", "mushroom_trunk", "ethereal:mushroom_trunk", {
description = S("Mushroom Trunk"),
tiles = {"mushroom_trunk.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "mushroom", "ethereal:mushroom", {
description = S("Mushroom Top"),
tiles = {"mushroom_block.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "frost_wood", "ethereal:frost_wood", {
description = S("Frost Wood"),
tiles = {"frost_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "yellow_wood", "ethereal:yellow_wood", {
description = S("Healing Wood"),
tiles = {"yellow_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "palm_wood", "ethereal:palm_wood", {
description = S("Palm Wood"),
tiles = {"moretrees_palm_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "birch_wood", "ethereal:birch_wood", {
description = S("Birch Wood"),
tiles = {"moretrees_birch_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "banana_wood", "ethereal:banana_wood", {
description = S("Banana Wood"),
tiles = {"banana_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "willow_wood", "ethereal:willow_wood", {
description = S("Willow Wood"),
tiles = {"willow_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "redwood_wood", "ethereal:redwood_wood", {
description = S("Redwood"),
tiles = {"redwood_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "bamboo_wood", "ethereal:bamboo_block", {
description = S("Bamboo"),
tiles = {"bamboo_floor.png"},
groups = {snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
stairsplus:register_all("ethereal", "sakura_wood", "ethereal:sakura_wood", {
description = S("Sakura"),
tiles = {"ethereal_sakura_wood.png"},
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
-- Default Stairs
else
stairs.register_stair_and_slab("crystal_block", "ethereal:crystal_block",
{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
{"crystal_block.png"},
S("Crystal Block Stair"),
S("Crystal Block Slab"),
default.node_sound_glass_defaults())
stairs.register_stair_and_slab("icebrick", "ethereal:icebrick",
{cracky = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_ice.png"},
S("Ice Brick Stair"),
S("Ice Brick Slab"),
default.node_sound_glass_defaults())
stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
{crumbly = 3, puts_out_fire = 1, cools_lava = 1},
{"brick_snow.png"},
S("Snow Brick Stair"),
S("Snow Brick Slab"),
default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.15},
dug = {name = "default_snow_footstep", gain = 0.2},
dig = {name = "default_snow_footstep", gain = 0.2}
}))
stairs.register_stair_and_slab("dry_dirt", "ethereal:dry_dirt",
{crumbly = 3},
{"ethereal_dry_dirt.png"},
S("Dried Dirt Stair"),
S("Dried Dirt Slab"),
default.node_sound_dirt_defaults())
stairs.register_stair_and_slab("mushroom_trunk", "ethereal:mushroom_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"mushroom_trunk.png"},
S("Mushroom Trunk Stair"),
S("Mushroom Trunk Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("mushroom", "ethereal:mushroom",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"mushroom_block.png"},
S("Mushroom Top Stair"),
S("Mushroom Top Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("frost_wood", "ethereal:frost_wood",
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
{"frost_wood.png"},
S("Frost Wood Stair"),
S("Frost Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("yellow_wood", "ethereal:yellow_wood",
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
{"yellow_wood.png"},
S("Healing Wood Stair"),
S("Healing Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("palm_wood", "ethereal:palm_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"moretrees_palm_wood.png"},
S("Palm Wood Stair"),
S("Palm Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("birch_wood", "ethereal:birch_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"moretrees_birch_wood.png"},
"Birch Wood Stair",
"Birch Wood Slab",
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("banana_wood", "ethereal:banana_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"banana_wood.png"},
S("Banana Wood Stair"),
S("Banana Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("willow_wood", "ethereal:willow_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"willow_wood.png"},
S("Willow Wood Stair"),
S("Willow Wood Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("redwood_wood", "ethereal:redwood_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"redwood_wood.png"},
S("Redwood stair"),
S("Redwood Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("bamboo_wood", "ethereal:bamboo_block",
{snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"bamboo_floor.png"},
S("Bamboo stair"),
S("Bamboo Slab"),
default.node_sound_wood_defaults())
stairs.register_stair_and_slab("sakura_wood", "ethereal:sakura_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"ethereal_sakura_wood.png"},
S("Sakura Wood Stair"),
S("Sakura Wood Slab"),
default.node_sound_wood_defaults())
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

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