ethereal - added ethereal with hard optimized images
* we used pngquan cos we need more more optimized images to being able to load in older phones (Client) and small devices (server),
@ -34,7 +34,7 @@ To download you can play this game with the following minetest engines:
|
||||
#### Mods
|
||||
|
||||
* minetest default
|
||||
* killme/game_commands were simplified into default mod, and provide CC-BY-SA-NC license
|
||||
* integrated the killme/game_commands were simplified into default mod, and provide CC-BY-SA-NC license
|
||||
* sorceredkid auth mod
|
||||
* minetest Auth Redux as `auth_rx` [mods/auth_rx](mods/auth_rx) from https://codeberg.org/minenux/minetest-mod-auth_rx
|
||||
* so then minetest Formspecs as `formspecs` [mods/formspecs](mods/formspecs) from https://codeberg.org/minenux/minetest-mod-formspecs
|
||||
@ -43,6 +43,7 @@ To download you can play this game with the following minetest engines:
|
||||
* tenplus1 customized mods
|
||||
* simple_skins as `skins` [mods/skins](mods/skins) from https://codeberg.org/minenux/minetest-mod-simple_skins
|
||||
* regrow as `regrow` [mods/regrow](mods/regrow) from https://codeberg.org/minenux/minetest-mod-regrow
|
||||
* ethereal as `ethereal` [mods/ethereal](mods/ethereal) from https://codeberg.org/minenux/minetest-mod-ethereal
|
||||
* armors and stuff mods
|
||||
* 3d_armor and shields [mods/3d_armor](mods/3d_armor) https://codeberg.org/minenux/minetest-mod-3d_armor
|
||||
* minenux bags as `backpacks` [mods/backpacks](mods/backpacks)
|
||||
|
398
mods/ethereal/CHANGELOG.md
Normal file
@ -0,0 +1,398 @@
|
||||
## Changelog
|
||||
|
||||
A huge thanks to Chinchow who was the inspiration behind Ethereal and everyone
|
||||
who helped make this mod bigger and better throughout it's release :)
|
||||
|
||||
As of January 3rd 2023, All gameplay features are up to-date
|
||||
|
||||
#### 1.29
|
||||
- Use "stratum" to generate mesa biome for stripey goodness
|
||||
- Added coloured candles (thanks wRothbard)
|
||||
- Rename some biomes to fall inline with default for spawning
|
||||
- Make stairs and doors a soft dependency, fix willow recipes (thanks sangeet)
|
||||
- Added 'ethereal.flightpotion_duration' setting, potion also works on 0.4.x clients
|
||||
- Added olive wood fences, gates, mese posts
|
||||
- Added lilac to sakura biome (can be crafted into magenta dye)
|
||||
|
||||
#### 1.28
|
||||
|
||||
- Added new Mediterranean biome with Lemon and Olive trees (thanks Felfa)
|
||||
- Added Candied Lemon and Olive Oil items and recipe
|
||||
- Rewrite stairs and add auto-select function
|
||||
- Added Lemonade
|
||||
- Added smaller redwood trees, to grow large variety 2 saplings required
|
||||
- Added Flight Potion (etherium dust arch, fire dust middle, empty bottle bottom)
|
||||
- Added new Fishing mechanics (inspired by Rootyjr's on mineclone2)
|
||||
- Added fishing api to add new items (read API.txt file)
|
||||
- Certain fish can only be found in specific biomes
|
||||
- Rename textures so they begin with ethereal_ (sorry texture pack folks)
|
||||
- Override mushroom spread abm to use "group:mushroom"
|
||||
|
||||
#### 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
|
||||
- Split and re-write mapgen files for tidier generation
|
||||
- Giant Mushroom tops now decay when trunk removed
|
||||
- Added Blue Marble to grey biomes and Blue Marble Tile recipe
|
||||
|
||||
#### 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
|
615
mods/ethereal/README.md
Normal file
@ -0,0 +1,615 @@
|
||||
minetest mod ethereal NG
|
||||
======================
|
||||
|
||||
BIOME mod mapgen to add many new biomes to the world
|
||||
|
||||
## Information
|
||||
--------------
|
||||
|
||||
This mod is named `ethereal`, it produces huge amount of new biomes
|
||||
overriding defaults, many new items and features that spice up gameplay.
|
||||
|
||||
Known as Ethereal NG (next-generation) it give players that
|
||||
little something extra to look for while exploring the world.
|
||||
|
||||
![screenshot.png](screenshot.png)
|
||||
|
||||
Forum Topic https://forum.minetest.net/viewtopic.php?f=11&t=14638
|
||||
|
||||
TODO: document items and crafting
|
||||
|
||||
#### Lucky Blocks
|
||||
|
||||
It provides 63 new lucky blocks if the mod is detected.
|
||||
|
||||
## Technical info
|
||||
-----------------
|
||||
|
||||
- [Information](#information)
|
||||
- [Lucky Blocks](#lucky-blocks)
|
||||
- [Technical info](#technical-info)
|
||||
- [Mod structure and customization](#mod-structure-and-customization)
|
||||
- [Dependencies](#dependencies-and-compatibility)
|
||||
- [Compatibility](#dependencies-and-compatibility)
|
||||
- [Settings](#settings)
|
||||
- [Fishing api](#fishing-api)
|
||||
- [Biomes list](#biomes-list)
|
||||
- [Biome work](#biome-work)
|
||||
- [Node list](#node-list)
|
||||
- [Hard nodes or blocks](#hard-nodes-or-blocks)
|
||||
- [Biome nodes like trees and plants](#biome-nodes-like-trees-and-plants)
|
||||
- [Willow](#willow)
|
||||
- [Redwood](#redwood)
|
||||
- [Frost megatree](#frost-megatree)
|
||||
- [Banana ](#banana-)
|
||||
- [Orange minitree](#orange-minitree)
|
||||
- [Healing megatree](#healing-megatree)
|
||||
- [Palm tree](#palm-tree)
|
||||
- [Birch minitree ](#birch-minitree-)
|
||||
- [Bamboo](#bamboo)
|
||||
- [Sakura megatree](#sakura-megatree)
|
||||
- [Lemon tree](#lemon-tree)
|
||||
- [Olive megatree](#olive-megatree)
|
||||
- [Other "Wood-like" items](#other-"wood-like"-items)
|
||||
- [Mushroom](#mushroom)
|
||||
- [Misc bushes](#misc-bushes)
|
||||
- [BIG SAPLING](#big-sapling)
|
||||
- [Understanding Biome customization](#understanding-biome-customization)
|
||||
- [Changelog](#changelog)
|
||||
- [1.30](#1.30)
|
||||
- [1.29](#1.29)
|
||||
- [1.28](#1.28)
|
||||
- [1.27](#1.27)
|
||||
- [1.26](#1.26)
|
||||
- [1.25](#1.25)
|
||||
- [1.24](#1.24)
|
||||
- [1.23](#1.23)
|
||||
- [1.22](#1.22)
|
||||
- [1.21](#1.21)
|
||||
- [1.20](#1.20)
|
||||
- [1.19](#1.19)
|
||||
- [1.18](#1.18)
|
||||
- [1.17](#1.17)
|
||||
- [1.16](#1.16)
|
||||
- [1.15](#1.15)
|
||||
- [1.14](#1.14)
|
||||
- [1.13](#1.13)
|
||||
- [1.12](#1.12)
|
||||
- [1.11](#1.11)
|
||||
- [1.10](#1.10)
|
||||
- [1.09](#1.09)
|
||||
- [LICENSE](#license)
|
||||
|
||||
#### Mod structure and customization
|
||||
|
||||
Biomes customization values are hardcoded in the [`biomes.lua`](biomes.lua) file,
|
||||
and initialized in the [`biomes_init.lua`](biomes_init.lua) file.
|
||||
|
||||
Nodes and elements are hardcoded in the [schems.lua](schems.lua) file,
|
||||
each of those are defined in [schematics](schematics) directory.
|
||||
|
||||
Underwater life are defined in the [sealife.lua](sealife.lua) file.
|
||||
|
||||
#### Dependencies and compatibility
|
||||
|
||||
Make sure you are using Minetest 0.4.16+ and start a new world (anything but v6),
|
||||
then enable Ethereal in the mods list. Ethereal has been designed to work
|
||||
alongside with those mods:
|
||||
|
||||
* default
|
||||
* farming (Farming Redo, not normal build in, support for seeds, plant and new foods)
|
||||
* flowers ( for sunflowers, fire flowers and each variety of viola and others)
|
||||
* mobs (Mobs Redo, is heaviliy used)
|
||||
* backedclay (For clay biomes and results)
|
||||
* stairs
|
||||
|
||||
Also those more as optional:
|
||||
|
||||
* lucky_block (will provide much more surprices for, 60+ surprices)
|
||||
* doors (will provide a fence gate and a sakura door)
|
||||
* intllib (only need on older engines for translations)
|
||||
* toolranks (Will provide support for new crystal stuffs)
|
||||
|
||||
#### Settings
|
||||
|
||||
**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`
|
||||
|
||||
|
||||
| name setting | Description | values | default |
|
||||
| ------------------------------ | --------------------------------- | ---- | ------ |
|
||||
| ethereal.leaftype | 2D plantlike leaves (0) or 3D (1) | int | 0 |
|
||||
| ethereal.leafwalk | Walkable leaves | bool | false |
|
||||
| ethereal.cavedirt | Caves cut through dirt | bool | true |
|
||||
| ethereal.torchdrop | Torches drop when in water | bool | true |
|
||||
| ethereal.papyruswalk | Papyrus and Bamboo are walkable | bool | true |
|
||||
| ethereal.lilywalk | Lilypads are walkable | bool | true |
|
||||
| ethereal.xcraft | Enable X-Craft cheats | bool | true |
|
||||
| ethereal.flight | Enable Flight Potion | bool | true |
|
||||
| ethereal.glacier | Glacier biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.bambo | Bamboo biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.mesa | Mesa biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.alpine | Alpine biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.healing | Healing Tree biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.snowy | Pine Tree biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.frost | Blue Frost biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.grassy | Grassy biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.caves | Desertstone biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.grayness | Grey Willow biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.grassytwo | GrassyTwo biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.prairie | Prairie biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.jumble | Jumble biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.junglee | Jungle biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.desert | Desert biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.grove | Banana Grove biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.mushroom | Mushroom biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.sandstone | Sandstone biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.quicksand | Quicksand Bank biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.plains | Scorched Plains biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.savanna | Savanna biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.fiery | Feiry Lava biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.sandclay | Sandy Clay biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.swamp | Swamp biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.sealife | Coral and Seaweed biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.reefs | MT5 Coral biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.sakura | Sakura biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.tundra | Tundra biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.mediterranean | Mediterranean biome, 1=on / 0=off | int | 1 |
|
||||
| ethereal.flightpotion_duration | Flight Potion Duration seconds | int | 300 |
|
||||
|
||||
#### Fishing api
|
||||
|
||||
The mod provides a fishing api, basically is `ethereal.add_item(fish, junk, bonus)`,
|
||||
several examples are at the documentation of [api.txt](api.txt) file.
|
||||
|
||||
#### Biomes list
|
||||
|
||||
There are almost 20 biomes or more, those are indicators of (WIP list.. maybe more):
|
||||
|
||||
| biome | y.min | y.max | heat | humidity | enabled/setting |
|
||||
| ----------------- | ---- | ---- | ----- | --------- | ------------- |
|
||||
| mountain | 140 | 31000 | 50 | 50 | 1 (enabled) |
|
||||
| grassland | 3 | 71 | 45 | 65 | 1 (enalbed) |
|
||||
| underground | -31000 | -192 | 50 | 50 | 1 (enabled) |
|
||||
| desert | 3 | 23 | 35 | 20 | ethereal.desert |
|
||||
| desert_ocean | -192 | 3 | 35 | 20 | ethereal.desert |
|
||||
| bamboo | 25 | 70 | 45 | 75 | ethereal.bamboo |
|
||||
| sakura | 3 | 25 | 45 | 75 | ethereal.sakura |
|
||||
| sakura_ocean | -192 | 2 | 45 | 75 | ethereal.sakura |
|
||||
| mesa | 1 | 71 | 25 | 28 | ethereal.mesa |
|
||||
| mesa_ocean | -192 | 1 | 25 | 28 | ethereal.mesa |
|
||||
| coniferous_forest | 4 | 40 | 10 | 40 | ethereal.snowy |
|
||||
| taiga | 40 | 140 | 10 | 40 | ethereal.alpine |
|
||||
| frost_floatland | 1025 | 1750 | 10 | 40 | ethereal.frost |
|
||||
| frost | 1 | 71 | 10 | 40 | ethereal.frost |
|
||||
| frost_ocean | -192 | 1 | 10 | 40 | ethereal.frost |
|
||||
| deciduous_forest | 3 | 91 | 13 | 40 | ethereal.grassy |
|
||||
| deciduous_forest_ocean | -31000 | 3 | 13 | 40 | ethereal.grassy |
|
||||
| caves | 4 | 41 | 15 | 25 | ethereal.caves |
|
||||
| grayness | 2 | 41 | 15 | 30 | ethereal.grayness |
|
||||
| grayness_ocean | -28 | 1 | 15 | 30 | ethereal.grayness |
|
||||
| grassytwo | 1 | 91 | 15 | 40 | ethereal.grassytwo |
|
||||
| grassytwo_ocean | -192 | 1 | 15 | 40 | ethereal.grassytwo |
|
||||
| prairie | 3 | 26 | 20 | 40 | ethereal.prairie |
|
||||
| prairie_ocean | -192 | 1 | 20 | 40 | ethereal.prairie |
|
||||
| jumble | 1 | 71 | 25 | 50 | ethereal.jumble |
|
||||
| jumble_ocean | -192 | 1 | 25 | 50 | ethereal.jumble |
|
||||
| junglee | 1 | 71 | 30 | 60 | ethereal.junglee |
|
||||
| junglee_ocean | -192 | 1 | 30 | 60 | ethereal.junglee |
|
||||
| grove | 3 | 23 | 45 | 35 | ethereal.grove |
|
||||
| grove_ocean | -192 | 2 | 45 | 35 | ethereal.grove |
|
||||
| mediterranean | 3 | 50 | 20 | 45 | ethereal.mediterranean |
|
||||
| mushroom | 3 | 50 | 45 | 55 | ethereal.mushroom |
|
||||
| mushroom_ocean | -192 | 2 | 45 | 55 | ethereal.mushroom |
|
||||
| sandstone | 3 | 23 | 50 | 20 | ethereal.sandstone |
|
||||
| sandstone_ocean | -192 | 2 | 50 | 20 | ethereal.sandstone |
|
||||
| quicksand | 1 | 1 | 50 | 38 | ethereal.quicksand |
|
||||
| plains | 3 | 25 | 65 | 25 | ethereal.plains |
|
||||
| plains_ocean | -192 | 2 | 55 | 25 | ethereal.plains |
|
||||
| savanna | 3 | 50 | 55 | 25 | ethereal.savanna |
|
||||
| savanna_ocean | -192 | 1 | 55 | 25 | ethereal.savanna |
|
||||
| fiery | 5 | 20 | 75 | 10 | ethereal.fiery |
|
||||
| fiery_ocean | -192 | 4 | 75 | 10 | ethereal.fiery |
|
||||
| sandclay | 1 | 11 | 65 | 2 | ethereal.sandclay |
|
||||
| swamp | 1 | 7 | 80 | 90 | ethereal.swamp |
|
||||
| swamp_ocean | -192 | 1 | 80 | 90 | ethereal.swamp |
|
||||
|
||||
#### Biome work
|
||||
|
||||
This is done by assigning a heat and a humidity value to each biome.
|
||||
Each biome is assigned with a heat and humidity value between 0 and 100.
|
||||
|
||||
The `ethereal` mod will sustitute all the current biomes and will
|
||||
places new ones.. the code do `minetest.clear_registered_biomes()` and
|
||||
the `minetest.clear_registered_decorations()` rutines, ores still are
|
||||
not well developed and are just defaults and featured.
|
||||
|
||||
### Node list
|
||||
|
||||
#### Hard nodes or blocks
|
||||
|
||||
* ethereal:etherium_ore, ethereal:stone_with_etherium_ore. Regular ore, cosmetic use like gold ore.
|
||||
* ethereal:crystal_spike, mix 2 Crystal and 2 Mese for a crystal ingot, water bucket, gives ethereal:crystal_ingot, used for silk touch tools, ow OP sword
|
||||
* ethereal:crystal_block Block of the above mineral, Only for cosmetic use.
|
||||
* ethereal:stone_ladder Ladders made of stone
|
||||
* ethereal:glostone Light block, Same light level as a mese post, decorative
|
||||
|
||||
#### Biome nodes like trees and plants
|
||||
|
||||
Stairs, Slabs, Outer and Inner variants of wood exists, Just append, _stair _slab _outer_stairs _inner_stair to every wood respectively.
|
||||
|
||||
List goes, Leaves, Trunk, Wood, Sapling, and extras
|
||||
|
||||
##### Willow
|
||||
|
||||
* ethereal:willow_twig
|
||||
* ethereal:willow_trunk
|
||||
* ethereal:willow_wood
|
||||
* ethereal:willow_sapling
|
||||
|
||||
##### Redwood
|
||||
|
||||
* ethereal:redwood_leaves
|
||||
* ethereal:redwood_trunk
|
||||
* ethereal:redwood_wood
|
||||
* ethereal:redwood_sapling - Grows a small redwood tree
|
||||
* ethereal:giant_redwood_sapling - The big one, crafted from 2 saplings.
|
||||
|
||||
##### Frost megatree
|
||||
|
||||
* ethereal:frost_leaves
|
||||
* ethereal:frost_tree - Substantially harder to break
|
||||
* ethereal:frost_wood - A bit hard to break
|
||||
* ethereal:frost_sapling
|
||||
|
||||
##### Banana
|
||||
|
||||
* ethereal:bananaleaves
|
||||
* ethereal:banana_trunk
|
||||
* ethereal:banana_wood
|
||||
* ethereal:banana_tree_sapling
|
||||
* ethereal:banana - Heals 2 hearts
|
||||
|
||||
##### Orange minitree
|
||||
|
||||
Orange uses apple trunk and wood as base
|
||||
|
||||
* ethereal:orange_leaves
|
||||
* ethereal:orange_sapling
|
||||
* ethereal:orange - heals 1.5 hearts
|
||||
|
||||
##### Healing megatree
|
||||
|
||||
* ethereal:yellowleaves
|
||||
* ethereal:yellow_trunk
|
||||
* ethereal:yellow_wood
|
||||
* ethereal:yellow_tree_sapling
|
||||
* ethereal:golden_apple - Heals to full health (It does not heal 10 hearts, just heals to default full)
|
||||
|
||||
##### Palm tree
|
||||
|
||||
Like pine
|
||||
|
||||
* ethereal:palmleaves
|
||||
* ethereal:palm_trunk
|
||||
* ethereal:palm_wood
|
||||
* ethereal:palmsapling
|
||||
|
||||
##### Birch minitree
|
||||
|
||||
Like aspen
|
||||
|
||||
* ethereal:birch_leaves
|
||||
* ethereal:birch_trunk
|
||||
* ethereal:birch_wood
|
||||
* ethereal:birch_sapling
|
||||
|
||||
##### Bamboo
|
||||
|
||||
* ethereal:bamboo_trunk - Cheap wood, easy to break a trunk of it
|
||||
* ethereal:bamboo_leaves
|
||||
* ethereal:bamboo_sprout
|
||||
|
||||
##### Sakura megatree
|
||||
|
||||
* ethereal:sakura_leaves
|
||||
* ethereal:sakura_leaves2 - Nosense to be honest
|
||||
* ethereal:sakura_trunk
|
||||
* ethereal:sakura_wood
|
||||
* ethereal:sakura_sapling
|
||||
|
||||
##### Lemon tree
|
||||
|
||||
* ethereal:lemon_leaves
|
||||
* ethereal:lemon_trunk
|
||||
* ethereal:lemon_wood
|
||||
* ethereal:lemon_sapling
|
||||
* ethereal:lemon - TODO: Healing value
|
||||
|
||||
##### Olive megatree
|
||||
|
||||
* ethereal:olive_leaves
|
||||
* ethereal:olive_trunk
|
||||
* ethereal:olive_wood
|
||||
* ethereal:olive_sapling
|
||||
|
||||
#### Other "Wood-like" items
|
||||
|
||||
##### Mushroom
|
||||
|
||||
* ethereal:mushroom_sapling
|
||||
* ethereal:mushroom
|
||||
* ethereal:mushroom_trunk
|
||||
* ethereal:mushroom_pore
|
||||
|
||||
##### Misc bushes
|
||||
|
||||
* ethereal:bush3 (wtf?)
|
||||
* ethereal:bush2 (Nonsense)
|
||||
* ethereal:bush
|
||||
|
||||
#### BIG SAPLING
|
||||
|
||||
-Crafted with 3 regular apple saplings, gros a big tree with lots of wood and apples
|
||||
|
||||
* ethereal:big_tree_sapling
|
||||
|
||||
|
||||
#### Understanding Biome customization
|
||||
|
||||
Are there any settings to enable to correctly use it to customized?
|
||||
Each biome has a `y.min` and `y.max` values where will be apply.
|
||||
Also is assigned with a `heat` and `humidity` value between 0 and 100.
|
||||
|
||||
As well as drawing them by hand, **you can also create Voronoi diagrams
|
||||
using programs such as Geogebra.** Dug up this **ethereal voronoi diagram**
|
||||
from Paramat at https://www.geogebra.org/classic/jcc8eyy5 using those basics:
|
||||
|
||||
* Firstly GeoGebra is not what we call super user friendly - Quirky
|
||||
would be good descriptor :)
|
||||
* Depending on your monitor size/aspect ratio you may need to change some
|
||||
of the pane sizes :) large widescreen monitors will be helpfully
|
||||
* If playing with the above don't try and move the blue dots that'll
|
||||
totally break the height automation
|
||||
* Update the Height Min/Max Heat/Humidity values in the spreadsheet
|
||||
view, It left open on the right (red box below) - and don't change
|
||||
the formula in Column F, that'll break it.
|
||||
* When updating click in cell update value then click outside the cell
|
||||
on the top menu bar works well...pressing enter will move you down a
|
||||
cell which is annoying - quirky
|
||||
* Adjusting to an exact height click on the slider and then update the
|
||||
value in the right most pane "definition" field to an exact value - The
|
||||
above link will open setup like that but as soon as you click on another
|
||||
element it's properties will be displayed (Blue box below)
|
||||
|
||||
Legend: heat = x and humidity = y so then by example:
|
||||
|
||||
![screenshot-geogebra-ethereal.png](screenshot-geogebra-ethereal.png)
|
||||
|
||||
File to import in new geogebra: [ethereal-biomes-defaults-22-Jul-2022-geogebra.ggb](ethereal-biomes-defaults-22-Jul-2022-geogebra.ggb)
|
||||
|
||||
For example, the Frost biome has heat=10 and humidity=40 by default
|
||||
|
||||
Recommendations:
|
||||
|
||||
* https://rubenwardy.com/minetest_modding_book/en/advmap/biomesdeco.html
|
||||
|
||||
- [Mod structure and customization](#mod-structure-and-customization)
|
||||
- [Dependencies](#dependencies-and-compatibility)
|
||||
- [Compatibility](#dependencies-and-compatibility)
|
||||
- [Settings](#settings)
|
||||
- [Fishing api](#fishing-api)
|
||||
- [Biomes list](#biomes-list)
|
||||
- [Biome work](#biome-work)
|
||||
|
||||
## Changelog
|
||||
|
||||
A huge thanks to Chinchow who was the inspiration behind Ethereal and everyone
|
||||
who helped make this mod bigger and better throughout it's release :)
|
||||
|
||||
### 1.30
|
||||
- New fish textures by SirroBzeroone and BlueTangs Rock
|
||||
- New fish added along with food recipes (thanks BlueTangs Rock)
|
||||
- Fishing rod now has 65 uses
|
||||
- Fixed willow leaves scaling and forced schematic trunk placement
|
||||
- Add 11 new lucky blocks
|
||||
- Caverealms' glow bait reduces wait time when fishing
|
||||
- Add Basandra Bush and wood items, Add Spore Grass
|
||||
|
||||
#### 1.29
|
||||
- Use "stratum" to generate mesa biome for stripey goodness
|
||||
- Added coloured candles (thanks wRothbard)
|
||||
- Rename some biomes to fall inline with default for spawning
|
||||
- Make stairs and doors a soft dependency, fix willow recipes (thanks sangeet)
|
||||
- Added 'ethereal.flightpotion_duration' setting, potion also works on 0.4.x clients
|
||||
- Added olive wood fences, gates, mese posts
|
||||
- Added lilac to sakura biome (can be crafted into magenta dye)
|
||||
|
||||
#### 1.28
|
||||
|
||||
- Added new Mediterranean biome with Lemon and Olive trees (thanks Felfa)
|
||||
- Added Candied Lemon and Olive Oil items and recipe
|
||||
- Rewrite stairs and add auto-select function
|
||||
- Added Lemonade
|
||||
- Added smaller redwood trees, to grow large variety 2 saplings required
|
||||
- Added Flight Potion (etherium dust arch, fire dust middle, empty bottle bottom)
|
||||
- Added new Fishing mechanics (inspired by Rootyjr's on mineclone2)
|
||||
- Added fishing api to add new items (read API.txt file)
|
||||
- Certain fish can only be found in specific biomes
|
||||
- Rename textures so they begin with ethereal_ (sorry texture pack folks)
|
||||
- Override mushroom spread abm to use "group:mushroom"
|
||||
|
||||
#### 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
|
||||
- Split and re-write mapgen files for tidier generation
|
||||
- Giant Mushroom tops now decay when trunk removed
|
||||
- Added Blue Marble to grey biomes and Blue Marble Tile recipe
|
||||
|
||||
#### 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
|
||||
|
||||
## LICENSE
|
||||
|
||||
* Code:
|
||||
* The MIT License (MIT) Copyright (c) 2016 TenPlus1
|
||||
* Art:
|
||||
* Free textures from lisheng2121 (shutterstock)
|
||||
* Free textures from epicwannehz, Altairas, JMArtsDesign
|
||||
* Some from Royalty Free SFX from dreamstime.com
|
||||
* Others
|
||||
|
||||
Complete details are at the [license.txt](license.txt) file.
|
||||
|
41
mods/ethereal/api.txt
Normal file
@ -0,0 +1,41 @@
|
||||
Ethereal Fishing Rod API
|
||||
|
||||
Usage:
|
||||
|
||||
ethereal.add_item(fish, junk, bonus)
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
The fish, junk and bonus entries can all be entered or used seperately e.g.
|
||||
|
||||
..add fish:
|
||||
|
||||
ethereal.add_item("mymod:myfish", "", "")
|
||||
|
||||
..add fish and junk:
|
||||
|
||||
ethereal.add_item("mymod:myfish", "mymod:myjunk", "")
|
||||
|
||||
|
||||
You may also use a table that not only adds an item but the biome it can be found in:
|
||||
|
||||
..add fish only found in 'grassy_ocean' biome:
|
||||
|
||||
ethereal.add_item({"mymod:myfish", "grassy_ocean"}, "", "")
|
||||
|
||||
..add special item only found in 'frost' biome waters:
|
||||
|
||||
ethereal.add_item("", "", {"ethereal:crystal_spike", "frost"})
|
||||
|
||||
.. add special item with wear level:
|
||||
|
||||
ethereal.add_item("", "", "default:sword_steel 15000")
|
||||
|
||||
|
||||
Please note that only Ethereal biome names can be used for specific finds, unless mod
|
||||
specifically adds ethereal as an optional dependency.
|
||||
|
||||
|
||||
Crystal Shovel has silk touch ability for digging blocks and returning the actual block
|
||||
intact. The {no_silktouch=1} group can be used to override this.
|
515
mods/ethereal/biomes.lua
Normal file
@ -0,0 +1,515 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- Blue Marble Nodes
|
||||
minetest.register_node("ethereal:blue_marble", {
|
||||
description = S("Blue Marble"),
|
||||
tiles = {"ethereal_blue_marble.png"},
|
||||
groups = {cracky = 1, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("ethereal:blue_marble_tile", {
|
||||
description = S("Blue Marble Tile"),
|
||||
tiles = {"ethereal_blue_marble_tile.png"},
|
||||
groups = {cracky = 1, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:blue_marble_tile 9",
|
||||
recipe = {
|
||||
{"ethereal:blue_marble", "ethereal:blue_marble", "ethereal:blue_marble"},
|
||||
{"ethereal:blue_marble", "ethereal:blue_marble", "ethereal:blue_marble"},
|
||||
{"ethereal:blue_marble", "ethereal:blue_marble", "ethereal:blue_marble"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- helper strings
|
||||
local tmp, tmp2
|
||||
|
||||
-- helper function
|
||||
local add_biome = function(a, l, m, n, o, p, b, c, d, e, f, g, nd, na, ns)
|
||||
|
||||
-- if not 1 then biome disabled, don't add
|
||||
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,
|
||||
|
||||
node_dungeon = nd or "default:cobble",
|
||||
node_dungeon_alt = (nd and "") or "default:mossycobble",
|
||||
node_dungeon_stair = ns or "stairs:stair_cobble"
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- always registered biomes
|
||||
add_biome("mountain", 140, 31000, 50, 50, 1,
|
||||
nil, "default:snow", 1, "default:snowblock", 2)
|
||||
|
||||
add_biome("grassland", 3, 71, 45, 65, 1,
|
||||
nil, "default:dirt_with_grass", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("grassland_ocean", -192, 1, 45, 65, 1,
|
||||
nil, "default:sand", 1, "default:sand", 3)
|
||||
|
||||
minetest.register_biome({
|
||||
name = "grassland_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 45,
|
||||
humidity_point = 65
|
||||
})
|
||||
|
||||
--add_biome("underground", -31000, -192, 50, 50, 1,
|
||||
-- nil, nil, nil, nil, nil)
|
||||
|
||||
|
||||
-- biomes with disable setting
|
||||
tmp = "default:desert_stone"
|
||||
|
||||
add_biome("desert", 3, 23, 35, 20, ethereal.desert,
|
||||
nil, "default:desert_sand", 1, "default:desert_sand", 3, tmp,
|
||||
"default:desert_stone", nil, "stairs:stair_desert_stone")
|
||||
|
||||
add_biome("desert_ocean", -192, 3, 35, 20, ethereal.desert,
|
||||
nil, "default:sand", 1, "default:sand", 2, tmp,
|
||||
"default:desert_stone", nil, "stairs:stair_desert_stone")
|
||||
|
||||
if ethereal.desert then
|
||||
minetest.register_biome({
|
||||
name = "desert_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 35,
|
||||
humidity_point = 20
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("bamboo", 25, 70, 45, 75, ethereal.bamboo,
|
||||
nil, "ethereal:bamboo_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("sakura", 3, 25, 45, 75, ethereal.sakura,
|
||||
nil, "ethereal:bamboo_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("sakura_ocean", -192, 2, 45, 75, ethereal.sakura,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
|
||||
add_biome("mesa", 1, 71, 25, 28, ethereal.mesa,
|
||||
nil, "default:dirt_with_dry_grass", 1, "bakedclay:orange", 15)
|
||||
|
||||
add_biome("mesa_ocean", -192, 1, 25, 28, ethereal.mesa,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
|
||||
tmp = "default:dirt_with_coniferous_litter"
|
||||
|
||||
if not minetest.registered_nodes[tmp] then
|
||||
tmp = "ethereal:cold_dirt"
|
||||
end
|
||||
|
||||
-- was 'snowy' biome
|
||||
add_biome("coniferous_forest", 4, 40, 10, 40, ethereal.snowy,
|
||||
nil, tmp, 1, "default:dirt", 2)
|
||||
|
||||
add_biome("coniferous_forest_ocean", -192, 1, 10, 40, ethereal.snowy,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
if ethereal.snowy then
|
||||
minetest.register_biome({
|
||||
name = "coniferous_forest_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 10,
|
||||
humidity_point = 40
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("taiga", 40, 140, 10, 40, ethereal.alpine,
|
||||
nil, "default:dirt_with_snow", 1, "default:dirt", 2)
|
||||
|
||||
add_biome("taiga_ocean", -192, 1, 10, 40, ethereal.alpine,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
if ethereal.alpine then
|
||||
minetest.register_biome({
|
||||
name = "taiga_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 10,
|
||||
humidity_point = 40
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("frost_floatland", 1025, 1750, 10, 40, ethereal.frost,
|
||||
nil, "ethereal:crystal_dirt", 1, "default:dirt", 1)
|
||||
|
||||
add_biome("frost", 1, 71, 10, 40, ethereal.frost,
|
||||
nil, "ethereal:crystal_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("frost_ocean", -192, 1, 10, 40, ethereal.frost,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
|
||||
add_biome("deciduous_forest", 3, 91, 13, 40, ethereal.grassy,
|
||||
nil, "default:dirt_with_grass", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("deciduous_forest_ocean", -31000, 3, 13, 40, ethereal.grassy,
|
||||
nil, "default:sand", 2, "default:gravel", 1)
|
||||
|
||||
if ethereal.grassy then
|
||||
minetest.register_biome({
|
||||
name = "deciduous_forest_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 13,
|
||||
humidity_point = 40
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("caves", 4, 41, 15, 25, ethereal.caves,
|
||||
nil, "default:desert_stone", 3, "air", 8)
|
||||
|
||||
|
||||
tmp = "default:silver_sand"
|
||||
|
||||
if not minetest.registered_nodes[tmp] then
|
||||
tmp = "default:sand"
|
||||
end
|
||||
|
||||
add_biome("grayness", 2, 41, 15, 30, ethereal.grayness,
|
||||
nil, "ethereal:gray_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("grayness_ocean", -18, 1, 15, 30, ethereal.grayness,
|
||||
nil, tmp, 2, "default:sand", 2, "ethereal:blue_marble")
|
||||
|
||||
if ethereal.grayness then
|
||||
minetest.register_biome({
|
||||
name = "grayness_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 15,
|
||||
humidity_point = 30
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("grassytwo", 1, 91, 15, 40, ethereal.grassytwo,
|
||||
nil, "default:dirt_with_grass", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("grassytwo_ocean", -192, 1, 15, 40, ethereal.grassytwo,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
|
||||
add_biome("prairie", 3, 26, 20, 40, ethereal.prairie,
|
||||
nil, "ethereal:prairie_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("prairie_ocean", -192, 1, 20, 40, ethereal.prairie,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
|
||||
add_biome("jumble", 1, 71, 25, 50, ethereal.jumble,
|
||||
nil, "default:dirt_with_grass", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("jumble_ocean", -192, 1, 25, 50, ethereal.jumble,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
tmp = "default:dirt_with_rainforest_litter"
|
||||
|
||||
if not minetest.registered_nodes[tmp] then
|
||||
tmp = "ethereal:jungle_dirt"
|
||||
end
|
||||
|
||||
add_biome("junglee", 1, 71, 30, 60, ethereal.junglee,
|
||||
nil, tmp, 1, "default:dirt", 3)
|
||||
|
||||
add_biome("junglee_ocean", -192, 1, 30, 60, ethereal.junglee,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
if ethereal.junglee then
|
||||
minetest.register_biome({
|
||||
name = "junglee_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 30,
|
||||
humidity_point = 60
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("grove", 3, 23, 45, 35, ethereal.grove,
|
||||
nil, "ethereal:grove_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("grove_ocean", -192, 2, 45, 35, ethereal.grove,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
|
||||
add_biome("mediterranean", 3, 50, 20, 45, ethereal.mediterranean,
|
||||
nil, "ethereal:grove_dirt", 1, "default:dirt", 3)
|
||||
|
||||
|
||||
add_biome("mushroom", 3, 50, 45, 55, ethereal.mushroom,
|
||||
nil, "ethereal:mushroom_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("mushroom_ocean", -192, 2, 45, 55, ethereal.mushroom,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
|
||||
add_biome("sandstone_desert", 3, 23, 50, 20, ethereal.sandstone,
|
||||
nil, "default:sandstone", 1, "default:sandstone", 1, "default:sandstone",
|
||||
"default:sandstone", nil, "stairs:stair_sandstone")
|
||||
|
||||
add_biome("sandstone_desert_ocean", -192, 2, 50, 20, ethereal.sandstone,
|
||||
nil, "default:sand", 1, "default:sand", 2, "default:sandstone",
|
||||
"default:sandstone", nil, "stairs:stair_sandstone")
|
||||
|
||||
if ethereal.sandstone then
|
||||
minetest.register_biome({
|
||||
name = "sandstone_desert_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 50,
|
||||
humidity_point = 20
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("quicksand", 1, 1, 50, 38, ethereal.quicksand,
|
||||
nil, "ethereal:quicksand2", 3, "default:gravel", 1)
|
||||
|
||||
|
||||
add_biome("plains", 3, 25, 65, 25, ethereal.plains,
|
||||
nil, "ethereal:dry_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("plains_ocean", -192, 2, 55, 25, ethereal.plains,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
tmp = "default:dry_dirt_with_dry_grass"
|
||||
tmp2 = "default:dry_dirt"
|
||||
|
||||
if not minetest.registered_nodes[tmp] then
|
||||
tmp = "default:dirt_with_dry_grass"
|
||||
tmp2 = "default:dirt"
|
||||
end
|
||||
|
||||
add_biome("savanna", 3, 50, 55, 25, ethereal.savanna,
|
||||
nil, tmp, 1, tmp2, 3)
|
||||
|
||||
add_biome("savanna_ocean", -192, 1, 55, 25, ethereal.savanna,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
if ethereal.savanna then
|
||||
minetest.register_biome({
|
||||
name = "savanna_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 55,
|
||||
humidity_point = 25
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("fiery", 5, 20, 75, 10, ethereal.fiery,
|
||||
nil, "ethereal:fiery_dirt", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("fiery_beach", 1, 4, 75, 10, ethereal.fiery,
|
||||
nil, "default:desert_sand", 1, "default:sand", 2)
|
||||
|
||||
add_biome("fiery_ocean", -192, 0, 75, 10, ethereal.fiery,
|
||||
nil, "default:sand", 1, "default:sand", 2)
|
||||
|
||||
if ethereal.fiery then
|
||||
minetest.register_biome({
|
||||
name = "fiery_under",
|
||||
node_cave_liquid = {"default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 75,
|
||||
humidity_point = 10
|
||||
})
|
||||
end
|
||||
|
||||
add_biome("sandclay", 1, 11, 65, 2, ethereal.sandclay,
|
||||
nil, "default:sand", 3, "default:clay", 2)
|
||||
|
||||
|
||||
add_biome("swamp", 1, 7, 80, 90, ethereal.swamp,
|
||||
nil, "default:dirt_with_grass", 1, "default:dirt", 3)
|
||||
|
||||
add_biome("swamp_ocean", -192, 1, 80, 90, ethereal.swamp,
|
||||
nil, "default:sand", 2, "default:clay", 2)
|
||||
|
||||
|
||||
if ethereal.glacier == 1 then
|
||||
|
||||
minetest.register_biome({
|
||||
name = "glacier",
|
||||
node_dust = "default:snowblock",
|
||||
node_top = "default:snowblock",
|
||||
depth_top = 1,
|
||||
node_filler = "default:snowblock",
|
||||
depth_filler = 3,
|
||||
node_stone = "default:ice",
|
||||
node_water_top = "default:ice",
|
||||
depth_water_top = 10,
|
||||
node_river_water = "default:ice",
|
||||
node_riverbed = "default:gravel",
|
||||
depth_riverbed = 2,
|
||||
node_dungeon = "ethereal:icebrick",
|
||||
node_dungeon_stair = "stairs:stair_ice",
|
||||
y_min = -8,
|
||||
y_max = 31000,
|
||||
heat_point = 0,
|
||||
humidity_point = 50
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "glacier_ocean",
|
||||
node_dust = "default:snowblock",
|
||||
node_top = "default:sand",
|
||||
depth_top = 1,
|
||||
node_filler = "default:sand",
|
||||
depth_filler = 3,
|
||||
y_min = -112,
|
||||
y_max = -9,
|
||||
heat_point = 0,
|
||||
humidity_point = 50
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "glacier_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 0,
|
||||
humidity_point = 50
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if ethereal.tundra == 1 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
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "tundra_under",
|
||||
node_cave_liquid = {"default:water_source", "default:lava_source"},
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = -256,
|
||||
y_min = -31000,
|
||||
heat_point = 0,
|
||||
humidity_point = 40
|
||||
})
|
||||
end
|
117
mods/ethereal/biomes_init.lua
Normal file
@ -0,0 +1,117 @@
|
||||
local old_biomes = {}
|
||||
local old_decor = {}
|
||||
|
||||
|
||||
-- backup registered biome data
|
||||
for key, def in pairs(minetest.registered_biomes) do
|
||||
old_biomes[key] = def
|
||||
end
|
||||
|
||||
for key, def in pairs(minetest.registered_decorations) do
|
||||
old_decor[key] = def
|
||||
end
|
||||
|
||||
|
||||
-- clear current biome data
|
||||
minetest.clear_registered_biomes()
|
||||
minetest.clear_registered_decorations()
|
||||
-- minetest.clear_registered_ores()
|
||||
|
||||
|
||||
-- create list of default biomes to remove
|
||||
local def_biomes = {
|
||||
["rainforest_swamp"] = 1,
|
||||
["grassland_dunes"] = 1,
|
||||
["cold_desert"] = 1,
|
||||
["taiga"] = 1,
|
||||
["icesheet_ocean"] = 1,
|
||||
["snowy_grassland_under"] = 1,
|
||||
["desert"] = 1,
|
||||
["deciduous_forest"] = 1,
|
||||
["taiga_ocean"] = 1,
|
||||
["desert_ocean"] = 1,
|
||||
["tundra_ocean"] = 1,
|
||||
["snowy_grassland_ocean"] = 1,
|
||||
["sandstone_desert"] = 1,
|
||||
["tundra_under"] = 1,
|
||||
["coniferous_forest_ocean"] = 1,
|
||||
["tundra"] = 1,
|
||||
["sandstone_desert_under"] = 1,
|
||||
["grassland"] = 1,
|
||||
["rainforest"] = 1,
|
||||
["grassland_ocean"] = 1,
|
||||
["tundra_beach"] = 1,
|
||||
["rainforest_under"] = 1,
|
||||
["savanna_under"] = 1,
|
||||
["icesheet"] = 1,
|
||||
["savanna_ocean"] = 1,
|
||||
["tundra_highland"] = 1,
|
||||
["savanna"] = 1,
|
||||
["cold_desert_under"] = 1,
|
||||
["cold_desert_ocean"] = 1,
|
||||
["desert_under"] = 1,
|
||||
["taiga_under"] = 1,
|
||||
["savanna_shore"] = 1,
|
||||
["sandstone_desert_ocean"] = 1,
|
||||
["snowy_grassland"] = 1,
|
||||
["coniferous_forest_under"] = 1,
|
||||
["deciduous_forest_ocean"] = 1,
|
||||
["grassland_under"] = 1,
|
||||
["icesheet_under"] = 1,
|
||||
["rainforest_ocean"] = 1,
|
||||
["deciduous_forest_shore"] = 1,
|
||||
["deciduous_forest_under"] = 1,
|
||||
["coniferous_forest_dunes"] = 1,
|
||||
["coniferous_forest"] = 1
|
||||
}
|
||||
|
||||
|
||||
-- only re-register biomes that aren't on the list
|
||||
for key, def in pairs(old_biomes) do
|
||||
|
||||
if not def_biomes[key] then
|
||||
minetest.register_biome(def)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- loop through decorations
|
||||
for key, def in pairs(old_decor) do
|
||||
|
||||
local can_add = true
|
||||
local new_biomes = {}
|
||||
|
||||
if type(def.biomes) == "table" then
|
||||
|
||||
-- loop through decoration biomes, only re-add one's not on above list
|
||||
for num, bio in pairs(def.biomes) do
|
||||
|
||||
if not def_biomes[bio] then
|
||||
table.insert(new_biomes, bio)
|
||||
end
|
||||
end
|
||||
|
||||
-- if no biomes are left on new list, do not re-add decoration
|
||||
if #new_biomes == 0 then
|
||||
can_add = false
|
||||
end
|
||||
|
||||
elseif type(def.biomes) == "string" then
|
||||
|
||||
if def_biomes[def.biomes] then
|
||||
can_add = false
|
||||
else
|
||||
new_biomes = {def.biomes} -- convert to table
|
||||
end
|
||||
|
||||
elseif not def.biomes then
|
||||
new_biomes = nil -- keep it nil for re-adding
|
||||
end
|
||||
|
||||
if can_add == true then
|
||||
|
||||
def.biomes = new_biomes
|
||||
|
||||
minetest.register_decoration(def)
|
||||
end
|
||||
end
|
51
mods/ethereal/compatibility.lua
Normal file
@ -0,0 +1,51 @@
|
||||
|
||||
-- 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")
|
||||
|
||||
-- check if pine bush stem exists, if not create alias
|
||||
if not minetest.registered_nodes["default:pine_bush_stem"] then
|
||||
minetest.register_alias("default:pine_bush_stem", "default:wood")
|
||||
end
|
319
mods/ethereal/crystal.lua
Normal file
@ -0,0 +1,319 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- Crystal Spike (Hurts if you touch it)
|
||||
minetest.register_node("ethereal:crystal_spike", {
|
||||
description = S("Crystal Spike"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_crystal_spike.png"},
|
||||
inventory_image = "ethereal_crystal_spike.png",
|
||||
wield_image = "ethereal_crystal_spike.png",
|
||||
paramtype = "light",
|
||||
light_source = 7,
|
||||
sunlight_propagates = true,
|
||||
walkable = true,
|
||||
damage_per_second = 1,
|
||||
groups = {cracky = 1, falling_node = 1, puts_out_fire = 1, cools_lava = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed", fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 0, 5 / 16}
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed", fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 0, 5 / 16}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Crystal Ingot
|
||||
minetest.register_craftitem("ethereal:crystal_ingot", {
|
||||
description = S("Crystal Ingot"),
|
||||
inventory_image = "ethereal_crystal_ingot.png",
|
||||
wield_image = "ethereal_crystal_ingot.png"
|
||||
})
|
||||
|
||||
-- Check for builtin_item mod and add custom drop code to crystal spikes
|
||||
if minetest.get_modpath("builtin_item") then
|
||||
|
||||
minetest.override_item("ethereal:crystal_spike", {
|
||||
|
||||
dropped_step = function(self, pos, dtime)
|
||||
|
||||
self.ctimer = (self.ctimer or 0) + dtime
|
||||
if self.ctimer < 5.0 then return end
|
||||
self.ctimer = 0
|
||||
|
||||
if self.node_inside
|
||||
and self.node_inside.name ~= "default:water_source" then
|
||||
return
|
||||
end
|
||||
|
||||
local objs = minetest.get_objects_inside_radius(pos, 0.8)
|
||||
|
||||
if not objs or #objs ~= 2 then return end
|
||||
|
||||
local crystal, mese, ent = nil, nil, nil
|
||||
|
||||
for k, obj in pairs(objs) do
|
||||
|
||||
ent = obj:get_luaentity()
|
||||
|
||||
if ent and ent.name == "__builtin:item" then
|
||||
|
||||
if ent.itemstring == "default:mese_crystal 2"
|
||||
and not mese then
|
||||
|
||||
mese = obj
|
||||
|
||||
elseif ent.itemstring == "ethereal:crystal_spike 2"
|
||||
and not crystal then
|
||||
|
||||
crystal = obj
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if mese and crystal then
|
||||
|
||||
mese:remove()
|
||||
crystal:remove()
|
||||
|
||||
minetest.add_item(pos, "ethereal:crystal_ingot")
|
||||
|
||||
return false
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "ethereal:crystal_ingot",
|
||||
recipe = {
|
||||
"default:mese_crystal", "ethereal:crystal_spike",
|
||||
"ethereal:crystal_spike", "default:mese_crystal", "bucket:bucket_water"
|
||||
},
|
||||
replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}}
|
||||
})
|
||||
|
||||
|
||||
-- Crystal Block
|
||||
minetest.register_node("ethereal:crystal_block", {
|
||||
description = S("Crystal Block"),
|
||||
tiles = {"ethereal_crystal_block.png"},
|
||||
light_source = 9,
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:crystal_block",
|
||||
recipe = {
|
||||
{"ethereal:crystal_ingot", "ethereal:crystal_ingot", "ethereal:crystal_ingot"},
|
||||
{"ethereal:crystal_ingot", "ethereal:crystal_ingot", "ethereal:crystal_ingot"},
|
||||
{"ethereal:crystal_ingot", "ethereal:crystal_ingot", "ethereal:crystal_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:crystal_ingot 9",
|
||||
recipe = {{"ethereal:crystal_block"}}
|
||||
})
|
||||
|
||||
|
||||
-- Crystal Sword (Powerful wee beastie)
|
||||
minetest.register_tool("ethereal:sword_crystal", {
|
||||
description = S("Crystal Sword"),
|
||||
inventory_image = "ethereal_crystal_sword.png",
|
||||
wield_image = "ethereal_crystal_sword.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.6,
|
||||
max_drop_level = 1,
|
||||
groupcaps = {
|
||||
snappy = {
|
||||
times = {[1] = 1.70, [2] = 0.70, [3] = 0.25},
|
||||
uses = 50,
|
||||
maxlevel = 3
|
||||
}
|
||||
},
|
||||
damage_groups = {fleshy = 10}
|
||||
},
|
||||
groups = {sword = 1},
|
||||
sound = {breaks = "default_tool_breaks"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:sword_crystal",
|
||||
recipe = {
|
||||
{"ethereal:crystal_ingot"},
|
||||
{"ethereal:crystal_ingot"},
|
||||
{"default:steel_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Crystal Axe
|
||||
minetest.register_tool("ethereal:axe_crystal", {
|
||||
description = S("Crystal Axe"),
|
||||
inventory_image = "ethereal_crystal_axe.png",
|
||||
wield_image = "ethereal_crystal_axe.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.8,
|
||||
max_drop_level = 1,
|
||||
groupcaps = {
|
||||
choppy = {
|
||||
times = {[1] = 2.00, [2] = 0.80, [3] = 0.40},
|
||||
uses = 40,
|
||||
maxlevel = 3
|
||||
}
|
||||
},
|
||||
damage_groups = {fleshy = 7}
|
||||
},
|
||||
groups = {axe = 1},
|
||||
sound = {breaks = "default_tool_breaks"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:axe_crystal",
|
||||
recipe = {
|
||||
{"ethereal:crystal_ingot", "ethereal:crystal_ingot"},
|
||||
{"ethereal:crystal_ingot", "default:steel_ingot"},
|
||||
{"", "default:steel_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:axe_crystal",
|
||||
recipe = {
|
||||
{"ethereal:crystal_ingot", "ethereal:crystal_ingot"},
|
||||
{"default:steel_ingot", "ethereal:crystal_ingot"},
|
||||
{"default:steel_ingot", ""}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Crystal Pick (This will last a while)
|
||||
minetest.register_tool("ethereal:pick_crystal", {
|
||||
description = S("Crystal Pickaxe"),
|
||||
inventory_image = "ethereal_crystal_pick.png",
|
||||
wield_image = "ethereal_crystal_pick.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.7,
|
||||
max_drop_level = 3,
|
||||
groupcaps={
|
||||
cracky = {
|
||||
times = {[1] = 1.8, [2] = 0.8, [3] = 0.40},
|
||||
uses = 40,
|
||||
maxlevel = 3
|
||||
}
|
||||
},
|
||||
damage_groups = {fleshy = 6}
|
||||
},
|
||||
groups = {pickaxe = 1},
|
||||
sound = {breaks = "default_tool_breaks"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:pick_crystal",
|
||||
recipe = {
|
||||
{"ethereal:crystal_ingot", "ethereal:crystal_ingot", "ethereal:crystal_ingot"},
|
||||
{"", "default:steel_ingot", ""},
|
||||
{"", "default:steel_ingot", ""}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- dig override for crystal shovel's silk touch ability
|
||||
local old_handle_node_drops = minetest.handle_node_drops
|
||||
|
||||
function minetest.handle_node_drops(pos, drops, digger)
|
||||
|
||||
-- are we holding Crystal Shovel?
|
||||
if not digger
|
||||
or digger:get_wielded_item():get_name() ~= "ethereal:shovel_crystal" then
|
||||
return old_handle_node_drops(pos, drops, digger)
|
||||
end
|
||||
|
||||
local nn = minetest.get_node(pos).name
|
||||
|
||||
if minetest.get_item_group(nn, "crumbly") == 0
|
||||
or minetest.get_item_group(nn, "no_silktouch") == 1 then
|
||||
return old_handle_node_drops(pos, drops, digger)
|
||||
end
|
||||
|
||||
return old_handle_node_drops(pos, {ItemStack(nn)}, digger)
|
||||
end
|
||||
|
||||
minetest.register_tool("ethereal:shovel_crystal", {
|
||||
description = S("Crystal Shovel"),
|
||||
inventory_image = "ethereal_crystal_shovel.png",
|
||||
wield_image = "ethereal_crystal_shovel.png^[transformR90",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 1.0,
|
||||
max_drop_level = 1,
|
||||
groupcaps = {
|
||||
crumbly = {
|
||||
times = {[1] = 1.10, [2] = 0.50, [3] = 0.30},
|
||||
uses = 30,
|
||||
maxlevel = 3
|
||||
}
|
||||
},
|
||||
damage_groups = {fleshy = 4}
|
||||
},
|
||||
groups = {shovel = 1},
|
||||
sound = {breaks = "default_tool_breaks"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:shovel_crystal",
|
||||
recipe = {
|
||||
{"ethereal:crystal_ingot"},
|
||||
{"default:steel_ingot"},
|
||||
{"default:steel_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Crystal Gilly Staff (replenishes air supply when used)
|
||||
minetest.register_tool("ethereal:crystal_gilly_staff", {
|
||||
description = S("Crystal Gilly Staff"),
|
||||
inventory_image = "ethereal_crystal_gilly_staff.png",
|
||||
wield_image = "ethereal_crystal_gilly_staff.png",
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
if user:get_breath() < 10 then
|
||||
user:set_breath(10)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:crystal_gilly_staff",
|
||||
recipe = {
|
||||
{"ethereal:green_moss", "ethereal:gray_moss", "ethereal:fiery_moss"},
|
||||
{"ethereal:crystal_moss", "ethereal:crystal_ingot", "ethereal:mushroom_moss"},
|
||||
{"", "ethereal:crystal_ingot", ""}
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
-- Add [toolranks] mod support if found
|
||||
if minetest.get_modpath("toolranks") then
|
||||
|
||||
-- Helper function
|
||||
local function add_tool(name, desc, afteruse)
|
||||
|
||||
minetest.override_item(name, {
|
||||
original_description = desc,
|
||||
description = toolranks.create_description(desc, 0, 1),
|
||||
after_use = afteruse and toolranks.new_afteruse
|
||||
})
|
||||
end
|
||||
|
||||
add_tool("ethereal:pick_crystal", "Crystal Pickaxe", true)
|
||||
add_tool("ethereal:axe_crystal", "Crystal Axe", true)
|
||||
add_tool("ethereal:shovel_crystal", "Crystal Shovel", true)
|
||||
add_tool("ethereal:sword_crystal", "Crystal Sword", true)
|
||||
end
|
806
mods/ethereal/decor.lua
Normal file
@ -0,0 +1,806 @@
|
||||
|
||||
if minetest.registered_nodes["farming:cotton_wild"] then
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "farming:cotton_wild",
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dry_dirt_with_dry_grass"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.1,
|
||||
scale = 0.1,
|
||||
spread = {x = 50, y = 50, z = 50},
|
||||
seed = 4242,
|
||||
octaves = 3,
|
||||
persist = 0.7
|
||||
},
|
||||
biomes = {"savanna"},
|
||||
y_max = 31000,
|
||||
y_min = 1,
|
||||
decoration = "farming:cotton_wild"
|
||||
})
|
||||
end
|
||||
|
||||
-- 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:dirt_with_grass"},
|
||||
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:dirt_with_grass",
|
||||
num_spawn_by = 8
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dirt_with_grass"},
|
||||
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:dirt_with_grass", "default:water_source"},
|
||||
num_spawn_by = 8
|
||||
})
|
||||
end
|
||||
|
||||
if minetest.registered_nodes["default:dry_dirt_with_dry_grass"] then
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dry_dirt_with_dry_grass"},
|
||||
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"
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- helper string
|
||||
local tmp
|
||||
|
||||
-- helper function
|
||||
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
|
||||
|
||||
|
||||
--firethorn shrub
|
||||
add_node({"default:snowblock"}, 0.001, {"glacier"}, 1, 30,
|
||||
{"ethereal:firethorn"}, nil, nil, nil, ethereal.glacier)
|
||||
|
||||
-- scorched tree
|
||||
add_node({"ethereal:dry_dirt"}, 0.006, {"plains"}, 1, 100,
|
||||
{"ethereal:scorched_tree"}, 6, nil, nil, ethereal.plains)
|
||||
|
||||
-- dry shrub
|
||||
add_node({"ethereal:dry_dirt"}, 0.015, {"plains"}, 1, 100,
|
||||
{"default:dry_shrub"}, nil, nil, nil, ethereal.plains)
|
||||
|
||||
add_node({"default:sand"}, 0.015, {"deciduous_forest_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_desert"}, 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:dry_dirt_with_dry_grass",
|
||||
"default:dirt_with_dry_grass"}, 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:dirt_with_dry_grass"}, 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 & strawberry
|
||||
add_node({"default:dirt_with_grass"}, 0.025, {"deciduous_forest"}, 1, 100,
|
||||
{"flowers:dandelion_white", "flowers:dandelion_yellow",
|
||||
"flowers:geranium", "flowers:rose", "flowers:tulip",
|
||||
"flowers:viola", "ethereal:strawberry_7"}, nil, nil, nil,
|
||||
ethereal.grassy)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.025, {"grassytwo"}, 1, 100,
|
||||
{"flowers:dandelion_white", "flowers:dandelion_yellow",
|
||||
"flowers:geranium", "flowers:rose", "flowers:tulip",
|
||||
"flowers:viola", "ethereal:strawberry_7"}, nil, nil, nil,
|
||||
ethereal.grassytwo)
|
||||
|
||||
-- prairie flowers & strawberry
|
||||
add_node({"ethereal:prairie_dirt"}, 0.035, {"prairie"}, 1, 100,
|
||||
{"flowers:dandelion_white", "flowers:dandelion_yellow",
|
||||
"flowers:geranium", "flowers:rose", "flowers:tulip",
|
||||
"flowers:viola", "ethereal:strawberry_7",
|
||||
"flowers:chrysanthemum_green", "flowers:tulip_black"}, nil, nil, nil,
|
||||
ethereal.prairie)
|
||||
|
||||
-- crystal spike & crystal grass
|
||||
add_node({"ethereal:crystal_dirt"}, 0.02, {"frost", "frost_floatland"}, 1, 1750,
|
||||
{"ethereal:crystal_spike", "ethereal:crystalgrass"}, nil, nil, nil,
|
||||
ethereal.frost)
|
||||
|
||||
-- red shrub
|
||||
add_node({"ethereal:fiery_dirt"}, 0.10, {"fiery"}, 1, 100,
|
||||
{"ethereal:dry_shrub"}, nil, nil, nil, ethereal.fiery)
|
||||
|
||||
-- snowy grass
|
||||
add_node({"ethereal:gray_dirt"}, 0.05, {"grayness"}, 1, 100,
|
||||
{"ethereal:snowygrass"}, nil, nil, nil, ethereal.grayness)
|
||||
|
||||
add_node({"ethereal:cold_dirt", "default:dirt_with_coniferous_litter"}, 0.05,
|
||||
{"coniferous_forest"}, 1, 100, {"ethereal:snowygrass"}, nil, nil, nil, ethereal.snowy)
|
||||
|
||||
-- cactus
|
||||
add_node({"default:sandstone"}, 0.002, {"sandstone_desert"}, 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({"ethereal:mushroom_dirt"}, 0.01, {"mushroom"}, 1, 100,
|
||||
{"flowers:mushroom_red"}, nil, nil, nil, ethereal.mushroom)
|
||||
|
||||
-- spore grass
|
||||
add_node({"ethereal:mushroom_dirt"}, 0.1, {"mushroom"}, 1, 100,
|
||||
{"ethereal:spore_grass"}, nil, nil, nil, ethereal.mushroom)
|
||||
|
||||
|
||||
local list = {
|
||||
{"junglee", {"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"}, ethereal.junglee},
|
||||
{"deciduous_forest", {"default:dirt_with_grass"}, ethereal.grassy},
|
||||
{"grassytwo", {"default:dirt_with_grass"}, ethereal.grassytwo},
|
||||
{"prairie", {"ethereal:prairie_dirt"}, ethereal.prairie},
|
||||
{"mushroom", {"ethereal:mushroom_dirt"}, ethereal.mushroom},
|
||||
{"swamp", {"default:dirt_with_grass"}, 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({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
|
||||
0.10, {"junglee"}, 1, 100, {"default:junglegrass"}, nil, nil, nil,
|
||||
ethereal.junglee)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.15, {"jumble"}, 1, 100,
|
||||
{"default:junglegrass"}, nil, nil, nil, ethereal.jumble)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.25, {"swamp"}, 1, 100,
|
||||
{"default:junglegrass"}, nil, nil, nil, ethereal.swamp)
|
||||
|
||||
-- grass
|
||||
add_node({"default:dirt_with_grass"}, 0.35, {"deciduous_forest"}, 1, 100,
|
||||
{"default:grass_2", "default:grass_3", "default:grass_4",
|
||||
"default:grass_5"}, nil, nil, nil, ethereal.grassy)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 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:dirt_with_grass"}, 0.35, {"jumble"}, 1, 100,
|
||||
{"default:grass_2", "default:grass_3", "default:grass_4",
|
||||
"default:grass_5"}, nil, nil, nil, ethereal.jumble)
|
||||
|
||||
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
|
||||
0.35, {"junglee"}, 1, 100, {"default:grass_2", "default:grass_3",
|
||||
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.junglee)
|
||||
|
||||
add_node({"ethereal: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({"ethereal:grove_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({"ethereal:grove_dirt"}, 0.35, {"mediterranean"}, 1, 100,
|
||||
{"default:grass_2", "default:grass_3", "default:grass_4",
|
||||
"default:grass_5"}, nil, nil, nil, ethereal.mediterranean)
|
||||
|
||||
add_node({"ethereal: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:dirt_with_grass"}, 0.35, {"grassland", "swamp"},
|
||||
1, 100, {"default:grass_3", "default:grass_4"}, nil, nil, nil, 1)
|
||||
|
||||
add_node({"ethereal:bamboo_dirt"}, 0.35, {"sakura"}, 1, 100,
|
||||
{"default:grass_2", "default:grass_3", "default:grass_4",
|
||||
"default:grass_5"}, nil, nil, nil, ethereal.sakura)
|
||||
|
||||
add_node({"ethereal:bamboo_dirt"}, 0.025, {"sakura"}, 1, 100,
|
||||
{"ethereal:lilac"}, nil, nil, nil, ethereal.sakura)
|
||||
|
||||
-- grass on sand
|
||||
if minetest.registered_nodes["default:marram_grass_1"] then
|
||||
|
||||
add_node({"default:sand"}, 0.25, {"sandclay"}, 3, 4, {"default:marram_grass_1",
|
||||
"default:marram_grass_2", "default:marram_grass_3"}, nil, nil, nil,
|
||||
ethereal.sandclay)
|
||||
else
|
||||
add_node({"default:sand"}, 0.25, {"sandclay"}, 3, 4, {"default:grass_2",
|
||||
"default:grass_3"}, nil, nil, nil, ethereal.sandclay)
|
||||
end
|
||||
|
||||
-- ferns
|
||||
add_node({"ethereal:grove_dirt"}, 0.2, {"grove"}, 1, 100, {"ethereal:fern"},
|
||||
nil, nil, nil, ethereal.grove)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.1, {"swamp"}, 1, 100,
|
||||
{"ethereal:fern"}, nil, nil, nil, ethereal.swamp)
|
||||
|
||||
add_node({"ethereal:crystal_dirt"}, 0.001, {"frost_floatlands"}, 1025, 1750,
|
||||
{"ethereal:fern"}, nil, nil, nil, ethereal.frost)
|
||||
|
||||
-- snow
|
||||
add_node({"ethereal:cold_dirt", "default:dirt_with_coniferous_litter"},
|
||||
0.8, {"coniferous_forest"}, 4, 40, {"default:snow"}, nil, nil, nil, ethereal.snowy)
|
||||
|
||||
add_node({"default:dirt_with_snow"}, 0.8, {"taiga"}, 40, 140,
|
||||
{"default:snow"}, nil, nil, nil, ethereal.alpine)
|
||||
|
||||
-- wild onion
|
||||
add_node({"default:dirt_with_grass", "ethereal:prairie_dirt"}, 0.025,
|
||||
{"deciduous_forest", "grassytwo", "jumble", "prairie"}, 1, 100,
|
||||
{"ethereal:onion_4"}, nil, nil, nil, 1)
|
||||
|
||||
-- papyrus
|
||||
add_node({"default:dirt_with_grass"}, 0.1, {"deciduous_forest"}, 1, 1,
|
||||
{"default:papyrus"}, 4, "default:water_source", 1, ethereal.grassy)
|
||||
|
||||
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
|
||||
0.1, {"junglee"}, 1, 1, {"default:papyrus"}, 4, "default:water_source",
|
||||
1, ethereal.junglee)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.1, {"swamp"}, 1, 1,
|
||||
{"default:papyrus"}, 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")
|
||||
|
||||
-- potato
|
||||
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
|
||||
0.002, {"junglee"}, 1, 100, {"farming:potato_3"}, nil, nil, nil,
|
||||
ethereal.junglee)
|
||||
|
||||
-- carrot, cucumber, potato, tomato, corn, coffee, raspberry, rhubarb
|
||||
add_node({"default:dirt_with_grass"}, 0.002, {"grassytwo"}, 1, 100,
|
||||
{"farming:carrot_7", "farming:cucumber_4", "farming:potato_3", "farming:vanilla_7",
|
||||
"farming:tomato_7", "farming:corn_8", "farming:coffee_5", "farming:blackberry_4",
|
||||
"farming:raspberry_4", "farming:rhubarb_3", "farming:blueberry_4",
|
||||
"farming:cabbage_6", "farming:lettuce_5", "farming:sunflower_8",
|
||||
"farming:asparagus"}, nil, nil, nil,
|
||||
ethereal.grassytwo)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.002, {"deciduous_forest"}, 1, 100,
|
||||
{"farming:carrot_7", "farming:cucumber_4", "farming:potato_3", "farming:vanilla_7",
|
||||
"farming:tomato_7", "farming:corn_8", "farming:coffee_5", "farming:blackberry_4",
|
||||
"farming:raspberry_4", "farming:rhubarb_3", "farming:blueberry_4",
|
||||
"farming:beetroot_5", "farming:sunflower_8",
|
||||
"farming:eggplant_3"}, nil, nil, nil, ethereal.grassy)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.002, {"jumble"}, 1, 100,
|
||||
{"farming:carrot_7", "farming:cucumber_4", "farming:potato_3", "farming:vanilla_7",
|
||||
"farming:tomato_7", "farming:corn_8", "farming:coffee_5", "farming:blackberry_4",
|
||||
"farming:raspberry_4", "farming:rhubarb_3", "farming:blueberry_4",
|
||||
"farming:cabbage_6", "farming:lettuce_5",
|
||||
"farming:spinach_3"}, nil, nil, nil, ethereal.jumble)
|
||||
|
||||
add_node({"ethereal:prairie_dirt"}, 0.025, {"prairie"}, 1, 100,
|
||||
{"farming:carrot_7", "farming:cucumber_4", "farming:potato_3", "farming:parsley_3",
|
||||
"farming:tomato_7", "farming:corn_8", "farming:coffee_5", "farming:blackberry_4",
|
||||
"farming:raspberry_4", "farming:rhubarb_3", "farming:blueberry_4",
|
||||
"farming:pea_5", "farming:beetroot_5", "farming:sunflower_8"}, nil, nil, nil,
|
||||
ethereal.prairie)
|
||||
|
||||
add_node({"ethereal:grove_dirt"}, 0.002, {"mediterranean"}, 1, 100,
|
||||
{"farming:parsley_3"}, nil, nil, nil, ethereal.mediterranean)
|
||||
|
||||
-- melon and pumpkin
|
||||
add_node({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
|
||||
0.001, {"junglee"}, 1, 1, {"farming:melon_8", "farming:pumpkin_8"},
|
||||
nil, "default:water_source", 1, ethereal.junglee)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.001, {"deciduous_forest"}, 1, 1,
|
||||
{"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source",
|
||||
1, ethereal.grassy)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.001, {"grassytwo"}, 1, 1,
|
||||
{"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source",
|
||||
1, ethereal.grassytwo)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.001, {"jumble"}, 1, 1,
|
||||
{"farming:melon_8", "farming:pumpkin_8"}, nil, "default:water_source",
|
||||
1, ethereal.jumble)
|
||||
|
||||
-- mint
|
||||
add_node({"default:dirt_with_grass", "default:dirt_with_coniferous_litter",
|
||||
"ethereal:bamboo_dirt"}, 0.005, nil, 1, 75, "farming:mint_4", nil,
|
||||
{"group:water", "group:sand"}, 1, 1)
|
||||
|
||||
-- green beans
|
||||
add_node({"default:dirt_with_grass"}, 0.001, {"grassytwo"}, 1, 100,
|
||||
{"farming:beanbush"}, nil, nil, nil, ethereal.grassytwo)
|
||||
|
||||
-- grape bushel
|
||||
add_node({"default:dirt_with_grass"}, 0.001, {"grassytwo"}, 1, 100,
|
||||
{"farming:grapebush"}, nil, nil, nil, ethereal.grassytwo)
|
||||
|
||||
add_node({"default:dirt_with_grass"}, 0.001, {"deciduous_forest"}, 1, 100,
|
||||
{"farming:grapebush"}, nil, nil, nil, ethereal.grassy)
|
||||
|
||||
add_node({"ethereal:prairie_dirt"}, 0.001, {"prairie"}, 1, 100,
|
||||
{"farming:grapebush"}, nil, nil, nil, ethereal.prairie)
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dirt_with_grass", "ethereal:prairie_dirt",
|
||||
"default:dirt_with_rainforest_litter"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.002,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 760,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
y_min = 5,
|
||||
y_max = 35,
|
||||
decoration = {
|
||||
"farming:chili_8", "farming:garlic_5", "farming:pepper_5", "farming:pepper_6",
|
||||
"farming:onion_5", "farming:hemp_7", "farming:pepper_7", "farming:soy_5",
|
||||
"farming:ginger"
|
||||
},
|
||||
spawn_by = "group:tree",
|
||||
num_spawn_by = 1
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dirt_with_dry_grass"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.002,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 917,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
y_min = 18,
|
||||
y_max = 30,
|
||||
decoration = {"farming:pineapple_8", "farming:soy_5"}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"ethereal:grove_dirt"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.002,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 448,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
y_min = 15,
|
||||
y_max = 40,
|
||||
decoration = {"farming:artichoke_5"},
|
||||
spawn_by = "group:tree",
|
||||
num_spawn_by = 1
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- is baked clay mod active? add new flowers if so
|
||||
if minetest.get_modpath("bakedclay") then
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:prairie_dirt", "default:dirt_with_grass",
|
||||
"ethereal:grove_dirt"
|
||||
},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.004,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 7133,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
y_min = 10,
|
||||
y_max = 90,
|
||||
decoration = "bakedclay:delphinium"
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:prairie_dirt", "default:dirt_with_grass",
|
||||
"ethereal:grove_dirt", "ethereal:bamboo_dirt"
|
||||
},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.004,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 7134,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
y_min = 15,
|
||||
y_max = 90,
|
||||
decoration = "bakedclay:thistle"
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.01,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 7135,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
y_min = 1,
|
||||
y_max = 90,
|
||||
decoration = "bakedclay:lazarus",
|
||||
spawn_by = "default:jungletree",
|
||||
num_spawn_by = 1
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dirt_with_grass", "default:sand"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.009,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 7136,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
y_min = 1,
|
||||
y_max = 15,
|
||||
decoration = "bakedclay:mannagrass",
|
||||
spawn_by = "group:water",
|
||||
num_spawn_by = 1
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if ethereal.desert == 1 and minetest.get_modpath("wine") then
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:desert_sand"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.001,
|
||||
biomes = {"desert"},
|
||||
decoration = {"wine:blue_agave"}
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if ethereal.snowy == 1 and minetest.registered_nodes["default:fern_1"] then
|
||||
|
||||
local function register_fern_decoration(seed, length)
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "default:fern_" .. length,
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:cold_dirt", "default:dirt_with_coniferous_litter"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.2,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = seed,
|
||||
octaves = 3,
|
||||
persist = 0.7
|
||||
},
|
||||
y_max = 31000,
|
||||
y_min = 6,
|
||||
decoration = "default:fern_" .. length
|
||||
})
|
||||
end
|
||||
|
||||
register_fern_decoration(14936, 3)
|
||||
register_fern_decoration(801, 2)
|
||||
register_fern_decoration(5, 1)
|
||||
end
|
||||
|
||||
|
||||
if ethereal.tundra == 1 and minetest.registered_nodes["default:permafrost"] then
|
||||
|
||||
-- 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
|
||||
|
||||
|
||||
if minetest.get_modpath("butterflies") then
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "butterflies:butterfly",
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dirt_with_grass", "ethereal:prairie_dirt"},
|
||||
place_offset_y = 2,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"deciduous_forest", "grassytwo", "prairie", "jumble"},
|
||||
y_max = 31000,
|
||||
y_min = 1,
|
||||
decoration = {
|
||||
"butterflies:butterfly_white",
|
||||
"butterflies:butterfly_red",
|
||||
"butterflies:butterfly_violet"
|
||||
},
|
||||
spawn_by = "group:flower",
|
||||
num_spawn_by = 1
|
||||
})
|
||||
|
||||
-- restart butterfly timers
|
||||
minetest.register_lbm({
|
||||
name = ":butterflies:butterfly_timer",
|
||||
nodenames = {
|
||||
"butterflies:butterfly_white", "butterflies:butterfly_red",
|
||||
"butterflies:butterfly_violet"
|
||||
},
|
||||
run_at_every_load = true,
|
||||
|
||||
action = function(pos)
|
||||
minetest.get_node_timer(pos):start(5)
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath("fireflies") then
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "fireflies:firefly_low",
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"default:dirt_with_grass",
|
||||
"default:dirt_with_coniferous_litter",
|
||||
"default:dirt_with_rainforest_litter",
|
||||
"default:dirt",
|
||||
"ethereal:cold_dirt", "prairie"
|
||||
},
|
||||
place_offset_y = 2,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.0005,
|
||||
biomes = {
|
||||
"deciduous_forest", "grassytwo", "coniferous_forest", "junglee", "swamp"},
|
||||
y_max = 31000,
|
||||
y_min = -1,
|
||||
decoration = "fireflies:hidden_firefly"
|
||||
})
|
||||
|
||||
-- restart firefly timers
|
||||
minetest.register_lbm({
|
||||
name = ":fireflies:firefly_timer",
|
||||
nodenames = {"fireflies:firefly", "fireflies:hidden_firefly"},
|
||||
run_at_every_load = true,
|
||||
|
||||
action = function(pos)
|
||||
minetest.get_node_timer(pos):start(5)
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- Coral Reef (Minetest 5.0)
|
||||
if minetest.registered_nodes["default:coral_green"] then
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "default:corals",
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 4,
|
||||
noise_params = {
|
||||
offset = -4,
|
||||
scale = 4,
|
||||
spread = {x = 50, y = 50, z = 50},
|
||||
seed = 7013,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = {"desert_ocean", "savanna_ocean", "junglee_ocean"},
|
||||
y_max = -2,
|
||||
y_min = -8,
|
||||
flags = "force_placement",
|
||||
decoration = {
|
||||
"default:coral_green", "default:coral_pink",
|
||||
"default:coral_cyan", "default:coral_brown",
|
||||
"default:coral_orange", "default:coral_skeleton"
|
||||
}
|
||||
})
|
||||
|
||||
-- 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", "deciduous_forest_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
|
||||
|
||||
|
||||
local random = math.random
|
||||
|
||||
-- Generate Illumishroom in caves on top of coal
|
||||
minetest.register_on_generated(function(minp, maxp)
|
||||
|
||||
if minp.y > -30 or maxp.y < -3000 then
|
||||
return
|
||||
end
|
||||
|
||||
local bpos
|
||||
local coal = minetest.find_nodes_in_area_under_air(
|
||||
minp, maxp, "default:stone_with_coal")
|
||||
|
||||
for n = 1, #coal do
|
||||
|
||||
if random(2) == 1 then
|
||||
|
||||
bpos = {x = coal[n].x, y = coal[n].y + 1, z = coal[n].z}
|
||||
|
||||
if bpos.y > -3000 and bpos.y < -2000 then
|
||||
minetest.swap_node(bpos, {name = "ethereal:illumishroom3"})
|
||||
|
||||
elseif bpos.y > -2000 and bpos.y < -1000 then
|
||||
minetest.swap_node(bpos, {name = "ethereal:illumishroom2"})
|
||||
|
||||
elseif bpos.y > -1000 and bpos.y < -30 then
|
||||
minetest.swap_node(bpos, {name = "ethereal:illumishroom"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
10
mods/ethereal/depends.txt
Normal file
@ -0,0 +1,10 @@
|
||||
default
|
||||
farming
|
||||
stairs?
|
||||
flowers
|
||||
doors?
|
||||
bakedclay?
|
||||
moreblocks?
|
||||
intllib?
|
||||
lucky_block?
|
||||
toolranks?
|
1
mods/ethereal/description.txt
Normal file
@ -0,0 +1 @@
|
||||
BIOME mod mapgen to add many new biomes to the world
|
323
mods/ethereal/dirt.lua
Normal file
@ -0,0 +1,323 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- override default dirt (to stop caves cutting away dirt)
|
||||
minetest.override_item("default:dirt", {is_ground_content = ethereal.cavedirt})
|
||||
|
||||
minetest.register_alias("ethereal:green_dirt", "default:dirt_with_grass")
|
||||
|
||||
|
||||
-- dry dirt
|
||||
minetest.register_node("ethereal:dry_dirt", {
|
||||
description = S("Dried Dirt"),
|
||||
tiles = {"ethereal_dry_dirt.png"},
|
||||
is_ground_content = ethereal.cavedirt,
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_dirt_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "ethereal:dry_dirt",
|
||||
recipe = "default:dirt",
|
||||
cooktime = 3,
|
||||
})
|
||||
|
||||
|
||||
-- register ethereal dirt types
|
||||
local dirts = {
|
||||
"Bamboo", "Jungle", "Grove", "Prairie", "Cold",
|
||||
"Crystal", "Mushroom", "Fiery", "Gray"
|
||||
}
|
||||
|
||||
for n = 1, #dirts do
|
||||
|
||||
local desc = dirts[n]
|
||||
local name = desc:lower()
|
||||
|
||||
minetest.register_node("ethereal:" .. name .. "_dirt", {
|
||||
description = S(desc .. " Dirt"),
|
||||
tiles = {
|
||||
"ethereal_grass_" .. name .. "_top.png",
|
||||
"default_dirt.png",
|
||||
{
|
||||
name = "default_dirt.png^ethereal_grass_" .. name .. "_side.png",
|
||||
tileable_vertical = false
|
||||
}
|
||||
},
|
||||
is_ground_content = ethereal.cavedirt,
|
||||
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
|
||||
soil = {
|
||||
base = "ethereal:" .. name .. "_dirt",
|
||||
dry = "farming:soil",
|
||||
wet = "farming:soil_wet"
|
||||
},
|
||||
drop = "default:dirt",
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_grass_footstep", gain = 0.25}
|
||||
})
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- flower spread, also crystal and fire flower regeneration
|
||||
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
|
||||
|
||||
if num > 3 and node.name == "ethereal:crystalgrass" then
|
||||
|
||||
local grass = minetest.find_nodes_in_area_under_air(
|
||||
pos0, pos1, {"ethereal:crystalgrass"})
|
||||
|
||||
if #grass > 4
|
||||
and not minetest.find_node_near(pos, 4, {"ethereal:crystal_spike"}) then
|
||||
|
||||
pos = grass[math.random(#grass)]
|
||||
|
||||
pos.y = pos.y - 1
|
||||
|
||||
if minetest.get_node(pos).name == "ethereal:crystal_dirt" then
|
||||
|
||||
pos.y = pos.y + 1
|
||||
|
||||
minetest.swap_node(pos, {name = "ethereal:crystal_spike"})
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
elseif num > 3 and node.name == "ethereal:dry_shrub" then
|
||||
|
||||
local grass = minetest.find_nodes_in_area_under_air(
|
||||
pos0, pos1, {"ethereal:dry_shrub"})
|
||||
|
||||
if #grass > 8
|
||||
and not minetest.find_node_near(pos, 4, {"ethereal:fire_flower"}) then
|
||||
|
||||
pos = grass[math.random(#grass)]
|
||||
|
||||
pos.y = pos.y - 1
|
||||
|
||||
if minetest.get_node(pos).name == "ethereal:fiery_dirt" then
|
||||
|
||||
pos.y = pos.y + 1
|
||||
|
||||
minetest.swap_node(pos, {name = "ethereal:fire_flower"})
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
elseif num > 3 then
|
||||
return
|
||||
end
|
||||
|
||||
pos.y = pos.y - 1
|
||||
|
||||
local under = minetest.get_node(pos)
|
||||
|
||||
-- make sure we have soil underneath
|
||||
if minetest.get_item_group(under.name, "soil") == 0
|
||||
or under.name == "default:desert_sand" then
|
||||
return
|
||||
end
|
||||
|
||||
local seedling = minetest.find_nodes_in_area_under_air(
|
||||
pos0, pos1, {under.name})
|
||||
|
||||
if #seedling > 0 then
|
||||
|
||||
pos = seedling[math.random(#seedling)]
|
||||
|
||||
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 papyrus up to 4 high and bamboo up to 8 high
|
||||
local grow_papyrus = 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 == "ethereal: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 == "ethereal: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 = 96 -- back to original chance from 300
|
||||
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 papyrus"
|
||||
or node1 == "default:papyrus" then
|
||||
|
||||
--ab.interval = 2
|
||||
--ab.chance = 1
|
||||
ab.nodenames = {"default:papyrus", "ethereal:bamboo"}
|
||||
ab.neighbors = {"group:soil"}
|
||||
ab.action = grow_papyrus
|
||||
|
||||
elseif label == "Mushroom spread" then
|
||||
|
||||
--ab.interval = 1
|
||||
ab.chance = 50 -- back to original chance from 150
|
||||
ab.nodenames = {"group:mushroom"}
|
||||
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
|
||||
|
||||
|
||||
-- Quicksand (old style, sinking inside shows black instead of yellow effect,
|
||||
-- works ok with noclip enabled though)
|
||||
minetest.register_node("ethereal:quicksand", {
|
||||
description = S("Quicksand"),
|
||||
tiles = {"default_sand.png"},
|
||||
drop = "default:sand",
|
||||
liquid_viscosity = 15,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "ethereal:quicksand",
|
||||
liquid_alternative_source = "ethereal:quicksand",
|
||||
liquid_renewable = false,
|
||||
liquid_range = 0,
|
||||
drowning = 1,
|
||||
walkable = false,
|
||||
climbable = false,
|
||||
post_effect_color = {r = 230, g = 210, b = 160, a = 245},
|
||||
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1, not_in_creative_inventory = 1},
|
||||
sounds = default.node_sound_sand_defaults()
|
||||
})
|
||||
|
||||
-- Quicksand (new style, sinking inside shows yellow effect with or without noclip,
|
||||
-- but old quicksand is shown as black until block placed nearby to update light)
|
||||
minetest.register_node("ethereal:quicksand2", {
|
||||
description = S("Quicksand"),
|
||||
tiles = {"default_sand.png^[colorize:#00004F10"},
|
||||
drawtype = "glasslike",
|
||||
paramtype = "light",
|
||||
drop = "default:sand",
|
||||
liquid_viscosity = 15,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "ethereal:quicksand2",
|
||||
liquid_alternative_source = "ethereal:quicksand2",
|
||||
liquid_renewable = false,
|
||||
liquid_range = 0,
|
||||
drowning = 1,
|
||||
walkable = false,
|
||||
climbable = false,
|
||||
post_effect_color = {r = 230, g = 210, b = 160, a = 245},
|
||||
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
|
||||
sounds = default.node_sound_sand_defaults()
|
||||
})
|
||||
|
||||
-- craft quicksand
|
||||
minetest.register_craft({
|
||||
output = "ethereal:quicksand2",
|
||||
recipe = {
|
||||
{"group:sand", "group:sand", "group:sand"},
|
||||
{"group:sand", "bucket:bucket_water", "group:sand"},
|
||||
{"group:sand", "group:sand", "group:sand"}
|
||||
},
|
||||
replacements = {
|
||||
{"bucket:bucket_water", "bucket:bucket_empty"}
|
||||
}
|
||||
})
|
BIN
mods/ethereal/ethereal-biomes-defaults-22-Jul-2022-geogebra.ggb
Normal file
436
mods/ethereal/extra.lua
Normal file
@ -0,0 +1,436 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- Etherium Dust
|
||||
minetest.register_craftitem("ethereal:etherium_dust", {
|
||||
description = S("Etherium Dust"),
|
||||
inventory_image = "ethereal_etherium_dust.png",
|
||||
wield_image = "ethereal_etherium_dust.png"
|
||||
})
|
||||
|
||||
-- Ethereium Ore
|
||||
minetest.register_node("ethereal:etherium_ore", {
|
||||
description = S("Etherium Ore"),
|
||||
tiles = {"default_desert_stone.png^ethereal_etherium_ore.png"},
|
||||
groups = {cracky = 3},
|
||||
drop = "ethereal:etherium_dust",
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("ethereal:stone_with_etherium_ore", {
|
||||
description = S("Etherium Ore"),
|
||||
tiles = {"default_stone.png^ethereal_etherium_ore.png"},
|
||||
groups = {cracky = 3},
|
||||
drop = "ethereal:etherium_dust",
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
|
||||
-- Bamboo Flooring
|
||||
minetest.register_node("ethereal:bamboo_floor", {
|
||||
description = S("Bamboo Floor"),
|
||||
drawtype = "nodebox",
|
||||
tiles = {"ethereal_bamboo_floor.png"},
|
||||
wield_image = "ethereal_bamboo_floor.png",
|
||||
inventory_image = "ethereal_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()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bamboo_floor 2",
|
||||
recipe = {
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Bamboo Block
|
||||
minetest.register_node("ethereal:bamboo_block", {
|
||||
description = S("Bamboo Block"),
|
||||
tiles = {"ethereal_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 = {
|
||||
{"ethereal:bamboo_floor"},
|
||||
{"ethereal:bamboo_floor"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bamboo_block",
|
||||
recipe = {
|
||||
{"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Paper recipes
|
||||
minetest.register_craft({
|
||||
output = "default:paper 6",
|
||||
recipe = {
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:paper 2",
|
||||
recipe = {
|
||||
{"farming:cotton", "farming:cotton", "farming:cotton"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- 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"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- X pattern craft recipes (5x 'a' in X pattern gives 5 of 'b')
|
||||
if ethereal.xcraft == true then
|
||||
|
||||
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},
|
||||
{"default:stone", "default:silver_sandstone", 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
|
||||
|
||||
|
||||
-- Palm Wax
|
||||
minetest.register_craftitem("ethereal:palm_wax", {
|
||||
description = S("Palm Wax"),
|
||||
inventory_image = "ethereal_palm_wax.png",
|
||||
wield_image = "ethereal_palm_wax.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 10,
|
||||
output = "ethereal:palm_wax",
|
||||
recipe = "ethereal:palmleaves"
|
||||
})
|
||||
|
||||
|
||||
local function add_candle(col, dcol)
|
||||
|
||||
local rcol = ""
|
||||
|
||||
if col ~= "" then
|
||||
rcol = col
|
||||
col = "_" .. col
|
||||
end
|
||||
|
||||
minetest.register_node("ethereal:candle" .. col, {
|
||||
description = S(dcol .. "Candle"),
|
||||
drawtype = "plantlike",
|
||||
inventory_image = "ethereal_candle" .. col .. "_static.png",
|
||||
wield_image = "ethereal_candle" .. col .. "_static.png",
|
||||
tiles = {
|
||||
{
|
||||
name = "ethereal_candle" .. col .. ".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 = {candle = 1, 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 }
|
||||
}
|
||||
})
|
||||
|
||||
if col ~= "" then
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:candle" .. col,
|
||||
recipe = {
|
||||
{"group:candle", "dye:" .. rcol},
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
add_candle("", "")
|
||||
add_candle("black", "Black ") -- candle colour textures by wRothbard
|
||||
add_candle("blue", "Blue ")
|
||||
add_candle("brown", "Brown ")
|
||||
add_candle("cyan", "Cyan ")
|
||||
add_candle("dark_green", "Dark Green ")
|
||||
add_candle("dark_grey", "Dark Grey ")
|
||||
add_candle("green", "Green ")
|
||||
add_candle("grey", "Grey ")
|
||||
add_candle("magenta", "Magenta ")
|
||||
add_candle("orange", "Orange ")
|
||||
add_candle("pink", "Pink ")
|
||||
add_candle("red", "Red ")
|
||||
add_candle("violet", "Violet ")
|
||||
add_candle("yellow", "Yellow ")
|
||||
|
||||
|
||||
-- white candle recipe
|
||||
minetest.register_craft({
|
||||
output = "ethereal:candle",
|
||||
recipe = {
|
||||
{"group:candle", "dye:white"}
|
||||
}
|
||||
})
|
||||
|
||||
-- candle recipe
|
||||
minetest.register_craft({
|
||||
output = "ethereal:candle 2",
|
||||
recipe = {
|
||||
{"farming:string"},
|
||||
{"ethereal:palm_wax"},
|
||||
{"ethereal:palm_wax"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Wooden Bowl
|
||||
minetest.register_craftitem("ethereal:bowl", {
|
||||
description = S("Bowl"),
|
||||
inventory_image = "ethereal_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:wood", "", "group:wood"},
|
||||
{"", "group:wood", ""}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- stone Ladder
|
||||
minetest.register_node("ethereal:stone_ladder", {
|
||||
description = S("Stone Ladder"),
|
||||
drawtype = "signlike",
|
||||
tiles = {"ethereal_stone_ladder.png"},
|
||||
inventory_image = "ethereal_stone_ladder.png",
|
||||
wield_image = "ethereal_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 = {"ethereal_paper_wall.png"},
|
||||
inventory_image = "ethereal_paper_wall.png",
|
||||
wield_image = "ethereal_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 = {"ethereal_glostone.png"},
|
||||
groups = {cracky = 3},
|
||||
light_source = 13,
|
||||
drop = "ethereal:glostone",
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:glostone",
|
||||
recipe = {
|
||||
{"", "default:torch", ""},
|
||||
{"default:torch", "default:stone", "default:torch"},
|
||||
{"", "dye:yellow", ""}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Charcoal Lump
|
||||
minetest.register_craftitem("ethereal:charcoal_lump", {
|
||||
description = S("Lump of Charcoal"),
|
||||
inventory_image = "ethereal_charcoal_lump.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:charcoal_lump 2",
|
||||
recipe = {
|
||||
{"ethereal: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"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- staff of light alternative node list
|
||||
ethereal.lightstaff_recipes = {
|
||||
["nether:rack"] = "nether:glowstone",
|
||||
["nether:rack_deep"] = "nether:glowstone_deep"
|
||||
}
|
||||
|
||||
-- Staff of Light (by Xanthin)
|
||||
minetest.register_tool("ethereal:light_staff", {
|
||||
description = S("Staff of Light"),
|
||||
inventory_image = "ethereal_light_staff.png",
|
||||
light_source = 13,
|
||||
wield_image = "ethereal_light_staff.png",
|
||||
sound = {breaks = "default_tool_breaks"},
|
||||
stack_max = 1,
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
if pointed_thing.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
local pos = pointed_thing.under
|
||||
local pname = user:get_player_name()
|
||||
|
||||
if minetest.is_protected(pos, pname) then
|
||||
minetest.record_protection_violation(pos, pname)
|
||||
return
|
||||
end
|
||||
|
||||
local node = minetest.get_node(pos).name
|
||||
local def = minetest.registered_nodes[node]
|
||||
local stone = def and def.groups and def.groups.stone and def.groups.stone == 1
|
||||
|
||||
if ethereal.lightstaff_recipes[node] or stone then
|
||||
|
||||
local glo = ethereal.lightstaff_recipes[node] or "ethereal:glostone"
|
||||
|
||||
minetest.set_node(pos, {name = glo})
|
||||
|
||||
itemstack:add_wear(65535 / 149) -- 150 uses
|
||||
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:light_staff",
|
||||
recipe = {
|
||||
{"ethereal:illumishroom", "default:mese_crystal", "ethereal:illumishroom"},
|
||||
{"ethereal:illumishroom2", "default:steel_ingot", "ethereal:illumishroom2"},
|
||||
{"ethereal:illumishroom3", "default:steel_ingot", "ethereal:illumishroom3"}
|
||||
}
|
||||
})
|
103
mods/ethereal/fences.lua
Normal file
@ -0,0 +1,103 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
local door_mod = minetest.get_modpath("doors")
|
||||
|
||||
|
||||
local add_fence = function(name, node, desc, texture)
|
||||
|
||||
if default.register_fence then
|
||||
|
||||
default.register_fence("ethereal:fence_" .. name, {
|
||||
description = S(desc .. " Fence"),
|
||||
texture = texture .. ".png",
|
||||
material = "ethereal:" .. node,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
check_for_pole = true
|
||||
})
|
||||
end
|
||||
|
||||
if default.register_fence_rail then
|
||||
|
||||
default.register_fence_rail("ethereal:fence_rail_" .. name, {
|
||||
description = S(desc .. " Fence Rail"),
|
||||
texture = texture .. ".png",
|
||||
material = "ethereal:" .. node,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
end
|
||||
|
||||
if door_mod and doors.register_fencegate then
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_" .. name, {
|
||||
description = S(desc .. " Fence Gate"),
|
||||
texture = texture .. ".png",
|
||||
material = "ethereal:" .. node,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
end
|
||||
|
||||
if default.register_mesepost then
|
||||
|
||||
default.register_mesepost("ethereal:mese_post_" .. name, {
|
||||
description = S(desc .. " Mese Post Light"),
|
||||
texture = texture .. ".png",
|
||||
material = "ethereal:" .. node,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
add_fence("scorched", "scorched_tree", "Scorched", "ethereal_scorched_tree")
|
||||
add_fence("frostwood", "frost_wood", "Frost", "ethereal_frost_wood")
|
||||
add_fence("redwood", "redwood_wood", "Redwood", "ethereal_redwood_wood")
|
||||
add_fence("willow", "willow_wood", "Willow", "ethereal_willow_wood")
|
||||
add_fence("yellowwood", "yellow_wood", "Healing Wood", "ethereal_yellow_wood")
|
||||
add_fence("palm", "palm_wood", "Palm", "moretrees_palm_wood")
|
||||
add_fence("banana", "banana_wood", "Banana Wood", "ethereal_banana_wood")
|
||||
add_fence("mushroom", "mushroom_trunk", "Mushroom", "ethereal_mushroom_trunk")
|
||||
add_fence("birch", "birch_wood", "Birch", "moretrees_birch_wood")
|
||||
add_fence("sakura", "sakura_wood", "Sakura", "ethereal_sakura_wood")
|
||||
add_fence("olive", "olive_wood", "Olive", "ethereal_olive_wood")
|
||||
add_fence("basandra", "basandra_wood", "Basandra", "ethereal_basandra_bush_wood")
|
||||
|
||||
|
||||
-- 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
|
||||
if door_mod then
|
||||
|
||||
doors.register("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")
|
||||
end
|
611
mods/ethereal/fishing.lua
Normal file
@ -0,0 +1,611 @@
|
||||
--[[
|
||||
|
||||
This fishing routine is inspired by the great work Rootyjr did for MineClone2
|
||||
|
||||
]]--
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
local fish_items = {
|
||||
"ethereal:fish_bluefin",
|
||||
"ethereal:fish_blueram",
|
||||
"ethereal:fish_catfish",
|
||||
"ethereal:fish_plaice",
|
||||
"ethereal:fish_salmon",
|
||||
{"ethereal:fish_clownfish", "savanna"},
|
||||
{"ethereal:fish_pike", "grassy"},
|
||||
{"ethereal:fish_flathead", "jungle"},
|
||||
{"ethereal:fish_pufferfish", "desert_ocean"},
|
||||
{"ethereal:fish_cichlid", "junglee_ocean"},
|
||||
{"ethereal:fish_coy", "sakura"},
|
||||
{"ethereal:fish_tilapia", "sakura"},
|
||||
{"ethereal:fish_trevally", "sakura"},
|
||||
{"ethereal:fish_angler", "ocean"},
|
||||
{"ethereal:fish_jellyfish", "ocean"},
|
||||
{"ethereal:fish_seahorse", "ocean"},
|
||||
{"ethereal:fish_seahorse_green", "junglee_ocean"},
|
||||
{"ethereal:fish_seahorse_pink", "mushroom_ocean"},
|
||||
{"ethereal:fish_seahorse_blue", "frost_ocean"},
|
||||
{"ethereal:fish_seahorse_yellow", "desert_ocean"},
|
||||
{"ethereal:fish_parrot", "desert"},
|
||||
{"ethereal:fish_piranha", "jungle"},
|
||||
{"ethereal:fish_tuna", "jungle"},
|
||||
{"ethereal:fish_trout", "ocean"},
|
||||
{"ethereal:fish_cod", "ocean"},
|
||||
{"ethereal:fish_flounder", "ocean"},
|
||||
{"ethereal:fish_redsnapper", "ocean"},
|
||||
{"ethereal:fish_squid", "ocean"},
|
||||
{"ethereal:fish_shrimp", "ocean"},
|
||||
{"ethereal:fish_carp", "swamp"}
|
||||
}
|
||||
-- grassland_ocean, desert_ocean, sakura_ocean, mesa_ocean, coniferous_forest_ocean,
|
||||
-- taiga_ocean, frost_ocean, deciduous_forest_ocean, grayness_ocean, grassytwo_ocean,
|
||||
-- prairie_ocean, jumble_ocean, junglee_ocean, grove_ocean, mushroom_ocean,
|
||||
-- sandstone_desert_ocean, plains_ocean, savanna_ocean, fiery_ocean, swamp_ocean,
|
||||
-- glacier_ocean, tundra_ocean
|
||||
|
||||
local mod_bonemeal = minetest.get_modpath("bonemeal")
|
||||
local mod_armor = minetest.get_modpath("3d_armor")
|
||||
local mod_mobs = minetest.get_modpath("mobs")
|
||||
|
||||
local junk_items = {
|
||||
"ethereal:bowl",
|
||||
"default:stick",
|
||||
"farming:string",
|
||||
"default:papyrus",
|
||||
"dye:black",
|
||||
"flowers:waterlily",
|
||||
"default:paper",
|
||||
"flowers:mushroom_red",
|
||||
"vessels:glass_bottle",
|
||||
{"ethereal:bamboo", "bamboo"},
|
||||
mod_bonemeal and "bonemeal:bone" or "default:stick",
|
||||
mod_armor and "3d_armor:boots_wood 6000" or "default:stick"
|
||||
}
|
||||
|
||||
local bonus_items = {
|
||||
mod_mobs and "mobs:nametag" or "fireflies:bug_net",
|
||||
mod_mobs and "mobs:net" or "default:sapling",
|
||||
"fireflies:firefly_bottle",
|
||||
mod_mobs and "mobs:saddle" or "farming:cotton_wild",
|
||||
"default:book",
|
||||
{"ethereal:firethorn", "glacier"},
|
||||
{"ethereal:crystal_spike", "frost"},
|
||||
{"ethereal:banana_bunch", "grove"},
|
||||
"tnt:tnt_stick",
|
||||
"bucket:bucket_empty",
|
||||
"default:sword_steel 12000",
|
||||
"ethereal:fishing_rod 9000"
|
||||
}
|
||||
|
||||
local default_item = "default:dirt"
|
||||
local random = math.random -- yup we use this a lot
|
||||
|
||||
|
||||
-- add item function
|
||||
ethereal.add_item = function(fish, junk, bonus)
|
||||
|
||||
if fish and fish ~= "" then
|
||||
table.insert(fish_items, fish)
|
||||
end
|
||||
|
||||
if junk and junk ~= "" then
|
||||
table.insert(junk_items, junk)
|
||||
end
|
||||
|
||||
if bonus and bonus ~= "" then
|
||||
table.insert(bonus_items, bonus)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local effect = function(pos)
|
||||
|
||||
minetest.add_particle({
|
||||
pos = {
|
||||
x = pos.x + random() - 0.5,
|
||||
y = pos.y + 0.1,
|
||||
z = pos.z + random() - 0.5
|
||||
},
|
||||
velocity = {x = 0, y = 4, z = 0},
|
||||
acceleration = {x = 0, y = -5, z = 0},
|
||||
expirationtime = random() * 0.5,
|
||||
size = random(),
|
||||
collisiondetection = false,
|
||||
vertical = false,
|
||||
texture = "bubble.png"
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- fishing bob entity
|
||||
minetest.register_entity("ethereal:bob_entity", {
|
||||
|
||||
textures = {"ethereal_fishing_bob.png"},
|
||||
visual_size = {x = 0.5, y = 0.5},
|
||||
collisionbox = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
|
||||
physical = false,
|
||||
pointable = false,
|
||||
static_save = false,
|
||||
timer = 0,
|
||||
|
||||
on_step = function(self, dtime)
|
||||
|
||||
local pos = self.object:get_pos()
|
||||
local node = minetest.get_node(pos)
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
|
||||
-- casting rod into water
|
||||
if not self.cast then
|
||||
|
||||
-- remove if we hit something hard
|
||||
if (def and def.walkable) or node.name == "ignore" then
|
||||
|
||||
self.object:remove() ; --print("-- hit block")
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- while bob is in water
|
||||
if def and def.liquidtype == "source"
|
||||
and minetest.get_item_group(node.name, "water") > 0 then
|
||||
|
||||
-- incase of lag find water level
|
||||
local free_fall, blocker = minetest.line_of_sight(
|
||||
{x = pos.x, y = pos.y + 2, z = pos.z},
|
||||
{x = pos.x, y = pos.y , z = pos.z})
|
||||
|
||||
-- do we have worms for bait, if so take one
|
||||
local player = self.fisher and minetest.get_player_by_name(self.fisher)
|
||||
local inv = player and player:get_inventory()
|
||||
local bait = 0
|
||||
|
||||
if inv and inv:contains_item("main", "caverealms:glow_bait") then
|
||||
inv:remove_item("main", "caverealms:glow_bait")
|
||||
bait = 40
|
||||
elseif inv and inv:contains_item("main", "ethereal:worm") then
|
||||
inv:remove_item("main", "ethereal:worm")
|
||||
bait = 20
|
||||
end
|
||||
|
||||
-- re-position fishing bob and set to cast
|
||||
pos = {x = pos.x, y = blocker.y + 0.45, z = pos.z}
|
||||
|
||||
self.object:set_acceleration({x = 0, y = 0, z = 0})
|
||||
self.object:set_velocity({x = 0, y = 0, z = 0})
|
||||
self.object:set_pos(pos)
|
||||
self.bait = bait
|
||||
self.cast = true
|
||||
|
||||
-- splash
|
||||
effect(pos) ; effect(pos) ; effect(pos) ; effect(pos)
|
||||
|
||||
minetest.sound_play("default_water_footstep", {
|
||||
pos = pos, gain = 0.1}, true)
|
||||
end
|
||||
|
||||
else -- already cast and waiting for fish
|
||||
|
||||
-- we need a name
|
||||
if self.fisher == nil or self.fisher == "" then
|
||||
|
||||
self.object:remove() ; --print("-- no name")
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
local player = minetest.get_player_by_name(self.fisher)
|
||||
|
||||
-- we need an actual person
|
||||
if not player then
|
||||
|
||||
self.object:remove() ; --print("-- no player")
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
local wield = player:get_wielded_item()
|
||||
|
||||
-- we also need a rod to fish with
|
||||
if not wield or wield:get_name() ~= "ethereal:fishing_rod" then
|
||||
|
||||
self.object:remove() ; --print("-- no rod")
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- remove bob if player is too far away
|
||||
local pla_pos = player:get_pos()
|
||||
|
||||
if (pla_pos.y - pos.y) > 15
|
||||
or (pla_pos.y - pos.y) < -15
|
||||
or (pla_pos.x - pos.x) > 15
|
||||
or (pla_pos.x - pos.x) < -15
|
||||
or (pla_pos.z - pos.z) > 15
|
||||
or (pla_pos.z - pos.z) < -15 then
|
||||
|
||||
self.object:remove() ; --print("-- out of range")
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- when in water, bob.
|
||||
if def and def.liquidtype == "source"
|
||||
and minetest.get_item_group(def.name, "water") ~= 0 then
|
||||
|
||||
self.old_y = self.old_y or pos.y
|
||||
|
||||
-- choose random time to wait (minus bait time for worm)
|
||||
if not self.patience or self.patience <= 0 then
|
||||
|
||||
self.patience = random(10, (45 - self.bait))
|
||||
self.bait = 0
|
||||
end
|
||||
|
||||
-- add particles if bobber bobbing
|
||||
if self.bob then
|
||||
|
||||
effect(pos)
|
||||
|
||||
-- handle timer
|
||||
if self.timer < self.patience then
|
||||
self.timer = self.timer + dtime
|
||||
else
|
||||
self.patience = 0
|
||||
self.timer = 0
|
||||
self.bob = false
|
||||
end
|
||||
else
|
||||
-- handle timer
|
||||
if self.timer < self.patience then
|
||||
self.timer = self.timer + dtime
|
||||
else
|
||||
-- waiting over, bob that bobber and play splash sound
|
||||
self.bob = true
|
||||
self.patience = 1.5 -- timeframe to catch fish after bob
|
||||
self.timer = 0
|
||||
|
||||
self.object:set_velocity({x = 0, y = -1, z = 0})
|
||||
self.object:set_acceleration({x = 0, y = 3, z = 0})
|
||||
|
||||
minetest.sound_play("default_water_footstep", {
|
||||
pos = pos, gain = 0.1}, true)
|
||||
end
|
||||
end
|
||||
else
|
||||
-- reset to original position after dive.
|
||||
if self.old_y and pos.y > self.old_y then
|
||||
|
||||
self.object:set_velocity({x = 0, y = 0, z = 0})
|
||||
self.object:set_acceleration({x = 0, y = 0, z = 0})
|
||||
self.object:set_pos({x = pos.x, y = self.old_y, z = pos.z})
|
||||
--print("-- reset bob y pos")
|
||||
end
|
||||
|
||||
-- remove if not in water and not bobbing
|
||||
if not self.bob then
|
||||
self.object:remove() ; --print("-- not in water")
|
||||
end
|
||||
end
|
||||
|
||||
end -- if not self.cast
|
||||
|
||||
end -- on_step
|
||||
})
|
||||
|
||||
|
||||
-- narrow item list depending on biome if applicable
|
||||
local find_item = function(list, pos)
|
||||
|
||||
local item
|
||||
local items = {}
|
||||
local data= minetest.get_biome_data(pos)
|
||||
local biome = data and minetest.get_biome_name(data.biome) or ""
|
||||
|
||||
for n = 1, #list do
|
||||
|
||||
item = list[n]
|
||||
|
||||
if type(item) == "string" then
|
||||
|
||||
table.insert(items, item)
|
||||
|
||||
elseif type(item) == "table" then
|
||||
|
||||
if item[2] == "" or biome:find(item[2]) then
|
||||
table.insert(items, item[1])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--print("==biome: " .. biome, dump(items))
|
||||
|
||||
if #items > 0 then
|
||||
return items[random(#items)]
|
||||
end
|
||||
|
||||
return ""
|
||||
end
|
||||
|
||||
|
||||
-- fishing rod function that throws pre bob, places bob and catches fish when it moves
|
||||
local use_rod = function(itemstack, player, pointed_thing)
|
||||
|
||||
local pos = player:get_pos()
|
||||
local objs = minetest.get_objects_inside_radius(pos, 15)
|
||||
local found = true
|
||||
local ent
|
||||
|
||||
-- loop through entities and look for bobs
|
||||
for n = 1, #objs do
|
||||
|
||||
ent = objs[n]:get_luaentity()
|
||||
|
||||
if ent
|
||||
and ent.fisher
|
||||
and ent.name == "ethereal:bob_entity"
|
||||
and player:get_player_name() == ent.fisher then
|
||||
|
||||
found = false
|
||||
|
||||
if ent.bob == true then
|
||||
|
||||
local item
|
||||
local r = random(100)
|
||||
|
||||
if r < 86 then
|
||||
|
||||
item = find_item(fish_items, pos)
|
||||
|
||||
elseif r > 85 and r < 96 then
|
||||
|
||||
item = find_item(junk_items, pos)
|
||||
|
||||
else
|
||||
|
||||
item = find_item(bonus_items, pos)
|
||||
end
|
||||
|
||||
-- split into name and number (wear level or number of items)
|
||||
local item_name = item:split(" ")[1]
|
||||
local item_wear = item:split(" ")[2]
|
||||
|
||||
-- make sure item exists, if not replace with default item
|
||||
if not minetest.registered_items[item_name] then
|
||||
item = default_item
|
||||
end
|
||||
|
||||
--print ("---caught", item, r)
|
||||
|
||||
item = ItemStack(item) -- convert into itemstack
|
||||
|
||||
-- if tool then add wear
|
||||
if item_wear and minetest.registered_tools[item_name] then
|
||||
item:set_wear(65535 - item_wear)
|
||||
end
|
||||
|
||||
local inv = player:get_inventory()
|
||||
|
||||
if inv:room_for_item("main", item) then
|
||||
inv:add_item("main", item)
|
||||
else
|
||||
minetest.add_item(pos, item)
|
||||
end
|
||||
end
|
||||
|
||||
ent.object:remove()
|
||||
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
|
||||
-- loop through entities and look for bobs
|
||||
for n = 1, #objs do
|
||||
|
||||
ent = objs[n]:get_luaentity()
|
||||
|
||||
if ent
|
||||
and ent.fisher
|
||||
and ent.name == "ethereal:bob_entity"
|
||||
and player:get_player_name() == ent.fisher then
|
||||
|
||||
found = false
|
||||
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if found == true then
|
||||
|
||||
local playerpos = player:get_pos()
|
||||
local dir = player:get_look_dir()
|
||||
local pos = {x = playerpos.x, y = playerpos.y + 1.5, z = playerpos.z}
|
||||
|
||||
minetest.sound_play("ethereal_casting_rod",
|
||||
{pos = pos, gain = 1.0, max_hear_distance = 10}, true)
|
||||
|
||||
-- place actual bob
|
||||
local obj = minetest.add_entity(pos, "ethereal:bob_entity")
|
||||
|
||||
obj:set_velocity({x = dir.x * 8, y = dir.y * 8, z = dir.z * 8})
|
||||
obj:set_acceleration({x = dir.x * -3, y = -9.8, z = dir.z * -3})
|
||||
obj:get_luaentity().fisher = player and player:get_player_name()
|
||||
end
|
||||
|
||||
-- Add wear to fishing rod (65 uses)
|
||||
local item = player:get_wielded_item()
|
||||
|
||||
item:add_wear(65535 / 65)
|
||||
player:set_wielded_item(item)
|
||||
end
|
||||
|
||||
|
||||
-- scan area for bobs that belong to player and remove
|
||||
local remove_bob = function(player)
|
||||
|
||||
local objs = minetest.get_objects_inside_radius(player:get_pos(), 15)
|
||||
local name = player:get_player_name()
|
||||
local ent
|
||||
|
||||
for n = 1, #objs do
|
||||
|
||||
ent = objs[n]:get_luaentity()
|
||||
|
||||
if ent and ent.name == "ethereal:bob_entity" then
|
||||
|
||||
-- only remove players own bob
|
||||
if ent.fisher and ent.fisher == name then
|
||||
ent.object:remove()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- remove bob if player signs off
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
remove_bob(player)
|
||||
end)
|
||||
|
||||
|
||||
-- remove bob if player dies
|
||||
minetest.register_on_dieplayer(function(player)
|
||||
remove_bob(player)
|
||||
end)
|
||||
|
||||
|
||||
-- fishing rod
|
||||
minetest.register_tool("ethereal:fishing_rod", {
|
||||
description = S("Fishing Rod (USE to cast and again when the time is right)"),
|
||||
groups = {tool = 1},
|
||||
inventory_image = "ethereal_fishing_rod.png",
|
||||
wield_image = "ethereal_fishing_rod.png^[transformFX",
|
||||
wield_scale = {x = 1.5, y = 1.5, z = 1},
|
||||
stack_max = 1,
|
||||
on_use = use_rod,
|
||||
sound = {breaks = "default_tool_breaks"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:fishing_rod",
|
||||
recipe = {
|
||||
{"","","group:stick"},
|
||||
{"","group:stick","farming:string"},
|
||||
{"group:stick","","farming:string"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:fishing_rod",
|
||||
burntime = 15
|
||||
})
|
||||
|
||||
|
||||
local fish = {
|
||||
{"Blue Fin", "bluefin", 2},
|
||||
{"Blue Ram Chichlid", "blueram", 2},
|
||||
{"Common Carp", "carp", 2},
|
||||
{"Cod", "cod", 2},
|
||||
{"Redtail Catfish", "catfish", 2},
|
||||
{"Clownfish", "clownfish", 2},
|
||||
{"Northern Pike", "pike", 2},
|
||||
{"Dusky Flathead", "flathead", 2},
|
||||
{"Plaice", "plaice", 2},
|
||||
{"Tiger Pufferfish", "pufferfish", -2},
|
||||
{"Coy", "coy", 2},
|
||||
{"European Flounder", "flounder", 2},
|
||||
{"Atlantic Salmon", "salmon", 2},
|
||||
{"Iceblue Zebra Cichlid", "cichlid", 2},
|
||||
{"Angler", "angler", 2},
|
||||
{"Moon Jellyfish", "jellyfish", 0},
|
||||
{"Pacific Mackerel", "mackerel", 2},
|
||||
{"Piranha", "piranha", 2},
|
||||
{"Rainbow Trout", "trout", 2},
|
||||
{"Red Snapper", "redsnapper", 2},
|
||||
{"Red Seahorse", "seahorse", 0},
|
||||
{"Green Seahorse", "seahorse_green", 0},
|
||||
{"Pink Seahorse", "seahorse_pink", 0},
|
||||
{"Blue Seahorse", "seahorse_blue", 0},
|
||||
{"Yellow Seahorse", "seahorse_yellow", 0},
|
||||
{"Yellowfin Tuna", "tuna", 2},
|
||||
{"Humboldt Squid", "squid", 0},
|
||||
{"White Shrimp", "shrimp", 0},
|
||||
{"Neon Tetra", "tetra", 1},
|
||||
{"Tilapia", "tilapia", 2},
|
||||
{"Golden Trevally", "trevally", 2},
|
||||
{"Stoplight Parrotfish", "parrot", 2}
|
||||
}
|
||||
|
||||
for n = 1, #fish do
|
||||
|
||||
local usage
|
||||
local groups
|
||||
|
||||
if fish[n][3] > 0 then
|
||||
usage = minetest.item_eat(fish[n][3])
|
||||
groups = {food_fish_raw = 1, ethereal_fish = 1}
|
||||
end
|
||||
|
||||
minetest.register_craftitem("ethereal:fish_" .. fish[n][2], {
|
||||
description = S(fish[n][1]),
|
||||
inventory_image = "ethereal_fish_" .. fish[n][2] .. ".png",
|
||||
on_use = usage,
|
||||
groups = groups
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- Make Neon Tetra glow slightly
|
||||
minetest.override_item("ethereal:fish_tetra", {light_source = 3})
|
||||
|
||||
|
||||
-- cooked fish
|
||||
minetest.register_craftitem(":ethereal:fish_cooked", {
|
||||
description = S("Cooked Fish"),
|
||||
inventory_image = "ethereal_fish_cooked.png",
|
||||
wield_image = "ethereal_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 = "group:ethereal_fish",
|
||||
cooktime = 8
|
||||
})
|
||||
|
||||
-- Sashimi
|
||||
minetest.register_craftitem("ethereal:sashimi", {
|
||||
description = S("Sashimi"),
|
||||
inventory_image = "ethereal_sashimi.png",
|
||||
wield_image = "ethereal_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 = "ethereal_worm.png",
|
||||
wield_image = "ethereal_worm.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:worm",
|
||||
recipe = {
|
||||
{"default:dirt", "default:dirt"}
|
||||
}
|
||||
})
|
||||
|
||||
-- compatibility
|
||||
minetest.register_alias("ethereal:fish_raw", "ethereal:fish_cichlid")
|
||||
minetest.register_alias("ethereal:fishing_rod_baited", "ethereal:fishing_rod")
|
||||
minetest.register_alias("ethereal:fish_chichlid", "ethereal:fish_cichlid")
|
218
mods/ethereal/flight.lua
Normal file
@ -0,0 +1,218 @@
|
||||
local flight_secs = minetest.settings:get("ethereal.flightpotion_duration") or (5 * 60)
|
||||
local timer_check = 5 -- seconds per check
|
||||
local S = ethereal.intllib
|
||||
local is_50 = minetest.has_feature("object_use_texture_alpha")
|
||||
|
||||
|
||||
local function get_timer(user)
|
||||
|
||||
if not user then return end
|
||||
|
||||
if is_50 then
|
||||
|
||||
local meta = user:get_meta()
|
||||
|
||||
if not meta then return "" end
|
||||
|
||||
return meta:get_string("ethereal:fly_timer") or ""
|
||||
else
|
||||
return user:get_attribute("ethereal:fly_timer") or ""
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function has_fly(name)
|
||||
return minetest.get_player_privs(name).fly
|
||||
end
|
||||
|
||||
|
||||
local function set_timer(user, timer)
|
||||
|
||||
if is_50 then
|
||||
|
||||
local meta = user:get_meta() ; if not meta then return end
|
||||
|
||||
meta:set_string("ethereal:fly_timer", timer)
|
||||
else
|
||||
user:set_attribute("ethereal:fly_timer", timer)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
local function set_flight(user, set)
|
||||
|
||||
local name = user and user:get_player_name() ; if not name then return end
|
||||
local privs = minetest.get_player_privs(name)
|
||||
|
||||
privs.fly = set
|
||||
|
||||
minetest.set_player_privs(name, privs)
|
||||
|
||||
-- when flight removed set timer to temp position
|
||||
if set ~= true then
|
||||
set_timer(user, "-99")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- after function
|
||||
local function ethereal_set_flight(user)
|
||||
|
||||
local name = user and user:get_player_name() ; if not name then return end
|
||||
|
||||
local timer = tonumber(get_timer(user)) or 0
|
||||
|
||||
-- if timer ran out then remove 'fly' privelage
|
||||
if timer <= 0 and timer ~= -99 then
|
||||
|
||||
set_flight(user, nil)
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
local privs = minetest.get_player_privs(name)
|
||||
|
||||
-- have we already applied 'fly' privelage?
|
||||
if not privs.fly then
|
||||
set_flight(user, true)
|
||||
end
|
||||
|
||||
-- handle timer
|
||||
timer = timer - timer_check
|
||||
|
||||
-- show expiration message and play sound
|
||||
if timer <= 10 then
|
||||
|
||||
minetest.chat_send_player(name,
|
||||
minetest.get_color_escape_sequence("#ff5500")
|
||||
.. S("Flight timer about to expire!"))
|
||||
|
||||
minetest.sound_play("default_dig_dig_immediate",
|
||||
{to_player = name, gain = 1.0}, true)
|
||||
end
|
||||
|
||||
-- set updated timer
|
||||
set_timer(user, timer)
|
||||
|
||||
-- restart checks
|
||||
minetest.after(timer_check, function()
|
||||
ethereal_set_flight(user)
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
-- on join / leave
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
|
||||
-- wait 2 seconds before doing flight checks on player
|
||||
minetest.after(2.0, function(player)
|
||||
|
||||
-- get player name and timer
|
||||
local name = player and player:get_player_name() ; if not name then return end
|
||||
local timer = get_timer(player)
|
||||
|
||||
-- if timer is blank and player can already fly then default and return
|
||||
if timer == "" and has_fly(name) then
|
||||
|
||||
set_timer(player, "-99")
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
timer = tonumber(timer) or 0
|
||||
|
||||
-- if timer is set to default then return
|
||||
if timer == -99 then
|
||||
return
|
||||
end
|
||||
|
||||
-- if we got this far and player is flying then start countdown check
|
||||
if has_fly(name) then
|
||||
|
||||
minetest.after(timer_check, function()
|
||||
ethereal_set_flight(player)
|
||||
end)
|
||||
end
|
||||
|
||||
end, player)
|
||||
end)
|
||||
|
||||
|
||||
-- potion item
|
||||
minetest.register_node("ethereal:flight_potion", {
|
||||
description = S("Flight Potion"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_flight_potion.png"},
|
||||
inventory_image = "ethereal_flight_potion.png",
|
||||
wield_image = "ethereal_flight_potion.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 = {dig_immediate = 3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
if not user then return end
|
||||
-- get privs
|
||||
local name = user:get_player_name()
|
||||
local privs = minetest.get_player_privs(name)
|
||||
local timer = get_timer(user)
|
||||
|
||||
if privs.fly then
|
||||
|
||||
local msg = timer
|
||||
|
||||
if timer == "" or timer == "-99" then
|
||||
msg = S("unlimited")
|
||||
end
|
||||
|
||||
minetest.chat_send_player(name,
|
||||
minetest.get_color_escape_sequence("#ffff00")
|
||||
.. S("Flight already granted, @1 seconds left!", msg))
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
-- set flight timer
|
||||
set_timer(user, flight_secs)
|
||||
|
||||
-- show time remaining
|
||||
minetest.chat_send_player(name,
|
||||
minetest.get_color_escape_sequence("#1eff00")
|
||||
.. S("Flight granted, you have @1 seconds!", flight_secs))
|
||||
|
||||
-- start check
|
||||
ethereal_set_flight(user)
|
||||
|
||||
-- take item
|
||||
itemstack:take_item()
|
||||
|
||||
-- return empty bottle
|
||||
local inv = user:get_inventory()
|
||||
|
||||
if inv:room_for_item("main", {name = "vessels:glass_bottle"}) then
|
||||
user:get_inventory():add_item("main", "vessels:glass_bottle")
|
||||
else
|
||||
minetest.add_item(user:get_pos(), {name = "vessels:glass_bottle"})
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
-- recipe
|
||||
minetest.register_craft({
|
||||
output = "ethereal:flight_potion",
|
||||
recipe = {
|
||||
{"ethereal:etherium_dust", "ethereal:etherium_dust", "ethereal:etherium_dust"},
|
||||
{"ethereal:etherium_dust", "ethereal:fire_dust", "ethereal:etherium_dust"},
|
||||
{"ethereal:etherium_dust", "vessels:glass_bottle", "ethereal:etherium_dust"}
|
||||
}
|
||||
})
|
685
mods/ethereal/food.lua
Normal file
@ -0,0 +1,685 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- Banana (Heals one heart when eaten)
|
||||
minetest.register_node("ethereal:banana", {
|
||||
description = S("Banana"),
|
||||
drawtype = "torchlike",
|
||||
tiles = {"ethereal_banana_single.png"},
|
||||
inventory_image = "ethereal_banana_single.png",
|
||||
wield_image = "ethereal_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
|
||||
})
|
||||
|
||||
-- Banana Bunch
|
||||
minetest.register_node("ethereal:banana_bunch", {
|
||||
description = S("Banana Bunch"),
|
||||
drawtype = "torchlike",
|
||||
tiles = {"ethereal_banana_bunch.png"},
|
||||
inventory_image = "ethereal_banana_bunch.png",
|
||||
wield_image = "ethereal_banana_bunch.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 = {
|
||||
fleshy = 3, dig_immediate = 3, flammable = 2,
|
||||
leafdecay = 1, leafdecay_drop = 1
|
||||
},
|
||||
drop = "ethereal:banana_bunch",
|
||||
on_use = minetest.item_eat(6),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "ethereal:banana_bunch", param2 = 1})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- Bunch to Single
|
||||
minetest.register_craft({
|
||||
output = "ethereal:banana 3",
|
||||
recipe = {{"ethereal:banana_bunch"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:banana_bunch",
|
||||
recipe = {{"ethereal:banana", "ethereal:banana", "ethereal:banana"}}
|
||||
})
|
||||
|
||||
-- Banana Dough
|
||||
minetest.register_craftitem("ethereal:banana_dough", {
|
||||
description = S("Banana Dough"),
|
||||
inventory_image = "ethereal_banana_dough.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:banana_dough",
|
||||
recipe = {{"group:food_flour", "group:food_banana"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 14,
|
||||
output = "ethereal:banana_bread",
|
||||
recipe = "ethereal:banana_dough"
|
||||
})
|
||||
|
||||
|
||||
-- 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 = "ethereal_pine_nuts.png",
|
||||
wield_image = "ethereal_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 = "ethereal_banana_bread.png",
|
||||
wield_image = "ethereal_banana_bread.png",
|
||||
groups = {food_bread = 1, flammable = 3},
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
|
||||
-- coconut settings if farming redo found
|
||||
local fredo = minetest.get_modpath("farming") and farming and farming.mod
|
||||
and farming.mod == "redo"
|
||||
|
||||
local cdrp = fredo and "ethereal:coconut" or "ethereal:coconut_slice 4"
|
||||
local cgrp = fredo and {3, 2} or {1, 1}
|
||||
|
||||
-- Coconut (drops 4x coconut slice by default, whole coconut if farming redo found)
|
||||
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 = cgrp[1], oddly_breakable_by_hand = cgrp[2],
|
||||
cracky = cgrp[1], choppy = cgrp[1], flammable = 1,
|
||||
leafdecay = 3, leafdecay_drop = 1
|
||||
},
|
||||
drop = cdrp,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "ethereal:coconut", param2 = 1})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- 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)
|
||||
})
|
||||
|
||||
-- coconut slice recipe (farming redo)
|
||||
if fredo then
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:coconut_slice 4",
|
||||
recipe = {{"farming:cutting_board", "ethereal:coconut"}},
|
||||
replacements = {{"farming:cutting_board", "farming:cutting_board"}}
|
||||
})
|
||||
end
|
||||
|
||||
-- coconut slice into whole coconut
|
||||
minetest.register_craft({
|
||||
output = "ethereal:coconut",
|
||||
recipe = {
|
||||
{"ethereal:coconut_slice", "ethereal:coconut_slice"},
|
||||
{"ethereal:coconut_slice", "ethereal:coconut_slice"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- 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",
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
if user and pointed_thing and pointed_thing.type ~= "object" then
|
||||
|
||||
user:set_hp(20)
|
||||
|
||||
return minetest.do_item_eat(2, nil, itemstack, user, pointed_thing)
|
||||
end
|
||||
end,
|
||||
|
||||
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)
|
||||
minetest.register_craftitem("ethereal:hearty_stew", {
|
||||
description = S("Hearty Stew"),
|
||||
inventory_image = "ethereal_hearty_stew.png",
|
||||
wield_image = "ethereal_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 fredo 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,
|
||||
groups = {vessel = 1, drink = 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({
|
||||
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
|
||||
|
||||
|
||||
-- Lemon
|
||||
minetest.register_node("ethereal:lemon", {
|
||||
description = S("Lemon"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_lemon.png"},
|
||||
inventory_image = "ethereal_lemon_fruit.png",
|
||||
wield_image = "ethereal_lemon_fruit.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_lemon = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
|
||||
leafdecay = 3, leafdecay_drop = 1
|
||||
},
|
||||
drop = "ethereal:lemon",
|
||||
on_use = minetest.item_eat(3),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "ethereal:lemon", param2 = 1})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- Candied Lemon
|
||||
minetest.register_craftitem("ethereal:candied_lemon", {
|
||||
description = S("Candied Lemon"),
|
||||
inventory_image = "ethereal_candied_lemon.png",
|
||||
wield_image = "ethereal_candied_lemon.png",
|
||||
groups = {food_candied_lemon = 1},
|
||||
on_use = minetest.item_eat(5)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:candied_lemon",
|
||||
recipe = {
|
||||
{"farming:baking_tray", "ethereal:lemon", "group:food_sugar"}
|
||||
},
|
||||
replacements = {
|
||||
{"farming:baking_tray", "farming:baking_tray"}
|
||||
}
|
||||
})
|
||||
|
||||
-- Lemonade
|
||||
minetest.register_node("ethereal:lemonade", {
|
||||
description = S("Lemonade"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_lemonade.png"},
|
||||
inventory_image = "ethereal_lemonade.png",
|
||||
wield_image = "ethereal_lemonade.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.25, 0.25}
|
||||
},
|
||||
groups = {vessel = 1, dig_immediate = 3, attached_node = 1, drink = 1},
|
||||
on_use = minetest.item_eat(5, "vessels:drinking_glass"),
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:lemonade",
|
||||
recipe = {
|
||||
{"ethereal:lemon", "group:food_sugar", "group:food_sugar"},
|
||||
{"vessels:drinking_glass", "group:water_bucket", ""}
|
||||
},
|
||||
replacements = {
|
||||
{"group:water_bucket", "bucket:bucket_empty"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Olive
|
||||
minetest.register_node("ethereal:olive", {
|
||||
description = S("Olive"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_olive.png"},
|
||||
inventory_image = "ethereal_olive_fruit.png",
|
||||
wield_image = "ethereal_olive_fruit.png",
|
||||
visual_scale = 0.2,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.1, -0.5, -0.1, 0.1, -0.3, 0.1}
|
||||
},
|
||||
groups = {
|
||||
fleshy = 3, dig_immediate = 3, flammable = 2,
|
||||
leafdecay = 3, leafdecay_drop = 1
|
||||
},
|
||||
drop = "ethereal:olive",
|
||||
on_use = minetest.item_eat(1),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "ethereal:olive", param2 = 1})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- Olive Oil
|
||||
minetest.register_craftitem("ethereal:olive_oil", {
|
||||
description = S("Olive Oil"),
|
||||
inventory_image = "ethereal_olive_oil.png",
|
||||
wield_image = "ethereal_olive_oil.png",
|
||||
groups = {food_oil = 1, food_olive_oil = 1, vessel = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:olive_oil",
|
||||
recipe = {
|
||||
{"ethereal:olive", "ethereal:olive", "ethereal:olive"},
|
||||
{"ethereal:olive", "ethereal:olive", "ethereal:olive"},
|
||||
{"farming:juicer", "vessels:glass_bottle", ""}
|
||||
},
|
||||
replacements = {
|
||||
{"farming:juicer", "farming:juicer"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Kappa Maki (sushi with cucumber)
|
||||
minetest.register_craftitem("ethereal:sushi_kappamaki", {
|
||||
description = S("Kappa Maki Sushi"),
|
||||
inventory_image = "ethereal_sushi_kappa_maki.png",
|
||||
on_use = minetest.item_eat(3)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:sushi_kappamaki 2",
|
||||
recipe = {
|
||||
{"group:food_seaweed", "group:food_cucumber", "group:food_rice"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Nigiri (sushi with raw fish)
|
||||
minetest.register_craftitem("ethereal:sushi_nigiri", {
|
||||
description = S("Nigiri Sushi"),
|
||||
inventory_image = "ethereal_sushi_nigiri.png",
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:sushi_nigiri 2",
|
||||
recipe = {
|
||||
{"group:food_rice", "group:food_fish_raw", ""}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Tamago (sushi with sweet egg)
|
||||
minetest.register_craftitem("ethereal:sushi_tamago", {
|
||||
description = S("Tamago Sushi"),
|
||||
inventory_image = "ethereal_sushi_tamago.png",
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:sushi_tamago 2",
|
||||
recipe = {
|
||||
{"group:food_seaweed", "group:food_egg", "group:food_rice"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Fugu (prepared pufferfish)
|
||||
minetest.register_craftitem("ethereal:fugu", {
|
||||
description = S("Fugusashi"),
|
||||
inventory_image = "ethereal_fugu.png",
|
||||
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
|
||||
if user then
|
||||
|
||||
if math.random(12) == 1 then
|
||||
return minetest.do_item_eat(-16, nil, itemstack, user, pointed_thing)
|
||||
else
|
||||
return minetest.do_item_eat(4, nil, itemstack, user, pointed_thing)
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:fugu",
|
||||
recipe = {
|
||||
{"group:food_cutting_board", "ethereal:fish_pufferfish", "group:food_soy_sauce"}
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_cutting_board", "farming:cutting_board"},
|
||||
{"group:food_soy_sauce", "vessels:glass_bottle"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Teriyaki Chicken
|
||||
minetest.register_craftitem("ethereal:teriyaki_chicken", {
|
||||
description = S("Teriyaki Chicken"),
|
||||
inventory_image = "ethereal_teriyaki_chicken.png",
|
||||
on_use = minetest.item_eat(4)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:teriyaki_chicken 2",
|
||||
recipe = {
|
||||
{"group:food_chicken_raw", "group:food_sugar", "group:food_soy_sauce"},
|
||||
{"group:food_garlic_clove", "group:food_saucepan", "group:food_gelatin"}
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_soy_sauce", "vessels:glass_bottle"},
|
||||
{"group:food_saucepan", "farming:saucepan"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Teriyaki Beef
|
||||
minetest.register_craftitem("ethereal:teriyaki_beef", {
|
||||
description = S("Teriyaki Beef"),
|
||||
inventory_image = "ethereal_teriyaki_beef.png",
|
||||
on_use = minetest.item_eat(12, "ethereal:bowl")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:teriyaki_beef",
|
||||
recipe = {
|
||||
{"group:food_meat_raw", "group:food_sugar", "group:food_soy_sauce"},
|
||||
{"group:food_garlic_clove", "group:food_saucepan", "group:food_gelatin"},
|
||||
{"group:food_cabbage", "group:food_rice", "group:food_bowl"}
|
||||
},
|
||||
replacements = {
|
||||
{"group:food_soy_sauce", "vessels:glass_bottle"},
|
||||
{"group:food_saucepan", "farming:saucepan"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- mushroom soup (Heals 1 heart)
|
||||
minetest.register_craftitem("ethereal:mushroom_soup", {
|
||||
description = S("Mushroom Soup"),
|
||||
inventory_image = "ethereal_mushroom_soup.png",
|
||||
groups = {drink = 1},
|
||||
on_use = minetest.item_eat(5, "ethereal:bowl")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:mushroom_soup",
|
||||
recipe = {
|
||||
{"group:food_mushroom"},
|
||||
{"group:food_mushroom"},
|
||||
{"group:food_bowl"}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- boiled shrimp
|
||||
minetest.register_craftitem("ethereal:fish_shrimp_cooked", {
|
||||
description = S("Boiled Shrimp"),
|
||||
inventory_image = "ethereal_fish_shrimp_cooked.png",
|
||||
on_use = minetest.item_eat(2)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:fish_shrimp_cooked 5",
|
||||
recipe = {
|
||||
{"ethereal:fish_shrimp", "ethereal:fish_shrimp", "ethereal:fish_shrimp"},
|
||||
{"ethereal:fish_shrimp", "group:water_bucket", "ethereal:fish_shrimp"},
|
||||
{"", "ethereal:fire_dust", ""}
|
||||
},
|
||||
replacements = {
|
||||
{"group:water_bucket", "bucket:bucket_empty"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- garlic butter shrimp
|
||||
minetest.register_craftitem("ethereal:garlic_shrimp", {
|
||||
description = S("Garlic Butter Shrimp"),
|
||||
inventory_image = "ethereal_garlic_butter_shrimp.png",
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:garlic_shrimp",
|
||||
recipe = {
|
||||
{"farming:skillet", "ethereal:fish_shrimp", "ethereal:fish_shrimp"},
|
||||
{"group:food_butter", "group:food_garlic_clove", "ethereal:lemon"}
|
||||
},
|
||||
replacements = {{"farming:skillet", "farming:skillet"}}
|
||||
})
|
||||
|
||||
|
||||
-- jellyfish salad
|
||||
minetest.register_craftitem("ethereal:jellyfish_salad", {
|
||||
description = S("Jellyfish Salad"),
|
||||
inventory_image = "ethereal_jellyfish_salad.png",
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:jellyfish_salad",
|
||||
recipe = {
|
||||
{"farming:cutting_board", "ethereal:fish_jellyfish", "group:food_onion"},
|
||||
},
|
||||
replacements = {{"farming:cutting_board", "farming:cutting_board"}}
|
||||
})
|
||||
|
||||
|
||||
-- raw calamari
|
||||
minetest.register_craftitem("ethereal:calamari_raw", {
|
||||
description = S("Raw Calamari"),
|
||||
inventory_image = "ethereal_calamari_raw.png",
|
||||
on_use = minetest.item_eat(-2)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:calamari_raw 2",
|
||||
recipe = {
|
||||
{"farming:cutting_board", "ethereal:fish_squid"},
|
||||
},
|
||||
replacements = {{"farming:cutting_board", "farming:cutting_board"}}
|
||||
})
|
||||
|
||||
-- cooked calamari
|
||||
minetest.register_craftitem("ethereal:calamari_cooked", {
|
||||
description = S("Calamari"),
|
||||
inventory_image = "ethereal_calamari_cooked.png",
|
||||
on_use = minetest.item_eat(5)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:calamari_cooked",
|
||||
recipe = {
|
||||
{"farming:skillet", "ethereal:calamari_raw", "farming:flour"},
|
||||
},
|
||||
replacements = {{"farming:skillet", "farming:skillet"}}
|
||||
})
|
||||
|
||||
-- fish & chips
|
||||
minetest.register_craftitem("ethereal:fish_n_chips", {
|
||||
description = S("Fish & Chips"),
|
||||
inventory_image = "ethereal_fish_chips.png",
|
||||
on_use = minetest.item_eat(6)
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:fish_n_chips",
|
||||
recipe = {
|
||||
{"farming:baking_tray", "group:ethereal_fish", "group:food_potato"}
|
||||
},
|
||||
replacements = {
|
||||
{"farming:baking_tray", "farming:baking_tray"}
|
||||
}
|
||||
})
|
171
mods/ethereal/init.lua
Normal file
@ -0,0 +1,171 @@
|
||||
--[[
|
||||
Minetest Ethereal Mod
|
||||
|
||||
Created by ChinChow
|
||||
|
||||
Updated by TenPlus1
|
||||
]]
|
||||
|
||||
|
||||
ethereal = {version = "20221230"}
|
||||
|
||||
|
||||
local function setting(stype, name, default)
|
||||
|
||||
local value
|
||||
|
||||
if stype == "bool" then
|
||||
value = minetest.settings:get_bool("ethereal." .. name)
|
||||
elseif stype == "string" then
|
||||
value = minetest.settings:get("ethereal." .. name)
|
||||
elseif stype == "number" then
|
||||
value = tonumber(minetest.settings:get("ethereal." .. name))
|
||||
end
|
||||
|
||||
if value == nil then
|
||||
value = default
|
||||
end
|
||||
|
||||
ethereal[name] = value
|
||||
end
|
||||
|
||||
|
||||
-- DO NOT change settings below, use the settings.conf file instead
|
||||
|
||||
setting("number", "leaftype", 0)
|
||||
setting("bool", "leafwalk", false)
|
||||
setting("bool", "cavedirt", true)
|
||||
setting("bool", "torchdrop", true)
|
||||
setting("bool", "papyruswalk", true)
|
||||
setting("bool", "lilywalk", true)
|
||||
setting("bool", "xcraft", true)
|
||||
setting("bool", "flight", true)
|
||||
setting("number", "glacier", 1)
|
||||
setting("number", "bamboo", 1)
|
||||
setting("number", "mesa", 1)
|
||||
setting("number", "alpine", 1)
|
||||
setting("number", "healing", 1)
|
||||
setting("number", "snowy", 1)
|
||||
setting("number", "frost", 1)
|
||||
setting("number", "grassy", 1)
|
||||
setting("number", "caves", 1)
|
||||
setting("number", "grayness", 1)
|
||||
setting("number", "grassytwo", 1)
|
||||
setting("number", "prairie", 1)
|
||||
setting("number", "jumble", 1)
|
||||
setting("number", "junglee", 1)
|
||||
setting("number", "desert", 1)
|
||||
setting("number", "grove", 1)
|
||||
setting("number", "mushroom", 1)
|
||||
setting("number", "sandstone", 1)
|
||||
setting("number", "quicksand", 1)
|
||||
setting("number", "plains", 1)
|
||||
setting("number", "savanna", 1)
|
||||
setting("number", "fiery", 1)
|
||||
setting("number", "sandclay", 1)
|
||||
setting("number", "swamp", 1)
|
||||
setting("number", "sealife", 1)
|
||||
setting("number", "reefs", 1)
|
||||
setting("number", "sakura", 1)
|
||||
setting("number", "tundra", 1)
|
||||
setting("number", "mediterranean", 1)
|
||||
|
||||
|
||||
local path = minetest.get_modpath("ethereal")
|
||||
|
||||
-- Load settings.conf file 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.get_translator ~= nil then
|
||||
S = minetest.get_translator("ethereal") -- 5.x translation function
|
||||
else
|
||||
if minetest.get_modpath("intllib") then
|
||||
dofile(minetest.get_modpath("intllib") .. "/init.lua")
|
||||
if intllib.make_gettext_pair then
|
||||
gettext, ngettext = intllib.make_gettext_pair() -- new gettext method
|
||||
else
|
||||
gettext = intllib.Getter() -- old text file method
|
||||
end
|
||||
S = gettext
|
||||
else -- boilerplate function
|
||||
S = function(str, ...)
|
||||
local args = {...}
|
||||
return str:gsub("@%d+", function(match)
|
||||
return args[tonumber(match:sub(2))]
|
||||
end)
|
||||
end
|
||||
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 .. "/onion.lua")
|
||||
dofile(path .. "/crystal.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 .. "/strawberry.lua")
|
||||
dofile(path .. "/fishing.lua")
|
||||
dofile(path .. "/extra.lua")
|
||||
dofile(path .. "/sealife.lua")
|
||||
dofile(path .. "/fences.lua")
|
||||
|
||||
if minetest.settings:get_bool("ethereal.clear_default_biomes", true) then
|
||||
dofile(path .. "/biomes_init.lua")
|
||||
end
|
||||
|
||||
dofile(path .. "/biomes.lua")
|
||||
dofile(path .. "/ores.lua")
|
||||
dofile(path .. "/schems.lua")
|
||||
dofile(path .. "/decor.lua")
|
||||
dofile(path .. "/compatibility.lua")
|
||||
dofile(path .. "/stairs.lua")
|
||||
|
||||
-- add flight if enabled
|
||||
if ethereal.flight then
|
||||
dofile(path .. "/flight.lua")
|
||||
end
|
||||
|
||||
-- add lucky blocks if mod active
|
||||
if minetest.get_modpath("lucky_block") then
|
||||
dofile(path .. "/lucky_block.lua")
|
||||
end
|
||||
|
||||
-- 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 ("[MOD] Ethereal loaded")
|
604
mods/ethereal/leaves.lua
Normal file
@ -0,0 +1,604 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- set leaftype (value inside init.lua)
|
||||
local leaftype = "plantlike"
|
||||
local leafscale = 1.4
|
||||
|
||||
if ethereal.leaftype ~= 0 then
|
||||
leaftype = "allfaces_optional"
|
||||
leafscale = 1.0
|
||||
end
|
||||
|
||||
-- default apple tree leaves
|
||||
minetest.override_item("default:leaves", {
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
inventory_image = "default_leaves.png",
|
||||
wield_image = "default_leaves.png",
|
||||
walkable = ethereal.leafwalk
|
||||
})
|
||||
|
||||
-- ability to craft big tree sapling
|
||||
minetest.register_craft({
|
||||
recipe = {{"default:sapling", "default:sapling", "default:sapling"}},
|
||||
output = "ethereal:big_tree_sapling"
|
||||
})
|
||||
|
||||
-- default jungle tree leaves
|
||||
minetest.override_item("default:jungleleaves", {
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
inventory_image = "default_jungleleaves.png",
|
||||
wield_image = "default_jungleleaves.png",
|
||||
walkable = ethereal.leafwalk
|
||||
})
|
||||
|
||||
-- default pine tree leaves
|
||||
minetest.override_item("default:pine_needles", {
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
inventory_image = "default_pine_needles.png",
|
||||
wield_image = "default_pine_needles.png",
|
||||
walkable = ethereal.leafwalk,
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"default:pine_sapling"}, rarity = 20},
|
||||
{items = {"ethereal:pine_nuts"}, rarity = 5},
|
||||
{items = {"default:pine_needles"}}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- default acacia tree leaves
|
||||
minetest.override_item("default:acacia_leaves", {
|
||||
drawtype = leaftype,
|
||||
inventory_image = "default_acacia_leaves.png",
|
||||
wield_image = "default_acacia_leaves.png",
|
||||
visual_scale = leafscale,
|
||||
walkable = ethereal.leafwalk
|
||||
})
|
||||
|
||||
-- default aspen tree leaves
|
||||
minetest.override_item("default:aspen_leaves", {
|
||||
drawtype = leaftype,
|
||||
inventory_image = "default_aspen_leaves.png",
|
||||
wield_image = "default_aspen_leaves.png",
|
||||
visual_scale = leafscale,
|
||||
walkable = ethereal.leafwalk
|
||||
})
|
||||
|
||||
-- willow twig
|
||||
minetest.register_node("ethereal:willow_twig", {
|
||||
description = S("Willow Twig"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_willow_twig.png"},
|
||||
inventory_image = "ethereal_willow_twig.png",
|
||||
wield_image = "ethereal_willow_twig.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
visual_scale = 1.4,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:willow_sapling"}, rarity = 50},
|
||||
{items = {"ethereal:willow_twig"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- redwood leaves
|
||||
minetest.register_node("ethereal:redwood_leaves", {
|
||||
description = S("Redwood Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_redwood_leaves.png"},
|
||||
inventory_image = "ethereal_redwood_leaves.png",
|
||||
wield_image = "ethereal_redwood_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:redwood_sapling"}, rarity = 50},
|
||||
{items = {"ethereal:redwood_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- orange tree leaves
|
||||
minetest.register_node("ethereal:orange_leaves", {
|
||||
description = S("Orange Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_orange_leaves.png"},
|
||||
inventory_image = "ethereal_orange_leaves.png",
|
||||
wield_image = "ethereal_orange_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:orange_tree_sapling"}, rarity = 15},
|
||||
{items = {"ethereal:orange_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- banana tree leaves
|
||||
minetest.register_node("ethereal:bananaleaves", {
|
||||
description = S("Banana Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_banana_leaf.png"},
|
||||
inventory_image = "ethereal_banana_leaf.png",
|
||||
wield_image = "ethereal_banana_leaf.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:banana_tree_sapling"}, rarity = 10},
|
||||
{items = {"ethereal:bananaleaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- healing tree leaves
|
||||
minetest.register_node("ethereal:yellowleaves", {
|
||||
description = S("Healing Tree Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_yellow_leaves.png"},
|
||||
inventory_image = "ethereal_yellow_leaves.png",
|
||||
wield_image = "ethereal_yellow_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:yellow_tree_sapling"}, rarity = 50},
|
||||
{items = {"ethereal:yellowleaves"}}
|
||||
}
|
||||
},
|
||||
-- one leaf heals half a heart when eaten
|
||||
on_use = minetest.item_eat(1),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves,
|
||||
light_source = 9
|
||||
})
|
||||
|
||||
-- palm tree leaves
|
||||
minetest.register_node("ethereal:palmleaves", {
|
||||
description = S("Palm Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"moretrees_palm_leaves.png"},
|
||||
inventory_image = "moretrees_palm_leaves.png",
|
||||
wield_image = "moretrees_palm_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:palm_sapling"}, rarity = 10},
|
||||
{items = {"ethereal:palmleaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- birch tree leaves
|
||||
minetest.register_node("ethereal:birch_leaves", {
|
||||
description = S("Birch Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"moretrees_birch_leaves.png"},
|
||||
inventory_image = "moretrees_birch_leaves.png",
|
||||
wield_image = "moretrees_birch_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:birch_sapling"}, rarity = 20},
|
||||
{items = {"ethereal:birch_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- frost tree leaves
|
||||
minetest.register_node("ethereal:frost_leaves", {
|
||||
description = S("Frost Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_frost_leaves.png"},
|
||||
inventory_image = "ethereal_frost_leaves.png",
|
||||
wield_image = "ethereal_frost_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, puts_out_fire = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:frost_tree_sapling"}, rarity = 15},
|
||||
{items = {"ethereal:frost_leaves"}}
|
||||
}
|
||||
},
|
||||
light_source = 9,
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- bamboo stalk leaves
|
||||
minetest.register_node("ethereal:bamboo_leaves", {
|
||||
description = S("Bamboo Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_bamboo_leaves.png"},
|
||||
inventory_image = "ethereal_bamboo_leaves.png",
|
||||
wield_image = "ethereal_bamboo_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:bamboo_sprout"}, rarity = 10},
|
||||
{items = {"ethereal:bamboo_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- sakura leaves
|
||||
minetest.register_node("ethereal:sakura_leaves", {
|
||||
description = S("Sakura Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_sakura_leaves.png"},
|
||||
inventory_image = "ethereal_sakura_leaves.png",
|
||||
wield_image = "ethereal_sakura_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:sakura_sapling"}, rarity = 30},
|
||||
{items = {"ethereal:sakura_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
minetest.register_node("ethereal:sakura_leaves2", {
|
||||
description = S("Sakura Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_sakura_leaves2.png"},
|
||||
inventory_image = "ethereal_sakura_leaves2.png",
|
||||
wield_image = "ethereal_sakura_leaves2.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:sakura_sapling"}, rarity = 30},
|
||||
{items = {"ethereal:sakura_leaves2"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- lemon tree leaves
|
||||
minetest.register_node("ethereal:lemon_leaves", {
|
||||
description = S("Lemon Tree Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_lemon_leaves.png"},
|
||||
inventory_image = "ethereal_lemon_leaves.png",
|
||||
wield_image = "ethereal_lemon_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:lemon_tree_sapling"}, rarity = 25},
|
||||
{items = {"ethereal:lemon_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- olive tree leaves
|
||||
minetest.register_node("ethereal:olive_leaves", {
|
||||
description = S("Olive Tree Leaves"),
|
||||
drawtype = leaftype,
|
||||
visual_scale = leafscale,
|
||||
tiles = {"ethereal_olive_leaves.png"},
|
||||
inventory_image = "ethereal_olive_leaves.png",
|
||||
wield_image = "ethereal_olive_leaves.png",
|
||||
paramtype = "light",
|
||||
walkable = ethereal.leafwalk,
|
||||
waving = 1,
|
||||
groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:olive_tree_sapling"}, rarity = 25},
|
||||
{items = {"ethereal:olive_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = default.after_place_leaves
|
||||
})
|
||||
|
||||
-- mushroom tops
|
||||
minetest.register_node("ethereal:mushroom", {
|
||||
description = S("Mushroom Cap"),
|
||||
tiles = {"ethereal_mushroom_block.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, leafdecay = 3},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:mushroom_sapling"}, rarity = 20},
|
||||
{items = {"ethereal:mushroom"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:mushroom",
|
||||
burntime = 10
|
||||
})
|
||||
|
||||
-- mushroom pore (spongelike material found inside giant shrooms)
|
||||
minetest.register_node("ethereal:mushroom_pore", {
|
||||
description = S("Mushroom Pore"),
|
||||
tiles = {"ethereal_mushroom_pore.png"},
|
||||
groups = {
|
||||
snappy = 3, cracky = 3, choppy = 3, oddly_breakable_by_hand = 3,
|
||||
flammable = 2, disable_jump = 1, fall_damage_add_percent = -100,
|
||||
leafdecay = 3
|
||||
},
|
||||
sounds = default.node_sound_dirt_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:mushroom_pore",
|
||||
burntime = 3
|
||||
})
|
||||
|
||||
-- hedge block
|
||||
minetest.register_node("ethereal:bush", {
|
||||
description = S("Bush"),
|
||||
tiles = {"ethereal_bush.png"},
|
||||
walkable = true,
|
||||
groups = {snappy = 3, flammable = 2},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bush",
|
||||
recipe = {
|
||||
{"group:leaves", "group:leaves", "group:leaves"},
|
||||
{"group:leaves", "ethereal:bamboo_leaves", "group:leaves"},
|
||||
{"group:leaves", "group:leaves", "group:leaves"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:bush",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
-- bush block #2
|
||||
minetest.register_node("ethereal:bush2", {
|
||||
drawtype = "allfaces_optional",
|
||||
description = S("Bush #2"),
|
||||
tiles = {"default_aspen_leaves.png"},
|
||||
paramtype = "light",
|
||||
walkable = true,
|
||||
groups = {snappy = 3, flammable = 2},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bush2",
|
||||
recipe = {
|
||||
{"group:leaves", "group:leaves", "group:leaves"},
|
||||
{"group:leaves", "default:aspen_leaves", "group:leaves"},
|
||||
{"group:leaves", "group:leaves", "group:leaves"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:bush2",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
-- bush block #3
|
||||
minetest.register_node("ethereal:bush3", {
|
||||
drawtype = "allfaces_optional",
|
||||
description = S("Bush #3"),
|
||||
tiles = {"default_pine_needles.png"},
|
||||
paramtype = "light",
|
||||
walkable = true,
|
||||
groups = {snappy = 3, flammable = 2},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bush3",
|
||||
recipe = {
|
||||
{"group:leaves", "group:leaves", "group:leaves"},
|
||||
{"group:leaves", "default:pine_needles", "group:leaves"},
|
||||
{"group:leaves", "group:leaves", "group:leaves"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:bush3",
|
||||
burntime = 1
|
||||
})
|
||||
|
||||
-- basandra bush stem, leaves
|
||||
minetest.register_node("ethereal:basandra_bush_stem", {
|
||||
description = S("Basandra Bush Stem"),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.41,
|
||||
damage_per_second = 2,
|
||||
tiles = {"ethereal_basandra_bush_stem.png"},
|
||||
inventory_image = "ethereal_basandra_bush_stem.png",
|
||||
wield_image = "ethereal_basandra_bush_stem.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ethereal:basandra_bush_leaves", {
|
||||
description = S("Basandra Bush Leaves"),
|
||||
drawtype = "allfaces_optional",
|
||||
tiles = {"ethereal_basandra_bush_leaves.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:basandra_bush_sapling"}, rarity = 5},
|
||||
{items = {"ethereal:basandra_bush_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
-- compatibility check for new mt version with leafdecay function
|
||||
if minetest.registered_nodes["default:dirt_with_rainforest_litter"] then
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"default:tree"},
|
||||
leaves = {
|
||||
"default:apple", "default:leaves",
|
||||
"ethereal:orange", "ethereal:orange_leaves",
|
||||
"ethereal:lemon", "ethereal:lemon_leaves",
|
||||
"ethereal:vine"
|
||||
},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:willow_trunk"},
|
||||
leaves = {"ethereal:willow_twig"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:redwood_trunk"},
|
||||
leaves = {"ethereal:redwood_leaves"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:frost_tree"},
|
||||
leaves = {"ethereal:frost_leaves"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:yellow_trunk"},
|
||||
leaves = {"ethereal:yellowleaves", "ethereal:golden_apple"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:palm_trunk"},
|
||||
leaves = {"ethereal:palmleaves", "ethereal:coconut"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:banana_trunk"},
|
||||
leaves = {"ethereal:bananaleaves", "ethereal:banana", "ethereal:banana_bunch"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:birch_trunk"},
|
||||
leaves = {"ethereal:birch_leaves"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:bamboo"},
|
||||
leaves = {"ethereal:bamboo_leaves"},
|
||||
radius = 2
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:sakura_trunk"},
|
||||
leaves = {"ethereal:sakura_leaves", "ethereal:sakura_leaves2"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:olive_trunk"},
|
||||
leaves = {"ethereal:olive_leaves", "ethereal:olive"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:mushroom_trunk"},
|
||||
leaves = {"ethereal:mushroom", "ethereal:mushroom_pore"},
|
||||
radius = 3
|
||||
})
|
||||
end
|
151
mods/ethereal/license.txt
Normal file
@ -0,0 +1,151 @@
|
||||
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.
|
||||
|
||||
Textures by TenPlus1 (CC0) unless listed below...
|
||||
|
||||
Based on default_leaves.png (Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
ethereal_frost_leaves.png [edited by TenPlus1]
|
||||
ethereal_yellow_leaves.png [edited by TenPlus1]
|
||||
ethereal_basandra_leaves.png [edited by TenPlus1]
|
||||
|
||||
Textures by BlueTangs Rock (CC BY-SA 3.0):
|
||||
ethereal_seaweed.png
|
||||
ethereal_fish_angler.png
|
||||
ethereal_fish_bluefin.png
|
||||
ethereal_fish_blueram.png
|
||||
ethereal_fish_carp.png
|
||||
ethereal_fish_catfish.png
|
||||
ethereal_fish_chichlid.png
|
||||
ethereal_fish_clownfish.png
|
||||
ethereal_fish_cod.png
|
||||
ethereal_fish_flathead.png
|
||||
ethereal_fish_flounder.png
|
||||
ethereal_fish_jellyfish.png
|
||||
ethereal_fish_mackerel.png
|
||||
ethereal_fish_parrot.png
|
||||
ethereal_fish_pike.png
|
||||
ethereal_fish_piranha.png
|
||||
ethereal_fish_plaice.png
|
||||
ethereal_fish_pufferfish.png
|
||||
ethereal_fish_redsnapper.png
|
||||
ethereal_fish_salmon.png
|
||||
ethereal_fish_shrimp.png
|
||||
ethereal_fish_shrimp_cooked.png
|
||||
ethereal_fish_squid.png
|
||||
ethereal_fish_tetra.png
|
||||
ethereal_fish_tilapia.png
|
||||
ethereal_fish_trevally.png
|
||||
ethereal_fish_tuna.png
|
||||
ethereal_fish_trout.png
|
||||
ethereal_sashimi.png
|
||||
ethereal_fugu.png
|
||||
ethereal_fish_chips.png
|
||||
ethereal_calamari_raw.png
|
||||
ethereal_calamari_cooked.png
|
||||
ethereal_garlic_butter_shrimp.png
|
||||
|
||||
Texture by Sirrobzeroone (CC0)
|
||||
ethereal_fish_seahorse*.png
|
||||
ethereal_fish_coy.png
|
||||
ethereal_fish_cooked.png
|
||||
|
||||
Textures by Epoxum (CC0)
|
||||
ethereal_sushi_*.png
|
||||
|
||||
Based on candle textures and coloured by wRothbard (CC0):
|
||||
ethereal_candle_black*.png
|
||||
ethereal_candle_blue*.png
|
||||
ethereal_candle_cyan*.png
|
||||
ethereal_candle_dark_green*.png
|
||||
ethereal_candle_dark_grey*.png
|
||||
ethereal_candle_green*.png
|
||||
ethereal_candle_grey*.png
|
||||
ethereal_candle_magenta*.png
|
||||
ethereal_candle_orange*.png
|
||||
ethereal_candle_pink*.png
|
||||
ethereal_candle_red*.png
|
||||
ethereal_candle_violet*.png
|
||||
ethereal_candle_yellow*.png
|
||||
|
||||
Based on default tool textures by BlockMen in Minetest (CC BY-SA 3.0):
|
||||
ethereal_crystal_pick.png
|
||||
ethereal_crystal_shovel.png
|
||||
ethereal_crystal_axe.png
|
||||
ethereal_crystal_sword.png
|
||||
|
||||
Based on texture by ElementW (CC BY-SA 3.0):
|
||||
bucket_cactus.png
|
||||
|
||||
Based on tree textures by ElementW (CC BY-SA 3.0):
|
||||
ethereal_yellow_tree.png
|
||||
ethereal_yellow_tree_top.pngethereal_fish_plaice.png
|
||||
ethereal_frost_tree.png
|
||||
ethereal_frost_tree_top.png
|
||||
ethereal_scorched_tree.png
|
||||
ethereal_scorched_tree_top.png
|
||||
|
||||
Based on wood texture by BlockMen (CC BY-SA 3.0):
|
||||
ethereal_yellow_wood.png [edited by alerikaisattera]
|
||||
ethereal_frost_wood.png [edited by alerikaisattera]
|
||||
|
||||
Based on bottle texture by Thomas-S (CC BY-SA 3.0):
|
||||
ethereal_flight_potion.png
|
||||
ethereal_firethorn_jelly.png
|
||||
|
||||
Textures based on default_grass.png and default_grass_side.png by TumeniNodes (CC BY-SA 3.0)
|
||||
ethereal_grass_*.png [Edited by TenPlus1]
|
||||
ethereal_crystal_moss.png
|
||||
ethereal_mushroom_moss.png
|
||||
ethereal_fiery_moss.png
|
||||
ethereal_gray_moss.png
|
||||
ethereal_green_moss.png
|
||||
|
||||
Texture by ZonerDarkRevention (CC0)
|
||||
ethereal_crystal_spike.png [edited by TenPlus1]
|
||||
ethereal_bowl.png [edited by TenPlus1]
|
||||
ethereal_teriyaki_beef.png [edited by TenPlus1]
|
||||
ethereal_hearty_stew.png
|
||||
|
||||
Textures by VanessaE (CC-BY-SA 4.0)
|
||||
moretrees_*.png
|
||||
ethereal_banana_wood.png (edited)
|
||||
ethereal_olive_wood.png (edited)
|
||||
|
||||
Based on default ice texture by asl97 (CC BY-SA 3.0):
|
||||
ethereal_brick_ice.png [edited by philipmi]
|
||||
|
||||
Based on default snow texture by Gambit (CC BY-SA 3.0):
|
||||
ethereal_brick_snow.png [edited by philipmi]
|
||||
|
||||
Textures by Felfa (CC0)
|
||||
olive*.png
|
||||
lemon*.png
|
||||
|
||||
Textures by Isaiah658 (CC0)
|
||||
ethereal_lemonade.png
|
||||
ethereal_bamboo.png
|
||||
|
||||
Created by XSSheep (CC BY-SA 4.0 - https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated)
|
||||
default_apple_gold.png
|
||||
|
||||
Sound by I_q (Attribution 3.0) https://freesound.org/people/l_q/sounds/440956/
|
||||
ethereal_casting_rod.ogg
|
220
mods/ethereal/locale/de.txt
Normal file
@ -0,0 +1,220 @@
|
||||
# German Translation for ethereal mod
|
||||
# Deutsche Übersetzung der ethereal Mod
|
||||
# last update: 2016/May/25
|
||||
# Author: Xanthin
|
||||
|
||||
#bonemeal.lua
|
||||
Bone = Knochen
|
||||
Bone Meal = Knochenmehl
|
||||
|
||||
#crystal.lua
|
||||
Crystal Spike = Kristallnadel
|
||||
Crystal Ingot = Kristallbarren
|
||||
Crystal Block = Kristallblock
|
||||
Crystal Sword = Kristallschwert
|
||||
Crystal Axe = Kristallaxt
|
||||
Crystal Pickaxe = Kristallspitzhacke
|
||||
Crystal (soft touch) Shovel = Kristallschaufel (Behutsamkeit)
|
||||
Crystal Gilly Staff = Kristallener Gilly-Stab
|
||||
|
||||
#dirt.lua
|
||||
Green Dirt = Grüne Erde
|
||||
Dried Dirt = Vertrocknete Erde
|
||||
Bamboo Dirt = Bambuserde
|
||||
Jungle Dirt = Tropenerde
|
||||
Grove Dirt = Hainerde
|
||||
Prairie Dirt = Prärieerde
|
||||
Cold Dirt = Kalte Erde
|
||||
Crystal Dirt = Kristallerde
|
||||
Mushroom Dirt = Pilzerde
|
||||
Fiery Dirt = Feuerrote Erde
|
||||
Gray Dirt = Graue Erde
|
||||
Red Baked Clay = Roter gebrannter Ton
|
||||
Orange Baked Clay = Oranger gebrannter Ton
|
||||
Grey Baked Clay = Grauer gebrannter Ton
|
||||
Quicksand = Treibsand
|
||||
|
||||
#extra.lua
|
||||
Bamboo Floor = Bambusboden
|
||||
Palm Wax = Palmwachs
|
||||
Candle = Kerze
|
||||
Bowl = Schale
|
||||
Stone Ladder = Steinleiter
|
||||
Paper Wall = Papierwand
|
||||
Glo Stone = Leuchtstein
|
||||
Lump of Charcoal = Holzkohlestück
|
||||
Staff of Light = Stab des Lichts
|
||||
|
||||
#fences.lua
|
||||
Scorched Fence = Verbrannter Zaun
|
||||
Frost Fence = Frostzaun
|
||||
Redwood Fence = Mammutbaumzaun
|
||||
Willow Fence = Weidenzaun
|
||||
Healing Wood Fence = Lebensholzzaun
|
||||
Palm Fence = Palmzaun
|
||||
Banana Wood Fence = Bananenholzzaun
|
||||
Mushroom Fence = Pilzzaun
|
||||
Birch Fence = Birkenzaun
|
||||
|
||||
#fishing.lua
|
||||
Raw Fish = Roher Fisch
|
||||
Cooked Fish = Gekochter Fisch
|
||||
Sashimi = Sashimi
|
||||
Worm = Wurm
|
||||
Fishing Rod = Angelrute
|
||||
Baited Fishing Rod = Angelrute mit Köder
|
||||
Inventory full, Fish Got Away! = Inventar voll, Fisch entkam!
|
||||
|
||||
#food.lua
|
||||
Banana = Banane
|
||||
Banana Dough = Bananenteig
|
||||
Orange = Orange
|
||||
Pine Nuts = Pinienkerne
|
||||
Banana Loaf = Bananenbrot
|
||||
Coconut = Kokosnuss
|
||||
Coconut Slice = Kokosscheibe
|
||||
Golden Apple = Goldener Apfel
|
||||
Hearty Stew = Deftiger Eintopf
|
||||
Bucket of Cactus Pulp = Eimer Kaktusmark
|
||||
|
||||
#gates.lua
|
||||
Scorched Wood Fence Gate = Verbranntes Holzzauntor
|
||||
Frost Wood Fence Gate = Frostholzzauntor
|
||||
Redwood Fence Gate = Mammutbaumzauntor
|
||||
Willow Wood Fence Gate = Weidenholztor
|
||||
Healing Wood Fence Gate = Lebensholzzauntor
|
||||
Palm Wood Fence Gate = Palmholzzauntor
|
||||
Banana Wood Fence Gate = Bananenholzzauntor
|
||||
Mushroom Trunk Fence Gate = Pilzstammzauntor
|
||||
Birch Wood Fence Gate = Birkenholzzauntor
|
||||
|
||||
#init.lua
|
||||
[MOD] Ethereal loaded = [MOD] Ethereal geladen
|
||||
|
||||
#leaves.lua
|
||||
Willow Twig = Weidenrute
|
||||
Redwood Leaves = Mammutbaumlaub
|
||||
Orange Leaves = Orangenlaub
|
||||
Banana Leaves = Bananenblätter
|
||||
Healing Tree Leaves = Lebensbaumlaub
|
||||
Palm Leaves = Palmenblätter
|
||||
Birch Leaves = Birkenlaub
|
||||
Frost Leaves = Frostlaub
|
||||
Bamboo Leaves = Bambuslaub
|
||||
Mushroom Cap = Pilzkappe
|
||||
Mushroom Pore = Pilzpore
|
||||
Bush = Busch
|
||||
Bush #2 = Busch #2
|
||||
Bush #3 = Busch #3
|
||||
|
||||
#mushroom.lua
|
||||
Mushroom Soup = Pilzsuppe
|
||||
|
||||
#onion.lua
|
||||
Wild Onion = Wilde Zwiebel
|
||||
|
||||
#plantlife.lua
|
||||
Fire Flower = Feuerblume
|
||||
Fire Dust = Feuerstaub
|
||||
Vine = Weinrebe
|
||||
Light String Vine = Leuchtschnurrebe
|
||||
Fern = Farn
|
||||
Fern Tubers = Farnsporenkapseln
|
||||
Fiery Dry Shrub = Feuerroter vertrockneter Strauch
|
||||
Snowy Grass = Verschneites Gras
|
||||
Crystal Grass = Kristallgras
|
||||
Crystal Moss = Kristallmoos
|
||||
Mushroom Moss = Pilzmoos
|
||||
Fiery Moss = Feuerrotes Moos
|
||||
Gray Moss = Graues Moos
|
||||
Green Moss = Grünes Moos
|
||||
Red Illumishroom = Roter Leuchtpilz
|
||||
Green Illumishroom = Grüner Leuchtpilz
|
||||
Cyan Illumishroom = Türkiser Leuchtpilz
|
||||
|
||||
#sapling.lua
|
||||
Bamboo Sprout = Bambussprosse
|
||||
Willow Tree Sapling = Weidenbaumsetzling
|
||||
Healing Tree Sapling = Lebensbaumsetzling
|
||||
Apple Tree Sapling = Apfelbaumsetzling
|
||||
Jungle Tree Sapling = Tropenbaumsetzling
|
||||
Pine Tree Sapling = Piniensetzling
|
||||
Big Tree Sapling = Großer-Baum-Setzling
|
||||
Banana Tree Sapling = Bananensetzling
|
||||
Frost Tree Sapling = Frostbaumsetzling
|
||||
Mushroom Tree Sapling = Pilzbaumsetzling
|
||||
Palm Tree Sapling = Palmensetzling
|
||||
Redwood Tree Sapling = Mammutbaumsetzling
|
||||
Orange Tree Sapling = Orangenbaumsetzling
|
||||
Acacia Tree Sapling = Akaziensetzling
|
||||
Birch Tree Sapling = Birkensetzling
|
||||
Schematic not found = Schema nicht gefunden
|
||||
|
||||
#sealife.lua
|
||||
Seaweed = Seetang
|
||||
Blue Coral = Blaue Koralle
|
||||
Orange Coral = Orange Koralle
|
||||
Pink Coral = Rosa Koralle
|
||||
Green Coral = Grüne Koralle
|
||||
Sandy = Sandy
|
||||
|
||||
#stairs.lua
|
||||
Crystal Block Stair = Kristallblocktreppe
|
||||
Crystal Block Slab = Kristallblockplatte
|
||||
Ice Brick Stair = Eisziegeltreppe
|
||||
Ice Brick Slab = Eisziegelplatte
|
||||
Snow Brick Stair = Schneeziegeltreppe
|
||||
Snow Brick Slab = Schneeziegelplatte
|
||||
Dry Dirt Stair = Vertrocknete Erdtreppe
|
||||
Dry Dirt Slab = vertrocknete Erdplatte
|
||||
Mushroom Trunk Stair = Pilzstammtreppe
|
||||
Mushroom Trunk Slab = Pilzstammplatte
|
||||
Mushroom Top Stair = Pilzkappentreppe
|
||||
Mushroom Top Slab = Pilzkappenplatte
|
||||
Frost Wood Stair = Frostholztreppe
|
||||
Frost Wood Slab = Frostholzplatte
|
||||
Healing Wood Stair = Lebensholztreppe
|
||||
Healing Wood Slab = Lebensholzplatte
|
||||
Palm Wood Stair = Palmholztreppe
|
||||
Palm Wood Slab = Palmholzplatte
|
||||
Birch Wood Stair = Birkenholztreppe
|
||||
Birch Wood Slab = Birkenholzplatte
|
||||
Banana Wood Stair = Bananenholztreppe
|
||||
Banana Wood Slab = Bananenholzplatte
|
||||
Willow Wood Stair = Weidenholztreppe
|
||||
Willow Wood Slab = Weidenholzplatte
|
||||
Redwood Stair = Mammutbaumtreppe
|
||||
Redwood Slab = Mammutbaumplatte
|
||||
Bamboo Stair = Bambustreppe
|
||||
Bamboo Slab = Bambusplatte
|
||||
Dry Dirt = Vertrocknete Erde
|
||||
Mushroom Trunk = Pilzstamm
|
||||
Mushroom Top = Pilzkappe
|
||||
Healing Wood = Lebensholz
|
||||
Redwood = Mammutbaum
|
||||
|
||||
#strawberry.lua
|
||||
Strawberry = Erdbeere
|
||||
|
||||
#water.lua
|
||||
Ice Brick = Eisziegel
|
||||
Snow Brick = Schneeziegel
|
||||
|
||||
#wood.lua
|
||||
Willow Trunk = Weidenstamm
|
||||
Willow Wood = Weidenholz
|
||||
Redwood Trunk = Mammutbaumstamm
|
||||
Redwood Wood = Mammutbaumholz
|
||||
Frost Tree = Frostbaum
|
||||
Frost Wood = Frostholz
|
||||
Healing Tree Trunk = Lebensbaumstamm
|
||||
Healing Tree Wood = Lebensbaumholz
|
||||
Palm Trunk = Palmstamm
|
||||
Palm Wood = Palmholz
|
||||
Banana Trunk = Bananenstamm
|
||||
Banana Wood = Bananenholz
|
||||
Scorched Tree = Verbrannter Baum
|
||||
Mushroom = Pilz
|
||||
Birch Trunk = Birkenstamm
|
||||
Birch Wood = Birkenholz
|
||||
Bamboo = Bambus
|
296
mods/ethereal/locale/es.txt
Normal file
@ -0,0 +1,296 @@
|
||||
# Spanish translations of ethereal mod
|
||||
# Traducción al español del mod ethereal
|
||||
# Author: ost1
|
||||
# last update: 2022/June/04
|
||||
|
||||
#biomes.lua
|
||||
Blue Marble=Mármol azul
|
||||
Blue Marble Tile=Baldosa de mármol azul
|
||||
|
||||
#bonemeal.lua
|
||||
Bone=Hueso
|
||||
Bone Meal=Fertilizante de hueso
|
||||
|
||||
#crystal.lua
|
||||
Crystal Spike=Púa de Cristal
|
||||
Crystal Ingot=Lingote de Cristal
|
||||
Crystal Block=Bloque de Cristal
|
||||
Crystal Sword=Espada de Cristal
|
||||
Crystal Axe=Hacha de Cristal
|
||||
Crystal Pickaxe=Pico de Cristal
|
||||
Crystal Shovel=Pala de Cristal
|
||||
Crystal Gilly Staff=Bastón de Cristal de Gilly
|
||||
|
||||
#dirt.lua
|
||||
Green Dirt=Tierra verde
|
||||
Dried Dirt=Tierra seca
|
||||
Bamboo Dirt=Tierra de bamboo
|
||||
Jungle Dirt=Tierra de la jungla
|
||||
Grove Dirt=Tierra de la arboleda
|
||||
Prairie Dirt=Tierra de la pradera
|
||||
Cold Dirt=Tierra helada
|
||||
Crystal Dirt=Tierra de cristal
|
||||
Mushroom Dirt=Tierra de champiñones
|
||||
Fiery Dirt=Tierra de fuego
|
||||
Gray Dirt=Tierra gris
|
||||
Red Baked Clay=Arcilla roja cocida
|
||||
Orange Baked Clay=Arcilla naranja cocida
|
||||
Grey Baked Clay=Arcilla gris cocida
|
||||
Quicksand=Arena movediza
|
||||
|
||||
#extra.lua
|
||||
Bamboo Floor=Piso de bamboo
|
||||
Palm Wax=Cera de palma
|
||||
Candle=Vela
|
||||
Black Candle=Vela negra
|
||||
Blue Candle=Vela azul
|
||||
Brown Candle=Vela café
|
||||
Cyan Candle=Vela turquesa
|
||||
Dark Green Candle=Vela verde oscuro
|
||||
Dark Grey Candle=Vela gris oscuro
|
||||
Green Candle=Vela verde
|
||||
Grey Candle=Vela gris
|
||||
Magenta Candle=Vela magenta
|
||||
Orange Candle=Vela naranja
|
||||
Pink Candle=Vela rosada
|
||||
Red Candle=Vela roja
|
||||
Violet Candle=Vela violeta
|
||||
Yellow Candle=Vela amarilla
|
||||
Bowl=Tazón
|
||||
Stone Ladder=Escalera de piedra
|
||||
Paper Wall=Papel mural
|
||||
Glo Stone=Piedra brillante
|
||||
Lump of Charcoal=Carbón de madera
|
||||
Staff of Light=Bastón de Luz
|
||||
Etherium Dust=Polvo de Etherium
|
||||
Etherium Ore=Mineral de Etherium
|
||||
Bamboo Block=Bloque de bamboo
|
||||
|
||||
#fences.lua
|
||||
Scorched Fence=Cerca de madera quemada
|
||||
Frost Fence=Cerca congelada
|
||||
Redwood Fence=Cerca de secoya
|
||||
Willow Fence=Cerca de sauce
|
||||
Healing Wood Fence=Cerca de madera de árbol sanador
|
||||
Palm Fence=Cerca de palma
|
||||
Banana Wood Fence=Cerca de madera de árbol de banana
|
||||
Mushroom Fence=Cerca de champiñones
|
||||
Birch Fence=Cerca de abedul
|
||||
Sakura Wood Door=Puerta de madera de sakura
|
||||
|
||||
#fishing.lua
|
||||
Blue Fin=Atún
|
||||
Blue Ram=Ramirezi
|
||||
Catfish=Pezgato
|
||||
Clownfish=Pez payaso
|
||||
Pike=Lucio
|
||||
Flathead=Flathead
|
||||
Plaice=Solla
|
||||
Pufferfish=Pez globo
|
||||
Coy=Coy
|
||||
Salmon=Salmón
|
||||
Cichlid=Cíclido
|
||||
Angler=Lophiiforme
|
||||
Jellyfish=Medusa
|
||||
Seahorse=Hipocampo
|
||||
Piranha=Piraña
|
||||
Trout=Trucha
|
||||
Raw Fish=Pescado crudo
|
||||
Cooked Fish=Pescado cocido
|
||||
Sashimi=Sashimi
|
||||
Worm=Gusano
|
||||
Fishing Rod (USE to cast and again when the time is right)=Caña de pescar (Botón principal para lanzar, cuando sea el momento adecuado vuelve a presionarlo)
|
||||
Baited Fishing Rod=Caña de pescar con cebo
|
||||
Inventory full, Fish Got Away!=Inventario lleno, ¡el pez se ha escapado!
|
||||
|
||||
#flight.lua
|
||||
Flight Potion=Poción de vuelo
|
||||
Flight timer about to expire!=¡El tiempo de vuelo está apunto de acabarse!
|
||||
Flight already granted, @1 seconds left!=El vuelo ya ha sido otorgado, ¡te quedan @1 segundos!
|
||||
Flight granted, you have @1 seconds!=Ya puedes volar, ¡tienes @1 segundos!
|
||||
|
||||
#food.lua
|
||||
Banana Bunch=Racimo de bananas
|
||||
Firethorn Jelly=Jalea de Firethorn
|
||||
Lemon=Limón
|
||||
Candied Lemon=Limón confitado
|
||||
Lemonade=Limonada
|
||||
Olive=Aceituna
|
||||
Olive Oil=Aceite de oliva
|
||||
Kappa Maki Sushi=Sushi Kappa Maki
|
||||
Nigiri Sushi=Sushi Nigiri
|
||||
Tamago Sushi=Sushi Tamago
|
||||
Fugusashi=Fugusashi
|
||||
Teriyaki Chicken=Pollo Teriyaki
|
||||
Teriyaki Beef=Asado Teriyaki
|
||||
Banana=Banana
|
||||
Banana Dough=Masa de banana
|
||||
Orange=Naranja
|
||||
Pine Nuts=Piñones
|
||||
Banana Loaf=Pan de banana
|
||||
Coconut=Coco
|
||||
Coconut Slice=Trozo de coco
|
||||
Golden Apple=Manzana de oro
|
||||
Hearty Stew=Guiso abundante
|
||||
Bucket of Cactus Pulp=Cubo de pulpa de cactus
|
||||
|
||||
#gates.lua
|
||||
Scorched Wood Fence Gate=Puerta de cerca de madera quemada
|
||||
Frost Wood Fence Gate=Puerta de cerca de madera congelada
|
||||
Redwood Fence Gate=Puerta de cerca de secoya
|
||||
Willow Wood Fence Gate=Puerta de cerca de sauce
|
||||
Healing Wood Fence Gate=Puera de cerca de madera de arbol sanador
|
||||
Palm Wood Fence Gate=Puerta de cerca de madera de palma
|
||||
Banana Wood Fence Gate=Puerta de cerca de madera de banana
|
||||
Mushroom Trunk Fence Gate=Puerta de cerca de tronco de champiñones
|
||||
Birch Wood Fence Gate=Puerta de cerca de madera de abedul
|
||||
|
||||
#init.lua
|
||||
[MOD] Ethereal loaded=[MOD] Ethereal cargado
|
||||
|
||||
#leaves.lua
|
||||
Sakura Leaves=Hojas de sakura
|
||||
Lemon Tree Leaves=Hojas de limonero
|
||||
Olive Tree Leaves=Hojas de olivo
|
||||
Willow Twig=Ramas de sauce
|
||||
Redwood Leaves=Hojas de secoya
|
||||
Orange Leaves=Hojas de naranja
|
||||
Banana Leaves=Hojas de banana
|
||||
Healing Tree Leaves=Hojas de árbol sanador
|
||||
Palm Leaves=Hojas de palma
|
||||
Birch Leaves=Hojas de abedul
|
||||
Frost Leaves=Hojas congeladas
|
||||
Bamboo Leaves=Hojas de bamboo
|
||||
Mushroom Cap=Sombrero de champiñón
|
||||
Mushroom Pore=Esporas de champiñón
|
||||
Bush=Arbusto
|
||||
Bush #2=Arbusto #2
|
||||
Bush #3=Arbusto #3
|
||||
|
||||
#mushroom.lua
|
||||
Mushroom Soup=Sopa de champiñón
|
||||
|
||||
#onion.lua
|
||||
Wild Onion=Cebolla silvestre
|
||||
|
||||
#plantlife.lua
|
||||
Firethorn Shrub=Arbusto de Firethorn
|
||||
Fire Flower=Flor de fuego
|
||||
Fire Dust=Polvo de fuego
|
||||
Vine=Enredadera
|
||||
Light String Vine=Enredadera luminosa
|
||||
Fern=Helecho
|
||||
Fern Tubers=Tubérculos de helecho
|
||||
Fiery Dry Shrub=Arbusto seco de fuego
|
||||
Snowy Grass=Pasto nevado
|
||||
Crystal Grass=Pasto de cristal
|
||||
Crystal Moss=Musgo de cristal
|
||||
Mushroom Moss=Musgo de champiñón
|
||||
Fiery Moss=Musgo ardiente
|
||||
Gray Moss=Musgo gris
|
||||
Green Moss=Musgo verde
|
||||
Red Illumishroom=Champiluz roja
|
||||
Green Illumishroom=Champiluz verde
|
||||
Cyan Illumishroom=Champiluz turquesa
|
||||
|
||||
#sapling.lua
|
||||
Giant Redwood Tree Sapling=Retoño de secoya gigante
|
||||
Sakura Tree Sapling=Retoño de sakura
|
||||
Lemon Tree Sapling=Retoño de limonero
|
||||
Olive Tree Sapling=Retoño de olivo
|
||||
Bamboo Sprout=Brote de bamboo
|
||||
Willow Tree Sapling=Retoño de sauce
|
||||
Healing Tree Sapling=Retoño de árbol sanador
|
||||
Apple Tree Sapling=Retoño de manzano
|
||||
Jungle Tree Sapling=Retoño de árbol tropical
|
||||
Pine Tree Sapling=Retoño de pino
|
||||
Big Tree Sapling=Retoño de árbol gigante
|
||||
Banana Tree Sapling=Retoño de banana
|
||||
Frost Tree Sapling=Retoño de árbol congelado
|
||||
Mushroom Tree Sapling=Retoño de champiñón
|
||||
Palm Tree Sapling=Retoño de Palma
|
||||
Redwood Tree Sapling=Retoño de secoya
|
||||
Orange Tree Sapling=Retoño de naranja
|
||||
Birch Tree Sapling=Retoño de abedul
|
||||
Schematic not found=Schematica no encontrada
|
||||
|
||||
#sealife.lua
|
||||
Agar Powder=Polvo de Agar
|
||||
Sponge=Esponja de mar
|
||||
Wet sponge=Esponja de mar con agua
|
||||
Seaweed=Alga marina
|
||||
Blue Glow Coral=Coral azul brillante
|
||||
Orange Glow Coral=Coral naranjo brillante
|
||||
Pink Glow Coral=Coral rosado brillante
|
||||
Green Glow Coral=Coral verde brillante
|
||||
|
||||
#stairs.lua
|
||||
Blue Marble Stair=Escalera de marmol azul
|
||||
Blue Marble Tile=Baldosa de marmol azul
|
||||
Sakura Wood Stair=Escalera de madera de sakura
|
||||
Sakura Wood Tile=Baldosa de madera de sakura
|
||||
Olive Wood Stair=Escalera de madera de olivo
|
||||
Olive Wood Tile=Baldosa de madera de olivo
|
||||
Crystal Block Stair=Escalera de bloque de cristal
|
||||
Crystal Block Slab=Losa de bloque de cristal
|
||||
Ice Brick Stair=Escalera de ladrillo de hielo
|
||||
Ice Brick Slab=Losa de ladrillo de hielo
|
||||
Snow Brick Stair=Escalera de ladrillo de nieve
|
||||
Snow Brick Slab=Losa de ladrillo de nieve
|
||||
Dried Dirt Stair=Escalera de tierra seca
|
||||
Dried Dirt Slab=Losa de tiera seca
|
||||
Mushroom Trunk Stair=Escalera de tronco de champiñón
|
||||
Mushroom Trunk Slab=Losa de tronco de champiñón
|
||||
Mushroom Top Stair=Escalera de sombrero de champiñón
|
||||
Mushroom Top Slab=Losa de sombrero de champiñón
|
||||
Frost Wood Stair=Escalera de madera congelada
|
||||
Frost Wood Slab=Losa de madera congelada
|
||||
Healing Wood Stair=Escalera de madera de árbol sanador
|
||||
Healing Wood Slab=Losa de madera de árbol sanador
|
||||
Palm Wood Stair=Escalera de madera de palma
|
||||
Palm Wood Slab=Losa de madera de palma
|
||||
Birch Wood Stair=Escalera de madera de abedul
|
||||
Birch Wood Slab=Losa de madera de abedul
|
||||
Banana Wood Stair=Escalera de madera de banana
|
||||
Banana Wood Slab=Losa de madera de banana
|
||||
Willow Wood Stair=Escalera de madera de sauce
|
||||
Willow Wood Slab=Losa de madera de sauce
|
||||
Redwood Stair=Escalera de secoya
|
||||
Redwood Slab=Losa de secoya
|
||||
Bamboo Stair=Escalera de bamboo
|
||||
Bamboo Slab=Losa de bamboo
|
||||
Dry Dirt=Tierra seca
|
||||
Mushroom Trunk=Tronco de champiñón
|
||||
Mushroom Top=Sombrero de champión
|
||||
Healing Wood=Madera de árbol sanador
|
||||
Redwood=Secoya
|
||||
|
||||
#strawberry.lua
|
||||
Strawberry=Fresa
|
||||
|
||||
#water.lua
|
||||
Ice Brick=Ladrillo de hielo
|
||||
Snow Brick=Ladrillo de nieve
|
||||
|
||||
#wood.lua
|
||||
Sakura Trunk=Tronco de sakura
|
||||
Sakura Wood=Madera de sakura
|
||||
Olive Trunk=Tronco de olivo
|
||||
Olive Wood=Madera de olivo
|
||||
Willow Trunk=Tronco de sauce
|
||||
Willow Wood=Madera de sauce
|
||||
Redwood Trunk=Tronco de secoya
|
||||
Redwood Wood=Madera de secoya
|
||||
Frost Tree=Árbol sanador
|
||||
Frost Wood=Madera congelada
|
||||
Healing Tree Trunk=Tronco de árbol sanador
|
||||
Healing Tree Wood=Madera de árbol sanador
|
||||
Palm Trunk=Tronco de palma
|
||||
Palm Wood=Madera de palma
|
||||
Banana Trunk=Tronco de banana
|
||||
Banana Wood=Madera de banana
|
||||
Scorched Tree=Árbol quemado
|
||||
Mushroom=Champiñón
|
||||
Birch Trunk=Tronco de abedul
|
||||
Birch Wood=Madera de abedul
|
||||
Bamboo=Bamboo
|
163
mods/ethereal/locale/ethereal.de.tr
Normal file
@ -0,0 +1,163 @@
|
||||
# textdomain:ethereal
|
||||
Agar Powder=Agarpulver
|
||||
Baited Fishing Rod=Angel mit Köder
|
||||
Bamboo=Bambus
|
||||
Bamboo Block=Bambusblock
|
||||
Bamboo Floor=Bambusboden
|
||||
Bamboo Leaves=Bambusblätter
|
||||
Bamboo Slab=Bambusplatte
|
||||
Bamboo Sprout=Bambussprosse
|
||||
Bamboo stair=Bambustreppe
|
||||
Banana=Banane
|
||||
Banana Bunch=Bananenbündel
|
||||
Banana Dough=Bananenteig
|
||||
Banana Leaves=Bananenblätter
|
||||
Banana Loaf=Bananenbrot
|
||||
Banana Trunk=Bananenstamm
|
||||
Banana Wood=Bananenholz
|
||||
Banana Wood Fence=Bananenholzzaun
|
||||
Banana Wood Fence Gate=Bananenholzzauntor
|
||||
Banana Wood Slab=Bananenholzplatte
|
||||
Banana Wood Stair=Bananenholztreppe
|
||||
Birch Fence=Birkenzaun
|
||||
Birch Leaves=Birkenblätter
|
||||
Birch Trunk=Birkenstamm
|
||||
Birch Wood=Birkenholz
|
||||
Birch Wood Fence Gate=Birkenholzzauntor
|
||||
Blue Glow Coral=Blaue Leuchtende Koralle
|
||||
Bowl=Schale
|
||||
Bucket of Cactus Pulp=Eimer Kaktusmark
|
||||
Bush=Busch
|
||||
Bush #2=Busch #2
|
||||
Bush #3=Busch #3
|
||||
Candle=Kerze
|
||||
Coconut=Kokosnuss
|
||||
Coconut Slice=Kokosscheibe
|
||||
Cooked Fish=Gekochter Fisch
|
||||
Crystal Axe=Kristallaxt
|
||||
Crystal Block=Kristallblock
|
||||
Crystal Block Slab=Kristallblockplatte
|
||||
Crystal Block Stair=Kristallblocktreppe
|
||||
Crystal Gilly Staff=Kristallener Gilly-Stab
|
||||
Crystal Grass=Kristallgras
|
||||
Crystal Ingot=Kristallbarren
|
||||
Crystal Pickaxe=Kristallspitzhacke
|
||||
Crystal Spike=Kristallnadel
|
||||
Crystal Sword=Kristallschwert
|
||||
Crystal block=Kristallblock
|
||||
Cyan Illumishroom=Türkiser Leuchtpilz
|
||||
Dried Dirt=Vertrocknete Erde
|
||||
Dried Dirt Slab=Vertrocknete Erdplatte
|
||||
Dried Dirt Stair=Vertrocknete Erdtreppe
|
||||
Etherium Dust=Etheriumstaub
|
||||
Etherium Ore=Etheriumerz
|
||||
Fern=Farn
|
||||
Fern Tubers=Farnsporenkapseln
|
||||
Fiery Dry Shrub=Feuerroter vertrockneter Strauch
|
||||
Fire Dust=Feuerstaub
|
||||
Fire Flower=Feuerblume
|
||||
Firethorn Jelly=Feuerdorngelee
|
||||
Firethorn Shrub=Feuerdornbusch
|
||||
Fishing Rod (Right-Click with rod to bait with worm from inventory)=Angel (Rechtsklick mit Angel, um Wurm aus Inventar als Köder zu benutzen)
|
||||
Frost Fence=Frostzaun
|
||||
Frost Leaves=Frostblätter
|
||||
Frost Tree=Frostbaum
|
||||
Frost Wood=Frostholz
|
||||
Frost Wood Fence Gate=Frostholzzauntor
|
||||
Frost Wood Slab=Frostholzplatte
|
||||
Frost Wood Stair=Frostholztreppe
|
||||
Glo Stone=Leuchtstein
|
||||
Golden Apple=Goldener Apfel
|
||||
Green Glow Coral=Grüne Leuchtende Koralle
|
||||
Green Illumishroom=Grüner Leuchtpilz
|
||||
Grey Baked Clay=Grauer gebrannter Ton
|
||||
Healing Tree Leaves=Lebensbaumblätter
|
||||
Healing Tree Trunk=Lebensbaumstamm
|
||||
Healing Tree Wood=Lebensbaumholz
|
||||
Healing Wood=Lebensholz
|
||||
Healing Wood Fence=Lebensholzzaun
|
||||
Healing Wood Fence Gate=Lebensholzzauntor
|
||||
Healing Wood Slab=Lebensholzplatte
|
||||
Healing Wood Stair=Lebensholztreppe
|
||||
Hearty Stew=Deftiger Eintopf
|
||||
Ice Brick=Eisziegel
|
||||
Ice Brick Slab=Eisziegelplatte
|
||||
Ice Brick Stair=Eisziegeltreppe
|
||||
Inventory full, Fish Got Away!=Inventar voll, Fisch entkam!
|
||||
Light String Vine=Leuchtschnurrebe
|
||||
Lump of Charcoal=Holzkohleklumpen
|
||||
Mushroom=Pilz
|
||||
Mushroom Cap=Pilzkappe
|
||||
Mushroom Fence=Pilzzaun
|
||||
Mushroom Pore=Pilzpore
|
||||
Mushroom Soup=Pilzsuppe
|
||||
Mushroom Top=Pilzkappe
|
||||
Mushroom Top Slab=Pilzkappenplatte
|
||||
Mushroom Top Stair=Pilzkappentreppe
|
||||
Mushroom Trunk=Pilzstamm
|
||||
Mushroom Trunk Fence Gate=Pilzstammzauntor
|
||||
Mushroom Trunk Slab=Pilzstammplatte
|
||||
Mushroom Trunk Stair=Pilzstammtreppe
|
||||
Orange=Orange
|
||||
Orange Baked Clay=Orange gebrannter Ton
|
||||
Orange Glow Coral=Orange Leuchtende Koralle
|
||||
Orange Leaves=Orangenblätter
|
||||
Palm Fence=Palmzaun
|
||||
Palm Leaves=Palmenblätter
|
||||
Palm Trunk=Palmstamm
|
||||
Palm Wax=Palmwachs
|
||||
Palm Wood=Palmholz
|
||||
Palm Wood Fence Gate=Palmholzzauntor
|
||||
Palm Wood Slab=Palmholzplatte
|
||||
Palm Wood Stair=Palmholztreppe
|
||||
Paper Wall=Papierwand
|
||||
Pine Nuts=Kiefernkerne
|
||||
Pink Glow Coral=Rosa Leuchtende Koralle
|
||||
Quicksand=Treibsand
|
||||
Raw Fish=Roher Fisch
|
||||
Red Baked Clay=Roter gebrannter Ton
|
||||
Red Illumishroom=Roter Leuchtpilz
|
||||
Redwood=Mammutbaum
|
||||
Redwood Fence=Mammutbaumzaun
|
||||
Redwood Fence Gate=Mammutbaumzauntor
|
||||
Redwood Leaves=Mammutbaumblätter
|
||||
Redwood Slab=Mammutbaumplatte
|
||||
Redwood Trunk=Mammutbaumstamm
|
||||
Redwood Wood=Mammutbaumholz
|
||||
Redwood stair=Mammutbaumtreppe
|
||||
Sakura=Sakura
|
||||
Sakura Fence=Sakurazaun
|
||||
Sakura Leaves=Sakurablätter
|
||||
Sakura Trunk=Sakurastamm
|
||||
Sakura Wood=Sakuraholz
|
||||
Sakura Wood Door=Sakuraholztür
|
||||
Sakura Wood Fence Gate=Sakuraholzzauntor
|
||||
Sakura Wood Slab=Sakuraholzplatte
|
||||
Sakura Wood Stair=Sakuraholztreppe
|
||||
Sandy=Sandy
|
||||
Sashimi=Sashimi
|
||||
Schematic not found=Schematic nicht gefunden
|
||||
Scorched Fence=Verbrannter Zaun
|
||||
Scorched Tree=Verbrannter Baum
|
||||
Scorched Wood Fence Gate=Verbranntes Holzzauntor
|
||||
Seaweed=Seetang
|
||||
Snow Brick=Schneeziegel
|
||||
Snow Brick Slab=Schneeziegelplatte
|
||||
Snow Brick Stair=Schneeziegeltreppe
|
||||
Snowy Grass=Verschneites Gras
|
||||
Sponge=Schwamm
|
||||
Staff of Light=Stab des Lichts
|
||||
Stone Ladder=Steinleiter
|
||||
Strawberry=Erdbeere
|
||||
Vine=Liane
|
||||
Wet sponge=Nasser Schwamm
|
||||
Wild Onion=Wildzwiebel
|
||||
Willow Fence=Weidenzaun
|
||||
Willow Trunk=Weidenstamm
|
||||
Willow Twig=Weidenrute
|
||||
Willow Wood=Weidenholz
|
||||
Willow Wood Fence Gate=Weidenholztor
|
||||
Willow Wood Slab=Weidenholzplatte
|
||||
Willow Wood Stair=Weidenholztreppe
|
||||
Worm=Wurm
|
||||
[MOD] Ethereal loaded=[MOD] Ethereal geladen
|
163
mods/ethereal/locale/ethereal.en.tr
Normal file
@ -0,0 +1,163 @@
|
||||
# textdomain:ethereal
|
||||
#Agar Powder=
|
||||
#Baited Fishing Rod=
|
||||
#Bamboo=
|
||||
#Bamboo Block=
|
||||
#Bamboo Floor=
|
||||
#Bamboo Leaves=
|
||||
#Bamboo Slab=
|
||||
#Bamboo Sprout=
|
||||
#Bamboo stair=
|
||||
#Banana=
|
||||
#Banana Bunch=
|
||||
#Banana Dough=
|
||||
#Banana Leaves=
|
||||
#Banana Loaf=
|
||||
#Banana Trunk=
|
||||
#Banana Wood=
|
||||
#Banana Wood Fence=
|
||||
#Banana Wood Fence Gate=
|
||||
#Banana Wood Slab=
|
||||
#Banana Wood Stair=
|
||||
#Birch Fence=
|
||||
#Birch Leaves=
|
||||
#Birch Trunk=
|
||||
#Birch Wood=
|
||||
#Birch Wood Fence Gate=
|
||||
#Blue Glow Coral=
|
||||
#Bowl=
|
||||
#Bucket of Cactus Pulp=
|
||||
#Bush=
|
||||
#Bush #2=
|
||||
#Bush #3=
|
||||
#Candle=
|
||||
#Coconut=
|
||||
#Coconut Slice=
|
||||
#Cooked Fish=
|
||||
#Crystal Axe=
|
||||
#Crystal Block=
|
||||
#Crystal Block Slab=
|
||||
#Crystal Block Stair=
|
||||
#Crystal Gilly Staff=
|
||||
#Crystal Grass=
|
||||
#Crystal Ingot=
|
||||
#Crystal Pickaxe=
|
||||
#Crystal Spike=
|
||||
#Crystal Sword=
|
||||
#Crystal block=
|
||||
#Cyan Illumishroom=
|
||||
#Dried Dirt=
|
||||
#Dried Dirt Slab=
|
||||
#Dried Dirt Stair=
|
||||
#Etherium Dust=
|
||||
#Etherium Ore=
|
||||
#Fern=
|
||||
#Fern Tubers=
|
||||
#Fiery Dry Shrub=
|
||||
#Fire Dust=
|
||||
#Fire Flower=
|
||||
#Firethorn Jelly=
|
||||
#Firethorn Shrub=
|
||||
#Fishing Rod (Right-Click with rod to bait with worm from inventory)=
|
||||
#Frost Fence=
|
||||
#Frost Leaves=
|
||||
#Frost Tree=
|
||||
#Frost Wood=
|
||||
#Frost Wood Fence Gate=
|
||||
#Frost Wood Slab=
|
||||
#Frost Wood Stair=
|
||||
#Glo Stone=
|
||||
#Golden Apple=
|
||||
#Green Glow Coral=
|
||||
#Green Illumishroom=
|
||||
#Grey Baked Clay=
|
||||
#Healing Tree Leaves=
|
||||
#Healing Tree Trunk=
|
||||
#Healing Tree Wood=
|
||||
#Healing Wood=
|
||||
#Healing Wood Fence=
|
||||
#Healing Wood Fence Gate=
|
||||
#Healing Wood Slab=
|
||||
#Healing Wood Stair=
|
||||
#Hearty Stew=
|
||||
#Ice Brick=
|
||||
#Ice Brick Slab=
|
||||
#Ice Brick Stair=
|
||||
#Inventory full, Fish Got Away!=
|
||||
#Light String Vine=
|
||||
#Lump of Charcoal=
|
||||
#Mushroom=
|
||||
#Mushroom Cap=
|
||||
#Mushroom Fence=
|
||||
#Mushroom Pore=
|
||||
#Mushroom Soup=
|
||||
#Mushroom Top=
|
||||
#Mushroom Top Slab=
|
||||
#Mushroom Top Stair=
|
||||
#Mushroom Trunk=
|
||||
#Mushroom Trunk Fence Gate=
|
||||
#Mushroom Trunk Slab=
|
||||
#Mushroom Trunk Stair=
|
||||
#Orange=
|
||||
#Orange Baked Clay=
|
||||
#Orange Glow Coral=
|
||||
#Orange Leaves=
|
||||
#Palm Fence=
|
||||
#Palm Leaves=
|
||||
#Palm Trunk=
|
||||
#Palm Wax=
|
||||
#Palm Wood=
|
||||
#Palm Wood Fence Gate=
|
||||
#Palm Wood Slab=
|
||||
#Palm Wood Stair=
|
||||
#Paper Wall=
|
||||
#Pine Nuts=
|
||||
#Pink Glow Coral=
|
||||
#Quicksand=
|
||||
#Raw Fish=
|
||||
#Red Baked Clay=
|
||||
#Red Illumishroom=
|
||||
#Redwood=
|
||||
#Redwood Fence=
|
||||
#Redwood Fence Gate=
|
||||
#Redwood Leaves=
|
||||
#Redwood Slab=
|
||||
#Redwood Trunk=
|
||||
#Redwood Wood=
|
||||
#Redwood stair=
|
||||
#Sakura=
|
||||
#Sakura Fence=
|
||||
#Sakura Leaves=
|
||||
#Sakura Trunk=
|
||||
#Sakura Wood=
|
||||
#Sakura Wood Door=
|
||||
#Sakura Wood Fence Gate=
|
||||
#Sakura Wood Slab=
|
||||
#Sakura Wood Stair=
|
||||
#Sandy=
|
||||
#Sashimi=
|
||||
#Schematic not found=
|
||||
#Scorched Fence=
|
||||
#Scorched Tree=
|
||||
#Scorched Wood Fence Gate=
|
||||
#Seaweed=
|
||||
#Snow Brick=
|
||||
#Snow Brick Slab=
|
||||
#Snow Brick Stair=
|
||||
#Snowy Grass=
|
||||
#Sponge=
|
||||
#Staff of Light=
|
||||
#Stone Ladder=
|
||||
#Strawberry=
|
||||
#Vine=
|
||||
#Wet sponge=
|
||||
#Wild Onion=
|
||||
#Willow Fence=
|
||||
#Willow Trunk=
|
||||
#Willow Twig=
|
||||
#Willow Wood=
|
||||
#Willow Wood Fence Gate=
|
||||
#Willow Wood Slab=
|
||||
#Willow Wood Stair=
|
||||
#Worm=
|
||||
#[MOD] Ethereal loaded=
|
250
mods/ethereal/locale/ethereal.es.tr
Normal file
@ -0,0 +1,250 @@
|
||||
# textdomain:ethereal
|
||||
Agar Powder=Polvo de Agar
|
||||
Angler=Lophiiforme
|
||||
Apple Tree Sapling=Retoño de manzano
|
||||
Baited Fishing Rod=Caña de pescar con cebo
|
||||
Bamboo Block=Bloque de bamboo
|
||||
Bamboo Dirt=Tierra de bamboo
|
||||
Bamboo Floor=Piso de bamboo
|
||||
Bamboo Leaves=Hojas de bamboo
|
||||
Bamboo Slab=Losa de bamboo
|
||||
Bamboo Sprout=Brote de bamboo
|
||||
Bamboo Stair=Escalera de bamboo
|
||||
Bamboo=Bamboo
|
||||
Banana Bunch=Racimo de bananas
|
||||
Banana Dough=Masa de banana
|
||||
Banana Leaves=Hojas de banana
|
||||
Banana Loaf=Pan de banana
|
||||
Banana Tree Sapling=Retoño de banana
|
||||
Banana Trunk=Tronco de banana
|
||||
Banana Wood Fence Gate=Puerta de cerca de madera de banana
|
||||
Banana Wood Fence=Cerca de madera de árbol de banana
|
||||
Banana Wood Slab=Losa de madera de banana
|
||||
Banana Wood Stair=Escalera de madera de banana
|
||||
Banana Wood=Madera de banana
|
||||
Banana=Banana
|
||||
Big Tree Sapling=Retoño de árbol gigante
|
||||
Birch Fence=Cerca de abedul
|
||||
Birch Leaves=Hojas de abedul
|
||||
Birch Tree Sapling=Retoño de abedul
|
||||
Birch Trunk=Tronco de abedul
|
||||
Birch Wood Fence Gate=Puerta de cerca de madera de abedul
|
||||
Birch Wood Slab=Losa de madera de abedul
|
||||
Birch Wood Stair=Escalera de madera de abedul
|
||||
Birch Wood=Madera de abedul
|
||||
Black Candle=Vela negra
|
||||
Blue Candle=Vela azul
|
||||
Blue Fin=Atún
|
||||
Blue Glow Coral=Coral azul brillante
|
||||
Blue Marble=Mármol azul
|
||||
Blue Marble Stair=Escalera de marmol azul
|
||||
Blue Marble Tile=Baldosa de marmol azul
|
||||
Blue Ram=Ramirezi
|
||||
Bone Meal=Fertilizante de hueso
|
||||
Bone=Hueso
|
||||
Bowl=Tazón
|
||||
Brown Candle=Vela café
|
||||
Bucket of Cactus Pulp=Cubo de pulpa de cactus
|
||||
Bush #2=Arbusto #2
|
||||
Bush #3=Arbusto #3
|
||||
Bush=Arbusto
|
||||
Candied Lemon=Limón confitado
|
||||
Candle=Vela
|
||||
Catfish=Pezgato
|
||||
Cichlid=Cíclido
|
||||
Clownfish=Pez payaso
|
||||
Coconut Slice=Trozo de coco
|
||||
Coconut=Coco
|
||||
Cold Dirt=Tierra helada
|
||||
Cooked Fish=Pescado cocido
|
||||
Coy=Coy
|
||||
Crystal Axe=Hacha de Cristal
|
||||
Crystal Block Slab=Losa de bloque de cristal
|
||||
Crystal Block Stair=Escalera de bloque de cristal
|
||||
Crystal Block=Bloque de Cristal
|
||||
Crystal Dirt=Tierra de cristal
|
||||
Crystal Gilly Staff=Bastón de Cristal de Gilly
|
||||
Crystal Grass=Pasto de cristal
|
||||
Crystal Ingot=Lingote de Cristal
|
||||
Crystal Moss=Musgo de cristal
|
||||
Crystal Pickaxe=Pico de Cristal
|
||||
Crystal Shovel=Pala de Cristal
|
||||
Crystal Spike=Púa de Cristal
|
||||
Crystal Sword=Espada de Cristal
|
||||
Cyan Candle=Vela turquesa
|
||||
Cyan Illumishroom=Champiluz turquesa
|
||||
Dark Green Candle=Vela verde oscuro
|
||||
Dark Grey Candle=Vela gris oscuro
|
||||
Dried Dirt Slab=Losa de tiera seca
|
||||
Dried Dirt Stair=Escalera de tierra seca
|
||||
Dried Dirt=Tierra seca
|
||||
Dry Dirt=Tierra seca
|
||||
Etherium Dust=Polvo de Etherium
|
||||
Etherium Ore=Mineral de Etherium
|
||||
Fern Tubers=Tubérculos de helecho
|
||||
Fern=Helecho
|
||||
Fiery Dirt=Tierra de fuego
|
||||
Fiery Dry Shrub=Arbusto seco de fuego
|
||||
Fiery Moss=Musgo ardiente
|
||||
Fire Dust=Polvo de fuego
|
||||
Fire Flower=Flor de fuego
|
||||
Firethorn Jelly=Jalea de Firethorn
|
||||
Firethorn Shrub=Arbusto de Firethorn
|
||||
Fishing Rod (USE to cast and again when the time is right)=Caña de pescar (Botón principal para lanzar, cuando sea el momento adecuado vuelve a presionarlo)
|
||||
Flathead=Flathead
|
||||
Flight already granted, @1 seconds left!=El vuelo ya ha sido otorgado, ¡te quedan @1 segundos!
|
||||
Flight granted, you have @1 seconds!=Ya puedes volar, ¡tienes @1 segundos!
|
||||
Flight Potion=Poción de vuelo
|
||||
Flight timer about to expire!=¡El tiempo de vuelo está apunto de acabarse!
|
||||
Frost Fence=Cerca congelada
|
||||
Frost Leaves=Hojas congeladas
|
||||
Frost Tree Sapling=Retoño de árbol congelado
|
||||
Frost Tree=Árbol sanador
|
||||
Frost Wood Fence Gate=Puerta de cerca de madera congelada
|
||||
Frost Wood Slab=Losa de madera congelada
|
||||
Frost Wood Stair=Escalera de madera congelada
|
||||
Frost Wood=Madera congelada
|
||||
Fugusashi=Fugusashi
|
||||
Giant Redwood Tree Sapling=Retoño de secoya gigante
|
||||
Glo Stone=Piedra brillante
|
||||
Golden Apple=Manzana de oro
|
||||
Gray Dirt=Tierra gris
|
||||
Gray Moss=Musgo gris
|
||||
Green Candle=Vela verde
|
||||
Green Dirt=Tierra verde
|
||||
Green Glow Coral=Coral verde brillante
|
||||
Green Illumishroom=Champiluz verde
|
||||
Green Moss=Musgo verde
|
||||
Grey Baked Clay=Arcilla gris cocida
|
||||
Grey Candle=Vela gris
|
||||
Grove Dirt=Tierra de la arboleda
|
||||
Healing Tree Leaves=Hojas de árbol sanador
|
||||
Healing Tree Sapling=Retoño de árbol sanador
|
||||
Healing Tree Trunk=Tronco de árbol sanador
|
||||
Healing Tree Wood=Madera de árbol sanador
|
||||
Healing Wood Fence Gate=Puera de cerca de madera de arbol sanador
|
||||
Healing Wood Fence=Cerca de madera de árbol sanador
|
||||
Healing Wood Slab=Losa de madera de árbol sanador
|
||||
Healing Wood Stair=Escalera de madera de árbol sanador
|
||||
Healing Wood=Madera de árbol sanador
|
||||
Hearty Stew=Guiso abundante
|
||||
Ice Brick Slab=Losa de ladrillo de hielo
|
||||
Ice Brick Stair=Escalera de ladrillo de hielo
|
||||
Ice Brick=Ladrillo de hielo
|
||||
Inventory full, Fish Got Away!=Inventario lleno, ¡el pez se ha escapado!
|
||||
Jellyfish=Medusa
|
||||
Jungle Dirt=Tierra de la jungla
|
||||
Jungle Tree Sapling=Retoño de árbol tropical
|
||||
Kappa Maki Sushi=Sushi Kappa Maki
|
||||
Lemon Tree Leaves=Hojas de limonero
|
||||
Lemon Tree Sapling=Retoño de limonero
|
||||
Lemon=Limón
|
||||
Lemonade=Limonada
|
||||
Light String Vine=Enredadera luminosa
|
||||
Lump of Charcoal=Carbón de madera
|
||||
Magenta Candle=Vela magenta
|
||||
Mushroom Cap=Sombrero de champiñón
|
||||
Mushroom Dirt=Tierra de champiñones
|
||||
Mushroom Fence=Cerca de champiñones
|
||||
Mushroom Moss=Musgo de champiñón
|
||||
Mushroom Pore=Esporas de champiñón
|
||||
Mushroom Soup=Sopa de champiñón
|
||||
Mushroom Top Slab=Losa de sombrero de champiñón
|
||||
Mushroom Top Stair=Escalera de sombrero de champiñón
|
||||
Mushroom Top=Sombrero de champión
|
||||
Mushroom Tree Sapling=Retoño de champiñón
|
||||
Mushroom Trunk Fence Gate=Puerta de cerca de tronco de champiñones
|
||||
Mushroom Trunk Slab=Losa de tronco de champiñón
|
||||
Mushroom Trunk Stair=Escalera de tronco de champiñón
|
||||
Mushroom Trunk=Tronco de champiñón
|
||||
Mushroom=Champiñón
|
||||
Nigiri Sushi=Sushi Nigiri
|
||||
Olive Oil=Aceite de oliva
|
||||
Olive Tree Leaves=Hojas de olivo
|
||||
Olive Tree Sapling=Retoño de olivo
|
||||
Olive Trunk=Tronco de olivo
|
||||
Olive Wood Stair=Escalera de madera de olivo
|
||||
Olive Wood Tile=Baldosa de madera de olivo
|
||||
Olive Wood=Madera de olivo
|
||||
Olive=Aceituna
|
||||
Orange Baked Clay=Arcilla naranja cocida
|
||||
Orange Candle=Vela naranja
|
||||
Orange Glow Coral=Coral naranjo brillante
|
||||
Orange Leaves=Hojas de naranja
|
||||
Orange Tree Sapling=Retoño de naranja
|
||||
Orange=Naranja
|
||||
Palm Fence=Cerca de palma
|
||||
Palm Leaves=Hojas de palma
|
||||
Palm Tree Sapling=Retoño de Palma
|
||||
Palm Trunk=Tronco de palma
|
||||
Palm Wax=Cera de palma
|
||||
Palm Wood Fence Gate=Puerta de cerca de madera de palma
|
||||
Palm Wood Slab=Losa de madera de palma
|
||||
Palm Wood Stair=Escalera de madera de palma
|
||||
Palm Wood=Madera de palma
|
||||
Paper Wall=Papel mural
|
||||
Pike=Lucio
|
||||
Pine Nuts=Piñones
|
||||
Pine Tree Sapling=Retoño de pino
|
||||
Pink Candle=Vela rosada
|
||||
Pink Glow Coral=Coral rosado brillante
|
||||
Piranha=Piraña
|
||||
Plaice=Solla
|
||||
Prairie Dirt=Tierra de la pradera
|
||||
Pufferfish=Pez globo
|
||||
Quicksand=Arena movediza
|
||||
Raw Fish=Pescado crudo
|
||||
Red Baked Clay=Arcilla roja cocida
|
||||
Red Candle=Vela roja
|
||||
Red Illumishroom=Champiluz roja
|
||||
Redwood Fence Gate=Puerta de cerca de secoya
|
||||
Redwood Fence=Cerca de secoya
|
||||
Redwood Leaves=Hojas de secoya
|
||||
Redwood Slab=Losa de secoya
|
||||
Redwood Stair=Escalera de secoya
|
||||
Redwood Tree Sapling=Retoño de secoya
|
||||
Redwood Trunk=Tronco de secoya
|
||||
Redwood Wood=Madera de secoya
|
||||
Redwood=Secoya
|
||||
Sakura Leaves=Hojas de sakura
|
||||
Sakura Tree Sapling=Retoño de sakura
|
||||
Sakura Trunk=Tronco de sakura
|
||||
Sakura Wood Door=Puerta de madera de sakura
|
||||
Sakura Wood Stair=Escalera de madera de sakura
|
||||
Sakura Wood Tile=Baldosa de madera de sakura
|
||||
Sakura Wood=Madera de sakura
|
||||
Salmon=Salmón
|
||||
Sashimi=Sashimi
|
||||
Schematic not found=Schematica no encontrada
|
||||
Scorched Fence=Cerca de madera quemada
|
||||
Scorched Tree=Árbol quemado
|
||||
Scorched Wood Fence Gate=Puerta de cerca de madera quemada
|
||||
Seahorse=Hipocampo
|
||||
Seaweed=Alga marina
|
||||
Snow Brick Slab=Losa de ladrillo de nieve
|
||||
Snow Brick Stair=Escalera de ladrillo de nieve
|
||||
Snow Brick=Ladrillo de nieve
|
||||
Snowy Grass=Pasto nevado
|
||||
Sponge=Esponja de mar
|
||||
Staff of Light=Bastón de Luz
|
||||
Stone Ladder=Escalera de piedra
|
||||
Strawberry=Fresa
|
||||
Tamago Sushi=Sushi Tamago
|
||||
Teriyaki Beef=Asado Teriyaki
|
||||
Teriyaki Chicken=Pollo Teriyaki
|
||||
Trout=Trucha
|
||||
Vine=Enredadera
|
||||
Violet Candle=Vela violeta
|
||||
Wet sponge=Esponja de mar con agua
|
||||
Wild Onion=Cebolla silvestre
|
||||
Willow Fence=Cerca de sauce
|
||||
Willow Tree Sapling=Retoño de sauce
|
||||
Willow Trunk=Tronco de sauce
|
||||
Willow Twig=Ramas de sauce
|
||||
Willow Wood Fence Gate=Puerta de cerca de sauce
|
||||
Willow Wood Slab=Losa de madera de sauce
|
||||
Willow Wood Stair=Escalera de madera de sauce
|
||||
Willow Wood=Madera de sauce
|
||||
Worm=Gusano
|
||||
Yellow Candle=Vela amarilla
|
||||
[MOD] Ethereal loaded=[MOD] Ethereal cargado
|
163
mods/ethereal/locale/ethereal.fr.tr
Normal file
@ -0,0 +1,163 @@
|
||||
# textdomain:ethereal
|
||||
Agar Powder=Poudre d'agar
|
||||
Baited Fishing Rod=Canne à pêche avec appât
|
||||
Bamboo=Bambou
|
||||
Bamboo Block=Bloc de bambou
|
||||
Bamboo Floor=Plancher de bambou
|
||||
Bamboo Leaves=Feuilles de bambou
|
||||
Bamboo Slab=Dalle de bambou
|
||||
Bamboo Sprout=Germe de bambou
|
||||
Bamboo stair=Marche de bambou
|
||||
Banana=Banane
|
||||
Banana Bunch=Régime de banane
|
||||
Banana Dough=Pâte de banande
|
||||
Banana Leaves=Feuilles de bananier
|
||||
Banana Loaf=Pain aux bananes
|
||||
Banana Trunk=Tronc de bananier
|
||||
Banana Wood=Bois de bananier
|
||||
Banana Wood Fence=Clôture en bananier
|
||||
Banana Wood Fence Gate=Porte de clôture en bananier
|
||||
Banana Wood Slab=Dalle de bois de bananier
|
||||
Banana Wood Stair=Marche en bois de bananier
|
||||
Birch Fence=Clôture en bouleau
|
||||
Birch Leaves=Feuilles de bouleau
|
||||
Birch Trunk=Tronc de bouleau
|
||||
Birch Wood=Bois de bouleau
|
||||
Birch Wood Fence Gate=Porte de clôture en bouleau
|
||||
Blue Glow Coral=Corail lueur bleu
|
||||
Bowl=Bol
|
||||
Bucket of Cactus Pulp=Seau de pâte de cactus
|
||||
Bush=Arbuste
|
||||
Bush #2=Arbuste #2
|
||||
Bush #3=Arbuste #3
|
||||
Candle=Chandelle
|
||||
Coconut=Noix de coco
|
||||
Coconut Slice=Tranche de noix de coco
|
||||
Cooked Fish=Poisson cuit
|
||||
Crystal Axe=Hâche de crystal
|
||||
Crystal Block=Bloc de crystal
|
||||
Crystal Block Slab=Dalle de crystal
|
||||
Crystal Block Stair=Marche de crystal
|
||||
Crystal Gilly Staff=Baton de crystal
|
||||
Crystal Grass=Herbe de crystal
|
||||
Crystal Ingot=Lingot de crystal
|
||||
Crystal Pickaxe=Pioche de crystal
|
||||
Crystal Spike=Pic de crystal
|
||||
Crystal Sword=Épée de crystal
|
||||
Crystal block=Bloc de crystal
|
||||
Cyan Illumishroom=Luminochampignon cyan
|
||||
Dried Dirt=Terre sèche
|
||||
Dried Dirt Slab=Dalle de terre sèche
|
||||
Dried Dirt Stair=Marche de terre sèche
|
||||
Etherium Dust=Poudre céleste
|
||||
Etherium Ore=Minerai céleste
|
||||
Fern=Fougère
|
||||
Fern Tubers=Tubercules de fougère
|
||||
Fiery Dry Shrub=Arbuste ardent sec
|
||||
Fire Dust=Poudre de feu
|
||||
Fire Flower=Fleur de feu
|
||||
Firethorn Jelly=Gelée d'épinafeu
|
||||
Firethorn Shrub=Arbuste épinafeu
|
||||
Fishing Rod (Right-Click with rod to bait with worm from inventory)=Canne à pèche (Clic droit avec canne pour ajouter l'appât à partir de l'inventaire)
|
||||
Frost Fence=Clôture de givrier
|
||||
Frost Leaves=Feuilles de givrier
|
||||
Frost Tree=Givrier
|
||||
Frost Wood=Bois de givrier
|
||||
Frost Wood Fence Gate=Porte de clôture en givrier
|
||||
Frost Wood Slab=Dalle de givrier
|
||||
Frost Wood Stair=Marche en givrier
|
||||
Glo Stone=Pierre luminescente
|
||||
Golden Apple=Pomme dorée
|
||||
Green Glow Coral=Corail lueur vert
|
||||
Green Illumishroom=Luminochampignon vert
|
||||
Grey Baked Clay=Terre cuite grise
|
||||
Healing Tree Leaves=Feuilles de soignantier
|
||||
Healing Tree Trunk=Tronc de soignantier
|
||||
Healing Tree Wood=Bois de soignantier
|
||||
Healing Wood=Bois soignant
|
||||
Healing Wood Fence=Clôture en soignantier
|
||||
Healing Wood Fence Gate=Porte de clôture en soignantier
|
||||
Healing Wood Slab=Dalle de soignantier
|
||||
Healing Wood Stair=Marche en soignantier
|
||||
Hearty Stew=Ragoût copieux
|
||||
Ice Brick=Brique de glace
|
||||
Ice Brick Slab=Dalle en briques de glace
|
||||
Ice Brick Stair=Marche en briques de glace
|
||||
Inventory full, Fish Got Away!=Inventaire plein, un poisson s'est échappé !
|
||||
Light String Vine=Vigne en girlande de lumières
|
||||
Lump of Charcoal=Morceau de charbon de bois
|
||||
Mushroom=Champignon
|
||||
Mushroom Cap=Dessus de champignon
|
||||
Mushroom Fence=Clôture en champignon
|
||||
Mushroom Pore=Pore de champignon
|
||||
Mushroom Soup=Soupe aux champignons
|
||||
Mushroom Top=Tête de champignon
|
||||
Mushroom Top Slab=Dalle en tête de champignon
|
||||
Mushroom Top Stair=Marche en tête de champignon
|
||||
Mushroom Trunk=Tronc de champignon
|
||||
Mushroom Trunk Fence Gate=Porte de clôture en champignon
|
||||
Mushroom Trunk Slab=Dalle de champignon
|
||||
Mushroom Trunk Stair=Marche en champignon
|
||||
Orange=Orange
|
||||
Orange Baked Clay=Terre cuite orange
|
||||
Orange Glow Coral=Corail lueur orange
|
||||
Orange Leaves=Feuilles orange
|
||||
Palm Fence=Clôture de palmier
|
||||
Palm Leaves=Feuilles de palmier
|
||||
Palm Trunk=Tronc de palmier
|
||||
Palm Wax=Cire de palmier
|
||||
Palm Wood=Bois de palmier
|
||||
Palm Wood Fence Gate=Porte de clôture en palmier
|
||||
Palm Wood Slab=Dalle de palmier
|
||||
Palm Wood Stair=Marche en palmier
|
||||
Paper Wall=Mûr de papier
|
||||
Pine Nuts=Pignon de pin
|
||||
Pink Glow Coral=Corail lueur rose
|
||||
Quicksand=Sables mouvants
|
||||
Raw Fish=Poisson cru
|
||||
Red Baked Clay=Terre cuite rouge
|
||||
Red Illumishroom=Luminochampignon rouge
|
||||
Redwood=Séquoia
|
||||
Redwood Fence=Clôture en séquoia
|
||||
Redwood Fence Gate=Porte de clôture en séquoia
|
||||
Redwood Leaves=Feuilles de séquoia
|
||||
Redwood Slab=Dalle de séquoia
|
||||
Redwood Trunk=Tronc de séquoia
|
||||
Redwood Wood=Bois de séquoia
|
||||
Redwood stair=Marche en séquoia
|
||||
Sakura=Sakura
|
||||
Sakura Fence=Clôture en sakura
|
||||
Sakura Leaves=Feuilles de sakura
|
||||
Sakura Trunk=Tronc de sakura
|
||||
Sakura Wood=Bois de sakura
|
||||
Sakura Wood Door=Porte en sakura
|
||||
Sakura Wood Fence Gate=Porte de clôture en sakura
|
||||
Sakura Wood Slab=Dalle de sakura
|
||||
Sakura Wood Stair=Marche de sakura
|
||||
Sandy=Sable de mer
|
||||
Sashimi=Sashimi
|
||||
Schematic not found=Schéma introuvable
|
||||
Scorched Fence=Clôture brûlée
|
||||
Scorched Tree=Arbre brûlé
|
||||
Scorched Wood Fence Gate=Porte de clôture en bois brûlé
|
||||
Seaweed=Algues
|
||||
Snow Brick=Brique de neige
|
||||
Snow Brick Slab=Dalle en briques de neige
|
||||
Snow Brick Stair=Marche en briques de neige
|
||||
Snowy Grass=Herbe des neiges
|
||||
Sponge=Éponge
|
||||
Staff of Light=Bâton de lumière
|
||||
Stone Ladder=Échelle en roche
|
||||
Strawberry=Fraise
|
||||
Vine=Vigne
|
||||
Wet sponge=Éponge mouillée
|
||||
Wild Onion=Onion sauvage
|
||||
Willow Fence=Clôture en saule
|
||||
Willow Trunk=Tronc de saule
|
||||
Willow Twig=Brindille de saule
|
||||
Willow Wood=Bois de saule
|
||||
Willow Wood Fence Gate=Porte de clôture en saule
|
||||
Willow Wood Slab=Dalle de saule
|
||||
Willow Wood Stair=Marche en saule
|
||||
Worm=Ver
|
||||
[MOD] Ethereal loaded=[MOD] Ethereal chargé
|
163
mods/ethereal/locale/ethereal.ru.tr
Normal file
@ -0,0 +1,163 @@
|
||||
# textdomain:ethereal
|
||||
#Agar Powder=
|
||||
Baited Fishing Rod=Удочка с приманкой
|
||||
Bamboo=Бамбук
|
||||
#Bamboo Block=
|
||||
Bamboo Floor=Бамбуковый пол
|
||||
Bamboo Leaves=Бамбуковая листва
|
||||
Bamboo Slab=Плита из бамбука
|
||||
Bamboo Sprout=Росток бамбука
|
||||
#Bamboo stair=
|
||||
Banana=Банан
|
||||
#Banana Bunch=
|
||||
Banana Dough=Банановое тесто
|
||||
Banana Leaves=Листва банана
|
||||
Banana Loaf=Банадовый хлеб
|
||||
Banana Trunk=Ствол бананового дерева
|
||||
Banana Wood=Доски банавого дерева
|
||||
Banana Wood Fence=Забор из бананового дерева
|
||||
Banana Wood Fence Gate=Ворота из бананового дерева для забора
|
||||
Banana Wood Slab=Плита из банановых досок
|
||||
Banana Wood Stair=Ступенька из банановых досок
|
||||
Birch Fence=Берёзовый забор
|
||||
Birch Leaves=Берёзовая листва
|
||||
Birch Trunk=Ствол берёзы
|
||||
Birch Wood=Доски берёзы
|
||||
Birch Wood Fence Gate=Берёзовые ворота для забора
|
||||
Blue Glow Coral=Синий коралл
|
||||
Bowl=Чашка
|
||||
Bucket of Cactus Pulp=Ведро с мякотью кактуса
|
||||
Bush=Куст
|
||||
Bush #2=Куст #2
|
||||
Bush #3=Куст #3
|
||||
Candle=Свеча
|
||||
Coconut=Кокос
|
||||
Coconut Slice=Кокосовый ломтик
|
||||
Cooked Fish=Свареная рыба
|
||||
Crystal Axe=Хрустальный топор
|
||||
Crystal Block=Хрустальный блок
|
||||
Crystal Block Slab=Плита из хрустального блока
|
||||
Crystal Block Stair=Ступенька из хрустального блока
|
||||
Crystal Gilly Staff=Хрустальный посох Джилли
|
||||
Crystal Grass=Хрустальная трава
|
||||
Crystal Ingot=Хрустальный слиток
|
||||
Crystal Pickaxe=Хрустальная кирка
|
||||
Crystal Spike=Хрустальный шип
|
||||
Crystal Sword=Хрустальный меч
|
||||
#Crystal block=
|
||||
Cyan Illumishroom=Голубой светящийся гриб
|
||||
Dried Dirt=Высушенная земля
|
||||
#Dried Dirt Slab=
|
||||
#Dried Dirt Stair=
|
||||
#Etherium Dust=
|
||||
#Etherium Ore=
|
||||
Fern=Папоротник
|
||||
Fern Tubers=Клубни папоротника
|
||||
Fiery Dry Shrub=Огненный сухой кустарник
|
||||
Fire Dust=Огненая пыль
|
||||
Fire Flower=Огненый цветок
|
||||
#Firethorn Jelly=
|
||||
#Firethorn Shrub=
|
||||
#Fishing Rod (Right-Click with rod to bait with worm from inventory)=
|
||||
Frost Fence=Замороженный забор
|
||||
Frost Leaves=Замороженная листва
|
||||
Frost Tree=Морозное дерево
|
||||
Frost Wood=Доски
|
||||
Frost Wood Fence Gate=Замороженные деревянные ворота для забора
|
||||
Frost Wood Slab=Плита из замороженных досок
|
||||
Frost Wood Stair=Ступенька из замороженных досок
|
||||
Glo Stone=Светящийся камень
|
||||
Golden Apple=Золотое яблоко
|
||||
Green Glow Coral=Залёный коралл
|
||||
Green Illumishroom=Зелёный светящийся гриб
|
||||
Grey Baked Clay=Серая обожжёная глина
|
||||
Healing Tree Leaves=Листва лечащего дерева
|
||||
Healing Tree Trunk=Ствол лечебного дерева
|
||||
Healing Tree Wood=Доски лечебного дерева
|
||||
Healing Wood=лечебная древесина
|
||||
Healing Wood Fence=Забор из лечащего дерева
|
||||
Healing Wood Fence Gate=Ворота из лечащего дерева для забора
|
||||
Healing Wood Slab=Плита из лечебного дерева
|
||||
Healing Wood Stair=Ступенька из лечебного дерева
|
||||
Hearty Stew=Сытное рагу
|
||||
Ice Brick=Ледяной кирпич
|
||||
Ice Brick Slab=Плита из ледяного кирпича
|
||||
Ice Brick Stair=Ступенька из ледяного кирпича
|
||||
Inventory full, Fish Got Away!=Инвентарь заполнен, рыба сбежала!
|
||||
Light String Vine=Светящаяся виноградная лоза
|
||||
Lump of Charcoal=Кусок угля
|
||||
Mushroom=Гриб
|
||||
Mushroom Cap=Шляпка гриба
|
||||
Mushroom Fence=Грибной забор
|
||||
Mushroom Pore=Грибные поры
|
||||
Mushroom Soup=Грибной суп
|
||||
Mushroom Top=Шляпка гриба
|
||||
Mushroom Top Slab=Плита из шляпки гриба
|
||||
Mushroom Top Stair=Ступенька из шляпки гриба
|
||||
Mushroom Trunk=Ствол гриба
|
||||
Mushroom Trunk Fence Gate=Ворота из грибного ствола для забора
|
||||
Mushroom Trunk Slab=Плита из ствола гриба
|
||||
Mushroom Trunk Stair=Ступенька из ствола гриба
|
||||
Orange=Апельсин
|
||||
Orange Baked Clay=Оранжевая обожжёная глина
|
||||
Orange Glow Coral=Оранжевый коралл
|
||||
Orange Leaves=Листва апельсина
|
||||
Palm Fence=Пальмовый забор
|
||||
Palm Leaves=Пальмовая листва
|
||||
Palm Trunk=Ствол пальмы
|
||||
Palm Wax=Пальмовый воск
|
||||
Palm Wood=Доски пальмы
|
||||
Palm Wood Fence Gate=Ворота из пальмого дерева для забора
|
||||
Palm Wood Slab=Плита из пальмовых досок
|
||||
Palm Wood Stair=Ступенька из пальмовых досок
|
||||
Paper Wall=Обои
|
||||
Pine Nuts=Кедровые орехи
|
||||
Pink Glow Coral=Розовый коралл
|
||||
Quicksand=Зыбучий песок
|
||||
Raw Fish=Сырая рыба
|
||||
Red Baked Clay=Красная обожжёная глина
|
||||
Red Illumishroom=Красный светящийся гриб
|
||||
Redwood=Секвойя
|
||||
Redwood Fence=Забор из секвойи
|
||||
Redwood Fence Gate=Ворота из секвойи для забора
|
||||
Redwood Leaves=Листва секвойи
|
||||
Redwood Slab=Плита из секвойи
|
||||
Redwood Trunk=Ствол секвойи
|
||||
Redwood Wood=Доски секвойи
|
||||
#Redwood stair=
|
||||
#Sakura=
|
||||
#Sakura Fence=
|
||||
#Sakura Leaves=
|
||||
#Sakura Trunk=
|
||||
#Sakura Wood=
|
||||
#Sakura Wood Door=
|
||||
#Sakura Wood Fence Gate=
|
||||
#Sakura Wood Slab=
|
||||
#Sakura Wood Stair=
|
||||
Sandy=Песочный
|
||||
Sashimi=Сашими
|
||||
Schematic not found=Схема не найдена
|
||||
Scorched Fence=Обожжёный забор
|
||||
Scorched Tree=Обожжёное дерево
|
||||
Scorched Wood Fence Gate=Обожжёные деревянные ворота для забора
|
||||
Seaweed=Водоросли
|
||||
Snow Brick=Снежный кирпич
|
||||
Snow Brick Slab=Плита из снежного кирпича
|
||||
Snow Brick Stair=Ступенька из снежного кирпича
|
||||
Snowy Grass=Заснеженная трава
|
||||
#Sponge=
|
||||
Staff of Light=Световой посох
|
||||
Stone Ladder=Каменная лестница
|
||||
Strawberry=Клубника
|
||||
Vine=Виноградная лоза
|
||||
#Wet sponge=
|
||||
Wild Onion=Дикий лук
|
||||
Willow Fence=Ивовый забор
|
||||
Willow Trunk=Ствол ивы
|
||||
Willow Twig=Ивовый прут
|
||||
Willow Wood=Доски ивы
|
||||
Willow Wood Fence Gate=Ивовые ворота для забора
|
||||
Willow Wood Slab=Плита из ивовых досок
|
||||
Willow Wood Stair=Ступенька из ивовых досок
|
||||
Worm=Червь
|
||||
[MOD] Ethereal loaded=[MOD] Ethereal загружен
|
163
mods/ethereal/locale/ethereal.zh_CN.tr
Normal file
@ -0,0 +1,163 @@
|
||||
# textdomain:ethereal
|
||||
#Agar Powder=
|
||||
Baited Fishing Rod=带饵的钓鱼竿
|
||||
Bamboo=竹子
|
||||
#Bamboo Block=
|
||||
Bamboo Floor=竹地板
|
||||
Bamboo Leaves=竹叶
|
||||
Bamboo Slab=竹板
|
||||
Bamboo Sprout=竹笋
|
||||
#Bamboo stair=
|
||||
Banana=香蕉
|
||||
#Banana Bunch=
|
||||
Banana Dough=香蕉皮
|
||||
Banana Leaves=香蕉树叶
|
||||
Banana Loaf=香蕉面包
|
||||
Banana Trunk=香蕉树干
|
||||
Banana Wood=香蕉木
|
||||
Banana Wood Fence=香蕉木栅栏
|
||||
Banana Wood Fence Gate=香蕉木栅栏门
|
||||
Banana Wood Slab=香蕉木板
|
||||
Banana Wood Stair=香蕉木楼梯
|
||||
Birch Fence=桦树栅栏
|
||||
Birch Leaves=白桦树叶
|
||||
Birch Trunk=桦树树干
|
||||
Birch Wood=白桦木材
|
||||
Birch Wood Fence Gate=白桦木栅栏门
|
||||
Blue Glow Coral=蓝色珊瑚
|
||||
Bowl=碗
|
||||
Bucket of Cactus Pulp=仙人掌果肉桶
|
||||
Bush=灌木
|
||||
Bush #2=灌木 #2
|
||||
Bush #3=灌木 #3
|
||||
Candle=蜡烛
|
||||
Coconut=椰子
|
||||
Coconut Slice=椰子片
|
||||
Cooked Fish=煮熟的鱼
|
||||
Crystal Axe=水晶斧
|
||||
Crystal Block=水晶块
|
||||
Crystal Block Slab=水晶板
|
||||
Crystal Block Stair=水晶楼梯
|
||||
Crystal Gilly Staff=水晶网络人员
|
||||
Crystal Grass=水晶草
|
||||
Crystal Ingot=水晶锭
|
||||
Crystal Pickaxe=水晶锄
|
||||
Crystal Spike=水晶尖
|
||||
Crystal Sword=水晶剑
|
||||
#Crystal block=
|
||||
Cyan Illumishroom=青色蘑菇
|
||||
Dried Dirt=干土
|
||||
#Dried Dirt Slab=
|
||||
#Dried Dirt Stair=
|
||||
#Etherium Dust=
|
||||
#Etherium Ore=
|
||||
Fern=蕨类植物
|
||||
Fern Tubers=蕨类植物的茎
|
||||
Fiery Dry Shrub=干枯灌木
|
||||
Fire Dust=火土
|
||||
Fire Flower=火焰花
|
||||
#Firethorn Jelly=
|
||||
#Firethorn Shrub=
|
||||
#Fishing Rod (Right-Click with rod to bait with worm from inventory)=
|
||||
Frost Fence=霜木栅栏
|
||||
Frost Leaves=霜叶子
|
||||
Frost Tree=霜树
|
||||
Frost Wood=霜木
|
||||
Frost Wood Fence Gate=霜木栅栏门
|
||||
Frost Wood Slab=霜木材板
|
||||
Frost Wood Stair=霜木楼梯
|
||||
Glo Stone=荧光石
|
||||
Golden Apple=金苹果
|
||||
Green Glow Coral=绿色珊瑚
|
||||
Green Illumishroom=绿色蘑菇
|
||||
Grey Baked Clay=灰色烤粘土
|
||||
Healing Tree Leaves=治疗树叶
|
||||
Healing Tree Trunk=治疗树干
|
||||
Healing Tree Wood=治疗树木材
|
||||
Healing Wood=治疗木
|
||||
Healing Wood Fence=治疗木栅栏
|
||||
Healing Wood Fence Gate=愈合木栅栏门
|
||||
Healing Wood Slab=治疗木板
|
||||
Healing Wood Stair=治疗木楼梯
|
||||
Hearty Stew=丰盛的炖肉
|
||||
Ice Brick=冰砖
|
||||
Ice Brick Slab=冰砖板
|
||||
Ice Brick Stair=冰砖楼梯
|
||||
Inventory full, Fish Got Away!=库存满了,鱼逃掉了!
|
||||
Light String Vine=荧光藤蔓
|
||||
Lump of Charcoal=块木炭
|
||||
Mushroom=蘑菇
|
||||
Mushroom Cap=蘑菇帽
|
||||
Mushroom Fence=蘑菇栅栏
|
||||
Mushroom Pore=蘑菇孔隙
|
||||
Mushroom Soup=蘑菇汤
|
||||
Mushroom Top=蘑菇顶部
|
||||
Mushroom Top Slab=蘑菇顶部板
|
||||
Mushroom Top Stair=蘑菇上楼梯
|
||||
Mushroom Trunk=蘑菇干
|
||||
Mushroom Trunk Fence Gate=蘑菇栅栏门
|
||||
Mushroom Trunk Slab=蘑菇板
|
||||
Mushroom Trunk Stair=蘑菇楼梯
|
||||
Orange=橙子
|
||||
Orange Baked Clay=橙色烤粘土
|
||||
Orange Glow Coral=橙色珊瑚
|
||||
Orange Leaves=橙子树叶
|
||||
Palm Fence=棕榈栅栏
|
||||
Palm Leaves=棕榈叶
|
||||
Palm Trunk=棕榈树干
|
||||
Palm Wax=棕榈蜡
|
||||
Palm Wood=棕榈木
|
||||
Palm Wood Fence Gate=棕榈木栅栏门
|
||||
Palm Wood Slab=棕榈木板
|
||||
Palm Wood Stair=棕榈木楼梯
|
||||
Paper Wall=纸墙
|
||||
Pine Nuts=松子
|
||||
Pink Glow Coral=粉色珊瑚
|
||||
Quicksand=流沙
|
||||
Raw Fish=生鱼
|
||||
Red Baked Clay=红色烤粘土
|
||||
Red Illumishroom=红色蘑菇
|
||||
Redwood=红木
|
||||
Redwood Fence=红杉栅栏
|
||||
Redwood Fence Gate=红杉栅栏门
|
||||
Redwood Leaves=红杉树叶
|
||||
Redwood Slab=红杉板
|
||||
Redwood Trunk=红木箱子
|
||||
Redwood Wood=红木木材
|
||||
#Redwood stair=
|
||||
#Sakura=
|
||||
#Sakura Fence=
|
||||
#Sakura Leaves=
|
||||
#Sakura Trunk=
|
||||
#Sakura Wood=
|
||||
#Sakura Wood Door=
|
||||
#Sakura Wood Fence Gate=
|
||||
#Sakura Wood Slab=
|
||||
#Sakura Wood Stair=
|
||||
Sandy=沙子
|
||||
Sashimi=生鱼片
|
||||
Schematic not found=没有找到示意图
|
||||
Scorched Fence=烧焦的栅栏
|
||||
Scorched Tree=烧焦的树
|
||||
Scorched Wood Fence Gate=烧焦的木栅栏门
|
||||
Seaweed=海藻
|
||||
Snow Brick=雪砖
|
||||
Snow Brick Slab=雪砖板
|
||||
Snow Brick Stair=雪砖楼梯
|
||||
Snowy Grass=雪草
|
||||
#Sponge=
|
||||
Staff of Light=灯柱
|
||||
Stone Ladder=石梯
|
||||
Strawberry=草莓
|
||||
Vine=藤蔓
|
||||
#Wet sponge=
|
||||
Wild Onion=野生洋葱
|
||||
Willow Fence=柳树栅栏
|
||||
Willow Trunk=柳树树干
|
||||
Willow Twig=柳树枝
|
||||
Willow Wood=柳树木
|
||||
Willow Wood Fence Gate=柳树木栅栏门
|
||||
Willow Wood Slab=柳树木板
|
||||
Willow Wood Stair=柳树木楼梯
|
||||
Worm=蠕虫
|
||||
[MOD] Ethereal loaded=(MOD)的加载
|
220
mods/ethereal/locale/ru.txt
Normal file
@ -0,0 +1,220 @@
|
||||
# Russian Translation for ethereal mod
|
||||
# Русский перевод мода ethereal
|
||||
# last update: 2017/Aug/15
|
||||
# Author: Inpos
|
||||
|
||||
#bonemeal.lua
|
||||
Bone = Кость
|
||||
Bone Meal = Косятная мука
|
||||
|
||||
#crystal.lua
|
||||
Crystal Spike = Хрустальный шип
|
||||
Crystal Ingot = Хрустальный слиток
|
||||
Crystal Block = Хрустальный блок
|
||||
Crystal Sword = Хрустальный меч
|
||||
Crystal Axe = Хрустальный топор
|
||||
Crystal Pickaxe = Хрустальная кирка
|
||||
Crystal (soft touch) Shovel = Хрустальная лопата (хрупкая)
|
||||
Crystal Gilly Staff = Хрустальный посох Джилли
|
||||
|
||||
#dirt.lua
|
||||
Green Dirt = Зелёная земля
|
||||
Dried Dirt = Высушенная земля
|
||||
Bamboo Dirt = Бамбуковая земля
|
||||
Jungle Dirt = Земля джунглей
|
||||
Grove Dirt = Лесная земля
|
||||
Prairie Dirt = Земля прерий
|
||||
Cold Dirt = Холодная земля
|
||||
Crystal Dirt = Хрустальная земля
|
||||
Mushroom Dirt = Грибная земля
|
||||
Fiery Dirt = Огненная земля
|
||||
Gray Dirt = Серая земля
|
||||
Red Baked Clay = Красная обожжёная глина
|
||||
Orange Baked Clay = Оранжевая обожжёная глина
|
||||
Grey Baked Clay = Серая обожжёная глина
|
||||
Quicksand = Зыбучий песок
|
||||
|
||||
#extra.lua
|
||||
Bamboo Floor = Бамбуковый пол
|
||||
Palm Wax = Пальмовый воск
|
||||
Candle = Свеча
|
||||
Bowl = Чашка
|
||||
Stone Ladder = Каменная лестница
|
||||
Paper Wall = Обои
|
||||
Glo Stone = Светящийся камень
|
||||
Lump of Charcoal = Кусок угля
|
||||
Staff of Light = Световой посох
|
||||
|
||||
#fences.lua
|
||||
Scorched Fence = Обожжёный забор
|
||||
Frost Fence = Замороженный забор
|
||||
Redwood Fence = Забор из секвойи
|
||||
Willow Fence = Ивовый забор
|
||||
Healing Wood Fence = Забор из лечащего дерева
|
||||
Palm Fence = Пальмовый забор
|
||||
Banana Wood Fence = Забор из бананового дерева
|
||||
Mushroom Fence = Грибной забор
|
||||
Birch Fence = Берёзовый забор
|
||||
|
||||
#fishing.lua
|
||||
Raw Fish = Сырая рыба
|
||||
Cooked Fish = Свареная рыба
|
||||
Sashimi = Сашими
|
||||
Worm = Червь
|
||||
Fishing Rod = Удочка
|
||||
Baited Fishing Rod = Удочка с приманкой
|
||||
Inventory full, Fish Got Away! = Инвентарь заполнен, рыба сбежала!
|
||||
|
||||
#food.lua
|
||||
Banana = Банан
|
||||
Banana Dough = Банановое тесто
|
||||
Orange = Апельсин
|
||||
Pine Nuts = Кедровые орехи
|
||||
Banana Loaf = Банадовый хлеб
|
||||
Coconut = Кокос
|
||||
Coconut Slice = Кокосовый ломтик
|
||||
Golden Apple = Золотое яблоко
|
||||
Hearty Stew = Сытное рагу
|
||||
Bucket of Cactus Pulp = Ведро с мякотью кактуса
|
||||
|
||||
#gates.lua
|
||||
Scorched Wood Fence Gate = Обожжёные деревянные ворота для забора
|
||||
Frost Wood Fence Gate = Замороженные деревянные ворота для забора
|
||||
Redwood Fence Gate = Ворота из секвойи для забора
|
||||
Willow Wood Fence Gate = Ивовые ворота для забора
|
||||
Healing Wood Fence Gate = Ворота из лечащего дерева для забора
|
||||
Palm Wood Fence Gate = Ворота из пальмого дерева для забора
|
||||
Banana Wood Fence Gate = Ворота из бананового дерева для забора
|
||||
Mushroom Trunk Fence Gate = Ворота из грибного ствола для забора
|
||||
Birch Wood Fence Gate = Берёзовые ворота для забора
|
||||
|
||||
#init.lua
|
||||
[MOD] Ethereal loaded = [MOD] Ethereal загружен
|
||||
|
||||
#leaves.lua
|
||||
Willow Twig = Ивовый прут
|
||||
Redwood Leaves = Листва секвойи
|
||||
Orange Leaves = Листва апельсина
|
||||
Banana Leaves = Листва банана
|
||||
Healing Tree Leaves = Листва лечащего дерева
|
||||
Palm Leaves = Пальмовая листва
|
||||
Birch Leaves = Берёзовая листва
|
||||
Frost Leaves = Замороженная листва
|
||||
Bamboo Leaves = Бамбуковая листва
|
||||
Mushroom Cap = Шляпка гриба
|
||||
Mushroom Pore = Грибные поры
|
||||
Bush = Куст
|
||||
Bush #2 = Куст #2
|
||||
Bush #3 = Куст #3
|
||||
|
||||
#mushroom.lua
|
||||
Mushroom Soup = Грибной суп
|
||||
|
||||
#onion.lua
|
||||
Wild Onion = Дикий лук
|
||||
|
||||
#plantlife.lua
|
||||
Fire Flower = Огненый цветок
|
||||
Fire Dust = Огненая пыль
|
||||
Vine = Виноградная лоза
|
||||
Light String Vine = Светящаяся виноградная лоза
|
||||
Fern = Папоротник
|
||||
Fern Tubers = Клубни папоротника
|
||||
Fiery Dry Shrub = Огненный сухой кустарник
|
||||
Snowy Grass = Заснеженная трава
|
||||
Crystal Grass = Хрустальная трава
|
||||
Crystal Moss = Хрустальный мох
|
||||
Mushroom Moss = Грибной мох
|
||||
Fiery Moss = Огненный мох
|
||||
Gray Moss = Серый мох
|
||||
Green Moss = Зелёный мох
|
||||
Red Illumishroom = Красный светящийся гриб
|
||||
Green Illumishroom = Зелёный светящийся гриб
|
||||
Cyan Illumishroom = Голубой светящийся гриб
|
||||
|
||||
#sapling.lua
|
||||
Bamboo Sprout = Росток бамбука
|
||||
Willow Tree Sapling = Саженец ивы
|
||||
Healing Tree Sapling = Саженец лечебного дерева
|
||||
Apple Tree Sapling = Саженец яблони
|
||||
Jungle Tree Sapling = Саженец дерева джунглей
|
||||
Pine Tree Sapling = Саженец сосны
|
||||
Big Tree Sapling = Саженец большого дерева
|
||||
Banana Tree Sapling = Саженец бананового дерева
|
||||
Frost Tree Sapling = Саженец морозного дерева
|
||||
Mushroom Tree Sapling = Саженец грибного дерева
|
||||
Palm Tree Sapling = Саженец пальмы
|
||||
Redwood Tree Sapling = Саженец секвойи
|
||||
Orange Tree Sapling = Саженец апельсинового дерева
|
||||
Acacia Tree Sapling = Саженец акации
|
||||
Birch Tree Sapling = Саженец берёзы
|
||||
Schematic not found = Схема не найдена
|
||||
|
||||
#sealife.lua
|
||||
Seaweed = Водоросли
|
||||
Blue Coral = Синий коралл
|
||||
Orange Coral = Оранжевый коралл
|
||||
Pink Coral = Розовый коралл
|
||||
Green Coral = Залёный коралл
|
||||
Sandy = Песочный
|
||||
|
||||
#stairs.lua
|
||||
Crystal Block Stair = Ступенька из хрустального блока
|
||||
Crystal Block Slab = Плита из хрустального блока
|
||||
Ice Brick Stair = Ступенька из ледяного кирпича
|
||||
Ice Brick Slab = Плита из ледяного кирпича
|
||||
Snow Brick Stair = Ступенька из снежного кирпича
|
||||
Snow Brick Slab = Плита из снежного кирпича
|
||||
Dry Dirt Stair = Ступенька из сухой земли
|
||||
Dry Dirt Slab = Плита из сухой земли
|
||||
Mushroom Trunk Stair = Ступенька из ствола гриба
|
||||
Mushroom Trunk Slab = Плита из ствола гриба
|
||||
Mushroom Top Stair = Ступенька из шляпки гриба
|
||||
Mushroom Top Slab = Плита из шляпки гриба
|
||||
Frost Wood Stair = Ступенька из замороженных досок
|
||||
Frost Wood Slab = Плита из замороженных досок
|
||||
Healing Wood Stair = Ступенька из лечебного дерева
|
||||
Healing Wood Slab = Плита из лечебного дерева
|
||||
Palm Wood Stair = Ступенька из пальмовых досок
|
||||
Palm Wood Slab = Плита из пальмовых досок
|
||||
Birch Wood Stair = Ступенька из берёзовых досок
|
||||
Birch Wood Slab = Плита из берёзовых досок
|
||||
Banana Wood Stair = Ступенька из банановых досок
|
||||
Banana Wood Slab = Плита из банановых досок
|
||||
Willow Wood Stair = Ступенька из ивовых досок
|
||||
Willow Wood Slab = Плита из ивовых досок
|
||||
Redwood Stair = Ступенька из секвойи
|
||||
Redwood Slab = Плита из секвойи
|
||||
Bamboo Stair = Ступенька из бамбука
|
||||
Bamboo Slab = Плита из бамбука
|
||||
Dry Dirt = Сухая земля
|
||||
Mushroom Trunk = Ствол гриба
|
||||
Mushroom Top = Шляпка гриба
|
||||
Healing Wood = лечебная древесина
|
||||
Redwood = Секвойя
|
||||
|
||||
#strawberry.lua
|
||||
Strawberry = Клубника
|
||||
|
||||
#water.lua
|
||||
Ice Brick = Ледяной кирпич
|
||||
Snow Brick = Снежный кирпич
|
||||
|
||||
#wood.lua
|
||||
Willow Trunk = Ствол ивы
|
||||
Willow Wood = Доски ивы
|
||||
Redwood Trunk = Ствол секвойи
|
||||
Redwood Wood = Доски секвойи
|
||||
Frost Tree = Морозное дерево
|
||||
Frost Wood = Доски
|
||||
Healing Tree Trunk = Ствол лечебного дерева
|
||||
Healing Tree Wood = Доски лечебного дерева
|
||||
Palm Trunk = Ствол пальмы
|
||||
Palm Wood = Доски пальмы
|
||||
Banana Trunk = Ствол бананового дерева
|
||||
Banana Wood = Доски банавого дерева
|
||||
Scorched Tree = Обожжёное дерево
|
||||
Mushroom = Гриб
|
||||
Birch Trunk = Ствол берёзы
|
||||
Birch Wood = Доски берёзы
|
||||
Bamboo = Бамбук
|
294
mods/ethereal/locale/template.txt
Normal file
@ -0,0 +1,294 @@
|
||||
# Template for translations of ethereal mod
|
||||
# last update: 2022/June/04
|
||||
|
||||
#biomes.lua
|
||||
Blue Marble=
|
||||
Blue Marble Tile=
|
||||
|
||||
#bonemeal.lua
|
||||
Bone=Hueso
|
||||
Bone Meal=
|
||||
|
||||
#crystal.lua
|
||||
Crystal Spike=
|
||||
Crystal Ingot=
|
||||
Crystal Block=
|
||||
Crystal Sword=
|
||||
Crystal Axe=
|
||||
Crystal Pickaxe=
|
||||
Crystal Shovel=
|
||||
Crystal Gilly Staff=
|
||||
|
||||
#dirt.lua
|
||||
Green Dirt=
|
||||
Dried Dirt=
|
||||
Bamboo Dirt=
|
||||
Jungle Dirt=
|
||||
Grove Dirt=
|
||||
Prairie Dirt=
|
||||
Cold Dirt=
|
||||
Crystal Dirt=
|
||||
Mushroom Dirt=
|
||||
Fiery Dirt=
|
||||
Gray Dirt=
|
||||
Red Baked Clay=
|
||||
Orange Baked Clay=
|
||||
Grey Baked Clay=
|
||||
Quicksand=
|
||||
|
||||
#extra.lua
|
||||
Bamboo Floor=
|
||||
Palm Wax=
|
||||
Candle=
|
||||
Black Candle=
|
||||
Blue Candle=
|
||||
Brown Candle=
|
||||
Cyan Candle=
|
||||
Dark Green Candle=
|
||||
Dark Grey Candle=
|
||||
Green Candle=
|
||||
Grey Candle=
|
||||
Magenta Candle=
|
||||
Orange Candle=
|
||||
Pink Candle=
|
||||
Red Candle=
|
||||
Violet Candle=
|
||||
Yellow Candle=
|
||||
Bowl=
|
||||
Stone Ladder=
|
||||
Paper Wall=
|
||||
Glo Stone=
|
||||
Lump of Charcoal=
|
||||
Staff of Light=
|
||||
Etherium Dust=
|
||||
Etherium Ore=
|
||||
Bamboo Block=
|
||||
|
||||
#fences.lua
|
||||
Scorched Fence=
|
||||
Frost Fence=
|
||||
Redwood Fence=
|
||||
Willow Fence=
|
||||
Healing Wood Fence=
|
||||
Palm Fence=
|
||||
Banana Wood Fence=
|
||||
Mushroom Fence=
|
||||
Birch Fence=
|
||||
Sakura Wood Door=
|
||||
|
||||
#fishing.lua
|
||||
Blue Fin=
|
||||
Blue Ram=
|
||||
Catfish=
|
||||
Clownfish=
|
||||
Pike=
|
||||
Flathead=
|
||||
Plaice=
|
||||
Pufferfish=
|
||||
Coy=
|
||||
Salmon=
|
||||
Cichlid=
|
||||
Angler=
|
||||
Jellyfish=
|
||||
Seahorse=
|
||||
Piranha=
|
||||
Trout=
|
||||
Raw Fish=
|
||||
Cooked Fish=
|
||||
Sashimi=
|
||||
Worm=
|
||||
Fishing Rod (USE to cast and again when the time is right)=
|
||||
Baited Fishing Rod=
|
||||
Inventory full, Fish Got Away!=
|
||||
|
||||
#flight.lua
|
||||
Flight Potion=
|
||||
Flight timer about to expire!=
|
||||
Flight already granted, @1 seconds left!=
|
||||
Flight granted, you have @1 seconds!=
|
||||
|
||||
#food.lua
|
||||
Banana Bunch=
|
||||
Firethorn Jelly=
|
||||
Lemon=
|
||||
Candied Lemon=
|
||||
Lemonade=
|
||||
Olive=
|
||||
Olive Oil=
|
||||
Kappa Maki Sushi=
|
||||
Nigiri Sushi=
|
||||
Tamago Sushi=
|
||||
Fugusashi=
|
||||
Teriyaki Chicken=
|
||||
Teriyaki Beef=
|
||||
Banana=
|
||||
Banana Dough=
|
||||
Orange=
|
||||
Pine Nuts=
|
||||
Banana Loaf=
|
||||
Coconut=
|
||||
Coconut Slice=
|
||||
Golden Apple=
|
||||
Hearty Stew=
|
||||
Bucket of Cactus Pulp=
|
||||
|
||||
#gates.lua
|
||||
Scorched Wood Fence Gate=
|
||||
Frost Wood Fence Gate=
|
||||
Redwood Fence Gate=
|
||||
Willow Wood Fence Gate=
|
||||
Healing Wood Fence Gate=
|
||||
Palm Wood Fence Gate=
|
||||
Banana Wood Fence Gate=
|
||||
Mushroom Trunk Fence Gate=
|
||||
Birch Wood Fence Gate=
|
||||
|
||||
#init.lua
|
||||
[MOD] Ethereal loaded=
|
||||
|
||||
#leaves.lua
|
||||
Sakura Leaves=
|
||||
Lemon Tree Leaves=
|
||||
Olive Tree Leaves=
|
||||
Willow Twig=
|
||||
Redwood Leaves=
|
||||
Orange Leaves=
|
||||
Banana Leaves=
|
||||
Healing Tree Leaves=
|
||||
Palm Leaves=
|
||||
Birch Leaves=
|
||||
Frost Leaves=
|
||||
Bamboo Leaves=
|
||||
Mushroom Cap=
|
||||
Mushroom Pore=
|
||||
Bush=
|
||||
Bush #2=
|
||||
Bush #3=
|
||||
|
||||
#mushroom.lua
|
||||
Mushroom Soup=
|
||||
|
||||
#onion.lua
|
||||
Wild Onion=
|
||||
|
||||
#plantlife.lua
|
||||
Firethorn Shrub=
|
||||
Fire Flower=
|
||||
Fire Dust=
|
||||
Vine=
|
||||
Light String Vine=
|
||||
Fern=
|
||||
Fern Tubers=
|
||||
Fiery Dry Shrub=
|
||||
Snowy Grass=
|
||||
Crystal Grass=
|
||||
Crystal Moss=
|
||||
Mushroom Moss=
|
||||
Fiery Moss=
|
||||
Gray Moss=
|
||||
Green Moss=
|
||||
Red Illumishroom=
|
||||
Green Illumishroom=
|
||||
Cyan Illumishroom=
|
||||
|
||||
#sapling.lua
|
||||
Giant Redwood Tree Sapling=
|
||||
Sakura Tree Sapling=
|
||||
Lemon Tree Sapling=
|
||||
Olive Tree Sapling=
|
||||
Bamboo Sprout=
|
||||
Willow Tree Sapling=
|
||||
Healing Tree Sapling=
|
||||
Apple Tree Sapling=
|
||||
Jungle Tree Sapling=
|
||||
Pine Tree Sapling=
|
||||
Big Tree Sapling=
|
||||
Banana Tree Sapling=
|
||||
Frost Tree Sapling=
|
||||
Mushroom Tree Sapling=
|
||||
Palm Tree Sapling=
|
||||
Redwood Tree Sapling=
|
||||
Orange Tree Sapling=
|
||||
Birch Tree Sapling=
|
||||
Schematic not found=
|
||||
|
||||
#sealife.lua
|
||||
Agar Powder=
|
||||
Sponge=
|
||||
Wet sponge=
|
||||
Seaweed=
|
||||
Blue Glow Coral=
|
||||
Orange Glow Coral=
|
||||
Pink Glow Coral=
|
||||
Green Glow Coral=
|
||||
|
||||
#stairs.lua
|
||||
Blue Marble Stair=
|
||||
Blue Marble Tile=
|
||||
Sakura Wood Stair=
|
||||
Sakura Wood Tile=
|
||||
Olive Wood Stair=
|
||||
Olive Wood Tile=
|
||||
Crystal Block Stair=
|
||||
Crystal Block Slab=
|
||||
Ice Brick Stair=
|
||||
Ice Brick Slab=
|
||||
Snow Brick Stair=
|
||||
Snow Brick Slab=
|
||||
Dried Dirt Stair=
|
||||
Dried Dirt Slab=
|
||||
Mushroom Trunk Stair=
|
||||
Mushroom Trunk Slab=
|
||||
Mushroom Top Stair=
|
||||
Mushroom Top Slab=
|
||||
Frost Wood Stair=
|
||||
Frost Wood Slab=
|
||||
Healing Wood Stair=
|
||||
Healing Wood Slab=
|
||||
Palm Wood Stair=
|
||||
Palm Wood Slab=
|
||||
Birch Wood Stair=
|
||||
Birch Wood Slab=
|
||||
Banana Wood Stair=
|
||||
Banana Wood Slab=
|
||||
Willow Wood Stair=
|
||||
Willow Wood Slab=
|
||||
Redwood Stair=
|
||||
Redwood Slab=
|
||||
Bamboo Stair=
|
||||
Bamboo Slab=
|
||||
Dry Dirt=
|
||||
Mushroom Trunk=
|
||||
Mushroom Top=
|
||||
Healing Wood=
|
||||
Redwood=
|
||||
|
||||
#strawberry.lua
|
||||
Strawberry=
|
||||
|
||||
#water.lua
|
||||
Ice Brick=
|
||||
Snow Brick=
|
||||
|
||||
#wood.lua
|
||||
Sakura Trunk=
|
||||
Sakura Wood=
|
||||
Olive Trunk=
|
||||
Olive Wood=
|
||||
Willow Trunk=
|
||||
Willow Wood=
|
||||
Redwood Trunk=
|
||||
Redwood Wood=
|
||||
Frost Tree=
|
||||
Frost Wood=
|
||||
Healing Tree Trunk=
|
||||
Healing Tree Wood=
|
||||
Palm Trunk=
|
||||
Palm Wood=
|
||||
Banana Trunk=
|
||||
Banana Wood=
|
||||
Scorched Tree=
|
||||
Mushroom=
|
||||
Birch Trunk=
|
||||
Birch Wood=
|
||||
Bamboo=
|
178
mods/ethereal/locale/zh_CN.txt
Normal file
@ -0,0 +1,178 @@
|
||||
Bone =骨
|
||||
Bone Meal =骨粉
|
||||
Crystal Spike =水晶尖
|
||||
Crystal Ingot =水晶锭
|
||||
Crystal Block =水晶块
|
||||
Crystal Sword =水晶剑
|
||||
Crystal Axe =水晶斧
|
||||
Crystal Pickaxe =水晶锄
|
||||
Crystal (soft touch) Shovel =水晶铲
|
||||
Crystal Gilly Staff =水晶网络人员
|
||||
Green Dirt =绿土
|
||||
Dried Dirt =干土
|
||||
Bamboo Dirt =竹林土
|
||||
Jungle Dirt =丛林土
|
||||
Grove Dirt =灌木丛土
|
||||
Prairie Dirt =草原土
|
||||
Cold Dirt =冻土
|
||||
Crystal Dirt =水晶尘
|
||||
Mushroom Dirt =蘑菇土
|
||||
Fiery Dirt =枯土
|
||||
Gray Dirt =灰色的尘土
|
||||
Red Baked Clay =红色烤粘土
|
||||
Orange Baked Clay =橙色烤粘土
|
||||
Grey Baked Clay =灰色烤粘土
|
||||
Quicksand =流沙
|
||||
Bamboo Floor =竹地板
|
||||
Palm Wax =棕榈蜡
|
||||
Candle =蜡烛
|
||||
Bowl =碗
|
||||
Stone Ladder =石梯
|
||||
Paper Wall =纸墙
|
||||
Glo Stone =荧光石
|
||||
Lump of Charcoal =块木炭
|
||||
Staff of Light =灯柱
|
||||
Scorched Fence =烧焦的栅栏
|
||||
Frost Fence =霜木栅栏
|
||||
Redwood Fence =红杉栅栏
|
||||
Willow Fence =柳树栅栏
|
||||
Healing Wood Fence =治疗木栅栏
|
||||
Palm Fence =棕榈栅栏
|
||||
Banana Wood Fence =香蕉木栅栏
|
||||
Mushroom Fence =蘑菇栅栏
|
||||
Birch Fence =桦树栅栏
|
||||
Raw Fish =生鱼
|
||||
Cooked Fish =煮熟的鱼
|
||||
Sashimi =生鱼片
|
||||
Worm =蠕虫
|
||||
Fishing Rod =鱼竿
|
||||
Baited Fishing Rod =带饵的钓鱼竿
|
||||
Inventory full, Fish Got Away! =库存满了,鱼逃掉了!
|
||||
Banana =香蕉
|
||||
Banana Dough =香蕉皮
|
||||
Orange =橙子
|
||||
Pine Nuts =松子
|
||||
Banana Loaf =香蕉面包
|
||||
Coconut =椰子
|
||||
Coconut Slice =椰子片
|
||||
Golden Apple =金苹果
|
||||
Hearty Stew =丰盛的炖肉
|
||||
Bucket of Cactus Pulp =仙人掌果肉桶
|
||||
Scorched Wood Fence Gate =烧焦的木栅栏门
|
||||
Frost Wood Fence Gate =霜木栅栏门
|
||||
Redwood Fence Gate =红杉栅栏门
|
||||
Willow Wood Fence Gate =柳树木栅栏门
|
||||
Healing Wood Fence Gate =愈合木栅栏门
|
||||
Palm Wood Fence Gate =棕榈木栅栏门
|
||||
Banana Wood Fence Gate =香蕉木栅栏门
|
||||
Mushroom Trunk Fence Gate =蘑菇栅栏门
|
||||
Birch Wood Fence Gate =白桦木栅栏门
|
||||
[MOD] Ethereal loaded =(MOD)的加载
|
||||
Willow Twig =柳树枝
|
||||
Redwood Leaves =红杉树叶
|
||||
Orange Leaves =橙子树叶
|
||||
Banana Leaves =香蕉树叶
|
||||
Healing Tree Leaves =治疗树叶
|
||||
Palm Leaves =棕榈叶
|
||||
Birch Leaves =白桦树叶
|
||||
Frost Leaves =霜叶子
|
||||
Bamboo Leaves =竹叶
|
||||
Mushroom Cap =蘑菇帽
|
||||
Mushroom Pore =蘑菇孔隙
|
||||
Bush =灌木
|
||||
Bush #2 =灌木 #2
|
||||
Bush #3 =灌木 #3
|
||||
Mushroom Soup =蘑菇汤
|
||||
Wild Onion =野生洋葱
|
||||
Fire Flower =火焰花
|
||||
Fire Dust =火土
|
||||
Vine =藤蔓
|
||||
Light String Vine =荧光藤蔓
|
||||
Fern =蕨类植物
|
||||
Fern Tubers =蕨类植物的茎
|
||||
Fiery Dry Shrub =干枯灌木
|
||||
Snowy Grass =雪草
|
||||
Crystal Grass =水晶草
|
||||
Crystal Moss =水晶苔藓
|
||||
Mushroom Moss =蘑菇苔藓
|
||||
Fiery Moss =枯苔藓
|
||||
Gray Moss =灰色苔藓
|
||||
Green Moss =绿色的苔藓
|
||||
Red Illumishroom =红色蘑菇
|
||||
Green Illumishroom =绿色蘑菇
|
||||
Cyan Illumishroom =青色蘑菇
|
||||
Bamboo Sprout =竹笋
|
||||
Willow Tree Sapling =柳树树苗
|
||||
Healing Tree Sapling =治疗树树苗
|
||||
Apple Tree Sapling =苹果树树苗
|
||||
Jungle Tree Sapling =丛林树树苗
|
||||
Pine Tree Sapling =松树树苗
|
||||
Big Tree Sapling =大树树苗
|
||||
Banana Tree Sapling =香蕉树树苗
|
||||
Frost Tree Sapling =霜树树苗
|
||||
Mushroom Tree Sapling =蘑菇树树苗
|
||||
Palm Tree Sapling =棕榈树树苗
|
||||
Redwood Tree Sapling =红木树树苗
|
||||
Orange Tree Sapling =橙树树苗
|
||||
Acacia Tree Sapling =金合欢树树苗
|
||||
Birch Tree Sapling =桦树树苗
|
||||
Schematic not found =没有找到示意图
|
||||
Seaweed =海藻
|
||||
Blue Coral =蓝色珊瑚
|
||||
Orange Coral =橙色珊瑚
|
||||
Pink Coral =粉色珊瑚
|
||||
Green Coral =绿色珊瑚
|
||||
Sandy =沙子
|
||||
Crystal Block Stair =水晶楼梯
|
||||
Crystal Block Slab =水晶板
|
||||
Ice Brick Stair =冰砖楼梯
|
||||
Ice Brick Slab =冰砖板
|
||||
Snow Brick Stair =雪砖楼梯
|
||||
Snow Brick Slab =雪砖板
|
||||
Dry Dirt Stair =干燥的泥土楼梯
|
||||
Dry Dirt Slab =干土板
|
||||
Mushroom Trunk Stair =蘑菇楼梯
|
||||
Mushroom Trunk Slab =蘑菇板
|
||||
Mushroom Top Stair =蘑菇上楼梯
|
||||
Mushroom Top Slab =蘑菇顶部板
|
||||
Frost Wood Stair =霜木楼梯
|
||||
Frost Wood Slab =霜木材板
|
||||
Healing Wood Stair =治疗木楼梯
|
||||
Healing Wood Slab =治疗木板
|
||||
Palm Wood Stair =棕榈木楼梯
|
||||
Palm Wood Slab =棕榈木板
|
||||
Birch Wood Stair =白桦木楼梯
|
||||
Birch Wood Slab =白桦木板
|
||||
Banana Wood Stair =香蕉木楼梯
|
||||
Banana Wood Slab =香蕉木板
|
||||
Willow Wood Stair =柳树木楼梯
|
||||
Willow Wood Slab =柳树木板
|
||||
Redwood Stair =红木楼梯
|
||||
Redwood Slab =红杉板
|
||||
Bamboo Stair =竹楼梯
|
||||
Bamboo Slab =竹板
|
||||
Dry Dirt =干燥的泥土
|
||||
Mushroom Trunk =蘑菇干
|
||||
Mushroom Top =蘑菇顶部
|
||||
Healing Wood =治疗木
|
||||
Redwood =红木
|
||||
Strawberry =草莓
|
||||
Ice Brick =冰砖
|
||||
Snow Brick =雪砖
|
||||
Willow Trunk =柳树树干
|
||||
Willow Wood =柳树木
|
||||
Redwood Trunk =红木箱子
|
||||
Redwood Wood =红木木材
|
||||
Frost Tree =霜树
|
||||
Frost Wood =霜木
|
||||
Healing Tree Trunk =治疗树干
|
||||
Healing Tree Wood =治疗树木材
|
||||
Palm Trunk =棕榈树干
|
||||
Palm Wood =棕榈木
|
||||
Banana Trunk =香蕉树干
|
||||
Banana Wood =香蕉木
|
||||
Scorched Tree =烧焦的树
|
||||
Mushroom =蘑菇
|
||||
Birch Trunk =桦树树干
|
||||
Birch Wood =白桦木材
|
||||
Bamboo =竹子
|
159
mods/ethereal/lucky_block.lua
Normal file
@ -0,0 +1,159 @@
|
||||
|
||||
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 = 2, y = 0, z = 2}},
|
||||
{"birchtree", ethereal.birchtree, {x = 2, y = 0, z = 2}},
|
||||
{"basandrabush", ethereal.basandrabush, {x = 1, y = 0, z = 1}}
|
||||
})
|
||||
|
||||
lucky_block:add_blocks({
|
||||
{"sch", "basandrabush", 0, false},
|
||||
{"dro", {"ethereal:basandra_wood"}, 5},
|
||||
{"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:flight_potion"}, 1},
|
||||
{"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"}},
|
||||
{"nod", "ethereal:basandra_bush_stem", 1},
|
||||
{"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},
|
||||
{name = "ethereal:lemon_tree_sapling", max = 10},
|
||||
{name = "ethereal:olive_tree_sapling", max = 10}
|
||||
}},
|
||||
{"flo", 5, {"ethereal:blue_marble_tile"}, 2},
|
||||
{"dro", {"ethereal:blue_marble", "ethereal:blue_marble_tile"}, 8},
|
||||
{"dro", {"ethereal:etherium_ore"}, 5},
|
||||
{"nod", "default:chest", 0, {
|
||||
{name = "ethereal:fish_bluefin", max = 7},
|
||||
{name = "ethereal:fish_blueram", max = 7},
|
||||
{name = "ethereal:fish_catfish", max = 7},
|
||||
{name = "ethereal:fish_clownfish", max = 7},
|
||||
{name = "ethereal:fish_pike", max = 7},
|
||||
{name = "ethereal:fish_flathead", max = 7},
|
||||
{name = "ethereal:fish_plaice", max = 7},
|
||||
{name = "ethereal:fish_pufferfish", max = 5},
|
||||
{name = "ethereal:fish_salmon", max = 7},
|
||||
{name = "ethereal:fish_cichlid", max = 7},
|
||||
{name = "ethereal:fish_trout", max =7},
|
||||
{name = "ethereal:fish_tilapia", max = 4},
|
||||
{name = "ethereal:fish_parrot", max = 4},
|
||||
{name = "ethereal:fishing_rod", max = 1},
|
||||
{name = "ethereal:worm", max = 10}
|
||||
}},
|
||||
{"nod", "default:chest", 0, {
|
||||
{name = "ethereal:fish_carp", max = 4},
|
||||
{name = "ethereal:fish_coy", max = 4},
|
||||
{name = "ethereal:fish_flounder", max = 4},
|
||||
{name = "ethereal:fish_jellyfish", max = 4},
|
||||
{name = "ethereal:fish_mackerel", max = 4},
|
||||
{name = "ethereal:fish_redsnapper", max = 4},
|
||||
{name = "ethereal:fish_tuna", max = 4},
|
||||
{name = "ethereal:fish_squid", max = 4},
|
||||
{name = "ethereal:fish_shrimp", max = 4},
|
||||
{name = "ethereal:fish_angler", max = 4},
|
||||
{name = "ethereal:fish_piranha", max = 4},
|
||||
{name = "ethereal:fish_trevally", max = 4},
|
||||
{name = "ethereal:fishing_rod", max = 1},
|
||||
{name = "ethereal:worm", max = 10}
|
||||
}},
|
||||
{"dro", {"ethereal:lemon"}, 9},
|
||||
{"dro", {"ethereal:fish_seahorse", "ethereal:fish_seahorse_green",
|
||||
"ethereal:fish_seahorse_pink", "ethereal:fish_seahorse_blue",
|
||||
"ethereal:fish_seahorse_yellow"}, 1},
|
||||
{"dro", {"ethereal:jellyfish_salad"}, 2},
|
||||
{"dro", {"ethereal:calamari_cooked", "ethereal:calamari_raw"}, 4},
|
||||
{"dro", {"ethereal:fish_shrimp", "ethereal:fish_shrimp_cooked"}, 4},
|
||||
{"dro", {"ethereal:teriyaki_chicken", "ethereal:teriyaki_beef"}, 4},
|
||||
{"dro", {"ethereal:sushi_tamago", "ethereal:sushi_nigiri",
|
||||
"ethereal:sushi_kappamaki", "ethereal:fugu", "ethereal:sashimi"}, 4},
|
||||
{"flo", 3, {"ethereal:gray_moss", "ethereal:fiery_moss", "ethereal:green_moss",
|
||||
"ethereal:crystal_moss", "ethereal:mushroom_moss"}, 1},
|
||||
{"tro", "ethereal:candle_red", "tnt_blast", true},
|
||||
{"nod", "ethereal:candle_orange", 0},
|
||||
{"nod", "ethereal:candle", 0},
|
||||
{"dro", {"ethereal:fish_tetra", "ethereal:fish_shrimp", "ethereal:worm"}, 1},
|
||||
{"nod", "default:chest", 0, {
|
||||
{name = "ethereal:fish_n_chips", max = 1},
|
||||
{name = "ethereal:calamari_cooked", max = 1},
|
||||
{name = "ethereal:jellyfish_salad", max = 1},
|
||||
{name = "ethereal:garlic_shrimp", max = 1},
|
||||
{name = "ethereal:fish_shrimp_cooked", max = 1},
|
||||
{name = "ethereal:mushroom_soup", max = 1},
|
||||
{name = "ethereal:teriyaki_beed", max = 1},
|
||||
{name = "ethereal:teriyaki_chicken", max = 1},
|
||||
{name = "ethereal:fugu", max = 1},
|
||||
{name = "ethereal:sushu_tamago", max = 1},
|
||||
{name = "ethereal:sushi_nigiri", max = 1},
|
||||
{name = "ethereal:sushi_kappamaki", max = 1},
|
||||
{name = "ethereal:hearty_stew", max = 1},
|
||||
}}
|
||||
})
|
||||
|
||||
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
|
4
mods/ethereal/mod.conf
Normal file
@ -0,0 +1,4 @@
|
||||
name = ethereal
|
||||
depends = default, flowers, farming
|
||||
optional_depends = stairs, doors, bakedclay, moreblocks, lucky_block, toolranks
|
||||
description = BIOME mod mapgen to add many new biomes to the world
|
128
mods/ethereal/onion.lua
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- wild onion
|
||||
minetest.register_craftitem("ethereal:wild_onion_plant", {
|
||||
description = S("Wild Onion"),
|
||||
inventory_image = "ethereal_wild_onion.png",
|
||||
wield_image = "ethereal_wild_onion.png",
|
||||
groups = {food_onion = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(2),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:wild_onion_1")
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
-- Define Onion growth stages
|
||||
local 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(def))
|
||||
|
||||
--stage 2
|
||||
def.tiles = {"ethereal_wild_onion_2.png"}
|
||||
minetest.register_node("ethereal:onion_2", table.copy(def))
|
||||
|
||||
--stage 3
|
||||
def.tiles = {"ethereal_wild_onion_3.png"}
|
||||
minetest.register_node("ethereal:onion_3", table.copy(def))
|
||||
|
||||
--stage 4
|
||||
def.tiles = {"ethereal_wild_onion_4.png"}
|
||||
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(def))
|
||||
|
||||
--stage 5
|
||||
def.tiles = {"ethereal_wild_onion_5.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, -2.5/16, 0.5}
|
||||
}
|
||||
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(def))
|
||||
|
||||
|
||||
-- growing routine if farming redo isn't present
|
||||
if farming and farming.mod and farming.mod == "redo" then
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["ethereal:wild_onion_plant"] = {
|
||||
crop = "ethereal:onion",
|
||||
seed = "ethereal:wild_onion_plant",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 5
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
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 = 11,
|
||||
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
|
87
mods/ethereal/ores.lua
Normal file
@ -0,0 +1,87 @@
|
||||
|
||||
-- Baked Clay (mesa biome is between 1 and 71)
|
||||
|
||||
local add_stratum = function(y_min, y_max, node)
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "stratum",
|
||||
ore = node,
|
||||
wherein = {"bakedclay:orange"},
|
||||
clust_scarcity = 1,
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
biomes = {"mesa"}
|
||||
})
|
||||
end
|
||||
|
||||
add_stratum(5, 10, "bakedclay:red")
|
||||
add_stratum(15, 20, "bakedclay:grey")
|
||||
add_stratum(25, 30, "bakedclay:red")
|
||||
add_stratum(35, 40, "bakedclay:grey")
|
||||
add_stratum(45, 50, "bakedclay:red")
|
||||
add_stratum(55, 60, "bakedclay:grey")
|
||||
|
||||
|
||||
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)
|
||||
|
||||
-- Iron
|
||||
add_ore("default:stone_with_iron", "default:desert_stone", 9*9*9, 5, 3, -63, -16)
|
||||
add_ore("default:stone_with_iron", "default:desert_stone", 24*24*24, 27, 6, -31000, -64)
|
||||
|
||||
--Mese
|
||||
add_ore("default:stone_with_mese", "default:desert_stone", 14*14*14, 5, 3, -31000, -256)
|
||||
|
||||
-- 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)
|
||||
|
||||
-- Diamond
|
||||
add_ore("default:stone_with_diamond", "default:desert_stone", 17*17*17, 4, 3, -255, -128)
|
||||
add_ore("default:stone_with_diamond", "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)
|
||||
|
||||
-- Coral Sand
|
||||
add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -10)
|
||||
|
||||
-- Etherium
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "ethereal:etherium_ore",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 10 * 10 * 10,
|
||||
clust_num_ores = 1,
|
||||
clust_size = 1,
|
||||
y_min = 5,
|
||||
y_max = 40,
|
||||
biomes = {"caves"}
|
||||
})
|
||||
|
||||
-- Etherium in floatlands
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "ethereal:stone_with_etherium_ore",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 9 * 9 * 9,
|
||||
clust_num_ores = 6,
|
||||
clust_size = 2,
|
||||
y_min = 1025,
|
||||
y_max = 31000
|
||||
})
|
337
mods/ethereal/plantlife.lua
Normal file
@ -0,0 +1,337 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Spore Grass
|
||||
minetest.register_node("ethereal:spore_grass", {
|
||||
description = S("Spore Grass"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_spore_grass.png"},
|
||||
inventory_image = "ethereal_spore_grass.png",
|
||||
wield_image = "ethereal_spore_grass.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 4 / 16, 5 / 16}
|
||||
}
|
||||
})
|
||||
|
||||
-- Firethorn (poisonous when eaten raw, must be crushed and washed in flowing water 1st)
|
||||
minetest.register_node("ethereal:firethorn", {
|
||||
description = S("Firethorn Shrub"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_firethorn.png"},
|
||||
inventory_image = "ethereal_firethorn.png",
|
||||
wield_image = "ethereal_firethorn.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 4 / 16, 5 / 16}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Fire Flower
|
||||
minetest.register_node("ethereal:fire_flower", {
|
||||
description = S("Fire Flower"),
|
||||
drawtype = "plantlike",
|
||||
tiles = { "ethereal_fire_flower.png" },
|
||||
inventory_image = "ethereal_fire_flower.png",
|
||||
wield_image = "ethereal_fire_flower.png",
|
||||
paramtype = "light",
|
||||
light_source = 5,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
damage_per_second = 2,
|
||||
groups = {snappy = 1, oddly_breakable_by_hand = 3, igniter = 2},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 1 / 2, 5 / 16}
|
||||
},
|
||||
|
||||
on_punch = function(pos, node, puncher)
|
||||
|
||||
puncher:punch(puncher, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 2}
|
||||
}, nil)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:fire_flower",
|
||||
burntime = 20
|
||||
})
|
||||
|
||||
|
||||
-- Fire Dust
|
||||
minetest.register_craftitem("ethereal:fire_dust", {
|
||||
description = S("Fire Dust"),
|
||||
inventory_image = "ethereal_fire_dust.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:fire_dust 2",
|
||||
recipe = {{"ethereal:fire_flower"}}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:fire_dust",
|
||||
burntime = 10
|
||||
})
|
||||
|
||||
|
||||
-- vines
|
||||
minetest.register_node("ethereal:vine", {
|
||||
description = S("Vine"),
|
||||
drawtype = "signlike",
|
||||
tiles = {"ethereal_vine.png"},
|
||||
inventory_image = "ethereal_vine.png",
|
||||
wield_image = "ethereal_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 = {"ethereal_lightstring.png"},
|
||||
inventory_image = "ethereal_lightstring.png",
|
||||
wield_image = "ethereal_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", "ethereal:fire_dust", "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 = {"ethereal_fern.png"},
|
||||
inventory_image = "ethereal_fern.png",
|
||||
wield_image = "ethereal_fern.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:fern_tubers"}, rarity = 6},
|
||||
{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}
|
||||
}
|
||||
})
|
||||
|
||||
-- Boston Ferns sometimes drop edible Tubers (heals 1/2 heart when eaten)
|
||||
minetest.register_craftitem("ethereal:fern_tubers", {
|
||||
description = S("Fern Tubers"),
|
||||
inventory_image = "ethereal_fern_tubers.png",
|
||||
groups = {food_tuber = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1)
|
||||
})
|
||||
|
||||
|
||||
-- Red Shrub (not flammable)
|
||||
minetest.register_node("ethereal:dry_shrub", {
|
||||
description = S("Fiery Dry Shrub"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_dry_shrub.png"},
|
||||
inventory_image = "ethereal_dry_shrub.png",
|
||||
wield_image = "ethereal_dry_shrub.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 4 / 16, 5 / 16}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Grey Shrub (not Flammable - too cold to burn)
|
||||
minetest.register_node("ethereal:snowygrass", {
|
||||
description = S("Snowy Grass"),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 0.9,
|
||||
tiles = {"ethereal_snowygrass.png"},
|
||||
inventory_image = "ethereal_snowygrass.png",
|
||||
wield_image = "ethereal_snowygrass.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 5 / 16, 5 / 16}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Crystal Shrub (not Flammable - too cold to burn)
|
||||
minetest.register_node("ethereal:crystalgrass", {
|
||||
description = S("Crystal Grass"),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 0.9,
|
||||
tiles = {"ethereal_crystalgrass.png"},
|
||||
inventory_image = "ethereal_crystalgrass.png",
|
||||
wield_image = "ethereal_crystalgrass.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 5 / 16, 5 / 16}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- lilac
|
||||
minetest.register_node("ethereal:lilac", {
|
||||
description = S("Lilac"),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.9,
|
||||
tiles = {"ethereal_lilac.png"},
|
||||
inventory_image = "ethereal_lilac.png",
|
||||
wield_image = "ethereal_lilac.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
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}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "dye:magenta 2",
|
||||
recipe = {{"ethereal:lilac"}}
|
||||
})
|
||||
|
||||
|
||||
-- Define Moss Types (Has grass textures on all sides)
|
||||
local add_moss = function(typ, descr, texture, receipe_item)
|
||||
|
||||
minetest.register_node("ethereal:" .. typ .. "_moss", {
|
||||
description = S(descr .. " Moss"),
|
||||
tiles = {texture},
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_grass_footstep", gain = 0.4}})
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:" .. typ .. "_moss",
|
||||
recipe = {{"default:dirt", receipe_item}}
|
||||
})
|
||||
end
|
||||
|
||||
add_moss("crystal", "Crystal", "ethereal_grass_crystal_top.png", "ethereal:frost_leaves")
|
||||
add_moss("mushroom", "Mushroom", "ethereal_grass_mushroom_top.png", "ethereal:spore_grass")
|
||||
add_moss("fiery", "Fiery", "ethereal_grass_fiery_top.png", "ethereal:dry_shrub")
|
||||
add_moss("gray", "Gray", "ethereal_grass_gray_top.png", "ethereal:snowygrass")
|
||||
add_moss("green", "Green", "default_grass.png", "default:jungleleaves")
|
||||
|
||||
|
||||
-- Illuminated Cave Shrooms (Red, Green and Blue)
|
||||
local add_shroom = function(name, desc, ad)
|
||||
|
||||
minetest.register_node("ethereal:illumishroom" .. ad, {
|
||||
description = S(desc .. " Illumishroom"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_illumishroom_" .. name .. ".png"},
|
||||
inventory_image = "ethereal_illumishroom_" .. name .. ".png",
|
||||
wield_image = "ethereal_illumishroom_" .. name .. ".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}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
add_shroom("red", "Red", "")
|
||||
add_shroom("green", "Green", "2")
|
||||
add_shroom("cyan", "Cyan", "3")
|
196
mods/ethereal/plantpack.lua
Normal file
@ -0,0 +1,196 @@
|
||||
|
||||
--= 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", "deciduous_forest", "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_dirt", "default:dirt_with_grass",
|
||||
"ethereal:grove_dirt", "ethereal:bamboo_dirt"
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"prairie", "deciduous_forest", "grassytwo", "bamboo"},
|
||||
decoration = {
|
||||
"xanadu:flower_jacobsladder", "xanadu:flower_thistle",
|
||||
"xanadu:flower_wildcarrot"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:prairie_dirt", "default:dirt_with_grass",
|
||||
"ethereal:grove_dirt"
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"prairie", "deciduous_forest", "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_dirt", "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", "deciduous_forest", "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 = {"coniferous_forest", "taiga", "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", "deciduous_forest_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", "deciduous_forest", "grassytwo", "jumble", "coniferous_forest",
|
||||
"taiga", "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 = {"grassland"},
|
||||
decoration = {"xanadu:poppy"}
|
||||
})
|
309
mods/ethereal/sapling.lua
Normal file
@ -0,0 +1,309 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Basandra Bush Sapling
|
||||
minetest.register_node("ethereal:basandra_bush_sapling", {
|
||||
description = S("Basandra Bush Sapling"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_basandra_bush_sapling.png"},
|
||||
inventory_image = "ethereal_basandra_bush_sapling.png",
|
||||
wield_image = "ethereal_basandra_bush_sapling.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
|
||||
},
|
||||
groups = {snappy = 2, dig_immediate = 3, attached_node = 1, ethereal_sapling = 1,
|
||||
sapling = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
grown_height = 2
|
||||
})
|
||||
|
||||
-- Bamboo Sprout
|
||||
minetest.register_node("ethereal:bamboo_sprout", {
|
||||
description = S("Bamboo Sprout"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_bamboo_sprout.png"},
|
||||
inventory_image = "ethereal_bamboo_sprout.png",
|
||||
wield_image = "ethereal_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:willow", "Willow", "ethereal_willow_sapling", 14)
|
||||
register_sapling("ethereal:yellow_tree", "Healing", "ethereal_yellow_tree_sapling", 19)
|
||||
register_sapling("ethereal:big_tree", "Big", "ethereal_big_tree_sapling", 7)
|
||||
register_sapling("ethereal:banana_tree", "Banana", "ethereal_banana_tree_sapling", 8)
|
||||
register_sapling("ethereal:frost_tree", "Frost", "ethereal_frost_tree_sapling", 19)
|
||||
register_sapling("ethereal:mushroom", "Mushroom", "ethereal_mushroom_sapling", 11)
|
||||
register_sapling("ethereal:palm", "Palm", "moretrees_palm_sapling", 9)
|
||||
register_sapling("ethereal:giant_redwood", "Giant Redwood",
|
||||
"ethereal_giant_redwood_sapling", 33)
|
||||
register_sapling("ethereal:redwood", "Redwood", "ethereal_redwood_sapling", 21)
|
||||
register_sapling("ethereal:orange_tree", "Orange", "ethereal_orange_tree_sapling", 6)
|
||||
register_sapling("ethereal:birch", "Birch", "moretrees_birch_sapling", 7)
|
||||
register_sapling("ethereal:sakura", "Sakura", "ethereal_sakura_sapling", 10)
|
||||
register_sapling("ethereal:lemon_tree", "Lemon", "ethereal_lemon_tree_sapling", 7)
|
||||
register_sapling("ethereal:olive_tree", "Olive", "ethereal_olive_tree_sapling", 10)
|
||||
|
||||
|
||||
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_basandra_bush(pos)
|
||||
add_tree(pos, 1, 0, 1, ethereal.basandrabush)
|
||||
end
|
||||
|
||||
function ethereal.grow_yellow_tree(pos)
|
||||
add_tree(pos, 4, 0, 4, ethereal.yellowtree)
|
||||
end
|
||||
|
||||
function ethereal.grow_big_tree(pos)
|
||||
add_tree(pos, 4, 0, 4, ethereal.bigtree)
|
||||
end
|
||||
|
||||
function ethereal.grow_banana_tree(pos)
|
||||
|
||||
if math.random(3) == 1 and minetest.find_node_near(pos, 1, {"farming:soil_wet"}) then
|
||||
|
||||
add_tree(pos, 3, 0, 3, ethereal.bananatree,
|
||||
{{"ethereal:banana", "ethereal:banana_bunch"}})
|
||||
else
|
||||
add_tree(pos, 3, 0, 3, ethereal.bananatree)
|
||||
end
|
||||
end
|
||||
|
||||
function ethereal.grow_frost_tree(pos)
|
||||
add_tree(pos, 4, 0, 4, ethereal.frosttrees)
|
||||
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_willow_tree(pos)
|
||||
add_tree(pos, 5, 0, 5, ethereal.willow)
|
||||
end
|
||||
|
||||
function ethereal.grow_redwood_tree(pos)
|
||||
add_tree(pos, 4, 0, 4, ethereal.redwood_small_tree)
|
||||
end
|
||||
|
||||
function ethereal.grow_giant_redwood_tree(pos)
|
||||
add_tree(pos, 7, 0, 7, ethereal.redwood_tree)
|
||||
end
|
||||
|
||||
function ethereal.grow_orange_tree(pos)
|
||||
add_tree(pos, 2, 0, 2, ethereal.orangetree)
|
||||
end
|
||||
|
||||
function ethereal.grow_bamboo_tree(pos)
|
||||
add_tree(pos, 1, 0, 1, ethereal.bambootree)
|
||||
end
|
||||
|
||||
function ethereal.grow_birch_tree(pos)
|
||||
add_tree(pos, 2, 0, 2, ethereal.birchtree)
|
||||
end
|
||||
|
||||
function ethereal.grow_sakura_tree(pos)
|
||||
|
||||
if math.random(10) == 1 then
|
||||
|
||||
add_tree(pos, 4, 0, 3, ethereal.sakura_tree,
|
||||
{{"ethereal:sakura_leaves", "ethereal:sakura_leaves2"}})
|
||||
else
|
||||
add_tree(pos, 4, 0, 3, ethereal.sakura_tree)
|
||||
end
|
||||
end
|
||||
|
||||
function ethereal.grow_lemon_tree(pos)
|
||||
add_tree(pos, 2, 0, 2, ethereal.lemontree)
|
||||
end
|
||||
|
||||
function ethereal.grow_olive_tree(pos)
|
||||
add_tree(pos, 3, 0, 3, ethereal.olivetree)
|
||||
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
|
||||
|
||||
|
||||
ethereal.grow_sapling = function(pos, node)
|
||||
|
||||
local light_level = minetest.get_node_light(pos) or 0
|
||||
|
||||
if light_level < 13 then
|
||||
return
|
||||
end
|
||||
|
||||
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:basandra_bush_sapling"
|
||||
and under == "ethereal:fiery_dirt" then
|
||||
ethereal.grow_basandra_bush(pos)
|
||||
|
||||
elseif node.name == "ethereal:yellow_tree_sapling"
|
||||
and minetest.get_item_group(under, "soil") > 0 then
|
||||
ethereal.grow_yellow_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:big_tree_sapling"
|
||||
and under == "default:dirt_with_grass" then
|
||||
ethereal.grow_big_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:banana_tree_sapling"
|
||||
and under == "ethereal:grove_dirt" then
|
||||
ethereal.grow_banana_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:frost_tree_sapling"
|
||||
and under == "ethereal:crystal_dirt" then
|
||||
ethereal.grow_frost_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:mushroom_sapling"
|
||||
and under == "ethereal:mushroom_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:willow_sapling"
|
||||
and under == "ethereal:gray_dirt" then
|
||||
ethereal.grow_willow_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:redwood_sapling"
|
||||
and under == "default:dirt_with_dry_grass" then
|
||||
ethereal.grow_redwood_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:giant_redwood_sapling"
|
||||
and under == "default:dirt_with_dry_grass" then
|
||||
ethereal.grow_giant_redwood_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:orange_tree_sapling"
|
||||
and under == "ethereal:prairie_dirt" then
|
||||
ethereal.grow_orange_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:bamboo_sprout"
|
||||
and under == "ethereal:bamboo_dirt" then
|
||||
ethereal.grow_bamboo_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:birch_sapling"
|
||||
and under == "default:dirt_with_grass" then
|
||||
ethereal.grow_birch_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:sakura_sapling"
|
||||
and under == "ethereal:bamboo_dirt" then
|
||||
ethereal.grow_sakura_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:olive_tree_sapling"
|
||||
and under == "ethereal:grove_dirt" then
|
||||
ethereal.grow_olive_tree(pos)
|
||||
|
||||
elseif node.name == "ethereal:lemon_tree_sapling"
|
||||
and under == "ethereal:grove_dirt" then
|
||||
ethereal.grow_lemon_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)
|
||||
ethereal.grow_sapling(pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
-- 2x redwood saplings make 1x giant redwood sapling
|
||||
minetest.register_craft({
|
||||
output = "ethereal:giant_redwood_sapling",
|
||||
recipe = {{"ethereal:redwood_sapling", "ethereal:redwood_sapling"}}
|
||||
})
|
86
mods/ethereal/schematics/bamboo_tree.lua
Normal file
@ -0,0 +1,86 @@
|
||||
|
||||
local _ = {name = "air", param1 = 000}
|
||||
local B = {name = "ethereal:bamboo", param1 = 255}
|
||||
local L = {name = "ethereal:bamboo_leaves", param1 = 255}
|
||||
local l = {name = "ethereal:bamboo_leaves", param1 = 100}
|
||||
|
||||
ethereal.bambootree = {
|
||||
|
||||
size = {x = 3, y = 18, z = 3},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 1, prob = 127},
|
||||
{ypos = 2, prob = 127},
|
||||
{ypos = 3, prob = 127}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
l,L,l,
|
||||
_,L,_,
|
||||
_,_,_,
|
||||
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
l,B,l,
|
||||
_,L,_,
|
||||
_,l,_,
|
||||
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
l,L,l,
|
||||
_,L,_,
|
||||
_,_,_,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ethereal.papyruswalk == true then
|
||||
|
||||
minetest.override_item("default:papyrus", {
|
||||
walkable = true,
|
||||
sunlight_propagates = true
|
||||
})
|
||||
end
|
85
mods/ethereal/schematics/banana_tree.lua
Normal file
@ -0,0 +1,85 @@
|
||||
|
||||
local _ = {name = "air", param1 = 0}
|
||||
local T = {name = "ethereal:banana_trunk", param1 = 255}
|
||||
local L = {name = "ethereal:bananaleaves", param1 = 255}
|
||||
local l = {name = "ethereal:bananaleaves", param1 = 180}
|
||||
local B = {name = "ethereal:banana", param1 = 255}
|
||||
local b = {name = "ethereal:banana", param1 = 070}
|
||||
|
||||
ethereal.bananatree = {
|
||||
|
||||
size = {x = 7, y = 8, z = 7},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 1, prob = 127},
|
||||
{ypos = 2, prob = 127}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,l,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,l,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,b,_,_,_,
|
||||
_,_,_,B,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,b,T,b,_,_,
|
||||
_,_,B,T,B,_,_,
|
||||
_,L,L,L,L,L,_,
|
||||
l,l,_,L,_,l,l,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,b,_,_,_,
|
||||
_,_,_,B,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
_,_,_,l,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,l,_,_,_,
|
||||
|
||||
}
|
||||
}
|
23
mods/ethereal/schematics/basandra_bush.lua
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
local _ = {name = "air", param1 = 0}
|
||||
local S = {name = "ethereal:basandra_bush_stem", param1 = 255, force_place = true}
|
||||
local B = {name = "ethereal:basandra_bush_leaves", param1 = 255}
|
||||
local b = {name = "ethereal:basandra_bush_leaves", param1 = 100}
|
||||
|
||||
ethereal.basandrabush = {
|
||||
|
||||
size = {x = 3, y = 2, z = 3},
|
||||
|
||||
data = {
|
||||
|
||||
b,B,b,
|
||||
b,b,b,
|
||||
|
||||
B,S,B,
|
||||
b,B,b,
|
||||
|
||||
b,B,b,
|
||||
b,b,b,
|
||||
|
||||
}
|
||||
}
|
100
mods/ethereal/schematics/bigtree.lua
Normal file
@ -0,0 +1,100 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local L = {name = "default:leaves", prob = 255}
|
||||
local T = {name = "default:tree", prob = 255}
|
||||
local t = {name = "default:tree", prob = 127}
|
||||
|
||||
ethereal.bigtree = {
|
||||
|
||||
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,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
59
mods/ethereal/schematics/birch_tree.lua
Normal file
@ -0,0 +1,59 @@
|
||||
|
||||
local _ = {name = "air", param1 = 0}
|
||||
local T = {name = "ethereal:birch_trunk", param1 = 255}
|
||||
local L = {name = "ethereal:birch_leaves", param1 = 255}
|
||||
local l = {name = "ethereal:birch_leaves", param1 = 150}
|
||||
|
||||
ethereal.birchtree = {
|
||||
|
||||
size = {x = 5, y = 7, z = 5},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 3, 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,_,_,
|
||||
|
||||
_,_,T,_,_,
|
||||
_,_,T,_,_,
|
||||
_,_,T,_,_,
|
||||
L,L,T,L,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,_,_,
|
||||
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
l,L,L,L,l,
|
||||
l,L,L,L,l,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
38
mods/ethereal/schematics/bush.lua
Normal file
@ -0,0 +1,38 @@
|
||||
|
||||
local _ = {name = "air", param1 = 0}
|
||||
local B = {name = "ethereal:bush", param1 = 255}
|
||||
local b = {name = "ethereal:bush", 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,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
BIN
mods/ethereal/schematics/corals.mts
Normal file
184
mods/ethereal/schematics/frosttrees.lua
Normal file
@ -0,0 +1,184 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local l = {name = "ethereal:frost_leaves", prob = 255}
|
||||
local t = {name = "ethereal:frost_tree", prob = 255}
|
||||
|
||||
ethereal.frosttrees = {
|
||||
|
||||
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,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
62
mods/ethereal/schematics/igloo.lua
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local S = {name = "default:snowblock", prob = 255}
|
||||
local P = {name = "default:pine_bush_stem", prob = 50}
|
||||
local C = {name = "ethereal:coconut", prob = 50}
|
||||
|
||||
ethereal.igloo = {
|
||||
|
||||
size = {x = 7, y = 5, z = 8},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,S,S,S,_,_,
|
||||
_,_,S,_,S,_,_,
|
||||
_,_,S,_,S,_,_,
|
||||
_,_,_,S,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
_,_,S,S,S,_,_,
|
||||
_,_,S,_,S,_,_,
|
||||
_,_,S,_,S,_,_,
|
||||
_,_,_,S,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
_,S,S,S,S,S,_,
|
||||
_,S,_,_,_,S,_,
|
||||
_,S,_,_,_,S,_,
|
||||
_,_,S,S,S,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
S,S,S,S,S,S,S,
|
||||
S,P,_,_,_,C,S,
|
||||
S,_,_,_,_,_,S,
|
||||
_,S,_,_,_,S,_,
|
||||
_,_,S,S,S,_,_,
|
||||
|
||||
S,S,S,S,S,S,S,
|
||||
S,_,_,_,_,_,S,
|
||||
S,_,_,_,_,_,S,
|
||||
_,S,_,_,_,S,_,
|
||||
_,_,S,S,S,_,_,
|
||||
|
||||
S,S,S,S,S,S,S,
|
||||
S,_,_,_,_,_,S,
|
||||
S,_,_,_,_,_,S,
|
||||
_,S,_,_,_,S,_,
|
||||
_,_,S,S,S,_,_,
|
||||
|
||||
_,S,S,S,S,S,_,
|
||||
_,S,_,_,_,S,_,
|
||||
_,S,_,_,_,S,_,
|
||||
_,_,S,S,S,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
_,_,S,S,S,_,_,
|
||||
_,_,S,S,S,_,_,
|
||||
_,_,S,S,S,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
65
mods/ethereal/schematics/lemon_tree.lua
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
local _ = {name = "air", param1 = 0}
|
||||
local L = {name = "ethereal:lemon_leaves", param1 = 255}
|
||||
local l = {name = "ethereal:lemon_leaves", param1 = 127}
|
||||
local T = {name = "default:tree", param1 = 255}
|
||||
local e = {name = "ethereal:lemon", param1 = 100}
|
||||
|
||||
ethereal.lemontree = {
|
||||
|
||||
size = {x = 5, y = 8, z = 5},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 3, prob = 127}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,e,_,_,
|
||||
_,L,L,L,e,
|
||||
e,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,_,
|
||||
|
||||
_,_,T,_,_,
|
||||
_,_,T,_,_,
|
||||
_,_,T,_,_,
|
||||
l,e,T,l,l,
|
||||
L,L,T,L,l,
|
||||
l,L,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,l,
|
||||
_,l,L,L,_,
|
||||
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,l,_,_,
|
||||
e,L,L,l,_,
|
||||
_,l,L,L,_,
|
||||
_,L,L,L,e,
|
||||
_,_,l,_,_,
|
||||
|
||||
}
|
||||
}
|
116
mods/ethereal/schematics/mushroomone.lua
Normal file
@ -0,0 +1,116 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local M = {name = "ethereal:mushroom", prob = 255}
|
||||
local T = {name = "ethereal:mushroom_trunk", prob = 255}
|
||||
local P = {name = "ethereal: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,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
84
mods/ethereal/schematics/olive_tree.lua
Normal file
@ -0,0 +1,84 @@
|
||||
|
||||
local _ = {name = "air", param1 = 0}
|
||||
local L = {name = "ethereal:olive_leaves", param1 = 255}
|
||||
local T = {name = "ethereal:olive_trunk", param1 = 255}
|
||||
local o = {name = "ethereal:olive", param1 = 150}
|
||||
|
||||
ethereal.olivetree = {
|
||||
|
||||
size = {x = 8, y = 9, z = 7},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,L,_,_,_,_,L,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,L,_,L,L,o,_,
|
||||
L,T,L,L,o,L,T,L,
|
||||
_,L,_,_,_,_,L,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,L,T,L,_,T,L,_,
|
||||
_,L,L,_,L,L,L,_,
|
||||
_,_,_,L,L,_,_,_,
|
||||
_,_,o,L,L,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,T,T,_,_,_,
|
||||
_,_,_,T,T,_,_,_,
|
||||
_,_,_,T,T,_,_,_,
|
||||
_,_,L,T,T,_,_,_,
|
||||
_,o,L,T,T,T,L,_,
|
||||
_,L,L,T,T,L,o,_,
|
||||
_,_,L,T,T,L,_,_,
|
||||
_,_,L,T,T,L,_,_,
|
||||
_,_,_,L,L,_,_,_,
|
||||
|
||||
_,_,_,_,T,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,L,_,_,_,
|
||||
_,_,L,T,L,L,_,_,
|
||||
_,_,L,L,T,L,_,_,
|
||||
_,_,_,L,L,L,_,_,
|
||||
_,_,L,L,L,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,o,L,_,_,_,_,
|
||||
_,L,T,L,L,o,_,_,
|
||||
_,_,L,_,L,T,L,_,
|
||||
_,_,o,_,_,L,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,L,_,_,_,_,_,
|
||||
_,_,_,_,_,L,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
54
mods/ethereal/schematics/orange_tree.lua
Normal file
@ -0,0 +1,54 @@
|
||||
|
||||
local _ = {name = "air", param1 = 0}
|
||||
local L = {name = "ethereal:orange_leaves", param1 = 255}
|
||||
local l = {name = "ethereal:orange_leaves", param1 = 200}
|
||||
local T = {name = "default:tree", param1 = 255}
|
||||
local o = {name = "ethereal:orange", param1 = 200}
|
||||
|
||||
ethereal.orangetree = {
|
||||
|
||||
size = {x = 5, y = 6, z = 5},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,L,_,_,
|
||||
_,_,L,_,_,
|
||||
_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,o,L,o,_,
|
||||
_,L,L,L,_,
|
||||
_,_,L,_,_,
|
||||
|
||||
_,_,T,_,_,
|
||||
_,_,T,_,_,
|
||||
_,_,T,_,_,
|
||||
L,L,T,L,L,
|
||||
L,T,L,T,L,
|
||||
_,L,L,L,_,
|
||||
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,o,L,o,_,
|
||||
_,L,L,L,_,
|
||||
_,_,L,_,_,
|
||||
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
_,_,L,_,_,
|
||||
_,_,L,_,_,
|
||||
_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
110
mods/ethereal/schematics/palmtree.lua
Normal file
@ -0,0 +1,110 @@
|
||||
|
||||
local _ = {name = "air", param = 0}
|
||||
local L = {name = "ethereal:palmleaves", param = 255}
|
||||
local l = {name = "ethereal:palmleaves", param = 191}
|
||||
local T = {name = "ethereal:palm_trunk", param = 255}
|
||||
local t = {name = "ethereal:palm_trunk", param = 191}
|
||||
local C = {name = "ethereal:coconut", param = 127}
|
||||
|
||||
ethereal.palmtree = {
|
||||
|
||||
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,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
81
mods/ethereal/schematics/pinetree.lua
Normal file
@ -0,0 +1,81 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local L = {name = "ethereal:pineleaves", prob = 255}
|
||||
local T = {name = "default:pinetree", prob = 255}
|
||||
|
||||
ethereal.pinetree = {
|
||||
|
||||
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,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
219
mods/ethereal/schematics/redwood_small_tree.lua
Normal file
@ -0,0 +1,219 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local T = {name = "ethereal:redwood_trunk", prob = 255}
|
||||
local L = {name = "ethereal:redwood_leaves", prob = 255}
|
||||
|
||||
ethereal.redwood_small_tree = {
|
||||
|
||||
size = {x = 9, y = 21, z = 9},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 1, prob = 127},
|
||||
{ypos = 2, prob = 127},
|
||||
{ypos = 3, prob = 127},
|
||||
{ypos = 4, prob = 127}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,L,L,T,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,L,_,_,_,
|
||||
_,_,L,L,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,L,L,L,_,_,
|
||||
_,_,_,L,L,L,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,T,T,_,_,
|
||||
_,_,_,_,_,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,_,_,L,L,
|
||||
_,_,_,_,T,_,_,_,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,_,L,T,
|
||||
_,_,_,T,T,T,_,_,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,_,_,_,L,
|
||||
_,T,T,T,T,_,_,_,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,L,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,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,L,
|
||||
_,_,_,_,_,_,L,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,L,L,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
533
mods/ethereal/schematics/redwood_tree.lua
Normal file
@ -0,0 +1,533 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local T = {name = "ethereal:redwood_trunk", prob = 255}
|
||||
local L = {name = "ethereal:redwood_leaves", prob = 255}
|
||||
|
||||
ethereal.redwood_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,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
96
mods/ethereal/schematics/sakura.lua
Normal file
@ -0,0 +1,96 @@
|
||||
local T = {name = "ethereal:sakura_trunk", param1 = 255}
|
||||
local P = {name = "ethereal:sakura_leaves", param1 = 255}
|
||||
local W = {name = "ethereal:sakura_leaves2", param1 = 255}
|
||||
local _ = {name = "air", param1 = 255}
|
||||
|
||||
ethereal.sakura_tree = {
|
||||
|
||||
size = {x=10, y=10, z=7},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 3, prob = 127},
|
||||
{ypos = 8, prob = 127}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,P,P,_,_,_,_,
|
||||
_,_,_,P,P,P,P,_,_,_,
|
||||
_,_,_,P,P,P,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,P,P,P,P,_,_,_,
|
||||
_,_,_,P,P,P,P,_,_,_,
|
||||
_,_,P,P,T,P,P,P,_,_,
|
||||
_,_,P,P,P,P,P,P,_,_,
|
||||
_,_,P,_,P,P,P,P,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,P,P,P,_,_,_,_,
|
||||
_,_,P,P,P,P,P,P,_,_,
|
||||
_,_,P,P,T,P,P,P,P,_,
|
||||
_,P,P,P,P,P,P,P,P,P,
|
||||
_,P,P,P,P,P,P,P,P,P,
|
||||
_,P,P,P,P,P,P,P,P,_,
|
||||
_,_,P,P,P,P,P,P,_,_,
|
||||
|
||||
_,_,_,_,T,_,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,_,
|
||||
_,_,P,P,T,T,P,_,_,_,
|
||||
_,P,P,T,T,T,T,P,P,_,
|
||||
_,P,P,T,_,T,P,T,P,_,
|
||||
P,P,P,T,P,T,P,P,T,P,
|
||||
P,P,T,P,P,P,P,P,T,P,
|
||||
P,P,T,P,P,P,P,T,P,P,
|
||||
_,P,P,P,P,P,P,P,P,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,P,_,P,_,_,_,_,
|
||||
_,_,P,P,T,P,P,P,_,_,
|
||||
_,_,P,P,_,P,P,P,P,_,
|
||||
_,P,P,P,P,P,P,P,P,P,
|
||||
_,P,P,P,P,P,P,P,P,P,
|
||||
_,P,P,P,P,P,P,P,P,_,
|
||||
_,_,P,P,P,P,P,P,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,P,_,_,_,_,_,
|
||||
_,_,_,P,P,P,_,_,_,_,
|
||||
_,_,_,P,T,P,_,_,_,_,
|
||||
_,_,P,P,T,P,P,P,P,_,
|
||||
_,_,P,P,P,P,P,P,P,_,
|
||||
_,_,P,P,P,P,_,P,P,_,
|
||||
_,_,_,_,P,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,P,_,_,_,_,_,
|
||||
_,_,_,P,P,P,_,_,_,_,
|
||||
_,_,_,P,P,P,_,_,_,_,
|
||||
_,_,_,P,P,P,_,_,_,_,
|
||||
_,_,_,_,P,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
77
mods/ethereal/schematics/vinetree.lua
Normal file
@ -0,0 +1,77 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local T = {name = "default:tree", prob = 255}
|
||||
local L = {name = "default:leaves", prob = 255}
|
||||
local u = {name = "ethereal: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.vinetree = {
|
||||
|
||||
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,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
97
mods/ethereal/schematics/volcanol.lua
Normal file
@ -0,0 +1,97 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local d = {name = "ethereal:fiery_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,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
36
mods/ethereal/schematics/volcanom.lua
Normal 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 = "ethereal:fiery_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,_,
|
||||
_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
28
mods/ethereal/schematics/waterlily.lua
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
-- 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
|
||||
})
|
||||
|
||||
if minetest.registered_nodes["flowers:waterlily_waving"] then
|
||||
|
||||
minetest.override_item("flowers:waterlily_waving", {
|
||||
walkable = true
|
||||
})
|
||||
end
|
||||
end
|
199
mods/ethereal/schematics/willow.lua
Normal file
@ -0,0 +1,199 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local L = {name = "ethereal:willow_twig", prob = 255}
|
||||
local T = {name = "ethereal:willow_trunk", prob = 255}
|
||||
local t = {name = "ethereal:willow_trunk", prob = 127}
|
||||
|
||||
ethereal.willow = {
|
||||
|
||||
size = {x = 12, y = 14, z = 12},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 1, prob = 127}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,L,_,_,_,_,_,
|
||||
_,_,_,_,L,_,L,_,_,_,_,_,
|
||||
_,_,_,_,L,L,L,L,_,_,_,_,
|
||||
_,_,_,_,_,_,L,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,L,L,L,L,_,_,_,
|
||||
_,_,L,L,L,L,T,L,L,_,_,_,
|
||||
_,_,_,_,_,L,L,L,_,_,_,_,
|
||||
_,_,_,_,_,L,L,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,t,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,_,L,_,L,_,_,_,_,
|
||||
_,_,_,L,L,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,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,L,_,L,_,_,_,_,_,_,_,_,
|
||||
_,L,L,L,L,L,L,_,L,L,L,_,
|
||||
_,L,T,T,L,T,L,L,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,L,L,L,L,_,_,_,_,_,
|
||||
_,_,_,_,L,L,L,_,_,_,_,_,
|
||||
_,_,_,_,_,L,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,T,_,_,T,_,_,_,
|
||||
_,_,_,_,_,T,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,L,_,_,
|
||||
_,_,_,_,_,L,L,_,_,L,_,_,
|
||||
_,_,L,L,_,L,L,L,L,L,L,_,
|
||||
L,L,L,T,L,T,L,L,T,L,L,_,
|
||||
_,L,L,L,L,L,L,L,L,L,L,_,
|
||||
_,L,L,L,L,L,L,L,T,T,L,_,
|
||||
_,L,L,L,L,L,L,L,L,L,L,_,
|
||||
_,L,T,T,T,T,T,L,L,_,_,_,
|
||||
_,_,L,L,L,L,L,L,_,_,_,_,
|
||||
_,_,_,_,L,T,L,L,_,_,_,_,
|
||||
_,_,_,_,_,L,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,T,T,T,T,t,_,_,
|
||||
_,_,_,_,_,T,T,_,_,_,_,_,
|
||||
_,_,_,_,_,T,T,_,_,_,_,_,
|
||||
_,L,_,_,_,T,T,_,_,_,_,_,
|
||||
_,L,L,_,_,T,_,_,_,L,L,_,
|
||||
_,L,L,L,_,T,L,L,L,L,L,L,
|
||||
L,L,L,T,L,T,T,T,T,T,L,_,
|
||||
_,L,L,L,L,T,L,L,L,L,L,_,
|
||||
_,_,L,L,L,T,T,T,T,L,L,_,
|
||||
_,_,L,L,L,L,L,L,L,L,_,_,
|
||||
_,_,L,T,L,T,T,L,L,_,_,_,
|
||||
_,_,_,L,L,T,T,L,_,_,_,_,
|
||||
_,_,_,L,L,L,L,L,_,_,_,_,
|
||||
_,_,_,_,L,L,L,_,_,_,_,_,
|
||||
|
||||
_,_,t,T,T,T,T,T,_,_,_,_,
|
||||
_,_,_,_,_,T,T,T,_,_,_,_,
|
||||
_,_,_,_,_,T,T,_,_,_,_,_,
|
||||
_,_,_,_,_,T,T,_,_,_,_,_,
|
||||
_,L,_,_,_,T,T,_,_,_,_,_,
|
||||
L,L,L,L,L,T,T,T,L,L,L,L,
|
||||
L,T,T,T,T,T,T,L,T,L,L,_,
|
||||
_,L,L,L,L,L,T,L,L,L,L,_,
|
||||
_,_,L,L,L,L,T,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,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,T,_,_,_,_,_,_,
|
||||
_,_,_,_,_,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,L,L,L,T,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,_,_,_,
|
||||
_,_,_,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,T,L,L,L,_,_,
|
||||
_,_,L,L,L,L,L,L,L,_,_,_,
|
||||
_,_,_,_,L,L,T,T,L,_,_,_,
|
||||
_,_,_,_,L,L,L,L,_,_,_,_,
|
||||
_,_,_,_,L,L,L,_,_,_,_,_,
|
||||
_,_,_,_,_,L,L,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,T,T,t,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,L,_,_,_,_,
|
||||
_,_,_,_,L,_,_,L,_,L,_,_,
|
||||
_,_,L,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,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,t,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,L,L,L,L,L,_,_,_,
|
||||
_,_,_,L,L,L,T,L,_,_,_,_,
|
||||
_,_,_,_,_,L,L,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,L,_,_,_,_,_,
|
||||
_,_,_,_,_,L,L,_,_,_,_,_,
|
||||
_,_,_,_,_,_,L,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
201
mods/ethereal/schematics/yellowtree.lua
Normal file
@ -0,0 +1,201 @@
|
||||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local T = {name = "ethereal:yellow_trunk", prob = 255}
|
||||
local t = {name = "ethereal:yellow_trunk", prob = 127}
|
||||
local L = {name = "ethereal:yellowleaves", prob = 255}
|
||||
local A = {name = "ethereal:golden_apple", prob = 115}
|
||||
|
||||
ethereal.yellowtree = {
|
||||
|
||||
size = {x = 9, y = 19, z = 9},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 254},
|
||||
{ypos = 3, prob = 254},
|
||||
{ypos = 5, prob = 254}
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,L,A,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,T,L,_,_,_,
|
||||
_,_,_,_,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,L,A,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,t,_,_,_,_,
|
||||
_,_,_,L,T,L,_,_,_,
|
||||
_,_,_,_,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,t,L,_,_,_,
|
||||
_,_,_,_,L,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,L,L,_,_,_,
|
||||
_,_,_,_,_,_,L,L,_,
|
||||
_,_,_,L,_,_,_,_,_,
|
||||
A,L,L,L,T,L,_,_,_,
|
||||
_,_,_,_,_,L,_,_,_,
|
||||
_,_,_,_,L,_,L,L,_,
|
||||
_,_,L,L,L,_,_,_,_,
|
||||
A,L,L,L,T,L,_,_,_,
|
||||
_,_,_,L,T,L,_,_,_,
|
||||
_,_,_,_,L,_,_,_,_,
|
||||
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,T,T,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,T,T,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,T,T,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,T,T,t,_,_,
|
||||
_,_,_,_,T,_,T,T,L,
|
||||
_,_,t,T,T,_,L,L,_,
|
||||
L,T,T,_,T,_,_,_,_,
|
||||
_,L,L,_,T,T,t,_,_,
|
||||
_,_,_,_,T,L,T,T,L,
|
||||
_,_,t,T,T,L,L,L,_,
|
||||
L,T,T,L,T,L,_,_,_,
|
||||
_,L,L,_,L,A,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,T,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,L,_,_,_,
|
||||
_,_,_,_,T,L,L,L,A,
|
||||
_,_,_,L,_,_,_,_,_,
|
||||
_,L,L,_,_,_,_,_,_,
|
||||
_,_,_,_,_,L,_,_,_,
|
||||
_,_,_,L,T,L,L,L,A,
|
||||
_,_,L,L,L,_,_,_,_,
|
||||
_,L,L,_,L,_,_,_,_,
|
||||
_,_,_,_,A,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,t,_,_,_,_,
|
||||
_,_,_,L,T,L,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,t,L,_,_,_,
|
||||
_,_,_,L,T,L,_,_,_,
|
||||
_,_,_,_,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,T,L,_,_,_,
|
||||
_,_,_,L,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,L,T,L,_,_,_,
|
||||
_,_,_,_,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,A,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,A,L,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
337
mods/ethereal/schems.lua
Normal file
@ -0,0 +1,337 @@
|
||||
|
||||
local path = minetest.get_modpath("ethereal") .. "/schematics/"
|
||||
local dpath = minetest.get_modpath("default") .. "/schematics/"
|
||||
|
||||
|
||||
-- load schematic tables
|
||||
dofile(path .. "orange_tree.lua")
|
||||
dofile(path .. "banana_tree.lua")
|
||||
dofile(path .. "bamboo_tree.lua")
|
||||
dofile(path .. "birch_tree.lua")
|
||||
dofile(path .. "bush.lua")
|
||||
dofile(path .. "waterlily.lua")
|
||||
dofile(path .. "volcanom.lua")
|
||||
dofile(path .. "volcanol.lua")
|
||||
dofile(path .. "frosttrees.lua")
|
||||
dofile(path .. "palmtree.lua")
|
||||
dofile(path .. "pinetree.lua")
|
||||
dofile(path .. "yellowtree.lua")
|
||||
dofile(path .. "mushroomone.lua")
|
||||
dofile(path .. "willow.lua")
|
||||
dofile(path .. "bigtree.lua")
|
||||
dofile(path .. "redwood_tree.lua")
|
||||
dofile(path .. "redwood_small_tree.lua")
|
||||
dofile(path .. "vinetree.lua")
|
||||
dofile(path .. "sakura.lua")
|
||||
dofile(path .. "igloo.lua")
|
||||
dofile(path .. "lemon_tree.lua")
|
||||
dofile(path .. "olive_tree.lua")
|
||||
dofile(path .. "basandra_bush.lua")
|
||||
|
||||
|
||||
-- helper function
|
||||
local add_schem = function(a, b, c, d, e, f, g, h, i, j, k)
|
||||
|
||||
-- if not 1 then biome disabled, don't add
|
||||
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,
|
||||
spawn_by = i,
|
||||
num_spawn_by = j,
|
||||
rotation = k
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- igloo
|
||||
add_schem("default:snowblock", 0.0005, {"glacier"}, 3, 50,
|
||||
ethereal.igloo, ethereal.glacier, nil, "default:snowblock", 8, "random")
|
||||
|
||||
-- sakura tree
|
||||
add_schem({"ethereal:bamboo_dirt"}, 0.001, {"sakura"}, 7, 100,
|
||||
ethereal.sakura_tree, ethereal.sakura, nil,
|
||||
"ethereal:bamboo_dirt", 6)
|
||||
|
||||
-- redwood tree
|
||||
add_schem({"default:dirt_with_dry_grass"}, 0.0025, {"mesa"}, 1, 100,
|
||||
ethereal.redwood_tree, ethereal.mesa, nil,
|
||||
"default:dirt_with_dry_grass", 8)
|
||||
|
||||
-- banana tree
|
||||
add_schem({"ethereal:grove_dirt"}, 0.015, {"grove"}, 1, 100,
|
||||
ethereal.bananatree, ethereal.grove)
|
||||
|
||||
-- healing tree
|
||||
add_schem({"default:dirt_with_snow"}, 0.01, {"taiga"}, 120, 140,
|
||||
ethereal.yellowtree, ethereal.alpine, nil, "default:dirt_with_snow", 8)
|
||||
|
||||
-- crystal frost tree
|
||||
add_schem({"ethereal:crystal_dirt"}, 0.01, {"frost", "frost_floatland"}, 1, 1750,
|
||||
ethereal.frosttrees, ethereal.frost, nil,
|
||||
"ethereal:crystal_dirt", 8)
|
||||
|
||||
-- giant mushroom
|
||||
add_schem("ethereal:mushroom_dirt", 0.02, {"mushroom"}, 1, 100,
|
||||
ethereal.mushroomone, ethereal.mushroom, nil,
|
||||
"ethereal:mushroom_dirt", 8)
|
||||
|
||||
-- small lava crater
|
||||
add_schem("ethereal:fiery_dirt", 0.01, {"fiery"}, 1, 100,
|
||||
ethereal.volcanom, ethereal.fiery, nil, "ethereal:fiery_dirt", 8)
|
||||
|
||||
-- large lava crater
|
||||
add_schem("ethereal:fiery_dirt", 0.003, {"fiery"}, 1, 100,
|
||||
ethereal.volcanol, ethereal.fiery, nil, "ethereal:fiery_dirt", 8, "random")
|
||||
|
||||
-- basandra bush
|
||||
add_schem("ethereal:fiery_dirt", 0.03, {"fiery"}, 1, 100,
|
||||
ethereal.basandrabush, ethereal.fiery)
|
||||
|
||||
-- default jungle tree
|
||||
add_schem({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"},
|
||||
0.08, {"junglee"}, 1, 100, dpath .. "jungle_tree.mts", ethereal.junglee)
|
||||
|
||||
-- willow tree
|
||||
add_schem({"ethereal:gray_dirt"}, 0.02, {"grayness"}, 1, 100,
|
||||
ethereal.willow, ethereal.grayness, nil,
|
||||
"ethereal:gray_dirt", 6)
|
||||
|
||||
-- default large pine tree for lower elevation
|
||||
add_schem({"ethereal:cold_dirt", "default:dirt_with_coniferous_litter"},
|
||||
0.025, {"coniferous_forest"}, 10, 40, ethereal.pinetree, ethereal.snowy)
|
||||
|
||||
-- small pine for higher elevation
|
||||
add_schem({"default:dirt_with_snow"}, 0.025, {"taiga"}, 40, 140,
|
||||
ethereal.pinetree, ethereal.alpine)
|
||||
|
||||
-- default apple tree
|
||||
add_schem({"default:dirt_with_grass"}, 0.025, {"jumble", "deciduous_forest"}, 1, 100,
|
||||
dpath .. "apple_tree.mts", ethereal.grassy)
|
||||
|
||||
-- big old tree
|
||||
add_schem({"default:dirt_with_grass"}, 0.001, {"jumble"}, 1, 100,
|
||||
ethereal.bigtree, ethereal.jumble, nil,
|
||||
"default:dirt_with_grass", 8)
|
||||
|
||||
-- default aspen tree
|
||||
add_schem({"default:dirt_with_grass"}, 0.02, {"grassytwo"}, 1, 50,
|
||||
dpath .. "aspen_tree.mts", ethereal.jumble)
|
||||
|
||||
-- birch tree
|
||||
add_schem({"default:dirt_with_grass"}, 0.02, {"grassytwo"}, 50, 100,
|
||||
ethereal.birchtree, ethereal.grassytwo)
|
||||
|
||||
-- orange tree
|
||||
add_schem({"ethereal:prairie_dirt"}, 0.01, {"prairie"}, 1, 100,
|
||||
ethereal.orangetree, ethereal.prairie)
|
||||
|
||||
-- default acacia tree
|
||||
add_schem({"default:dry_dirt_with_dry_grass",
|
||||
"default:dirt_with_dry_grass"}, 0.004, {"savanna"}, 1, 100,
|
||||
dpath .. "acacia_tree.mts", ethereal.savanna)
|
||||
|
||||
-- palm tree
|
||||
add_schem("default:sand", 0.0025, {"desert_ocean", "plains_ocean", "sandclay",
|
||||
"sandstone_ocean", "mesa_ocean", "grove_ocean", "deciduous_forest_ocean"}, 1, 1,
|
||||
ethereal.palmtree, 1)
|
||||
|
||||
-- bamboo tree
|
||||
add_schem({"ethereal:bamboo_dirt"}, 0.025, {"bamboo"}, 1, 100,
|
||||
ethereal.bambootree, ethereal.bamboo)
|
||||
|
||||
-- bush
|
||||
add_schem({"ethereal:bamboo_dirt"}, 0.08, {"bamboo"}, 1, 100, ethereal.bush,
|
||||
ethereal.bamboo)
|
||||
|
||||
-- vine tree
|
||||
add_schem({"default:dirt_with_grass"}, 0.02, {"swamp"}, 1, 100,
|
||||
ethereal.vinetree, ethereal.swamp)
|
||||
|
||||
-- lemon tree
|
||||
add_schem({"ethereal:grove_dirt"}, 0.002, {"mediterranean"}, 5, 50,
|
||||
ethereal.lemontree, ethereal.mediterranean)
|
||||
|
||||
-- olive tree
|
||||
add_schem({"ethereal:grove_dirt"}, 0.002, {"mediterranean"}, 5, 35,
|
||||
ethereal.olivetree, ethereal.mediterranean)
|
||||
|
||||
|
||||
-- default large cactus
|
||||
if ethereal.desert == 1 then
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "schematic",
|
||||
place_on = {"default:desert_sand"},
|
||||
sidelen = 80,
|
||||
noise_params = {
|
||||
offset = -0.0005,
|
||||
scale = 0.0015,
|
||||
spread = {x = 200, y = 200, z = 200},
|
||||
seed = 230,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
biomes = {"desert"},
|
||||
y_min = 5,
|
||||
y_max = 31000,
|
||||
schematic = dpath .. "large_cactus.mts",
|
||||
flags = "place_center_x",
|
||||
rotation = "random",
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- default bush
|
||||
minetest.register_decoration({
|
||||
deco_type = "schematic",
|
||||
place_on = {"default:dirt_with_grass", "default:dirt_with_snow"},
|
||||
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 = {"deciduous_forest", "grassytwo", "jumble"},
|
||||
y_min = 1,
|
||||
y_max = 31000,
|
||||
schematic = dpath .. "bush.mts",
|
||||
flags = "place_center_x, place_center_z"
|
||||
})
|
||||
|
||||
|
||||
-- default acacia bush
|
||||
minetest.register_decoration({
|
||||
deco_type = "schematic",
|
||||
place_on = {
|
||||
"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.004,
|
||||
scale = 0.01,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 90155,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = {"savanna", "mesa"},
|
||||
y_min = 1,
|
||||
y_max = 31000,
|
||||
schematic = dpath .. "acacia_bush.mts",
|
||||
flags = "place_center_x, place_center_z"
|
||||
})
|
||||
|
||||
|
||||
-- default pine bush
|
||||
if minetest.registered_nodes["default:pine_bush"] then
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "default:pine_bush",
|
||||
deco_type = "schematic",
|
||||
place_on = {"default:dirt_with_snow"},
|
||||
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 = {"taiga"},
|
||||
y_max = 31000,
|
||||
y_min = 4,
|
||||
schematic = dpath .. "pine_bush.mts",
|
||||
flags = "place_center_x, place_center_z"
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- default blueberry bush
|
||||
if minetest.registered_nodes["default:blueberry_bush_leaves"] then
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "default:blueberry_bush",
|
||||
deco_type = "schematic",
|
||||
place_on = {
|
||||
"default:dirt_with_coniferous_litter", "default:dirt_with_snow"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.004,
|
||||
scale = 0.01,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 697,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = {"coniferous_forest", "taiga"},
|
||||
y_max = 31000,
|
||||
y_min = 1,
|
||||
place_offset_y = 1,
|
||||
schematic = dpath .. "blueberry_bush.mts",
|
||||
flags = "place_center_x, place_center_z"
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- place waterlily in beach areas
|
||||
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 = {"desert_ocean", "plains_ocean", "sandclay",
|
||||
"mesa_ocean", "grove_ocean", "deciduous_forest_ocean", "swamp_ocean"},
|
||||
y_min = 0,
|
||||
y_max = 0,
|
||||
schematic = ethereal.waterlily,
|
||||
rotation = "random"
|
||||
})
|
||||
|
||||
|
||||
-- coral reef
|
||||
if ethereal.reefs == 1 then
|
||||
|
||||
-- override corals so crystal shovel can pick them up intact
|
||||
minetest.override_item("default:coral_skeleton", {groups = {crumbly = 3}})
|
||||
minetest.override_item("default:coral_orange", {groups = {crumbly = 3}})
|
||||
minetest.override_item("default:coral_brown", {groups = {crumbly = 3}})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "schematic",
|
||||
place_on = {"default:sand"},
|
||||
noise_params = {
|
||||
offset = -0.15,
|
||||
scale = 0.1,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 7013,
|
||||
octaves = 3,
|
||||
persist = 1,
|
||||
},
|
||||
biomes = {"desert_ocean", "grove_ocean"},
|
||||
y_min = -8,
|
||||
y_max = -2,
|
||||
schematic = path .. "corals.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random"
|
||||
})
|
||||
end
|
BIN
mods/ethereal/screenshot-geogebra-ethereal.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
mods/ethereal/screenshot.jpg
Normal file
After Width: | Height: | Size: 217 KiB |
298
mods/ethereal/sealife.lua
Normal file
@ -0,0 +1,298 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- Seaweed
|
||||
minetest.register_node("ethereal:seaweed", {
|
||||
description = S("Seaweed"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_seaweed.png"},
|
||||
inventory_image = "ethereal_seaweed.png",
|
||||
wield_image = "ethereal_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 Glow Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_coral_blue.png"},
|
||||
inventory_image = "ethereal_coral_blue.png",
|
||||
wield_image = "ethereal_coral_blue.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( {
|
||||
output = "dye:cyan 3",
|
||||
recipe = {{"ethereal:coral2"}}
|
||||
})
|
||||
|
||||
|
||||
-- Orange Coral
|
||||
minetest.register_node("ethereal:coral3", {
|
||||
description = S("Orange Glow Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_coral_orange.png"},
|
||||
inventory_image = "ethereal_coral_orange.png",
|
||||
wield_image = "ethereal_coral_orange.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( {
|
||||
output = "dye:orange 3",
|
||||
recipe = {{"ethereal:coral3"}}
|
||||
})
|
||||
|
||||
|
||||
-- Pink Coral
|
||||
minetest.register_node("ethereal:coral4", {
|
||||
description = S("Pink Glow Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_coral_pink.png"},
|
||||
inventory_image = "ethereal_coral_pink.png",
|
||||
wield_image = "ethereal_coral_pink.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( {
|
||||
output = "dye:pink 3",
|
||||
recipe = {{"ethereal:coral4"}}
|
||||
})
|
||||
|
||||
|
||||
-- Green Coral
|
||||
minetest.register_node("ethereal:coral5", {
|
||||
description = S("Green Glow Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_coral_green.png"},
|
||||
inventory_image = "ethereal_coral_green.png",
|
||||
wield_image = "ethereal_coral_green.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( {
|
||||
output = "dye:green 3",
|
||||
recipe = {{"ethereal:coral5"}}
|
||||
})
|
||||
|
||||
|
||||
-- Undersea Sand (used for growing seaweed and corals)
|
||||
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(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
|
||||
|
||||
|
||||
-- sponge nodes
|
||||
|
||||
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_wet", {
|
||||
description = S("Wet sponge"),
|
||||
tiles = {"ethereal_sponge_wet.png"},
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_sand_defaults()
|
||||
})
|
||||
|
||||
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
|
||||
})
|
||||
|
||||
-- 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
|
||||
})
|
44
mods/ethereal/settings.conf_example
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
--[[
|
||||
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
|
||||
ethereal.flight = true -- enable flight potion
|
||||
|
||||
-- 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.healing = 1 -- Snowy peaks with healing trees
|
||||
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.fiery = 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
|
||||
ethereal.mediterranean = 1 -- Enable Mediterranean biome
|
43
mods/ethereal/settingtypes.txt
Normal file
@ -0,0 +1,43 @@
|
||||
ethereal.leaftype (0 for 2D plantlike leaves or 1 for 3D) int 0
|
||||
ethereal.leafwalk (Walkable leaves) bool false
|
||||
|
||||
ethereal.cavedirt (Caves cut through dirt) bool true
|
||||
ethereal.torchdrop (Torches drop when in water) bool true
|
||||
ethereal.papyruswalk (Papyrus and Bamboo are walkable) bool true
|
||||
ethereal.lilywalk (Lilypads are walkable) bool true
|
||||
ethereal.xcraft (Enable X-Craft cheats) bool true
|
||||
ethereal.flight (Enable Flight Potion) bool true
|
||||
|
||||
ethereal.glacier (Glacier biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.bambo (Bamboo biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.mesa (Mesa biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.alpine (Alpine biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.healing (Healing Tree biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.snowy (Pine Tree biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.frost (Blue Frost biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.grassy (Grassy biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.caves (Desertstone biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.grayness (Grey Willow biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.grassytwo (GrassyTwo biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.prairie (Prairie biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.jumble (Jumble biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.junglee (Jungle biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.desert (Desert biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.grove (Banana Grove biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.mushroom (Mushroom biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.sandstone (Sandstone biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.quicksand (Quicksand Bank biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.plains (Scorched Plains biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.savanna (Savanna biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.fiery (Feiry Lava biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.sandclay (Sandy Clay biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.swamp (Swamp biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.sealife (Coral and Seaweed biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.reefs (MT5 Coral biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.sakura (Sakura biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.tundra (Tundra biome, 1 = Enable / 0 = Disable) int 1
|
||||
ethereal.mediterranean (Mediterranean biome, 1 = Enable / 0 = Disable) int 1
|
||||
|
||||
ethereal.flightpotion_duration (Flight Potion Duration) int 300
|
||||
|
||||
ethereal.clear_default_biomes (Clear Default Biomes and Decoration) bool true
|
BIN
mods/ethereal/sounds/ethereal_casting_rod.ogg
Normal file
196
mods/ethereal/stairs.lua
Normal file
@ -0,0 +1,196 @@
|
||||
|
||||
-- language support
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- stair mods active
|
||||
local stairs_mod = minetest.get_modpath("stairs")
|
||||
local stairs_redo = stairs_mod and stairs.mod and stairs.mod == "redo"
|
||||
local stairs_plus = minetest.global_exists("stairsplus")
|
||||
|
||||
-- stair selection function
|
||||
local do_stair = function(description, name, node, groups, texture, sound)
|
||||
|
||||
if stairs_redo then
|
||||
|
||||
stairs.register_all(name, node, groups, texture, S(description), sound)
|
||||
|
||||
elseif stairs_plus then
|
||||
|
||||
local mod = "ethereal"
|
||||
|
||||
stairsplus:register_all(mod, name, node, {
|
||||
description = S(description),
|
||||
tiles = texture,
|
||||
groups = groups,
|
||||
sounds = sound
|
||||
})
|
||||
|
||||
-- aliases need to be set for previous stairs to avoid unknown nodes
|
||||
minetest.register_alias_force("stairs:stair_" .. name,
|
||||
mod .. ":stair_" .. name)
|
||||
|
||||
minetest.register_alias_force("stairs:stair_outer_" .. name,
|
||||
mod .. ":stair_" .. name .. "_outer")
|
||||
|
||||
minetest.register_alias_force("stairs:stair_inner_" .. name,
|
||||
mod .. ":stair_" .. name .. "_inner")
|
||||
|
||||
minetest.register_alias_force("stairs:slab_" .. name,
|
||||
mod .. ":slab_" .. name)
|
||||
|
||||
else
|
||||
|
||||
stairs.register_stair_and_slab(name, node, groups, texture,
|
||||
S(description .. " Stair"), S(description .. " Slab"), sound)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- Register Stairs (stair mod will be auto-selected)
|
||||
|
||||
do_stair(
|
||||
"Blue Marble",
|
||||
"blue_marble",
|
||||
"ethereal:blue_marble",
|
||||
{cracky = 1},
|
||||
{"ethereal_blue_marble.png"},
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
do_stair(
|
||||
"Blue Marble Tile",
|
||||
"blue_marble_tile",
|
||||
"ethereal:blue_marble_tile",
|
||||
{cracky = 1},
|
||||
{"ethereal_blue_marble_tile.png"},
|
||||
default.node_sound_stone_defaults())
|
||||
|
||||
do_stair(
|
||||
"Crystal Block",
|
||||
"crystal_block",
|
||||
"ethereal:crystal_block",
|
||||
{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
|
||||
{"ethereal_crystal_block.png"},
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
do_stair(
|
||||
"Ice Brick",
|
||||
"icebrick",
|
||||
"ethereal:icebrick",
|
||||
{cracky = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
{"ethereal_brick_ice.png"},
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
do_stair(
|
||||
"Snow Brick",
|
||||
"snowbrick",
|
||||
"ethereal:snowbrick",
|
||||
{crumbly = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
{"ethereal_brick_snow.png"},
|
||||
default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_snow_footstep", gain = 0.25},
|
||||
dug = {name = "default_snow_footstep", gain = 0.75},
|
||||
}))
|
||||
|
||||
do_stair(
|
||||
"Dried Dirt",
|
||||
"dry_dirt",
|
||||
"ethereal:dry_dirt",
|
||||
{crumbly = 3},
|
||||
{"ethereal_dry_dirt.png"},
|
||||
default.node_sound_dirt_defaults())
|
||||
|
||||
do_stair(
|
||||
"Mushroom Trunk",
|
||||
"mushroom_trunk",
|
||||
"ethereal:mushroom_trunk",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
{"ethereal_mushroom_trunk.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Mushroom Top",
|
||||
"mushroom",
|
||||
"ethereal:mushroom",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
{"ethereal_mushroom_block.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Frost Wood",
|
||||
"frost_wood",
|
||||
"ethereal:frost_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
{"ethereal_frost_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Healing Wood",
|
||||
"yellow_wood",
|
||||
"ethereal:yellow_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
{"ethereal_yellow_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Palm Wood",
|
||||
"palm_wood",
|
||||
"ethereal:palm_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"moretrees_palm_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Birch Wood",
|
||||
"birch_wood",
|
||||
"ethereal:birch_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"moretrees_birch_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Banana Wood",
|
||||
"banana_wood",
|
||||
"ethereal:banana_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_banana_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Willow Wood",
|
||||
"willow_wood",
|
||||
"ethereal:willow_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_willow_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Redwood",
|
||||
"redwood_wood",
|
||||
"ethereal:redwood_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_redwood_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Bamboo",
|
||||
"bamboo_wood",
|
||||
"ethereal:bamboo_block",
|
||||
{snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_bamboo_floor.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Sakura Wood",
|
||||
"sakura_wood",
|
||||
"ethereal:sakura_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_sakura_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
do_stair(
|
||||
"Olive Wood",
|
||||
"olive_wood",
|
||||
"ethereal:olive_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_olive_wood.png"},
|
||||
default.node_sound_wood_defaults())
|
147
mods/ethereal/strawberry.lua
Normal file
@ -0,0 +1,147 @@
|
||||
|
||||
local S = ethereal.intllib
|
||||
|
||||
|
||||
-- Strawberry (can also be planted as seed)
|
||||
minetest.register_craftitem("ethereal:strawberry", {
|
||||
description = S("Strawberry"),
|
||||
inventory_image = "ethereal_strawberry.png",
|
||||
wield_image = "ethereal_strawberry.png",
|
||||
groups = {food_strawberry = 1, food_berry = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1),
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:strawberry_1")
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
-- Define Strawberry Bush growth stages
|
||||
local def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_strawberry_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:strawberry_1", table.copy(def))
|
||||
|
||||
-- stage 2
|
||||
def.tiles = {"ethereal_strawberry_2.png"}
|
||||
minetest.register_node("ethereal:strawberry_2", table.copy(def))
|
||||
|
||||
-- stage 3
|
||||
def.tiles = {"ethereal_strawberry_3.png"}
|
||||
minetest.register_node("ethereal:strawberry_3", table.copy(def))
|
||||
|
||||
-- stage 4
|
||||
def.tiles = {"ethereal_strawberry_4.png"}
|
||||
minetest.register_node("ethereal:strawberry_4", table.copy(def))
|
||||
|
||||
-- stage 5
|
||||
def.tiles = {"ethereal_strawberry_5.png"}
|
||||
minetest.register_node("ethereal:strawberry_5", table.copy(def))
|
||||
|
||||
-- stage 6
|
||||
def.tiles = {"ethereal_strawberry_6.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:strawberry 1"}, rarity = 2},
|
||||
{items = {"ethereal:strawberry 2"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:strawberry_6", table.copy(def))
|
||||
|
||||
-- stage 7
|
||||
def.tiles = {"ethereal_strawberry_7.png"}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:strawberry 1"}, rarity = 1},
|
||||
{items = {"ethereal:strawberry 2"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:strawberry_7", table.copy(def))
|
||||
|
||||
-- stage 8 (final)
|
||||
def.tiles = {"ethereal_strawberry_8.png"}
|
||||
def.groups.growing = nil
|
||||
def.selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, -2.5/16, 0.5}
|
||||
}
|
||||
def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:strawberry 2"}, rarity = 1},
|
||||
{items = {"ethereal:strawberry 3"}, rarity = 3}
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:strawberry_8", table.copy(def))
|
||||
|
||||
|
||||
-- growing routine if farming redo isn't present
|
||||
if farming and farming.mod and farming.mod == "redo" then
|
||||
|
||||
-- add to registered_plants
|
||||
farming.registered_plants["ethereal:strawberry"] = {
|
||||
crop = "ethereal:strawberry",
|
||||
seed = "ethereal:strawberry",
|
||||
minlight = farming.min_light,
|
||||
maxlight = farming.max_light,
|
||||
steps = 8
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
minetest.register_abm({
|
||||
label = "Ethereal grow strawberry",
|
||||
nodenames = {
|
||||
"ethereal:strawberry_1", "ethereal:strawberry_2", "ethereal:strawberry_3",
|
||||
"ethereal:strawberry_4", "ethereal:strawberry_5", "ethereal:strawberry_6",
|
||||
"ethereal:strawberry_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:strawberry_" .. tonumber(num + 1)
|
||||
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
})
|
||||
end
|
BIN
mods/ethereal/textures/alt/ethereal_banana_wood.png
Normal file
After Width: | Height: | Size: 141 B |
BIN
mods/ethereal/textures/alt/ethereal_olive_wood.png
Normal file
After Width: | Height: | Size: 177 B |
BIN
mods/ethereal/textures/alt/ethereal_redwood_wood.png
Normal file
After Width: | Height: | Size: 112 B |
BIN
mods/ethereal/textures/alt/ethereal_sakura_wood.png
Normal file
After Width: | Height: | Size: 111 B |
BIN
mods/ethereal/textures/alt/ethereal_willow_wood.png
Normal file
After Width: | Height: | Size: 141 B |
5
mods/ethereal/textures/alt/license.txt
Normal file
@ -0,0 +1,5 @@
|
||||
based on default minetest wood textures
|
||||
|
||||
edited by alerikaisattera
|
||||
|
||||
license: CC-BY-SA 3.0
|
BIN
mods/ethereal/textures/alt/moretrees_birch_wood.png
Normal file
After Width: | Height: | Size: 182 B |
BIN
mods/ethereal/textures/alt/moretrees_palm_wood.png
Normal file
After Width: | Height: | Size: 141 B |
BIN
mods/ethereal/textures/baked_clay_grey.png
Normal file
After Width: | Height: | Size: 132 B |
BIN
mods/ethereal/textures/baked_clay_orange.png
Normal file
After Width: | Height: | Size: 134 B |
BIN
mods/ethereal/textures/baked_clay_red.png
Normal file
After Width: | Height: | Size: 134 B |
BIN
mods/ethereal/textures/bucket_cactus.png
Normal file
After Width: | Height: | Size: 191 B |
BIN
mods/ethereal/textures/bucket_cactus.png_hd
Normal file
After Width: | Height: | Size: 421 B |
BIN
mods/ethereal/textures/default_apple_gold.png
Normal file
After Width: | Height: | Size: 217 B |
BIN
mods/ethereal/textures/ethereal_agar_powder.png
Normal file
After Width: | Height: | Size: 147 B |
BIN
mods/ethereal/textures/ethereal_bamboo_floor.png
Normal file
After Width: | Height: | Size: 271 B |
BIN
mods/ethereal/textures/ethereal_bamboo_leaves.png
Normal file
After Width: | Height: | Size: 210 B |
BIN
mods/ethereal/textures/ethereal_bamboo_sprout.png
Normal file
After Width: | Height: | Size: 189 B |
BIN
mods/ethereal/textures/ethereal_bamboo_trunk.png
Normal file
After Width: | Height: | Size: 143 B |
BIN
mods/ethereal/textures/ethereal_banana_bread.png
Normal file
After Width: | Height: | Size: 302 B |
BIN
mods/ethereal/textures/ethereal_banana_bunch.png
Normal file
After Width: | Height: | Size: 232 B |
BIN
mods/ethereal/textures/ethereal_banana_dough.png
Normal file
After Width: | Height: | Size: 153 B |
BIN
mods/ethereal/textures/ethereal_banana_leaf.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
mods/ethereal/textures/ethereal_banana_single.png
Normal file
After Width: | Height: | Size: 187 B |
BIN
mods/ethereal/textures/ethereal_banana_tree_sapling.png
Normal file
After Width: | Height: | Size: 166 B |
BIN
mods/ethereal/textures/ethereal_banana_trunk.png
Normal file
After Width: | Height: | Size: 172 B |
BIN
mods/ethereal/textures/ethereal_banana_trunk_top.png
Normal file
After Width: | Height: | Size: 168 B |
BIN
mods/ethereal/textures/ethereal_banana_wood.png
Normal file
After Width: | Height: | Size: 179 B |