temp remove skin and cloth mods while they are WIP. sign fixes.
19
README.md
|
@ -1,11 +1,16 @@
|
|||
Sara's Simple Survival Game
|
||||
==========================
|
||||
Copyright (C) 2019-2020 FreeGamers.org
|
||||
Thank you to everyone who has contributed to this project, mods, and the FreeGamers communitys.
|
||||
|
||||
The best game for Minetest. A project with the goal of enhancing minetest_game survival with new depth, mechanics, biomes, mobs and many essential additions. Has a focus on being fun, user-friendly, stable, and minimalist but featured. Join our cause: https://www.freegamers.org
|
||||
Description
|
||||
-------------------------
|
||||
The best game for Minetest. A survival game with new depth, mechanics, biomes, mobs and many essential additions. Has a focus on being fun, user-friendly, stable, and minimalist but featured. Join our cause: https://www.freegamers.org
|
||||
Currently, this game is quite stable and has been debugged on an online server environment with many players. There is active development so new bugs may come and go.
|
||||
|
||||
This project started with the goal to expand Minetest game to include additional features that would greatly enhance the gameplay to be more fun for players.
|
||||
|
||||
Currently, this game is quite stable and has been debugged on an online server environment with many players.
|
||||
Minetest Engine Compatability
|
||||
--------------------------
|
||||
Minetest engine version 5.2.0 or greater is currently recommended to run this game.
|
||||
Minetest engine version 5.1.1 is compatabile but not all mods and function completely.
|
||||
|
||||
Thank you to everyone who has helped contribute to this project and mods.
|
||||
|
||||
version 5.2.0 or greater is currently recommended to run this game.
|
||||
version 5.1.1 will work but not all mod features will be compatible.
|
||||
|
|
|
@ -119,9 +119,6 @@ minetest.register_on_joinplayer(function(player)
|
|||
return count
|
||||
end,
|
||||
}, name)
|
||||
if clothing.inv_mod == "inventory_plus" then
|
||||
inventory_plus.register_button(player,"clothing", "Clothing")
|
||||
end
|
||||
|
||||
load_clothing_metadata(player, clothing_inv)
|
||||
minetest.after(1, function(name)
|
||||
|
|
|
@ -1757,7 +1757,7 @@ else
|
|||
core.register_craft{
|
||||
output = "craftguide:sign",
|
||||
type = "shapeless",
|
||||
recipe = {"default:sign_wall_wood"}
|
||||
recipe = {"signs:sign"}
|
||||
}
|
||||
|
||||
core.register_craft{
|
||||
|
|
|
@ -32,7 +32,6 @@ minetest.register_alias("water_source", "default:water_source")
|
|||
minetest.register_alias("lava_flowing", "default:lava_flowing")
|
||||
minetest.register_alias("lava_source", "default:lava_source")
|
||||
minetest.register_alias("torch", "default:torch")
|
||||
minetest.register_alias("sign_wall", "default:sign_wall_wood")
|
||||
minetest.register_alias("furnace", "default:furnace")
|
||||
minetest.register_alias("chest", "default:chest")
|
||||
minetest.register_alias("locked_chest", "default:chest_locked")
|
||||
|
@ -74,4 +73,3 @@ minetest.register_alias("default:pinetree", "default:pine_tree")
|
|||
minetest.register_alias("default:pinewood", "default:pine_wood")
|
||||
|
||||
minetest.register_alias("default:ladder", "default:ladder_wood")
|
||||
minetest.register_alias("default:sign_wall", "default:sign_wall_wood")
|
||||
|
|
|
@ -202,9 +202,6 @@ Tools / "Advanced" crafting / Non-"natural"
|
|||
|
||||
default:bookshelf
|
||||
|
||||
default:sign_wall_wood
|
||||
default:sign_wall_steel
|
||||
|
||||
default:ladder_wood
|
||||
default:ladder_steel
|
||||
|
||||
|
|
|
@ -99,8 +99,8 @@ bones_loot.register_loot({
|
|||
{name = "default:mese_crystal_fragment", chance = 0.4, count = {1,5}, types = {"underworld_warrior"}},
|
||||
{name = "default:obsidian_shard", chance = 0.4, count = {1,3}, types = {"underworld_warrior"}},
|
||||
{name = "default:flint", chance = 0.3, count = {1,1}, types = {"underworld_warrior"}},
|
||||
{name = "default:sign_wall_wood", chance = 0.1, count = {1,4}, types = {"underworld_warrior"}},
|
||||
{name = "default:sign_wall_steel", chance = 0.1, count = {1,2}, types = {"underworld_warrior"}},
|
||||
{name = "signs:sign", chance = 0.1, count = {1,4}, types = {"underworld_warrior"}},
|
||||
{name = "signs:sign", chance = 0.1, count = {1,2}, types = {"underworld_warrior"}},
|
||||
{name = "default:ladder_wood", chance = 0.5, count = {1,10}, types = {"underworld_warrior"}},
|
||||
{name = "default:ladder_steel", chance = 0.2, count = {1,5}, types = {"underworld_warrior"}},
|
||||
{name = "default:meselamp", chance = 0.1, count = {1,2}, types = {"underworld_warrior"}},
|
||||
|
@ -114,4 +114,4 @@ if df_caverns.config.enable_lava_sea then
|
|||
bones_loot.register_loot({name = "df_mapitems:mese_crystal", chance = 0.25, count = {1, 2}, types = {"underworld_warrior"}})
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -265,8 +265,6 @@ if flow_through then
|
|||
"default:dry_shrub",
|
||||
"default:bush_stem",
|
||||
"default:acacia_bush_stem",
|
||||
"default:sign_wall_wood",
|
||||
"default:sign_wall_steel",
|
||||
"default:ladder_wood",
|
||||
"default:ladder_steel",
|
||||
"default:fence_wood",
|
||||
|
@ -289,6 +287,11 @@ if flow_through then
|
|||
add_flow_through("carts:powerrail")
|
||||
add_flow_through("carts:brakerail")
|
||||
end
|
||||
|
||||
-- Add "signs" support.
|
||||
if minetest.get_modpath("signs") then
|
||||
add_flow_through("signs:sign")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
@ -564,4 +567,4 @@ if displace_liquid then
|
|||
end
|
||||
end)
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,8 +7,8 @@ lootchests.register_lootchest({
|
|||
groups = {choppy = 2, oddly_breakable_by_hand = 2},
|
||||
ymax = 5,
|
||||
ymin = -512,
|
||||
spawn_in_rarity = 80,
|
||||
spawn_on_rarity = 5000,
|
||||
spawn_in_rarity = 160,
|
||||
spawn_on_rarity = 10000,
|
||||
slot_spawn_chance = 75,
|
||||
slots = 32,
|
||||
})
|
||||
|
@ -26,7 +26,7 @@ lootchests.register_lootchest({
|
|||
groups = {snappy = 2, oddly_breakable_by_hand = 2},
|
||||
ymax = 0,
|
||||
ymin = -256,
|
||||
spawn_on_rarity = 1400,
|
||||
spawn_on_rarity = 2800,
|
||||
slot_spawn_chance = 35,
|
||||
slots = 24,
|
||||
})
|
||||
|
@ -44,7 +44,7 @@ lootchests.register_lootchest({
|
|||
groups = {cracky = 2, oddly_breakable_by_hand = 2},
|
||||
ymax = 0,
|
||||
ymin = -256,
|
||||
spawn_on_rarity = 900,
|
||||
spawn_on_rarity = 1800,
|
||||
slot_spawn_chance = 50,
|
||||
slots = 24,
|
||||
})
|
||||
|
@ -62,7 +62,7 @@ lootchests.register_lootchest({
|
|||
groups = {choppy = 2, oddly_breakable_by_hand = 2},
|
||||
ymax = 5,
|
||||
ymin = -32,
|
||||
spawn_in_rarity = 70,
|
||||
spawn_in_rarity = 140,
|
||||
slot_spawn_chance = 50,
|
||||
slots = 24,
|
||||
})
|
||||
|
@ -83,8 +83,8 @@ lootchests.register_lootchest({
|
|||
groups = {cracky = 2},
|
||||
ymax = -128,
|
||||
ymin = -4096,
|
||||
spawn_in_rarity = 75,
|
||||
spawn_on_rarity = 7500,
|
||||
spawn_in_rarity = 125,
|
||||
spawn_on_rarity = 12500,
|
||||
slot_spawn_chance = 75,
|
||||
slots = 32,
|
||||
})
|
||||
|
|
|
@ -26,7 +26,7 @@ lootchests.loot_table["lootchests_default:ocean_chest"] = {
|
|||
{"default:sword_bronze"},
|
||||
{"default:sword_steel"},
|
||||
{"default:bookshelf", 16},
|
||||
{"default:sign_wall_wood", 4},
|
||||
{"signs:sign", 4},
|
||||
{"default:ladder_wood", 64},
|
||||
{"default:ladder_steel", 48},
|
||||
{"default:glass", 32},
|
||||
|
@ -101,7 +101,7 @@ lootchests.loot_table["lootchests_default:urn"] = {
|
|||
{"default:shovel_stone"},
|
||||
{"default:axe_stone"},
|
||||
{"default:sword_stone"},
|
||||
{"default:sign_wall_wood", 1},
|
||||
{"signs:sign", 1},
|
||||
{"default:ladder_wood", 8},
|
||||
{"vessels:glass_bottle", 4},
|
||||
{"fire:flint_and_steel"},
|
||||
|
@ -162,4 +162,4 @@ lootchests.loot_table["lootchests_default:stone_chest"] = {
|
|||
{"carts:cart", 2},
|
||||
{"bucket:bucket_empty", 8},
|
||||
{"boats:boat", 2},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@ lootchests.register_lootchest({
|
|||
groups = {cracky = 2, oddly_breakable_by_hand = 2},
|
||||
ymax = -64,
|
||||
ymin = -16000,
|
||||
spawn_in_rarity = 512,
|
||||
spawn_on_rarity = 20000,
|
||||
spawn_in_rarity = 1024,
|
||||
spawn_on_rarity = 40000,
|
||||
slot_spawn_chance = 75,
|
||||
slots = 24,
|
||||
})
|
||||
|
@ -33,7 +33,7 @@ lootchests.register_lootchest({
|
|||
groups = {cracky = 2, oddly_breakable_by_hand = 2},
|
||||
ymax = -64,
|
||||
ymin = -1600,
|
||||
spawn_on_rarity = 7200,
|
||||
spawn_on_rarity = 14400,
|
||||
slot_spawn_chance = 50,
|
||||
slots = 24,
|
||||
})
|
||||
|
|
|
@ -7,15 +7,6 @@ Licensed under the zlib license. See LICENSE.md for more information.
|
|||
|
||||
-- Redefinitions of some default crafting recipes:
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:sign_wall 4",
|
||||
recipe = {
|
||||
{"default:wood", "default:wood", "default:wood"},
|
||||
{"default:wood", "default:wood", "default:wood"},
|
||||
{"", "default:stick", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:ladder 4",
|
||||
recipe = {
|
||||
|
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
@ -62,10 +62,9 @@ end
|
|||
local generate_books = minetest.settings:get_bool("settlements_generate_books", true)
|
||||
|
||||
local initialize_node = function(pos, node, node_def, settlement_info)
|
||||
if settlement_info.name and node.name == "default:sign_wall_steel" then
|
||||
if settlement_info.name and node.name == "signs:sign" then
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("text", S("@1 Town Hall", settlement_info.name))
|
||||
meta:set_string("infotext", S("@1 Town Hall", settlement_info.name))
|
||||
end
|
||||
-- when chest is found -> fill with stuff
|
||||
if node.name == "default:chest" then
|
||||
|
|
|
@ -24,7 +24,7 @@ local n23 = { name = "default:torch_wall", param2 = 4 }
|
|||
local n24 = { name = "doors:door_wood_a", param2 = 1 }
|
||||
local n25 = { name = "xpanes:pane_flat", param2 = 3 }
|
||||
local n26 = { name = "doors:hidden", param2 = 1 }
|
||||
local n27 = { name = "default:sign_wall_steel", param2 = 3 }
|
||||
local n27 = { name = "signs:sign", param2 = 3 }
|
||||
local n28 = { name = "default:tree", param2 = 18 }
|
||||
local n29 = { name = "stairs:stair_junglewood", param2 = 3 }
|
||||
local n30 = { name = "default:fence_wood" }
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
MultiCraft Game mod: signs
|
||||
Sara's Simple Survival Game mod: signs
|
||||
==========================
|
||||
|
||||
License of source code
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
Elite City Guardian
|
||||
Rivanna16
|
||||
A member of an elite regiment of city guards.
|
|
@ -1,3 +0,0 @@
|
|||
Wandering Mage
|
||||
halucid
|
||||
A magical being skilled in the elemental arts.
|
|
@ -1,3 +0,0 @@
|
|||
Nature Mage
|
||||
Rivanna16
|
||||
A magical being. She can channel energy from nature.
|
|
@ -1,3 +0,0 @@
|
|||
Nightblade
|
||||
Rakqoi
|
||||
A master of shadows, darkness, and illusion. He conceals himself with the night.
|
|
@ -1,3 +0,0 @@
|
|||
Midnight Assassin
|
||||
Rivanna16
|
||||
Spells to fool the mind, deadly poisons, and daggers; just a few tools in her arsenal.
|
|
@ -1,3 +0,0 @@
|
|||
Rogue
|
||||
Rakqoi
|
||||
An exile known for malicious acts. Skilled with cunning, deception, and agility.
|
|
@ -1,3 +0,0 @@
|
|||
Medieval Thief
|
||||
Rivanna16
|
||||
She sat on the tavern roof, waiting. It was only a matter of time, now.
|
|
@ -1,3 +0,0 @@
|
|||
Templar Knight
|
||||
Rakqoi
|
||||
Deus Vult!
|
|
@ -1,3 +0,0 @@
|
|||
Fantasy Knight
|
||||
Rivanna16
|
||||
Honor and beauty.
|
|
@ -1,3 +0,0 @@
|
|||
City Watch
|
||||
Rakqoi
|
||||
Guards tasked with watching over the town and keeping the peace.
|
|
@ -1,3 +0,0 @@
|
|||
City Watch Guardian
|
||||
Rivanna16
|
||||
They do their job to feed their families, which is all that matters in the end.
|
|
@ -1,3 +0,0 @@
|
|||
Elite City Warden
|
||||
Rakqoi
|
||||
A member of an elite regiment of city guards.
|
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 250 B |
Before Width: | Height: | Size: 6.0 KiB |
|
@ -16,7 +16,7 @@ function toolranks.create_description(name, uses, level)
|
|||
.. toolranks.colors.grey .. "Used: " .. (uses or 0) .. " times"
|
||||
end
|
||||
|
||||
|
||||
-- This is where levels are defined.
|
||||
function toolranks.get_level(uses)
|
||||
|
||||
if uses >= 3200 then
|
||||
|
|
|
@ -0,0 +1,377 @@
|
|||
# ethereal
|
||||
|
||||
Ethereal Mapgen mod for Minetest (works on all except v6)
|
||||
|
||||
## Forum Topic
|
||||
- https://forum.minetest.net/viewtopic.php?f=11&t=14638
|
||||
|
||||
## Lucky Blocks
|
||||
42
|
||||
|
||||
## Changelog
|
||||
|
||||
### 1.27
|
||||
|
||||
- Added Etherium ore and dust
|
||||
- Added sparse decoration of dry grass and shrub to caves biome
|
||||
- Added sponges that spawn near coral, dry sponge in furnace to soak up water
|
||||
- Added new savanna dirt and decorations
|
||||
- Use default grass abms
|
||||
|
||||
### 1.26
|
||||
|
||||
- Added Sakura biome, pink sakura trees and saplings
|
||||
- 1 in 10 chance of sakura sapling growing into white sakura
|
||||
- Bamboo grows in higher elevation while sakura grows in lower
|
||||
- Added sakura wood, stairs, fence, gate and door
|
||||
- Added 5.0 checks to add new biomes and decorations
|
||||
- Fixed water abm for dry dirt and added check for minetest 5.1 dry dirt also
|
||||
|
||||
### 1.25
|
||||
|
||||
- Converted .mts files into schematic tables for easier editing
|
||||
- Added firethorn shrub in glacier areas (can be crafted into jelly)
|
||||
- Tweaked mapgen decorations
|
||||
- Added more lucky blocks
|
||||
- Added igloo to glacier biome
|
||||
- 2x2 bamboo = bamboo floor, 3x3 bamboo or 2x bamboo floor = bamboo block, blocks can be made into sticks, bamboo stairs need blocks to craft
|
||||
|
||||
### 1.24
|
||||
|
||||
- Updating code to newer functions, requires Minetest 0.4.16 and above
|
||||
- Added food groups to be more compatible with other food mods
|
||||
- Bonemeal removed (use Bonemeal mod to replace https://forum.minetest.net/viewtopic.php?f=9&t=16446 )
|
||||
- Crystal Ingot recipe requires a bucket of water, unless you are using builtin_item mod where you can mix ingredients by dropping in a pool of water instead
|
||||
|
||||
### 1.23
|
||||
|
||||
- Added bonemeal support for bush sapling and acacia bush sapling
|
||||
- Added support for [toolranks] mod if found
|
||||
- Reworked Crystal Shovel so it acts more like a normal shovel with soft touch
|
||||
|
||||
### 1.22
|
||||
|
||||
- Added coral and silver sand to mapgen (0.4.15 only)
|
||||
- Replaced ethereal:green_dirt with default:dirt_with_grass for mortrees compatibility
|
||||
- Mesa biomes are now topped with dirt with dry grass (redwood saplings grow on dry grass)
|
||||
- Added bonemeal support for moretree's saplings
|
||||
- Added settings.conf file example so that settings remain after mod update
|
||||
- Added support for Real Torch so that torches near water drop an unlit torch
|
||||
- Added support for new leafdecay functions (0.4.15 dev)
|
||||
- Mapgen will use dirt_with_rainforest_litter for jungles if found
|
||||
- Added bushes to mapgen
|
||||
|
||||
### 1.21
|
||||
|
||||
- Saplings need clear space above to grow (depending on height of tree)
|
||||
- Bonemeal changes to suit new sapling growth
|
||||
- Fixes and tweaks
|
||||
- Added default Abm overrides
|
||||
- Added 4 new plants from baked clay mod to mapgen
|
||||
- Added swamp biome to outskirts of bamboo areas
|
||||
|
||||
### 1.20
|
||||
|
||||
- Tweaked Ethereal to work with new features and nodes in Minetest 0.4.14
|
||||
- Added bones found in dirt and bonemeal to make tree's and crops grow quicker
|
||||
- Tree's follow default rules where saplings need light to grow
|
||||
- Using default schematics for apple, pine, acacia and jungle tree's
|
||||
- Tidied and split code into separate files
|
||||
- Redid coloured grass spread function to run better
|
||||
- Added support for moreblock's stairsplus feature
|
||||
|
||||
### 1.19
|
||||
|
||||
- Added new biome routine to help restructure biomes
|
||||
- Tweaked biome values so that they are more spread out (no more huge bamboo biome)
|
||||
- Tweaked biome plant and tree decorations
|
||||
- Fixed farming compatibility when using hoe on ethereal dirt
|
||||
- Dirt with dry grass turns into green grass when near water
|
||||
- Ice or snow above sea level melts into river water
|
||||
- Disabling ethereal biomes no longer shows error messages
|
||||
- Fire Flowers re-generate, can also be made into Fire Dust and both are fuel
|
||||
- Optimize and tidy code
|
||||
|
||||
### 1.18
|
||||
|
||||
- Added Birch tree, also stairs; fence and gate
|
||||
- Added Fire flower to fiery biomes (careful, it hurts)
|
||||
- Tweaked biomes and decoration slightly
|
||||
- Added tree_tool for admin to quickly grow tree's
|
||||
- Cobble to Mossycobble when near water has been toned down a bit
|
||||
|
||||
### 1.17
|
||||
|
||||
- Added new Glacier biome filled with snow and ice
|
||||
- Changed Mesa biome to have more coloured clay patterns
|
||||
- Changed Bamboo biome to have tall tree-like stalks with leaves that give
|
||||
- Bamboo sprouts are now saplings to grow new stalks
|
||||
- Removed farmed mushrooms and replaced with default game mushrooms with spores
|
||||
|
||||
### 1.16
|
||||
|
||||
- Added new tree schematics that change when placed with random leaves, fruit and height
|
||||
- Changed frost dirt so that it no longer freezes water (saves lag)
|
||||
- Torches cannot be placed next to water, otherwise they drop as items
|
||||
- Added latest farming redo Bean Bushes to mapgen
|
||||
- Code tidy (thanks HybridDog) and bug fix
|
||||
- Banana, Orange and Apple fruits now drop when tree has been removed.
|
||||
|
||||
### 1.15
|
||||
|
||||
- Added Staff of Light (thanks Xanthin), crafted from illumishrooms and can turn stone into glostone and back again
|
||||
- Changed how Crystal Spikes reproduce
|
||||
- Crystal Ingots now require 2x mese crystal and 2x crystal spikes to craft
|
||||
- Removed obsidian brick & stairs now they are in default game, also removed pine wood stairs for same reason
|
||||
- Tidied code and optimized a few routines
|
||||
|
||||
|
||||
### 1.14
|
||||
|
||||
- Changed Ethereal to work with Minetest 0.4.11 update and new mapgen features
|
||||
- Changed Pine tree's to use default pine wood
|
||||
- Added pine wood fence, gate and stairs
|
||||
- Crystal Spikes now re-generate in crystal biomes
|
||||
- Removed layer mapgen, keeping spread as default
|
||||
|
||||
|
||||
### 1.13
|
||||
|
||||
- Changed melting feature to work with 0.4.11 pre-release now that group:hot and group:melt have been removed
|
||||
|
||||
|
||||
### 1.12
|
||||
|
||||
- Added ability to disable biomes in the init.lua file by setting to 1 (enable) or 0 (disable)
|
||||
- Supports Framing Redo 1.10 foods
|
||||
|
||||
|
||||
### 1.11
|
||||
|
||||
- Added Stairs for Ethereal wood types, mushroom, dry dirt, obsidian brick and clay
|
||||
- Added Green Coral which can be used as green dye
|
||||
- Craft 5x Ice in X pattern to give 5x Snow
|
||||
- Added Snow and Ice Bricks with their own stairs and slabs which melt when near heat
|
||||
|
||||
|
||||
### 1.10
|
||||
|
||||
- Added Stone Ladders (another use for cobble)
|
||||
- Craft 5x Gravel in X pattern to give 5 dirt, and 5x dirt in X pattern for 5 sand
|
||||
- Added Acacia tree's to desert biome (a nice pink wood to build with, thanks to VanessaE for textures)
|
||||
- Added Acacia fences and gates
|
||||
- Added Vines, craftable with 2x3 leaves
|
||||
|
||||
|
||||
### 1.09
|
||||
|
||||
- Fixed Quicksand bug where player see's only black when sinking instead of yellow effect, note this will only work on new maps or newly generated areas of map containing quicksand
|
||||
- Hot nodes will melt ice and snow in a better way
|
||||
- Few spelling errors sorted for sapling and wood names
|
||||
|
||||
|
||||
### 1.08
|
||||
|
||||
- Saplings produce better placed tree's when grown, routines have been redone
|
||||
- Orange tree's now spawn in prairie biomes
|
||||
- The usual code tidy and few bug fixes along the way
|
||||
|
||||
### 1.07
|
||||
|
||||
- If Farming Redo mod detected then it's growing routines will be used for Ethereal plantlife instead of default
|
||||
Leaftype and Mapstyle settings can be changed within init.lua file, new layered style maps are being tested
|
||||
Changed crafting recipe for Fences, they tie in with Gates a little better
|
||||
|
||||
### 1.06
|
||||
|
||||
- Added support for Farming Redo mod, all plants spawn on newly generated areas:
|
||||
- https://forum.minetest.net/viewtopic.php?id=9019
|
||||
|
||||
### 1.05b
|
||||
|
||||
- Added Gates for each of the fence types (thanks to Blockmen for gate model)
|
||||
- Players can no longer jump over fences unless they wear crystal boots < REMOVED
|
||||
|
||||
### 1.04
|
||||
|
||||
- Farming of Mushrooms, Wild Onions and Strawberries now use minetest 0.4.10 functions
|
||||
- Strawberries can be grown by using actual fruit, seeds no longer needed
|
||||
- Tree leaves are no longer walkable, player can go through them
|
||||
- Saplings now fall if block underneath disturbed
|
||||
|
||||
### 1.03
|
||||
|
||||
- Changed Fence recipe's so it doesn't interfere with 3d armor's wooden boots
|
||||
- Tweaked textures to bring down file sizes
|
||||
- Flowers, Sprouts and Ferns now spread over ALL grassland
|
||||
|
||||
### 1.02
|
||||
|
||||
- Fences added for each type of wood in Ethereal
|
||||
- Changes to biome settings, less artifacts
|
||||
|
||||
### 1.01
|
||||
|
||||
- Quicksand generates throughout world near sandy water
|
||||
- Bamboo as well as Papyrus now grow on dirt near water
|
||||
- Fixed Coral textures and light
|
||||
|
||||
### 1.00
|
||||
|
||||
- Seaweed now spawns in deep water and can grow up to 10 high
|
||||
- Coral also spawns in deep water and glows slightly (orange, pink and blue)
|
||||
- Above items can be crafted into dye, also Seaweed is edible
|
||||
- So long as sand isn't disturbed under the ocean, sealife will re-generate
|
||||
- Fixed Leaves inventory images and Mushroom selection box (thanks Wuzzy)
|
||||
|
||||
### 0.0.9
|
||||
#### 0.0.9p
|
||||
|
||||
- Willow Trees now spawn in grey biome instead of tiny grey trees (model by Phiwari123)
|
||||
- Redwood Trees now spawn in Mesa biome (model by Wes42033)
|
||||
- BakedClay mod no longer required for Mesa biome but used if found
|
||||
- Paper Wall added
|
||||
|
||||
#### 0.0.9o
|
||||
|
||||
- Added Obsidian Brick craft for building
|
||||
- Changed Illumishroom cave levels
|
||||
- Changed *is_ground_content* to false for ethereal dirt so mapgen doesn't carve it up with caves
|
||||
|
||||
#### 0.0.9n
|
||||
|
||||
- New textures for farming mushrooms and spores
|
||||
- Illumi-shrooms spawn in caves to brighten things up a little
|
||||
- Crafting a wooden sign now gives 4 instead of 1
|
||||
|
||||
#### 0.0.9m
|
||||
|
||||
- Changed Bamboo biome slightly, Bamboo Sprout has new image
|
||||
- Abm timings changed and a few bugs fixed
|
||||
- Crystal Gilly Staff has to be used (left-click) to replenish air while underwater
|
||||
- Crystal Shovel now works with protection mods
|
||||
- Tidied code and changed ladder recipe's to double output
|
||||
|
||||
#### 0.0.9L
|
||||
|
||||
- Scorched Tree's are now different sizes
|
||||
- Crystal Shovel with soft touch can now be used to dig up sand and gravel
|
||||
- Bamboo and Papyrus drop entire stalk when bottom node dug
|
||||
- Crystal Spikes require steel pick or better to dig and fall when dirt below is removed
|
||||
- Few changes to mapgen and water functions
|
||||
|
||||
#### 0.0.9k
|
||||
|
||||
- Fixed bug in charcoal lumps (no more placing as unknown nodes)
|
||||
- Added Crystal Shovel with soft touch, can be used to dig up dirt with grass intact
|
||||
- Fixed bug in Crystal Shovel, now works with dirt_with_snow and has sounds
|
||||
- Tweaked Fiery Biomes slightly, smaller craters on outside, large in hotter areas
|
||||
|
||||
#### 0.0.9i
|
||||
|
||||
- Cleaned up mapgen_v7.lua file, maps now generate a little faster
|
||||
- Removed cactus.mts, no longer required
|
||||
- Removed mushroomtwo.mts, no longer required
|
||||
- Removed bamboo.mts, no longer required
|
||||
- Removed deadtree.mts, no longer required
|
||||
- Few new textures added
|
||||
- Papyrus also spawns on jungle dirt near water
|
||||
- Replaced dead tree's with scorched tree's
|
||||
- Each scorched tree trunk crafts into 2x charcoal Lumps (fixed)
|
||||
- Torches can also be crafted from Charcoal
|
||||
|
||||
#### 0.0.9h
|
||||
|
||||
- Added Strawberry farming, Strawberry Seeds and new Textures
|
||||
- Tidied up mapgen_v7.lua for better spawning of plants and trees
|
||||
- Player can no longer walk through Bamboo Stalks
|
||||
|
||||
#### 0.0.9g
|
||||
|
||||
- Changed Ethereal's growing routine for Saplings, it now uses 1 single abm to grow all tree's
|
||||
|
||||
#### 0.0.9f
|
||||
|
||||
- Added Fishing to Ethereal, Fishing Rod, Worms, Fish and Cooked Fish (Left-click the water with a Baited Rod in the hope of landing your prize)
|
||||
|
||||
#### 0.0.9e
|
||||
|
||||
- Changed textures for Bowl, Mushroom Soup, Crystal Spike, Banana Loaf, Strawberry & Bush
|
||||
- Added Hearty Stew Recipes
|
||||
- If BakedClay mod is installed, Mesa Biome will be added to the mix
|
||||
|
||||
#### 0.0.9d
|
||||
|
||||
- Added Bamboo Grove and Bamboo Sprouts )
|
||||
- Craft Bamboo into Paper and Bamboo Flooring
|
||||
- Cactus is now edible when crafted beside empty bucket
|
||||
|
||||
#### 0.0.9c
|
||||
|
||||
- Code re-worked so mod now uses sections for each function (easier to read and edit)
|
||||
- New textures for Strawberry Bush and Crystal Spikes
|
||||
|
||||
#### 0.0.9b
|
||||
|
||||
- Pine Tree Leaves have new texture and sometimes give Pine Nuts
|
||||
- Jungle Tree's now use default Jungle Wood as texture
|
||||
|
||||
#### 0.0.9
|
||||
|
||||
- Prairie, Grove, Jungle and Snowy biomes have their own dirt
|
||||
- Saplings will only grow in the biomes they were taken from
|
||||
- Mapgen tweaks and code changes for new dirt added
|
||||
|
||||
### 0.0.8 Changes
|
||||
#### 0.0.8m
|
||||
|
||||
- Added Banana Trunk and Wood
|
||||
- Added Boston Ferns to Grove biome
|
||||
- Added edible Fern Tubers
|
||||
- Mushroom Biome now has different sized mushrooms
|
||||
- Changed Pine Needles texture
|
||||
|
||||
#### 0.0.8k
|
||||
|
||||
- Added Desert Sand biome
|
||||
- Added Alpine biome with Pine Trees and Snow
|
||||
- Added Grove biome with Banana Tree's (saplings only grow in that temperate area)
|
||||
- Added Bananas, Banana Dough and Banana Bread
|
||||
- Changed biome generation to be more like real-world environs (e.g. shrooms like hot & humid so that's where they spawn)
|
||||
- Tidied up code and removed redundant lines
|
||||
|
||||
#### 0.0.8e
|
||||
|
||||
- New Plains biome added between Fiery and Green areas to hopefully stop forest fires, these have dry dirt and dead trees
|
||||
- Placing water near Dry Dirt turns it into normal dirt, cooking normal dirt changes it into Dry Dirt
|
||||
|
||||
Note: if your Ethereal world does have a few forest fires appearing you can always add this line to your minetest.conf file:
|
||||
|
||||
disable_fire = true
|
||||
|
||||
#### 0.0.8
|
||||
|
||||
- Healing Tree (grows on high snowy peaks, leaves are edible and golden apples heal all hearts)
|
||||
- Added some new images for Cooked Mushroom Soup, Mushroom Spores and Palm Trees
|
||||
- 2D leaves or 3D leaves option, both wave in wind if enabled
|
||||
- All new saplings can grow on their native dirt, and palm tree's on sand
|
||||
- Crystal Spike or Crystal Dirt freezes nearby water, Heat can also melt ice
|
||||
- Wild Mushrooms now give Spores, plant these to grow edible mushrooms
|
||||
- Cobble in water turns mossy
|
||||
- Palm Leaves can be cooked into Palm Wax and made into Candles
|
||||
|
||||
### 0.0.7c
|
||||
|
||||
- Gravel can be found under lake biomes (or craft 5 cobble in X pattern)
|
||||
- Papyrus is found and grows on dirt near water (also craft 2x3 string for paper)
|
||||
- Mushroom Heads have a chance of giving Mushroom Sapling (craft 1 head = 4x Mushrooms ready for Planting)
|
||||
- Trees and Mushrooms have a chance of giving Saplings
|
||||
- Frost Trunk and Mushroom Trunk are rotatable (craft 1 Mushroom Trunk = 4x White Dye)
|
||||
- Desert areas have Dry Shrubs added
|
||||
- Crystal Spikes added to Crystal Biome (watch out they hurt)
|
||||
- Crystal Ingots added to make Sword and Pick
|
||||
- New Pine Tree model added to snowy biome which adds Pine leaves and drops Pine Saplings
|
||||
- Fixed GrassyTwo biome so that BigTree now spawns and grows from sapling
|
||||
- Added Crystal Gilly Staff to allow breathing underwater (so long as it's in hand)
|
||||
- Added Palm Trees, Trunk, Wood, Sapling, Coconuts, Coconut Slice (to eat)
|
||||
- Thanks to VanessaE's for the Palm textures
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
-- add compatibility for ethereal nodes already in default game or name changed
|
||||
minetest.register_alias("ethereal:acacia_trunk", "default:acacia_tree")
|
||||
minetest.register_alias("ethereal:acacia_wood", "default:acacia_wood")
|
||||
|
||||
minetest.register_alias("ethereal:fence_acacia", "default:fence_acacia_wood")
|
||||
minetest.register_alias("ethereal:fence_junglewood", "default:fence_junglewood")
|
||||
minetest.register_alias("ethereal:fence_pine", "default:fence_pine_wood")
|
||||
|
||||
minetest.register_alias("ethereal:acacia_leaves", "default:acacia_leaves")
|
||||
minetest.register_alias("ethereal:pineleaves", "default:pine_needles")
|
||||
|
||||
minetest.register_alias("ethereal:mushroom_craftingitem", "flowers:mushroom_brown")
|
||||
minetest.register_alias("ethereal:mushroom_plant", "flowers:mushroom_brown")
|
||||
minetest.register_alias("ethereal:mushroom_soup_cooked", "ethereal:mushroom_soup")
|
||||
minetest.register_alias("ethereal:mushroom_1", "flowers:mushroom_brown")
|
||||
minetest.register_alias("ethereal:mushroom_2", "flowers:mushroom_brown")
|
||||
minetest.register_alias("ethereal:mushroom_3", "flowers:mushroom_brown")
|
||||
minetest.register_alias("ethereal:mushroom_4", "flowers:mushroom_brown")
|
||||
|
||||
minetest.register_alias("ethereal:strawberry_bush", "ethereal:strawberry_7")
|
||||
minetest.register_alias("ethereal:seed_strawberry", "ethereal:strawberry")
|
||||
|
||||
for i = 1, 5 do
|
||||
minetest.register_alias("ethereal:wild_onion_"..i, "ethereal:onion_"..i)
|
||||
end
|
||||
|
||||
minetest.register_alias("ethereal:onion_7", "ethereal:onion_4")
|
||||
minetest.register_alias("ethereal:onion_8", "ethereal:onion_5")
|
||||
minetest.register_alias("ethereal:wild_onion_7", "ethereal:onion_4")
|
||||
minetest.register_alias("ethereal:wild_onion_8", "ethereal:onion_5")
|
||||
minetest.register_alias("ethereal:wild_onion_craftingitem", "ethereal:wild_onion_plant")
|
||||
|
||||
minetest.register_alias("ethereal:hearty_stew_cooked", "ethereal:hearty_stew")
|
||||
|
||||
minetest.register_alias("ethereal:obsidian_brick", "default:obsidianbrick")
|
||||
|
||||
minetest.register_alias("ethereal:crystal_topped_dirt", "ethereal:crystal_dirt")
|
||||
minetest.register_alias("ethereal:fiery_dirt_top", "ethereal:fiery_dirt")
|
||||
minetest.register_alias("ethereal:gray_dirt_top", "ethereal:gray_dirt")
|
||||
minetest.register_alias("ethereal:green_dirt_top", "default;dirt_with_grass")
|
||||
|
||||
minetest.register_alias("ethereal:tree_sapling", "default:sapling")
|
||||
minetest.register_alias("ethereal:jungle_tree_sapling", "default:junglesapling")
|
||||
minetest.register_alias("ethereal:acacia_sapling", "default:acacia_sapling")
|
||||
minetest.register_alias("ethereal:pine_tree_sapling", "default:pine_sapling")
|
|
@ -0,0 +1,311 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Crystal Spike (Hurts if you touch it - thanks to ZonerDarkRevention for his DokuCraft DeviantArt crystal texture)
|
||||
minetest.register_node("ethereal:crystal_spike", {
|
||||
description = S("Crystal Spike"),
|
||||
drawtype = "plantlike",
|
||||
tiles = { "crystal_spike.png" },
|
||||
inventory_image = "crystal_spike.png",
|
||||
wield_image = "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 = "crystal_ingot.png",
|
||||
wield_image = "crystal_ingot.png",
|
||||
})
|
||||
|
||||
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 = core.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()
|
||||
|
||||
core.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 = {"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 = "crystal_sword.png",
|
||||
wield_image = "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 = "crystal_axe.png",
|
||||
wield_image = "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 = "crystal_pick.png",
|
||||
wield_image = "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", ""},
|
||||
}
|
||||
})
|
||||
|
||||
local old_handle_node_drops = minetest.handle_node_drops
|
||||
|
||||
function minetest.handle_node_drops(pos, drops, digger)
|
||||
|
||||
-- are we holding Crystal Shovel?
|
||||
if 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 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 = "Crystal Shovel",
|
||||
inventory_image = "crystal_shovel.png",
|
||||
wield_image = "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 = "crystal_gilly_staff.png",
|
||||
wield_image = "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({
|
||||
type = "shapeless",
|
||||
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
|
|
@ -0,0 +1,10 @@
|
|||
default
|
||||
farming?
|
||||
stairs
|
||||
flowers
|
||||
doors
|
||||
bakedclay?
|
||||
moreblocks?
|
||||
intllib?
|
||||
lucky_block?
|
||||
toolranks?
|
|
@ -0,0 +1 @@
|
|||
Ethereal mod uses the v7 mapgen to add many new biomes to the world.
|
|
@ -0,0 +1,309 @@
|
|||
|
||||
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,
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
local seedling = minetest.find_nodes_in_area_under_air(
|
||||
pos0, pos1, {"group:soil"})
|
||||
|
||||
if #seedling > 0 then
|
||||
|
||||
pos = seedling[math.random(#seedling)]
|
||||
|
||||
-- default farming has desert sand as soil, so dont spread on this
|
||||
if minetest.get_node(pos).name == "default:desert_sand" then
|
||||
return
|
||||
end
|
||||
|
||||
pos.y = pos.y + 1
|
||||
|
||||
if (minetest.get_node_light(pos) or 0) < 13 then
|
||||
return
|
||||
end
|
||||
|
||||
minetest.swap_node(pos, {name = node.name})
|
||||
end
|
||||
end
|
||||
|
||||
-- grow 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 = 1
|
||||
ab.nodenames = {"group:flora"}
|
||||
ab.neighbors = {"group:soil"}
|
||||
ab.action = flower_spread
|
||||
|
||||
-- find grow papyrus abm and change to grow_papyrus function
|
||||
elseif label == "Grow 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
|
||||
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},
|
||||
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"},
|
||||
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"}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,353 @@
|
|||
|
||||
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(),
|
||||
})
|
||||
|
||||
-- Bamboo Flooring
|
||||
minetest.register_node("ethereal:bamboo_floor", {
|
||||
description = S("Bamboo Floor"),
|
||||
drawtype = "nodebox",
|
||||
tiles = { "bamboo_floor.png" },
|
||||
wield_image = "bamboo_floor.png",
|
||||
inventory_image = "bamboo_floor.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = true,
|
||||
node_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = {-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5},
|
||||
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
|
||||
wall_side = {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5},
|
||||
},
|
||||
selection_box = {type = "wallmounted"},
|
||||
groups = {snappy = 3, choppy = 3 , flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
-- Craft Bamboo into Bamboo Flooring
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bamboo_floor 2",
|
||||
recipe = {
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bamboo_block",
|
||||
recipe = {
|
||||
{"ethereal:bamboo_floor"},
|
||||
{"ethereal:bamboo_floor"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Bamboo Block
|
||||
minetest.register_node("ethereal:bamboo_block", {
|
||||
description = S("Bamboo Block"),
|
||||
tiles = { "bamboo_floor.png" },
|
||||
paramtype = "light",
|
||||
groups = {snappy = 3, choppy = 3 , flammable = 2, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bamboo_block",
|
||||
recipe = {
|
||||
{"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Craft Bamboo into Paper
|
||||
minetest.register_craft({
|
||||
output = "default:paper 6",
|
||||
recipe = {
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
{"ethereal:bamboo", "ethereal:bamboo"},
|
||||
}
|
||||
})
|
||||
|
||||
if ethereal.xcraft == true then
|
||||
|
||||
-- X pattern craft recipes (5x 'a' in X pattern gives 5 of 'b')
|
||||
local cheat = {
|
||||
{"default:cobble", "default:gravel", 5},
|
||||
{"default:gravel", "default:dirt", 5},
|
||||
{"default:dirt", "default:sand", 5},
|
||||
{"default:ice", "default:snow", 20},
|
||||
{"ethereal:dry_dirt", "default:desert_sand", 5},
|
||||
}
|
||||
|
||||
for n = 1, #cheat do
|
||||
|
||||
minetest.register_craft({
|
||||
output = cheat[n][2] .. " " .. cheat[n][3],
|
||||
recipe = {
|
||||
{cheat[n][1], "", cheat[n][1]},
|
||||
{"", cheat[n][1], ""},
|
||||
{cheat[n][1], "", cheat[n][1]},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
end -- END if
|
||||
|
||||
-- Paper (2x3 string = 4 paper)
|
||||
minetest.register_craft({
|
||||
output = "default:paper 4",
|
||||
recipe = {
|
||||
{"farming:string", "farming:string"},
|
||||
{"farming:string", "farming:string"},
|
||||
{"farming:string", "farming:string"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Palm Wax
|
||||
minetest.register_craftitem("ethereal:palm_wax", {
|
||||
description = S("Palm Wax"),
|
||||
inventory_image = "palm_wax.png",
|
||||
wield_image = "palm_wax.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 10,
|
||||
output = "ethereal:palm_wax",
|
||||
recipe = "ethereal:palmleaves"
|
||||
})
|
||||
|
||||
-- Candle from Wax and String/Cotton
|
||||
minetest.register_node("ethereal:candle", {
|
||||
description = S("Candle"),
|
||||
drawtype = "plantlike",
|
||||
inventory_image = "candle_static.png",
|
||||
wield_image = "candle_static.png",
|
||||
tiles = {
|
||||
{
|
||||
name = "candle.png",
|
||||
animation={
|
||||
type="vertical_frames",
|
||||
aspect_w = 32,
|
||||
aspect_h = 32,
|
||||
length = 1.0
|
||||
}
|
||||
},
|
||||
},
|
||||
paramtype = "light",
|
||||
light_source = 11,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
groups = {dig_immediate = 3, attached_node = 1},
|
||||
sounds = default.node_sound_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.15, -0.5, -0.15, 0.15, 0, 0.15 }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:candle 2",
|
||||
recipe = {
|
||||
{"farming:cotton"},
|
||||
{"ethereal:palm_wax"},
|
||||
{"ethereal:palm_wax"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Wooden Bowl
|
||||
minetest.register_craftitem("ethereal:bowl", {
|
||||
description = S("Bowl"),
|
||||
inventory_image = "bowl.png",
|
||||
groups = {food_bowl = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- use farming redo's recipe if found
|
||||
if not minetest.registered_items["farming:bowl"] then
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bowl 4",
|
||||
recipe = {
|
||||
{"group:wood", "", "group:wood"},
|
||||
{"", "group:wood", ""},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- stone Ladder
|
||||
minetest.register_node("ethereal:stone_ladder", {
|
||||
description = S("Stone Ladder"),
|
||||
drawtype = "signlike",
|
||||
tiles = {"stone_ladder.png"},
|
||||
inventory_image = "stone_ladder.png",
|
||||
wield_image = "stone_ladder.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
},
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 1},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:stone_ladder 4",
|
||||
recipe = {
|
||||
{"group:stone", "", "group:stone"},
|
||||
{"group:stone", "group:stone", "group:stone"},
|
||||
{"group:stone", "", "group:stone"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Paper Wall
|
||||
minetest.register_node("ethereal:paper_wall", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Paper Wall"),
|
||||
tiles = {"paper_wall.png"},
|
||||
inventory_image_image = "paper_wall.png",
|
||||
wield_image = "paper_wall.png",
|
||||
paramtype = "light",
|
||||
groups = {snappy = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
is_ground_content = false,
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 5/11, 0.5, 0.5, 8/16 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 5/11, 0.5, 0.5, 8/16 }
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:paper_wall",
|
||||
recipe = {
|
||||
{"group:stick", "default:paper", "group:stick"},
|
||||
{"group:stick", "default:paper", "group:stick"},
|
||||
{"group:stick", "default:paper", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Glostone (A little bit of light decoration)
|
||||
minetest.register_node("ethereal:glostone", {
|
||||
description = S("Glo Stone"),
|
||||
tiles = {"glostone.png"},
|
||||
groups = {cracky = 3},
|
||||
light_source = 13,
|
||||
drop = "ethereal:glostone",
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "ethereal:glostone",
|
||||
recipe = {"default:torch", "default:stone", "dye:yellow"}
|
||||
})
|
||||
|
||||
-- Charcoal Lump
|
||||
minetest.register_craftitem("ethereal:charcoal_lump", {
|
||||
description = S("Lump of Charcoal"),
|
||||
inventory_image = "charcoal_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:charcoal_lump 2",
|
||||
recipe = {
|
||||
{"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 (by Xanthin)
|
||||
minetest.register_tool("ethereal:light_staff", {
|
||||
description = S("Staff of Light"),
|
||||
inventory_image = "light_staff.png",
|
||||
wield_image = "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
|
||||
|
||||
if node == "default:stone"
|
||||
or node == "default:desert_stone" then
|
||||
|
||||
minetest.swap_node(pos, {name = "ethereal:glostone"})
|
||||
|
||||
if not ethereal.check_creative(user:get_player_name()) then
|
||||
itemstack:add_wear(65535 / 149) -- 150 uses
|
||||
end
|
||||
|
||||
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"}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,82 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
default.register_fence("ethereal:fence_scorched", {
|
||||
description = S("Scorched Fence"),
|
||||
texture = "scorched_tree.png",
|
||||
material = "ethereal:scorched_tree",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_frostwood", {
|
||||
description = S("Frost Fence"),
|
||||
texture = "frost_wood.png",
|
||||
material = "ethereal:frost_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_redwood", {
|
||||
description = S("Redwood Fence"),
|
||||
texture = "redwood_wood.png",
|
||||
material = "ethereal:redwood_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_willow", {
|
||||
description = S("Willow Fence"),
|
||||
texture = "willow_wood.png",
|
||||
material = "ethereal:willow_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_yellowwood", {
|
||||
description = S("Healing Wood Fence"),
|
||||
texture = "yellow_wood.png",
|
||||
material = "ethereal:yellow_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_palm", {
|
||||
description = S("Palm Fence"),
|
||||
texture = "moretrees_palm_wood.png",
|
||||
material = "ethereal:palm_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_banana", {
|
||||
description = S("Banana Wood Fence"),
|
||||
texture = "banana_wood.png",
|
||||
material = "ethereal:banana_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_mushroom", {
|
||||
description = S("Mushroom Fence"),
|
||||
texture = "mushroom_trunk.png",
|
||||
material = "ethereal:mushroom_trunk",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_birch", {
|
||||
description = S("Birch Fence"),
|
||||
texture = "moretrees_birch_wood.png",
|
||||
material = "ethereal:birch_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence("ethereal:fence_sakura", {
|
||||
description = S("Sakura Fence"),
|
||||
texture = "ethereal_sakura_wood.png",
|
||||
material = "ethereal:sakura_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
|
@ -0,0 +1,167 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Raw Fish (Thanks to Altairas for her Fish image on DeviantArt)
|
||||
minetest.register_craftitem("ethereal:fish_raw", {
|
||||
description = S("Raw Fish"),
|
||||
inventory_image = "fish_raw.png",
|
||||
wield_image = "fish_raw.png",
|
||||
groups = {food_fish_raw = 1, flammable = 3},
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
-- Cooked Fish
|
||||
minetest.register_craftitem("ethereal:fish_cooked", {
|
||||
description = S("Cooked Fish"),
|
||||
inventory_image = "fish_cooked.png",
|
||||
wield_image = "fish_cooked.png",
|
||||
groups = {food_fish = 1, flammable = 3},
|
||||
on_use = minetest.item_eat(5),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "ethereal:fish_cooked",
|
||||
recipe = "ethereal:fish_raw",
|
||||
cooktime = 2,
|
||||
})
|
||||
|
||||
-- Sashimi (Thanks to Natalia Grosner for letting me use the sashimi image)
|
||||
minetest.register_craftitem("ethereal:sashimi", {
|
||||
description = S("Sashimi"),
|
||||
inventory_image = "sashimi.png",
|
||||
wield_image = "sashimi.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:sashimi 2",
|
||||
recipe = {
|
||||
{"group:food_seaweed", "group:food_fish_raw", "group:food_seaweed"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Worm
|
||||
minetest.register_craftitem("ethereal:worm", {
|
||||
description = S("Worm"),
|
||||
inventory_image = "worm.png",
|
||||
wield_image = "worm.png",
|
||||
})
|
||||
|
||||
-- Used when right-clicking with fishing rod to check for worm and bait rod
|
||||
local rod_use = function(itemstack, placer, pointed_thing)
|
||||
|
||||
local inv = placer:get_inventory()
|
||||
|
||||
if inv:contains_item("main", "ethereal:worm") then
|
||||
|
||||
inv:remove_item("main", "ethereal:worm")
|
||||
|
||||
return ItemStack("ethereal:fishing_rod_baited")
|
||||
end
|
||||
end
|
||||
|
||||
-- Fishing Rod
|
||||
minetest.register_craftitem("ethereal:fishing_rod", {
|
||||
description = S("Fishing Rod (Right-Click with rod to bait with worm from inventory)"),
|
||||
inventory_image = "fishing_rod.png",
|
||||
wield_image = "fishing_rod.png",
|
||||
stack_max = 1,
|
||||
|
||||
on_place = rod_use,
|
||||
on_secondary_use = rod_use
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:fishing_rod",
|
||||
recipe = {
|
||||
{"","","group:stick"},
|
||||
{"", "group:stick", "farming:string"},
|
||||
{"group:stick", "", "farming:string"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Sift through 2 Dirt Blocks to find Worm
|
||||
minetest.register_craft({
|
||||
output = "ethereal:worm",
|
||||
recipe = {
|
||||
{"default:dirt","default:dirt"},
|
||||
}
|
||||
})
|
||||
|
||||
-- default ethereal fish
|
||||
ethereal.fish = {
|
||||
{"ethereal:fish_raw"},
|
||||
}
|
||||
|
||||
-- xanadu server additional fish
|
||||
if minetest.get_modpath("xanadu") then
|
||||
ethereal.fish[2] = {"mobs:clownfish_raw"}
|
||||
ethereal.fish[3] = {"mobs:bluefish_raw"}
|
||||
end
|
||||
|
||||
-- Fishing Rod (Baited)
|
||||
minetest.register_craftitem("ethereal:fishing_rod_baited", {
|
||||
description = S("Baited Fishing Rod"),
|
||||
inventory_image = "fishing_rod_baited.png",
|
||||
wield_image = "fishing_rod_wield.png",
|
||||
stack_max = 1,
|
||||
liquids_pointable = true,
|
||||
|
||||
on_use = function (itemstack, user, pointed_thing)
|
||||
|
||||
if pointed_thing.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
local pos = pointed_thing.under
|
||||
local node = minetest.get_node(pos).name
|
||||
|
||||
if (node == "default:water_source"
|
||||
or node == "default:river_water_source")
|
||||
and math.random(1, 100) < 5 then
|
||||
|
||||
local type = ethereal.fish[math.random(1, #ethereal.fish)][1]
|
||||
local inv = user:get_inventory()
|
||||
|
||||
if inv:room_for_item("main", {name = type}) then
|
||||
|
||||
inv:add_item("main", {name = type})
|
||||
|
||||
minetest.sound_play("default_water_footstep", {pos = pos})
|
||||
|
||||
pos.y = pos.y + 0.5
|
||||
|
||||
minetest.add_particlespawner({
|
||||
amount = 5,
|
||||
time = .3,
|
||||
minpos = pos,
|
||||
maxpos = pos,
|
||||
minvel = {x = 2, y = .5, z = 2},
|
||||
maxvel = {x = 2, y = .5, z = 2},
|
||||
minacc = {x = 1, y = .1, z = 1},
|
||||
maxacc = {x = 1, y = .1, z = 1},
|
||||
minexptime = .3,
|
||||
maxexptime = .5,
|
||||
minsize = .5,
|
||||
maxsize = 1,
|
||||
collisiondetection = false,
|
||||
vertical = false,
|
||||
texture = "bubble.png",
|
||||
playername = "singleplayer"
|
||||
})
|
||||
|
||||
return ItemStack("ethereal:fishing_rod")
|
||||
else
|
||||
minetest.chat_send_player(user:get_player_name(),
|
||||
S("Inventory full, Fish Got Away!"))
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "ethereal:fishing_rod_baited",
|
||||
recipe = {"ethereal:fishing_rod", "ethereal:worm"},
|
||||
})
|
|
@ -0,0 +1,232 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Banana (Heals one heart when eaten)
|
||||
minetest.register_node("ethereal:banana", {
|
||||
description = S("Banana"),
|
||||
drawtype = "torchlike",
|
||||
tiles = {"banana_single.png"},
|
||||
inventory_image = "banana_single.png",
|
||||
wield_image = "banana_single.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
|
||||
},
|
||||
groups = {
|
||||
food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
|
||||
leafdecay = 1, leafdecay_drop = 1
|
||||
},
|
||||
drop = "ethereal:banana",
|
||||
on_use = minetest.item_eat(2),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = function(pos, placer)
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "ethereal:banana", param2 = 1})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Banana Dough
|
||||
minetest.register_craftitem("ethereal:banana_dough", {
|
||||
description = S("Banana Dough"),
|
||||
inventory_image = "banana_dough.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
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 = "pine_nuts.png",
|
||||
wield_image = "pine_nuts.png",
|
||||
groups = {food_pine_nuts = 1, flammable = 2},
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- Banana Loaf (Heals 3 hearts when eaten)
|
||||
minetest.register_craftitem("ethereal:banana_bread", {
|
||||
description = S("Banana Loaf"),
|
||||
inventory_image = "banana_bread.png",
|
||||
wield_image = "banana_bread.png",
|
||||
groups = {food_bread = 1, flammable = 3},
|
||||
on_use = minetest.item_eat(6),
|
||||
})
|
||||
|
||||
-- Coconut (Gives 4 coconut slices, each heal 1/2 heart)
|
||||
minetest.register_node("ethereal:coconut", {
|
||||
description = S("Coconut"),
|
||||
drawtype = "plantlike",
|
||||
walkable = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
tiles = {"moretrees_coconut.png"},
|
||||
inventory_image = "moretrees_coconut.png",
|
||||
wield_image = "moretrees_coconut.png",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.31, -0.43, -0.31, 0.31, 0.44, 0.31}
|
||||
},
|
||||
groups = {
|
||||
food_coconut = 1, snappy = 1, oddly_breakable_by_hand = 1, cracky = 1,
|
||||
choppy = 1, flammable = 1, leafdecay = 3, leafdecay_drop = 1
|
||||
},
|
||||
drop = "ethereal:coconut_slice 4",
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
-- Coconut Slice (Heals half heart when eaten)
|
||||
minetest.register_craftitem("ethereal:coconut_slice", {
|
||||
description = S("Coconut Slice"),
|
||||
inventory_image = "moretrees_coconut_slice.png",
|
||||
wield_image = "moretrees_coconut_slice.png",
|
||||
groups = {food_coconut_slice = 1, flammable = 1},
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- Golden Apple (Found on Healing Tree, heals all 10 hearts)
|
||||
minetest.register_node("ethereal:golden_apple", {
|
||||
description = S("Golden Apple"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"default_apple_gold.png"},
|
||||
inventory_image = "default_apple_gold.png",
|
||||
wield_image = "default_apple_gold.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.2, -0.37, -0.2, 0.2, 0.31, 0.2}
|
||||
},
|
||||
groups = {
|
||||
fleshy = 3, dig_immediate = 3,
|
||||
leafdecay = 3,leafdecay_drop = 1
|
||||
},
|
||||
drop = "ethereal:golden_apple",
|
||||
-- on_use = minetest.item_eat(20),
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if user then
|
||||
user:set_hp(20)
|
||||
return minetest.do_item_eat(2, nil, itemstack, user, pointed_thing)
|
||||
end
|
||||
end,
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "ethereal:golden_apple", param2 = 1})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Hearty Stew (Heals 5 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture)
|
||||
minetest.register_craftitem("ethereal:hearty_stew", {
|
||||
description = S("Hearty Stew"),
|
||||
inventory_image = "hearty_stew.png",
|
||||
wield_image = "hearty_stew.png",
|
||||
on_use = minetest.item_eat(10, "ethereal:bowl"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:hearty_stew",
|
||||
recipe = {
|
||||
{"group:food_onion","flowers:mushroom_brown", "group:food_tuber"},
|
||||
{"","flowers:mushroom_brown", ""},
|
||||
{"","group:food_bowl", ""},
|
||||
}
|
||||
})
|
||||
|
||||
-- Extra recipe for hearty stew
|
||||
if farming and farming.mod and farming.mod == "redo" then
|
||||
minetest.register_craft({
|
||||
output = "ethereal:hearty_stew",
|
||||
recipe = {
|
||||
{"group:food_onion","flowers:mushroom_brown", "group:food_beans"},
|
||||
{"","flowers:mushroom_brown", ""},
|
||||
{"","group:food_bowl", ""},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- Bucket of Cactus Pulp
|
||||
minetest.register_craftitem("ethereal:bucket_cactus", {
|
||||
description = S("Bucket of Cactus Pulp"),
|
||||
inventory_image = "bucket_cactus.png",
|
||||
wield_image = "bucket_cactus.png",
|
||||
stack_max = 1,
|
||||
on_use = minetest.item_eat(2, "bucket:bucket_empty"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:bucket_cactus",
|
||||
recipe = {
|
||||
{"bucket:bucket_empty","default:cactus"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- firethorn jelly
|
||||
minetest.register_craftitem("ethereal:firethorn_jelly", {
|
||||
description = S("Firethorn Jelly"),
|
||||
inventory_image = "ethereal_firethorn_jelly.png",
|
||||
wield_image = "ethereal_firethorn_jelly.png",
|
||||
on_use = minetest.item_eat(2, "vessels:glass_bottle"),
|
||||
groups = {vessel = 1},
|
||||
})
|
||||
|
||||
if minetest.registered_items["farming:bowl"] then
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "ethereal:firethorn_jelly",
|
||||
recipe = {
|
||||
"farming:mortar_pestle","vessels:glass_bottle",
|
||||
"ethereal:firethorn", "ethereal:firethorn", "ethereal:firethorn",
|
||||
"bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water",
|
||||
},
|
||||
replacements = {
|
||||
{"bucket:bucket_water", "bucket:bucket_empty 3"},
|
||||
{"farming:mortar_pestle", "farming:mortar_pestle"},
|
||||
},
|
||||
})
|
||||
end
|
|
@ -0,0 +1,111 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- register Ethereal wood type gates
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_scorched", {
|
||||
description = S("Scorched Wood Fence Gate"),
|
||||
texture = "scorched_tree.png",
|
||||
material = "ethereal:scorched_tree",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_frostwood", {
|
||||
description = S("Frost Wood Fence Gate"),
|
||||
texture = "frost_wood.png",
|
||||
material = "ethereal:frost_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_redwood", {
|
||||
description = S("Redwood Fence Gate"),
|
||||
texture = "redwood_wood.png",
|
||||
material = "ethereal:redwood_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_willow", {
|
||||
description = S("Willow Wood Fence Gate"),
|
||||
texture = "willow_wood.png",
|
||||
material = "ethereal:willow_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_yellowwood", {
|
||||
description = S("Healing Wood Fence Gate"),
|
||||
texture = "yellow_wood.png",
|
||||
material = "ethereal:yellow_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_palm", {
|
||||
description = S("Palm Wood Fence Gate"),
|
||||
texture = "moretrees_palm_wood.png",
|
||||
material = "ethereal:palm_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_banana", {
|
||||
description = S("Banana Wood Fence Gate"),
|
||||
texture = "banana_wood.png",
|
||||
material = "ethereal:banana_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_mushroom", {
|
||||
description = S("Mushroom Trunk Fence Gate"),
|
||||
texture = "mushroom_trunk.png",
|
||||
material = "ethereal:mushroom_trunk",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_birch", {
|
||||
description = S("Birch Wood Fence Gate"),
|
||||
texture = "moretrees_birch_wood.png",
|
||||
material = "ethereal:birch_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register_fencegate("ethereal:fencegate_sakura", {
|
||||
description = S("Sakura Wood Fence Gate"),
|
||||
texture = "ethereal_sakura_wood.png",
|
||||
material = "ethereal:sakura_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
-- add compatibility for ethereal's to default wooden gates
|
||||
minetest.register_alias("ethereal:fencegate_wood_open", "doors:gate_wood_open")
|
||||
minetest.register_alias("ethereal:fencegate_wood_closed", "doors:gate_wood_closed")
|
||||
|
||||
minetest.register_alias("ethereal:fencegate_acacia_open", "doors:gate_acacia_wood_open")
|
||||
minetest.register_alias("ethereal:fencegate_acacia_closed", "doors:gate_acacia_wood_closed")
|
||||
|
||||
minetest.register_alias("ethereal:fencegate_junglewood_open", "doors:gate_junglewood_open")
|
||||
minetest.register_alias("ethereal:fencegate_junglewood_closed", "doors:gate_junglewood_closed")
|
||||
|
||||
minetest.register_alias("ethereal:fencegate_pine_open", "doors:gate_pine_wood_open")
|
||||
minetest.register_alias("ethereal:fencegate_pine_closed", "doors:gate_pine_wood_closed")
|
||||
|
||||
-- sakura door
|
||||
doors.register_door("ethereal:door_sakura", {
|
||||
tiles = {
|
||||
{name = "ethereal_sakura_door.png", backface_culling = true}
|
||||
},
|
||||
description = S("Sakura Wood Door"),
|
||||
inventory_image = "ethereal_sakura_door_inv.png",
|
||||
groups = {
|
||||
snappy = 1, choppy = 2, oddly_breakable_by_hand = 2,
|
||||
flammable = 2
|
||||
},
|
||||
sound_open = "doors_glass_door_open",
|
||||
sound_close = "doors_glass_door_close",
|
||||
recipe = {
|
||||
{"group:stick", "default:paper"},
|
||||
{"default:paper", "group:stick"},
|
||||
{"ethereal:sakura_wood", "ethereal:sakura_wood"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_alias("ethereal:sakura_door", "ethereal:door_sakura")
|
||||
minetest.register_alias("ethereal:sakura_door_a", "ethereal:door_sakura_a")
|
||||
minetest.register_alias("ethereal:sakura_door_b", "ethereal:door_sakura_b")
|
|
@ -0,0 +1,120 @@
|
|||
--[[
|
||||
|
||||
Minetest Ethereal Mod
|
||||
|
||||
Created by ChinChow
|
||||
|
||||
Updated by TenPlus1
|
||||
|
||||
]]
|
||||
|
||||
-- DO NOT change settings below, use the settings.conf file instead
|
||||
ethereal = {
|
||||
|
||||
version = "1.27",
|
||||
leaftype = 0, -- 0 for 2D plantlike, 1 for 3D allfaces
|
||||
leafwalk = false, -- true for walkable leaves, false to fall through
|
||||
cavedirt = true, -- caves chop through dirt when true
|
||||
torchdrop = true, -- torches drop when touching water
|
||||
papyruswalk = true, -- papyrus can be walked on
|
||||
lilywalk = true, -- waterlilies can be walked on
|
||||
xcraft = true, -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
|
||||
glacier = 1, -- Ice glaciers with snow
|
||||
bamboo = 1, -- Bamboo with sprouts
|
||||
mesa = 1, -- Mesa red and orange clay with giant redwood
|
||||
alpine = 1, -- Snowy grass
|
||||
healing = 1, -- Snowy peaks with healing trees
|
||||
snowy = 1, -- Cold grass with pine trees and snow spots
|
||||
frost = 1, -- Blue dirt with blue/pink frost trees
|
||||
grassy = 1, -- Green grass with flowers and trees
|
||||
caves = 1, -- Desert stone ares with huge caverns underneath
|
||||
grayness = 1, -- Grey grass with willow trees
|
||||
grassytwo = 1, -- Sparse trees with old trees and flowers
|
||||
prairie = 1, -- Flowery grass with many plants and flowers
|
||||
jumble = 1, -- Green grass with trees and jungle grass
|
||||
junglee = 1, -- Jungle grass with tall jungle trees
|
||||
desert = 1, -- Desert sand with cactus
|
||||
grove = 1, -- Banana groves and ferns
|
||||
mushroom = 1, -- Purple grass with giant mushrooms
|
||||
sandstone = 1, -- Sandstone with smaller cactus
|
||||
quicksand = 1, -- Quicksand banks
|
||||
plains = 1, -- Dry dirt with scorched trees
|
||||
savanna = 1, -- Dry yellow grass with acacia tree's
|
||||
fiery = 1, -- Red grass with lava craters
|
||||
sandclay = 1, -- Sand areas with clay underneath
|
||||
swamp = 1, -- Swamp areas with vines on tree's, mushrooms, lilly's and clay sand
|
||||
sealife = 1, -- Enable coral and seaweed
|
||||
reefs = 1, -- Enable new 0.4.15 coral reefs in default
|
||||
sakura = 1, -- Enable sakura biome with trees
|
||||
tundra = 1, -- Enable tuntra biome with permafrost
|
||||
}
|
||||
|
||||
local path = minetest.get_modpath("ethereal")
|
||||
|
||||
-- Load new settings if found
|
||||
local input = io.open(path.."/settings.conf", "r")
|
||||
if input then
|
||||
dofile(path .. "/settings.conf")
|
||||
input:close()
|
||||
input = nil
|
||||
end
|
||||
|
||||
-- Intllib
|
||||
local S
|
||||
if minetest.global_exists("intllib") then
|
||||
if intllib.make_gettext_pair then
|
||||
-- New method using gettext.
|
||||
S = intllib.make_gettext_pair()
|
||||
else
|
||||
-- Old method using text files.
|
||||
S = intllib.Getter()
|
||||
end
|
||||
else
|
||||
S = function(s) return s end
|
||||
end
|
||||
ethereal.intllib = S
|
||||
|
||||
-- Falling node function
|
||||
ethereal.check_falling = minetest.check_for_falling or nodeupdate
|
||||
|
||||
-- creative check
|
||||
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
|
||||
function ethereal.check_creative(name)
|
||||
return creative_mode_cache or minetest.check_player_privs(name, {creative = true})
|
||||
end
|
||||
|
||||
dofile(path .. "/plantlife.lua")
|
||||
dofile(path .. "/mushroom.lua")
|
||||
dofile(path .. "/onion.lua")
|
||||
dofile(path .. "/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")
|
||||
dofile(path .. "/gates.lua")
|
||||
dofile(path .. "/mapgen.lua")
|
||||
dofile(path .. "/compatibility.lua")
|
||||
dofile(path .. "/stairs.lua")
|
||||
dofile(path .. "/lucky_block.lua")
|
||||
|
||||
-- Set bonemeal aliases
|
||||
if minetest.get_modpath("bonemeal") then
|
||||
minetest.register_alias("ethereal:bone", "bonemeal:bone")
|
||||
minetest.register_alias("ethereal:bonemeal", "bonemeal:bonemeal")
|
||||
else -- or return to where it came from
|
||||
minetest.register_alias("ethereal:bone", "default:dirt")
|
||||
minetest.register_alias("ethereal:bonemeal", "default:dirt")
|
||||
end
|
||||
|
||||
if minetest.get_modpath("xanadu") then
|
||||
dofile(path .. "/plantpack.lua")
|
||||
end
|
||||
|
||||
print (S("[MOD] Ethereal loaded"))
|
|
@ -0,0 +1,505 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- set leaftype (value inside init.lua)
|
||||
local leaftype = "plantlike"
|
||||
|
||||
if ethereal.leaftype ~= 0 then
|
||||
leaftype = "allfaces_optional"
|
||||
end
|
||||
|
||||
-- default apple tree leaves
|
||||
minetest.override_item("default:leaves", {
|
||||
drawtype = leaftype,
|
||||
visual_scale = 1.4,
|
||||
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 = 1.4,
|
||||
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 = 1.4,
|
||||
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 = 1.4,
|
||||
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 = 1.4,
|
||||
walkable = ethereal.leafwalk,
|
||||
})
|
||||
|
||||
-- willow twig
|
||||
minetest.register_node("ethereal:willow_twig", {
|
||||
description = S("Willow Twig"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"willow_twig.png"},
|
||||
inventory_image = "willow_twig.png",
|
||||
wield_image = "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 = 1.4,
|
||||
tiles = {"redwood_leaves.png"},
|
||||
inventory_image = "redwood_leaves.png",
|
||||
wield_image = "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 = 1.4,
|
||||
tiles = {"orange_leaves.png"},
|
||||
inventory_image = "orange_leaves.png",
|
||||
wield_image = "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 = 1.4,
|
||||
tiles = {"banana_leaf.png"},
|
||||
inventory_image = "banana_leaf.png",
|
||||
wield_image = "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 = 1.4,
|
||||
tiles = {"yellow_leaves.png"},
|
||||
inventory_image = "yellow_leaves.png",
|
||||
wield_image = "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 = 1.4,
|
||||
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 = 1.4,
|
||||
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 = 1.4,
|
||||
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 = 1.4,
|
||||
tiles = {"bamboo_leaves.png"},
|
||||
inventory_image = "bamboo_leaves.png",
|
||||
wield_image = "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 = 1.4,
|
||||
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 = 1.4,
|
||||
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,
|
||||
})
|
||||
|
||||
-- mushroom tops
|
||||
minetest.register_node("ethereal:mushroom", {
|
||||
description = S("Mushroom Cap"),
|
||||
tiles = {"mushroom_block.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
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 = {"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
|
||||
},
|
||||
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,
|
||||
})
|
||||
|
||||
-- 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: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"},
|
||||
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
|
||||
})
|
||||
|
||||
end
|
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 TenPlus1
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
|
@ -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
|
|
@ -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 = Бамбук
|
|
@ -0,0 +1,218 @@
|
|||
# Template for translations of ethereal mod
|
||||
# last update: 2016/May/25
|
||||
|
||||
#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 =
|
||||
|
||||
#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 =
|
||||
Bush #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 =
|
|
@ -0,0 +1,89 @@
|
|||
|
||||
-- add lucky blocks
|
||||
|
||||
if minetest.get_modpath("lucky_block") then
|
||||
|
||||
local epath = minetest.get_modpath("ethereal") .. "/schematics/"
|
||||
|
||||
lucky_block:add_schematics({
|
||||
{"pinetree", ethereal.pinetree, {x = 3, y = 0, z = 3}},
|
||||
{"palmtree", ethereal.palmtree, {x = 4, y = 0, z = 4}},
|
||||
{"bananatree", ethereal.bananatree, {x = 3, y = 0, z = 3}},
|
||||
{"orangetree", ethereal.orangetree, {x = 1, y = 0, z = 1}},
|
||||
{"birchtree", ethereal.birchtree, {x = 2, y = 0, z = 2}},
|
||||
})
|
||||
|
||||
lucky_block:add_blocks({
|
||||
{"dro", {"ethereal:firethorn"}, 3},
|
||||
{"dro", {"ethereal:firethorn_jelly"}, 3},
|
||||
{"nod", "ethereal:crystal_spike", 1},
|
||||
{"sch", "pinetree", 0, false},
|
||||
{"dro", {"ethereal:orange"}, 10},
|
||||
{"sch", "appletree", 0, false},
|
||||
{"dro", {"ethereal:strawberry"}, 10},
|
||||
{"sch", "bananatree", 0, false},
|
||||
{"sch", "orangetree", 0, false},
|
||||
{"dro", {"ethereal:banana"}, 10},
|
||||
{"sch", "acaciatree", 0, false},
|
||||
{"dro", {"ethereal:golden_apple"}, 3},
|
||||
{"sch", "palmtree", 0, false},
|
||||
{"dro", {"ethereal:tree_sapling"}, 5},
|
||||
{"dro", {"ethereal:orange_tree_sapling"}, 5},
|
||||
{"dro", {"ethereal:banana_tree_sapling"}, 5},
|
||||
{"dro", {"ethereal:willow_sapling"} ,5},
|
||||
{"dro", {"ethereal:mushroom_sapling"} ,5},
|
||||
{"dro", {"ethereal:palm_sapling"} ,5},
|
||||
{"dro", {"ethereal:birch_sapling"} ,5},
|
||||
{"dro", {"ethereal:redwood_sapling"} ,1},
|
||||
{"dro", {"ethereal:prairie_dirt"}, 10},
|
||||
{"dro", {"ethereal:grove_dirt"}, 10},
|
||||
{"fal", {"default:lava_source", "default:lava_source", "default:lava_source",
|
||||
"default:lava_source", "default:lava_source"}, 1, true, 4},
|
||||
{"dro", {"ethereal:cold_dirt"}, 10},
|
||||
{"dro", {"ethereal:mushroom_dirt"}, 10},
|
||||
{"dro", {"ethereal:fiery_dirt"}, 10},
|
||||
{"dro", {"ethereal:axe_crystal"}},
|
||||
{"nod", "ethereal:fire_flower", 1},
|
||||
{"dro", {"ethereal:sword_crystal"}},
|
||||
{"dro", {"ethereal:pick_crystal"}},
|
||||
{"sch", "birchtree", 0, false},
|
||||
{"dro", {"ethereal:fish_raw"}},
|
||||
{"dro", {"ethereal:shovel_crystal"}},
|
||||
{"dro", {"ethereal:fishing_rod_baited"}},
|
||||
{"exp"},
|
||||
{"dro", {"ethereal:fire_dust"}, 2},
|
||||
{"exp", 4},
|
||||
{"dro", {"ethereal:crystal_gilly_staff"}},
|
||||
{"dro", {"ethereal:light_staff"}},
|
||||
{"nod", "default:chest", 0, {
|
||||
{name = "ethereal:birch_sapling", max = 10},
|
||||
{name = "ethereal:palm_sapling", max = 10},
|
||||
{name = "ethereal:orange_tree_sapling", max = 10},
|
||||
{name = "ethereal:redwood_sapling", max = 10},
|
||||
{name = "ethereal:bamboo_sprout", max = 10},
|
||||
{name = "ethereal:banana_tree_sapling", max = 10},
|
||||
{name = "ethereal:mushroom_sapling", max = 10},
|
||||
{name = "ethereal:frost_tree_sapling", max = 10},
|
||||
{name = "ethereal:sakura_sapling", max = 10},
|
||||
{name = "ethereal:willow_sapling", max = 10},
|
||||
}},
|
||||
})
|
||||
|
||||
if minetest.get_modpath("3d_armor") then
|
||||
lucky_block:add_blocks({
|
||||
{"dro", {"3d_armor:helmet_crystal"}},
|
||||
{"dro", {"3d_armor:chestplate_crystal"}},
|
||||
{"dro", {"3d_armor:leggings_crystal"}},
|
||||
{"dro", {"3d_armor:boots_crystal"}},
|
||||
{"lig"},
|
||||
})
|
||||
end
|
||||
|
||||
if minetest.get_modpath("shields") then
|
||||
lucky_block:add_blocks({
|
||||
{"dro", {"shields:shield_crystal"}},
|
||||
{"exp"},
|
||||
})
|
||||
end
|
||||
|
||||
end -- END IF
|
|
@ -0,0 +1 @@
|
|||
name = ethereal
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- mushroom soup (Heals 1 heart)
|
||||
minetest.register_craftitem("ethereal:mushroom_soup", {
|
||||
description = S("Mushroom Soup"),
|
||||
inventory_image = "mushroom_soup.png",
|
||||
on_use = minetest.item_eat(5, "ethereal:bowl"),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:mushroom_soup",
|
||||
recipe = {
|
||||
{"flowers:mushroom_brown"},
|
||||
{"flowers:mushroom_brown"},
|
||||
{"group:food_bowl"},
|
||||
}
|
||||
})
|
||||
|
||||
-- 4x red mushrooms make mushroom block
|
||||
minetest.register_craft({
|
||||
output = "ethereal:mushroom",
|
||||
recipe = {
|
||||
{"flowers:mushroom_red", "flowers:mushroom_red"},
|
||||
{"flowers:mushroom_red", "flowers:mushroom_red"},
|
||||
}
|
||||
})
|
|
@ -0,0 +1,104 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- wild onion
|
||||
minetest.register_craftitem("ethereal:wild_onion_plant", {
|
||||
description = S("Wild Onion"),
|
||||
inventory_image = "wild_onion.png",
|
||||
wield_image = "wild_onion.png",
|
||||
groups = {food_onion = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:wild_onion_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(2),
|
||||
})
|
||||
|
||||
-- Define Onion growth stages
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"ethereal_wild_onion_1.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
|
||||
},
|
||||
groups = {
|
||||
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
|
||||
growing = 1, not_in_creative_inventory = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
}
|
||||
|
||||
--stage 1
|
||||
minetest.register_node("ethereal:onion_1", table.copy(crop_def))
|
||||
|
||||
--stage 2
|
||||
crop_def.tiles = {"ethereal_wild_onion_2.png"}
|
||||
minetest.register_node("ethereal:onion_2", table.copy(crop_def))
|
||||
|
||||
--stage 3
|
||||
crop_def.tiles = {"ethereal_wild_onion_3.png"}
|
||||
minetest.register_node("ethereal:onion_3", table.copy(crop_def))
|
||||
|
||||
--stage 4
|
||||
crop_def.tiles = {"ethereal_wild_onion_4.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:wild_onion_plant"}, rarity = 1},
|
||||
{items = {"ethereal:wild_onion_plant 2"}, rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:onion_4", table.copy(crop_def))
|
||||
|
||||
--stage 5
|
||||
crop_def.tiles = {"ethereal_wild_onion_5.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:wild_onion_plant 2"}, rarity = 1},
|
||||
{items = {"ethereal:wild_onion_plant 3"}, rarity = 2},
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:onion_5", table.copy(crop_def))
|
||||
|
||||
-- growing routine if farming redo isn't present
|
||||
if not farming or not farming.mod or farming.mod ~= "redo" then
|
||||
|
||||
minetest.register_abm({
|
||||
label = "Ethereal grow onion",
|
||||
nodenames = {"ethereal:onion_1", "ethereal:onion_2", "ethereal:onion_3", "ethereal:onion_4"},
|
||||
neighbors = {"farming:soil_wet"},
|
||||
interval = 9,
|
||||
chance = 20,
|
||||
catch_up = false,
|
||||
action = function(pos, node)
|
||||
|
||||
-- are we on wet soil?
|
||||
pos.y = pos.y - 1
|
||||
if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then
|
||||
return
|
||||
end
|
||||
pos.y = pos.y + 1
|
||||
|
||||
-- do we have enough light?
|
||||
local light = minetest.get_node_light(pos)
|
||||
|
||||
if not light
|
||||
or light < 13 then
|
||||
return
|
||||
end
|
||||
|
||||
-- grow to next stage
|
||||
local num = node.name:split("_")[2]
|
||||
|
||||
node.name = "ethereal:onion_" .. tonumber(num + 1)
|
||||
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
end -- END IF
|
|
@ -0,0 +1,91 @@
|
|||
|
||||
-- Baked Clay
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = "bakedclay:red",
|
||||
wherein = {"bakedclay:orange"},
|
||||
clust_scarcity = 4 * 4 * 4,
|
||||
clust_num_ores = 8,
|
||||
clust_size = 6,
|
||||
y_min = -10,
|
||||
y_max = 71,
|
||||
noise_params = {
|
||||
offset = 0.35,
|
||||
scale = 0.2,
|
||||
spread = {x = 5, y = 5, z = 5},
|
||||
seed = -316,
|
||||
octaves = 1,
|
||||
persist = 0.5
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = "bakedclay:grey",
|
||||
wherein = {"bakedclay:orange"},
|
||||
clust_scarcity = 4 * 4 * 4,
|
||||
clust_num_ores = 8,
|
||||
clust_size = 6,
|
||||
y_min = -10,
|
||||
y_max = 71,
|
||||
noise_params = {
|
||||
offset = 0.35,
|
||||
scale = 0.2,
|
||||
spread = {x = 5, y = 5, z = 5},
|
||||
seed = -613,
|
||||
octaves = 1,
|
||||
persist = 0.5
|
||||
},
|
||||
})
|
||||
|
||||
local add_ore = function(a, b, c, d, e, f, g)
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = a,
|
||||
wherein = b,
|
||||
clust_scarcity = c,
|
||||
clust_num_ores = d,
|
||||
clust_size = e,
|
||||
y_min = f,
|
||||
y_max = g,
|
||||
})
|
||||
end
|
||||
|
||||
-- Coal
|
||||
add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16)
|
||||
|
||||
-- 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"},
|
||||
})
|
|
@ -0,0 +1,312 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- 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 = "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 = {"vine.png"},
|
||||
inventory_image = "vine.png",
|
||||
wield_image = "vine.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:vine 2",
|
||||
recipe = {
|
||||
{"group:leaves", "", "group:leaves"},
|
||||
{"", "group:leaves", ""},
|
||||
{"group:leaves", "", "group:leaves"},
|
||||
}
|
||||
})
|
||||
|
||||
-- light strings (glowing vine)
|
||||
minetest.register_node("ethereal:lightstring", {
|
||||
description = S("Light String Vine"),
|
||||
drawtype = "signlike",
|
||||
tiles = {"lightstring.png"},
|
||||
inventory_image = "lightstring.png",
|
||||
wield_image = "lightstring.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
light_source = 10,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
is_ground_content = false,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:lightstring 8",
|
||||
recipe = {
|
||||
{"ethereal:vine", "ethereal:vine", "ethereal:vine"},
|
||||
{"ethereal:vine", "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 = {"fern.png"},
|
||||
inventory_image = "fern.png",
|
||||
wield_image = "fern.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
waving = 1,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"ethereal:fern_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 = "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},
|
||||
},
|
||||
})
|
||||
|
||||
-- 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({
|
||||
type = "shapeless",
|
||||
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:mushroom")
|
||||
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)
|
||||
minetest.register_node("ethereal:illumishroom", {
|
||||
description = S("Red Illumishroom"),
|
||||
drawtype = "plantlike",
|
||||
tiles = { "illumishroom.png" },
|
||||
inventory_image = "illumishroom.png",
|
||||
wield_image = "illumishroom.png",
|
||||
paramtype = "light",
|
||||
light_source = 5,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
groups = {dig_immediate = 3, attached_node = 1, flammable = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("ethereal:illumishroom2", {
|
||||
description = S("Green Illumishroom"),
|
||||
drawtype = "plantlike",
|
||||
tiles = { "illumishroom2.png" },
|
||||
inventory_image = "illumishroom2.png",
|
||||
wield_image = "illumishroom2.png",
|
||||
paramtype = "light",
|
||||
light_source = 5,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
groups = {dig_immediate = 3, attached_node = 1, flammable = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("ethereal:illumishroom3", {
|
||||
description = S("Cyan Illumishroom"),
|
||||
drawtype = "plantlike",
|
||||
tiles = { "illumishroom3.png" },
|
||||
inventory_image = "illumishroom3.png",
|
||||
wield_image = "illumishroom3.png",
|
||||
paramtype = "light",
|
||||
light_source = 5,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
groups = {dig_immediate = 3, attached_node = 1, flammable = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.47, 6 / 16},
|
||||
},
|
||||
})
|
|
@ -0,0 +1,193 @@
|
|||
|
||||
--= Register Biome Decoration Using Plants Mega Pack Lite
|
||||
|
||||
--= Desert Biome
|
||||
|
||||
-- Cactus
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:desert_sand", "default:sandstone"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"desert", "sandstone"},
|
||||
decoration = {
|
||||
"xanadu:cactus_echinocereus", "xanadu:cactus_matucana",
|
||||
"xanadu:cactus_baseball", "xanadu:cactus_golden"
|
||||
},
|
||||
})
|
||||
|
||||
-- Desert Plants
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:desert_sand", "default:sandstone", "default:sand"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.004,
|
||||
biomes = {"desert", "sandstone"},
|
||||
decoration = {
|
||||
"xanadu:desert_kangaroo", "xanadu:desert_brittle",
|
||||
"xanadu:desert_ocotillo", "xanadu:desert_whitesage"
|
||||
},
|
||||
})
|
||||
|
||||
--= Prairie Biome
|
||||
|
||||
-- Grass
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"ethereal:prairie_dirt", "default:dirt_with_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"prairie", "grassy", "grassytwo"},
|
||||
decoration = {
|
||||
"xanadu:grass_prairie", "xanadu:grass_cord",
|
||||
"xanadu:grass_wheatgrass", "xanadu:desert_whitesage"
|
||||
},
|
||||
})
|
||||
|
||||
-- Flowers
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:prairie_grass", "default:dirt_with_grass",
|
||||
"ethereal:grove_dirt", "ethereal:bamboo_dirt"
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"prairie", "grassy", "grassytwo", "bamboo"},
|
||||
decoration = {
|
||||
"xanadu:flower_jacobsladder", "xanadu:flower_thistle",
|
||||
"xanadu:flower_wildcarrot"
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:prairie_grass", "default:dirt_with_grass",
|
||||
"ethereal:grove_dirt"
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"prairie", "grassy", "grassytwo", "grove"},
|
||||
decoration = {
|
||||
"xanadu:flower_delphinium", "xanadu:flower_celosia",
|
||||
"xanadu:flower_daisy", "xanadu:flower_bluerose"
|
||||
},
|
||||
})
|
||||
|
||||
-- Shrubs
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:prairie_grass", "default:dirt_with_grass",
|
||||
"ethereal:grove_dirt", "ethereal:jungle_grass",
|
||||
"ethereal:gray_dirt", "default:dirt_with_rainforest_litter"
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {
|
||||
"prairie", "grassy", "grassytwo", "grove", "junglee",
|
||||
"grayness", "jumble"
|
||||
},
|
||||
decoration = {"xanadu:shrub_kerria", "xanadu:shrub_spicebush"},
|
||||
})
|
||||
|
||||
--= Jungle Biome
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"ethereal:jungle_dirt", "default:dirt_with_grass", "default:dirt_with_rainforest_litter"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.007,
|
||||
biomes = {"junglee", "jumble"},
|
||||
decoration = {
|
||||
"xanadu:rainforest_guzmania", "xanadu:rainforest_devil",
|
||||
"xanadu:rainforest_lazarus", "xanadu:rainforest_lollipop",
|
||||
"xanadu:mushroom_woolly"
|
||||
},
|
||||
})
|
||||
|
||||
--= Cold Biomes
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"default:dirt_with_snow", "ethereal:cold_dirt",
|
||||
"ethereal:gray_dirt"
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"snowy", "alpine", "grayness"},
|
||||
decoration = {
|
||||
"xanadu:mountain_edelweiss", "xanadu:mountain_armeria",
|
||||
"xanadu:mountain_bellflower", "xanadu:mountain_willowherb",
|
||||
"xanadu:mountain_bistort"
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
--= Mushroom Biome
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"ethereal:mushroom_dirt"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.005,
|
||||
biomes = {"mushroom"},
|
||||
decoration = {
|
||||
"xanadu:mushroom_powderpuff", "xanadu:mushroom_chanterelle",
|
||||
"xanadu:mushroom_parasol"
|
||||
},
|
||||
})
|
||||
|
||||
--= Lakeside
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:sand", "default:dirt_with_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.015,
|
||||
biomes = {"sandclay", "grassy_ocean", "grassy", "grassytwo", "jumble", "swamp"},
|
||||
decoration = {
|
||||
"xanadu:wetlands_cattails", "xanadu:wetlands_pickerel",
|
||||
"xanadu:wetlands_mannagrass", "xanadu:wetlands_turtle"
|
||||
},
|
||||
spawn_by = "default:water_source",
|
||||
num_spawn_by = 1,
|
||||
})
|
||||
|
||||
--= Harsh Biomes
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"ethereal:mushroom_dirt", "default:dirt_with_grass",
|
||||
"ethereal:gray_dirt", "ethereal:cold_dirt",
|
||||
"ethereal:dirt_with_snow", "ethereal:jungle_dirt",
|
||||
"ethereal:prairie_dirt", "ethereal:grove_dirt",
|
||||
"ethereal:dry_dirt", "ethereal:fiery_dirt", "default:sand",
|
||||
"default:desert_sand", "xanadu:red", "ethereal:bamboo_dirt",
|
||||
"default:dirt_with_rainforest_litter"
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.004,
|
||||
biomes = {
|
||||
"mushroom", "prairie", "grayness", "plains", "desert",
|
||||
"junglee", "grassy", "grassytwo", "jumble", "snowy", "alpine",
|
||||
"fiery", "mesa", "bamboo"
|
||||
},
|
||||
decoration = {"xanadu:spooky_thornbush", "xanadu:spooky_baneberry"},
|
||||
})
|
||||
|
||||
--= Poppy's growing in Clearing Biome in memory of RealBadAngel
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {
|
||||
"default:dirt_with_grass",
|
||||
},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.004,
|
||||
biomes = {"clearing"},
|
||||
decoration = {"xanadu:poppy"},
|
||||
})
|
|
@ -0,0 +1,235 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Bamboo Sprout
|
||||
minetest.register_node("ethereal:bamboo_sprout", {
|
||||
description = S("Bamboo Sprout"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bamboo_sprout.png"},
|
||||
inventory_image = "bamboo_sprout.png",
|
||||
wield_image = "bamboo_sprout.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
groups = {
|
||||
food_bamboo_sprout = 1, snappy = 3, attached_node = 1, flammable = 2,
|
||||
dig_immediate = 3, ethereal_sapling = 1, sapling = 1,
|
||||
},
|
||||
sounds = default.node_sound_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0, 4 / 16}
|
||||
},
|
||||
on_use = minetest.item_eat(2),
|
||||
grown_height = 11,
|
||||
})
|
||||
|
||||
-- Register Saplings
|
||||
local register_sapling = function(name, desc, texture, height)
|
||||
|
||||
minetest.register_node(name .. "_sapling", {
|
||||
description = S(desc .. " Tree Sapling"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {texture .. ".png"},
|
||||
inventory_image = texture .. ".png",
|
||||
wield_image = texture .. ".png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
|
||||
},
|
||||
groups = {
|
||||
snappy = 2, dig_immediate = 3, flammable = 2,
|
||||
ethereal_sapling = 1, attached_node = 1, sapling = 1
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
grown_height = height,
|
||||
})
|
||||
end
|
||||
|
||||
register_sapling("ethereal:willow", "Willow", "willow_sapling", 14)
|
||||
register_sapling("ethereal:yellow_tree", "Healing", "yellow_tree_sapling", 19)
|
||||
register_sapling("ethereal:big_tree", "Big", "ethereal_big_tree_sapling", 7)
|
||||
register_sapling("ethereal:banana_tree", "Banana", "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:redwood", "Redwood", "redwood_sapling", 31)
|
||||
register_sapling("ethereal:orange_tree", "Orange", "orange_tree_sapling", 6)
|
||||
register_sapling("ethereal:birch", "Birch", "moretrees_birch_sapling", 7)
|
||||
register_sapling("ethereal:sakura", "Sakura", "ethereal_sakura_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_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)
|
||||
add_tree(pos, 3, 0, 3, ethereal.bananatree)
|
||||
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, 7, 0, 7, ethereal.redwood_tree)
|
||||
end
|
||||
|
||||
function ethereal.grow_orange_tree(pos)
|
||||
add_tree(pos, 1, 0, 1, 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
|
||||
|
||||
-- check if sapling has enough height room to grow
|
||||
local enough_height = function(pos, height)
|
||||
|
||||
local nod = minetest.line_of_sight(
|
||||
{x = pos.x, y = pos.y + 1, z = pos.z},
|
||||
{x = pos.x, y = pos.y + height, z = pos.z})
|
||||
|
||||
if not nod then
|
||||
return false -- obstructed
|
||||
else
|
||||
return true -- can grow
|
||||
end
|
||||
end
|
||||
|
||||
local grow_sapling = function(pos, node)
|
||||
|
||||
local under = minetest.get_node({
|
||||
x = pos.x,
|
||||
y = pos.y - 1,
|
||||
z = pos.z
|
||||
}).name
|
||||
|
||||
if not minetest.registered_nodes[node.name] then
|
||||
return
|
||||
end
|
||||
|
||||
local height = minetest.registered_nodes[node.name].grown_height
|
||||
|
||||
-- do we have enough height to grow sapling into tree?
|
||||
if not height or not enough_height(pos, height) then
|
||||
return
|
||||
end
|
||||
|
||||
-- Check if Ethereal Sapling is growing on correct substrate
|
||||
if node.name == "ethereal: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: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)
|
||||
end
|
||||
end
|
||||
|
||||
-- Grow saplings
|
||||
minetest.register_abm({
|
||||
label = "Ethereal grow sapling",
|
||||
nodenames = {"group:ethereal_sapling"},
|
||||
interval = 10,
|
||||
chance = 50,
|
||||
catch_up = false,
|
||||
action = function(pos, node)
|
||||
|
||||
local light_level = minetest.get_node_light(pos) or 0
|
||||
|
||||
if light_level < 13 then
|
||||
return
|
||||
end
|
||||
|
||||
grow_sapling(pos, node)
|
||||
end,
|
||||
})
|
|
@ -0,0 +1,85 @@
|
|||
|
||||
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},
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
l,L,l,
|
||||
_,L,_,
|
||||
_,_,_,
|
||||
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
_,B,_,
|
||||
l,L,l,
|
||||
_,L,_,
|
||||
_,l,_,
|
||||
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
l,L,l,
|
||||
_,L,_,
|
||||
_,_,_,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ethereal.papyruswalk == true then
|
||||
|
||||
minetest.override_item("default:papyrus", {
|
||||
walkable = true,
|
||||
sunlight_propagates = true
|
||||
})
|
||||
end
|
|
@ -0,0 +1,83 @@
|
|||
|
||||
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},
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,l,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,b,_,_,_,
|
||||
_,_,_,B,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,b,T,b,_,_,
|
||||
_,_,B,L,B,_,_,
|
||||
_,L,L,L,L,L,_,
|
||||
L,l,_,L,_,l,L,
|
||||
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,_,T,_,_,_,
|
||||
_,_,_,b,_,_,_,
|
||||
_,_,_,B,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
_,_,_,l,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,L,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,
|
||||
_,_,_,_,_,
|
||||
_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
|
||||
local _ = {name = "air", prob = 0}
|
||||
local S = {name = "default:snowblock", prob = 255}
|
||||
|
||||
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,_,_,_,_,_,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,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
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 = 3, y = 6, z = 3},
|
||||
|
||||
yslice_prob = {
|
||||
{ypos = 0, prob = 127},
|
||||
{ypos = 3, prob = 127},
|
||||
},
|
||||
|
||||
data = {
|
||||
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
l,l,o,
|
||||
L,L,L,
|
||||
l,o,l,
|
||||
|
||||
_,T,_,
|
||||
_,T,_,
|
||||
_,T,_,
|
||||
l,T,l,
|
||||
L,T,L,
|
||||
l,L,l,
|
||||
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
_,_,_,
|
||||
o,l,l,
|
||||
L,L,L,
|
||||
l,l,l,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
},
|
||||
}
|
|
@ -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,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,
|
||||
_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
-- waterlily
|
||||
|
||||
ethereal.waterlily = {
|
||||
size = {x = 1, y = 3, z = 1},
|
||||
data = {
|
||||
|
||||
{name = "default:sand", param1 = 255},
|
||||
{name = "default:water_source", param1 = 255},
|
||||
{name = "flowers:waterlily", param1 = 255},
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
if ethereal.lilywalk == true then
|
||||
|
||||
minetest.override_item("flowers:waterlily", {
|
||||
walkable = true,
|
||||
})
|
||||
end
|
|
@ -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,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
|
@ -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,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
_,_,_,_,_,_,_,_,_,
|
||||
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 43 KiB |
|
@ -0,0 +1,295 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Seaweed
|
||||
minetest.register_node("ethereal:seaweed", {
|
||||
description = S("Seaweed"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"seaweed.png"},
|
||||
inventory_image = "seaweed.png",
|
||||
wield_image = "seaweed.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
drowning = 1,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
post_effect_color = {a = 64, r = 100, g = 100, b = 200},
|
||||
groups = {food_seaweed = 1, snappy = 3, flammable = 3},
|
||||
on_use = minetest.item_eat(1),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_dig_node = function(pos, node, metadata, digger)
|
||||
default.dig_up(pos, node, digger)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "dye:dark_green 3",
|
||||
recipe = {"ethereal:seaweed",},
|
||||
})
|
||||
|
||||
-- agar powder
|
||||
minetest.register_craftitem("ethereal:agar_powder", {
|
||||
description = S("Agar Powder"),
|
||||
inventory_image = "ethereal_agar_powder.png",
|
||||
groups = {food_gelatin = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "ethereal:agar_powder 3",
|
||||
recipe = {
|
||||
{"group:food_seaweed", "group:food_seaweed", "group:food_seaweed"},
|
||||
{"bucket:bucket_water", "bucket:bucket_water", "default:torch"},
|
||||
{"bucket:bucket_water", "bucket:bucket_water", "default:torch"},
|
||||
},
|
||||
replacements = {
|
||||
{"bucket:bucket_water", "bucket:bucket_empty 4"},
|
||||
},
|
||||
})
|
||||
|
||||
-- Blue Coral
|
||||
minetest.register_node("ethereal:coral2", {
|
||||
description = S("Blue Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"coral2.png"},
|
||||
inventory_image = "coral2.png",
|
||||
wield_image = "coral2.png",
|
||||
paramtype = "light",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 1 / 4, 6 / 16},
|
||||
},
|
||||
light_source = 3,
|
||||
groups = {snappy = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "dye:cyan 3",
|
||||
recipe = {"ethereal:coral2",},
|
||||
})
|
||||
|
||||
-- Orange Coral
|
||||
minetest.register_node("ethereal:coral3", {
|
||||
description = S("Orange Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"coral3.png"},
|
||||
inventory_image = "coral3.png",
|
||||
wield_image = "coral3.png",
|
||||
paramtype = "light",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 1 / 4, 6 / 16},
|
||||
},
|
||||
light_source = 3,
|
||||
groups = {snappy = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "dye:orange 3",
|
||||
recipe = {"ethereal:coral3",},
|
||||
})
|
||||
|
||||
-- Pink Coral
|
||||
minetest.register_node("ethereal:coral4", {
|
||||
description = S("Pink Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"coral4.png"},
|
||||
inventory_image = "coral4.png",
|
||||
wield_image = "coral4.png",
|
||||
paramtype = "light",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 8 / 16, 6 / 16},
|
||||
},
|
||||
light_source = 3,
|
||||
groups = {snappy = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "dye:pink 3",
|
||||
recipe = {"ethereal:coral4",},
|
||||
})
|
||||
|
||||
-- Green Coral
|
||||
minetest.register_node("ethereal:coral5", {
|
||||
description = S("Green Coral"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"coral5.png"},
|
||||
inventory_image = "coral5.png",
|
||||
wield_image = "coral5.png",
|
||||
paramtype = "light",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 3 / 16, 6 / 16},
|
||||
},
|
||||
light_source = 3,
|
||||
groups = {snappy = 3},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "dye:green 3",
|
||||
recipe = {"ethereal:coral5",},
|
||||
})
|
||||
|
||||
-- Undersea Sand
|
||||
minetest.register_node("ethereal:sandy", {
|
||||
description = S("Sandy"),
|
||||
tiles = {"default_sand.png"},
|
||||
is_ground_content = true,
|
||||
groups = {
|
||||
crumbly = 3, falling_node = 1, sand = 1, not_in_creative_inventory = 1
|
||||
},
|
||||
drop = "default:sand",
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
-- randomly generate coral or seaweed and have seaweed grow up to 14 high
|
||||
if ethereal.sealife == 1 then
|
||||
minetest.register_abm({
|
||||
label = "Grow coral/seaweed",
|
||||
nodenames = {"ethereal:sandy"},
|
||||
neighbors = {"group:water"},
|
||||
interval = 15,
|
||||
chance = 10,
|
||||
catch_up = false,
|
||||
action = function(pos, node)
|
||||
|
||||
local sel = math.random(1, 6)
|
||||
|
||||
pos.y = pos.y + 1
|
||||
|
||||
local nod = minetest.get_node(pos).name
|
||||
|
||||
if nod == "default:water_source"
|
||||
and sel == 6 then
|
||||
|
||||
minetest.swap_node(pos, {name = "ethereal:sponge_wet"})
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
if nod == "default:water_source"
|
||||
and sel > 1 then
|
||||
|
||||
minetest.swap_node(pos, {name = "ethereal:coral" .. sel})
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
if nod == "ethereal:seaweed"
|
||||
or sel == 1 then
|
||||
|
||||
local height = 0
|
||||
local high = 14
|
||||
|
||||
while height < high
|
||||
and minetest.get_node(pos).name == "ethereal:seaweed" do
|
||||
height = height + 1
|
||||
pos.y = pos.y + 1
|
||||
end
|
||||
|
||||
if pos.y < 1
|
||||
and height < high
|
||||
and minetest.get_node(pos).name == "default:water_source" then
|
||||
|
||||
minetest.swap_node(pos, {name = "ethereal:seaweed"})
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
-- sponges
|
||||
|
||||
minetest.register_node("ethereal:sponge_air", {
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = true,
|
||||
pointable = false,
|
||||
drop = "",
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("ethereal:sponge", {
|
||||
description = S("Sponge"),
|
||||
tiles = {"ethereal_sponge.png"},
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
|
||||
-- get player name
|
||||
local name = placer:get_player_name()
|
||||
|
||||
-- is area protected
|
||||
if minetest.is_protected(pos, name) then
|
||||
return
|
||||
end
|
||||
|
||||
-- get water nodes within range
|
||||
local num = minetest.find_nodes_in_area(
|
||||
{x = pos.x - 3, y = pos.y - 3, z = pos.z - 3},
|
||||
{x = pos.x + 3, y = pos.y + 3, z = pos.z + 3},
|
||||
{"group:water"})
|
||||
|
||||
-- no water
|
||||
if #num == 0 then return end
|
||||
|
||||
-- replace water nodes with sponge air
|
||||
for _, w in pairs(num) do
|
||||
|
||||
if not minetest.is_protected(pos, name) then
|
||||
minetest.swap_node(w, {name = "ethereal:sponge_air"})
|
||||
end
|
||||
end
|
||||
|
||||
-- replace dry sponge with wet sponge
|
||||
minetest.swap_node(pos, {name="ethereal:sponge_wet"})
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("ethereal:sponge_wet", {
|
||||
description = S("Wet sponge"),
|
||||
tiles = {"ethereal_sponge_wet.png"},
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
-- cook wet sponge into dry sponge
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
recipe = "ethereal:sponge_wet",
|
||||
output = "ethereal:sponge",
|
||||
cooktime = 3,
|
||||
})
|
||||
|
||||
-- use leaf decay to remove sponge air nodes
|
||||
default.register_leafdecay({
|
||||
trunks = {"ethereal:sponge_wet"},
|
||||
leaves = {"ethereal:sponge_air"},
|
||||
radius = 3
|
||||
})
|
||||
|
||||
-- dry sponges can be used as fuel
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "ethereal:sponge",
|
||||
burntime = 5,
|
||||
})
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
--[[
|
||||
Ethereal Settings can be changed here and kept even after the mod
|
||||
has been updated
|
||||
--]]
|
||||
|
||||
ethereal.leaftype = 0 -- 0 for 2D plantlike, 1 for 3D allfaces
|
||||
ethereal.leafwalk = false -- true for walkable leaves, false to fall through
|
||||
ethereal.cavedirt = true -- caves chop through dirt when true
|
||||
ethereal.torchdrop = true -- torches drop when touching water
|
||||
ethereal.papyruswalk = true -- papyrus can be walked on
|
||||
ethereal.lilywalk = true -- waterlilies can be walked on
|
||||
ethereal.xcraft = true -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
|
||||
|
||||
-- Set following to 1 to enable biome or false to disable
|
||||
ethereal.glacier = 1 -- Ice glaciers with snow
|
||||
ethereal.bamboo = 1 -- Bamboo with sprouts
|
||||
ethereal.mesa = 1 -- Mesa red and orange clay with giant redwood
|
||||
ethereal.alpine = 1 -- Snowy grass
|
||||
ethereal.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
|
|
@ -0,0 +1,338 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Stairs Redo
|
||||
if stairs and stairs.mod and stairs.mod == "redo" then
|
||||
|
||||
stairs.register_all("crystal_block", "ethereal:crystal_block",
|
||||
{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
|
||||
{"crystal_block.png"},
|
||||
S("Crystal Block Stair"),
|
||||
S("Crystal Block Slab"),
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_all("icebrick", "ethereal:icebrick",
|
||||
{cracky = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
{"brick_ice.png"},
|
||||
S("Ice Brick Stair"),
|
||||
S("Ice Brick Slab"),
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_all("snowbrick", "ethereal:snowbrick",
|
||||
{crumbly = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
{"brick_snow.png"},
|
||||
S("Snow Brick Stair"),
|
||||
S("Snow Brick Slab"),
|
||||
default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_snow_footstep", gain = 0.25},
|
||||
dug = {name = "default_snow_footstep", gain = 0.75},
|
||||
}))
|
||||
|
||||
stairs.register_all("dry_dirt", "ethereal:dry_dirt",
|
||||
{crumbly = 3},
|
||||
{"ethereal_dry_dirt.png"},
|
||||
S("Dried Dirt Stair"),
|
||||
S("Dried Dirt Slab"),
|
||||
default.node_sound_dirt_defaults())
|
||||
|
||||
stairs.register_all("mushroom_trunk", "ethereal:mushroom_trunk",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
{"mushroom_trunk.png"},
|
||||
S("Mushroom Trunk Stair"),
|
||||
S("Mushroom Trunk Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("mushroom", "ethereal:mushroom",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
{"mushroom_block.png"},
|
||||
S("Mushroom Top Stair"),
|
||||
S("Mushroom Top Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("frost_wood", "ethereal:frost_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
{"frost_wood.png"},
|
||||
S("Frost Wood Stair"),
|
||||
S("Frost Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("yellow_wood", "ethereal:yellow_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
{"yellow_wood.png"},
|
||||
S("Healing Wood Stair"),
|
||||
S("Healing Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("palm_wood", "ethereal:palm_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"moretrees_palm_wood.png"},
|
||||
S("Palm Wood Stair"),
|
||||
S("Palm Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("birch_wood", "ethereal:birch_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"moretrees_birch_wood.png"},
|
||||
S("Birch Wood Stair"),
|
||||
S("Birch Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("banana_wood", "ethereal:banana_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"banana_wood.png"},
|
||||
S("Banana Wood Stair"),
|
||||
S("Banana Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("willow_wood", "ethereal:willow_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"willow_wood.png"},
|
||||
S("Willow Wood Stair"),
|
||||
S("Willow Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("redwood_wood", "ethereal:redwood_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"redwood_wood.png"},
|
||||
S("Redwood stair"),
|
||||
S("Redwood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("bamboo_wood", "ethereal:bamboo_block",
|
||||
{snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"bamboo_floor.png"},
|
||||
S("Bamboo stair"),
|
||||
S("Bamboo Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_all("sakura_wood", "ethereal:sakura_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_sakura_wood.png"},
|
||||
S("Sakura Wood stair"),
|
||||
S("Sakura Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
-- Stairs Plus (in More Blocks)
|
||||
elseif minetest.global_exists("stairsplus") then
|
||||
|
||||
stairsplus:register_all("ethereal", "crystal_block", "ethereal:crystal_block", {
|
||||
description = S("Crystal block"),
|
||||
tiles = {"crystal_block.png"},
|
||||
groups = {cracky = 1, falling_node = 1, puts_out_fire = 1, cools_lava = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "icebrick", "ethereal:icebrick", {
|
||||
description = S("Ice Brick"),
|
||||
tiles = {"brick_ice.png"},
|
||||
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "snowbrick", "ethereal:snowbrick", {
|
||||
description = S("Snow Brick"),
|
||||
tiles = {"brick_snow.png"},
|
||||
groups = {crumbly = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_snow_footstep", gain = 0.25},
|
||||
dug = {name = "default_snow_footstep", gain = 0.75},
|
||||
})
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "dry_dirt", "ethereal:dry_dirt", {
|
||||
description = S("Dried Dirt"),
|
||||
tiles = {"ethereal_dry_dirt.png"},
|
||||
groups = {crumbly = 3},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "mushroom_trunk", "ethereal:mushroom_trunk", {
|
||||
description = S("Mushroom Trunk"),
|
||||
tiles = {"mushroom_trunk.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "mushroom", "ethereal:mushroom", {
|
||||
description = S("Mushroom Top"),
|
||||
tiles = {"mushroom_block.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "frost_wood", "ethereal:frost_wood", {
|
||||
description = S("Frost Wood"),
|
||||
tiles = {"frost_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "yellow_wood", "ethereal:yellow_wood", {
|
||||
description = S("Healing Wood"),
|
||||
tiles = {"yellow_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "palm_wood", "ethereal:palm_wood", {
|
||||
description = S("Palm Wood"),
|
||||
tiles = {"moretrees_palm_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "birch_wood", "ethereal:birch_wood", {
|
||||
description = S("Birch Wood"),
|
||||
tiles = {"moretrees_birch_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "banana_wood", "ethereal:banana_wood", {
|
||||
description = S("Banana Wood"),
|
||||
tiles = {"banana_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "willow_wood", "ethereal:willow_wood", {
|
||||
description = S("Willow Wood"),
|
||||
tiles = {"willow_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "redwood_wood", "ethereal:redwood_wood", {
|
||||
description = S("Redwood"),
|
||||
tiles = {"redwood_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "bamboo_wood", "ethereal:bamboo_block", {
|
||||
description = S("Bamboo"),
|
||||
tiles = {"bamboo_floor.png"},
|
||||
groups = {snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("ethereal", "sakura_wood", "ethereal:sakura_wood", {
|
||||
description = S("Sakura"),
|
||||
tiles = {"ethereal_sakura_wood.png"},
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
-- Default Stairs
|
||||
else
|
||||
|
||||
stairs.register_stair_and_slab("crystal_block", "ethereal:crystal_block",
|
||||
{cracky = 1, level = 2, puts_out_fire = 1, cools_lava = 1},
|
||||
{"crystal_block.png"},
|
||||
S("Crystal Block Stair"),
|
||||
S("Crystal Block Slab"),
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("icebrick", "ethereal:icebrick",
|
||||
{cracky = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
{"brick_ice.png"},
|
||||
S("Ice Brick Stair"),
|
||||
S("Ice Brick Slab"),
|
||||
default.node_sound_glass_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
|
||||
{crumbly = 3, puts_out_fire = 1, cools_lava = 1},
|
||||
{"brick_snow.png"},
|
||||
S("Snow Brick Stair"),
|
||||
S("Snow Brick Slab"),
|
||||
default.node_sound_dirt_defaults({
|
||||
footstep = {name = "default_snow_footstep", gain = 0.15},
|
||||
dug = {name = "default_snow_footstep", gain = 0.2},
|
||||
dig = {name = "default_snow_footstep", gain = 0.2}
|
||||
}))
|
||||
|
||||
stairs.register_stair_and_slab("dry_dirt", "ethereal:dry_dirt",
|
||||
{crumbly = 3},
|
||||
{"ethereal_dry_dirt.png"},
|
||||
S("Dried Dirt Stair"),
|
||||
S("Dried Dirt Slab"),
|
||||
default.node_sound_dirt_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("mushroom_trunk", "ethereal:mushroom_trunk",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
{"mushroom_trunk.png"},
|
||||
S("Mushroom Trunk Stair"),
|
||||
S("Mushroom Trunk Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("mushroom", "ethereal:mushroom",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
{"mushroom_block.png"},
|
||||
S("Mushroom Top Stair"),
|
||||
S("Mushroom Top Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("frost_wood", "ethereal:frost_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
{"frost_wood.png"},
|
||||
S("Frost Wood Stair"),
|
||||
S("Frost Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("yellow_wood", "ethereal:yellow_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
|
||||
{"yellow_wood.png"},
|
||||
S("Healing Wood Stair"),
|
||||
S("Healing Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("palm_wood", "ethereal:palm_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"moretrees_palm_wood.png"},
|
||||
S("Palm Wood Stair"),
|
||||
S("Palm Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("birch_wood", "ethereal:birch_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"moretrees_birch_wood.png"},
|
||||
"Birch Wood Stair",
|
||||
"Birch Wood Slab",
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("banana_wood", "ethereal:banana_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"banana_wood.png"},
|
||||
S("Banana Wood Stair"),
|
||||
S("Banana Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("willow_wood", "ethereal:willow_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"willow_wood.png"},
|
||||
S("Willow Wood Stair"),
|
||||
S("Willow Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("redwood_wood", "ethereal:redwood_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"redwood_wood.png"},
|
||||
S("Redwood stair"),
|
||||
S("Redwood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("bamboo_wood", "ethereal:bamboo_block",
|
||||
{snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"bamboo_floor.png"},
|
||||
S("Bamboo stair"),
|
||||
S("Bamboo Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
stairs.register_stair_and_slab("sakura_wood", "ethereal:sakura_wood",
|
||||
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
{"ethereal_sakura_wood.png"},
|
||||
S("Sakura Wood Stair"),
|
||||
S("Sakura Wood Slab"),
|
||||
default.node_sound_wood_defaults())
|
||||
|
||||
end
|
|
@ -0,0 +1,127 @@
|
|||
|
||||
local S = ethereal.intllib
|
||||
|
||||
-- Strawberry (can also be planted as seed)
|
||||
minetest.register_craftitem("ethereal:strawberry", {
|
||||
description = S("Strawberry"),
|
||||
inventory_image = "strawberry.png",
|
||||
wield_image = "strawberry.png",
|
||||
groups = {food_strawberry = 1, food_berry = 1, flammable = 2},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:strawberry_1")
|
||||
end,
|
||||
on_use = minetest.item_eat(1),
|
||||
})
|
||||
|
||||
-- Define Strawberry Bush growth stages
|
||||
local crop_def = {
|
||||
drawtype = "plantlike",
|
||||
tiles = {"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(crop_def))
|
||||
|
||||
-- stage 2
|
||||
crop_def.tiles = {"strawberry_2.png"}
|
||||
minetest.register_node("ethereal:strawberry_2", table.copy(crop_def))
|
||||
|
||||
-- stage 3
|
||||
crop_def.tiles = {"strawberry_3.png"}
|
||||
minetest.register_node("ethereal:strawberry_3", table.copy(crop_def))
|
||||
|
||||
-- stage 4
|
||||
crop_def.tiles = {"strawberry_4.png"}
|
||||
minetest.register_node("ethereal:strawberry_4", table.copy(crop_def))
|
||||
|
||||
-- stage 5
|
||||
crop_def.tiles = {"strawberry_5.png"}
|
||||
minetest.register_node("ethereal:strawberry_5", table.copy(crop_def))
|
||||
|
||||
-- stage 6
|
||||
crop_def.tiles = {"strawberry_6.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:strawberry 1"},rarity = 2},
|
||||
{items = {"ethereal:strawberry 2"},rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:strawberry_6", table.copy(crop_def))
|
||||
|
||||
-- stage 7
|
||||
crop_def.tiles = {"strawberry_7.png"}
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:strawberry 1"},rarity = 1},
|
||||
{items = {"ethereal:strawberry 2"},rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:strawberry_7", table.copy(crop_def))
|
||||
|
||||
-- stage 8
|
||||
crop_def.tiles = {"strawberry_8.png"}
|
||||
crop_def.groups.growing = 0
|
||||
crop_def.drop = {
|
||||
items = {
|
||||
{items = {"ethereal:strawberry 2"},rarity = 1},
|
||||
{items = {"ethereal:strawberry 3"},rarity = 3},
|
||||
}
|
||||
}
|
||||
minetest.register_node("ethereal:strawberry_8", table.copy(crop_def))
|
||||
|
||||
-- growing routine if farming redo isn't present
|
||||
if not farming or not farming.mod or farming.mod ~= "redo" then
|
||||
|
||||
minetest.register_abm({
|
||||
label = "Ethereal grow 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 -- END IF
|
After Width: | Height: | Size: 211 B |
After Width: | Height: | Size: 421 B |
After Width: | Height: | Size: 425 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 564 B |
After Width: | Height: | Size: 219 B |
After Width: | Height: | Size: 367 B |