Minor Bugfixes, potential update content commented out for safety reasons

This commit is contained in:
JoeEnderman 2024-02-08 18:12:26 -06:00
commit 4f2c525b98
521 changed files with 39307 additions and 0 deletions

BIN
1.0.0_Mapgen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

96
LICENSE.txt Normal file
View File

@ -0,0 +1,96 @@
License of source code
----------------------
GNU Lesser General Public License, version 2.1
Copyright (C) 2011-2018 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2011-2018 Various Minetest developers and contributors
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details:
https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
License of wall code
--------------------
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
License of textures
-------------------
MIT License
Copyright (c) 2022 JoeEnderman
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.
License of geode generation
---------------------------
(C) AwesomeDragon97
LGPL-3.0
License of geodes_lib geode generation and nodes_crystal functionality
----------------------------------------------------------------------
(C) alerikaisattera
LGPL-3.0
License of all node sounds
--------------------------
(C) OpenGameArt.Org
CC0
(C) freesound.org
CC0
(C) JoeEnderman
CC0
All sounds from Minetest Game:
(C) various minetest contributors
(CC BY-SA 3.0)
CC0
License of humidity and neat based stone placement code
-------------------------------------------------------
(C) EmptyStar
LGPL 2.1 only

100
README.md Normal file
View File

@ -0,0 +1,100 @@
# Too Many Stones
A Minetest mod that adds as many stones as I can make good textures for. TMS has support for nearly all Minetest subgames including Fogblox, Hades Revisited, Nodecore, and Mineclone2. It currently features 88 stone types (7 of which glow), cobble for most of them, and bricks, cracked bricks, and blocks for all stone types. There are optional features that each require different mods to add: Stairs and Slabs require stairs, Walls require walls, and geodes require either geode mod. More stones may be added, and you can put a feature request on ContentDB or the repo for new ones. I will prioritize stones that are unique. Japanese, Spanish, Portuguese, German, French and Russian translations by me and ChatGPT. So, sorry for bad grammar in advance.
## Done:
##### Blue Agate-(blue and white)
##### Gray Agate-(light gray and white)
##### Green Agate-(light green)
##### Moss Agate-(olive and white)
##### Orange Agate-(orange and white)
##### Purple Agate-(indigo and lavender)
##### Red Agate-(red and white)
##### Amazonite-(light green)
##### Amber-(dark orange)
##### Amethyst-(dark purple)
##### Ammolite-(rainbow)
##### Andesite-(dark gray)
##### Black Moonstone-(black)
##### Black Opal-(black to green)
##### Basalt-(dark greenish grey)
##### Columnar Basalt-(reddish light gray)
##### Grey Calcite-(light grey)
##### Calcite-(light grey)
##### Orange Calcite-(orange)
##### Carnotite-(mustard yellow)
##### Celestine-(sky blue)
##### Chalcanthite-(neon blue)
##### Chrysoprase-(apple green)
##### Citrine-(dark yellow)
##### Covellite-(dark cobalt blue)
##### Crocoite-(bright orange)
##### Diorite-(white)
##### Erythrite-(dark purpley red)
##### Eudialite-(dark red)
##### Fluorite-(blueish lavender)
##### Fire Opal-(orange)
##### Gabbro-(dark grey)
##### Galena-(silver)
##### Glow Apatite-(light purple)
##### Glow Calcite-(red)
##### Glow Esperite-(yellow)
##### Glow Fluorite-(indigo)
##### Glow Selenite-(light blue)
##### Glow Sodalite-(orange)
##### Glow Willemite-(lime green)
##### Black Granite-(black)
##### Blue Granite-(bright blue)
##### Gray Granite-(light gray)
##### Green Granite-(green)
##### Pink Granite-(pale pink)
##### Red Granite-(red)
##### White Granite-(white)
##### Yellow Granite-(dark yellow)
##### Heliodor-(yellow)
##### Howlite-(white)
##### Ilvaite-(black)
##### Jade-(dark green) was Greenstone
##### Red Jasper-(red)
##### Kyanite-(light blue)
##### Lapis Lazuli-(blue with gold streaks)
##### Lepidolite-(pink)
##### Blue Limestone-(blue grey)
##### White Limestone-(yellow grey)
##### Marble-(white)
##### Moonstone-(sky blue)
##### Morion Quartz-(black)
##### Mudstone-(brown)
##### Picture Jasper-(tan)
##### Prasiolite-(glass bottle green)
##### Opal-(white to blue)
##### Pumice-(grey)
##### Pyrite-(bright yellow)
##### Quartz-(white)
##### Rhodonite-(hot pink)
##### Rose Quartz-(pink)
##### Scoria-(red)
##### Serpentine-(dark green)
##### Shale-(dark greenish grey)
##### Slate-(dark grey)
##### Smokey Quartz-(dark tan)
##### Soapstone-(black with white streaks)
##### Sodalite-(dark blue) was Bluestone
##### Sugilite-(purple)
##### Green Tourmaline-(green)
##### Paraiba Tourmaline-(pale turquoise)
##### Pink Tourmaline-(dark pink)
##### Travertine-(light tan)
##### Yellow Travertine-(yellow)
##### Beige Tuff-(beige)
##### Grey Tuff-(dirty gray)
##### Red Tuff-(orange)
##### Turquoise-(light blue)
##### Vivianite-(dark green)
## To Do:
##### Find and add ore mods to optional depends
# Credits:
#
##### Based on code from Minetest game, all walls mod, and geodes mod. Textures created by JoeEnderman with Stable Diffusion (rough versions), Krita (Agates and other complicated textures), Gimp (cleaning up from the others), Planet Minecraft (block and brick variants), Blockbench (cobblestones, granites, and cracked bricks), Libresprite is now my main tool. From V0.2.2+: Many textures have been cleaned up or made using Libresprite. Code rebase with help from Mineclone2 and Minebase. All node sounds are CC0 except where they are from minetest game in which case they are (CC BY-SA 3.0). The ones not from MTG (break glass 1 and 2), (all break node hard), (all dig cracky), (glass footstep 1-3), (hard_footstep 1-3), (place node hard3) are sourced from opengameart.org, freesound.org, and myself. Some are a combination of both. Jasper Boerstra is the biggest influence on my texture style, and I hope it shows. I love what he did for most Minecraft textures. AwesomeDragon97 gave me the idea to use mapgen_stone instead of each game's individual stone types. Thank you to EmptyStar for continuing to support TMS and help me with development. And thanks to backdaniel for help with translations and bugfixing.

1
V1.1.0 Normal file
View File

@ -0,0 +1 @@
Mod version will be the name of this document.

165
changelog.txt Normal file
View File

@ -0,0 +1,165 @@
No changes available for versions before v0.2.0 Beta
V0.2.0
Added Pink Granite
Added White Granite
Added Gray Granite
Added Black Granite
Fixed the internal names of Sodalite and Jade
Changed all cracked bricks to be unique
Added several new geodes if you have it installed
Added Amber
Added Amethyst
Added Citrine
Added Crocoite
Added Eudialite
Added Gabbro
Added Mudstone
Added Opal
Added Pyrite
Added Serpentine
Added Smokey Quartz
Added Travertine
Added Vivianite
Made the translation template easier to read
V0.2.1
Added Glow Apatite
Added Glow Calcite
Added Glow Esperite
Added Glow Fluorite
Added Glow Selenite
Added Glow Sodalite
Added Glow Willemite
Added Geodes Library comapatibility
Added Heliodor
Added Black Opal
V0.2.2
Added Celestine
Added Crysoprase
Added Covellite
Added Erythrite
Added Galena
Added Howlite
Adjusted Some cobblestone colors to match their stone types better
Added Lapis Lazuli
Change the crack pattern on several stones
Added Soapstone
Added Pumice
V0.2.3
Added Budding crystals
Added Crystal items and crystal blocks
Improve Geodes
Redo some textures
V0.2.4
Added Prasiolite
Added Quartz
V0.3.0
Default is now optional
Stair and Slab names can now be translated into other languages
Hades Revisted is now a mapgen supported game and can spawn Geodes with geodes_lib only
Turquoise ore no longer uses default textures from MTG, TMS supplies them
TMS now uses its own sound library
Crystals and polished Crystals now make crystalline sounds
French now supported by TMS
V0.3.1
Cave Game is now supported with mapgen and optional geodes
Fogblox is now supported with mapgen and optional geodes
Minebase is now supported with mapgen and optional geodes
Nodecore is now supported with mapgen and optional geodes
Fixed the no sound bug from 0.3.0 by registering sounds for nodes that don't exist and including sound files for them
V0.3.2
Added Blue Agate
Added Gray Agate
Added Green Agate
Added Moss Agate
Added Orange Agate
Added Purple Agate
Added Red Agate
Added Basalt
Added Columnar Basalt
Added more geodes (mostly agate) and removed slate as a geode shell for realism
Each Geode mod now supplies a vastly different experience, geodes does not supply budding blocks, but has full agate geodes, geodes_lib supplies geodes in every game I made mapgen for and has budding blocks
V0.3.3
Fixed a bug where several stones still required default for no reason
All games that use mapgen_stone are now supported: i.e. Anything that actually has mapgen and not a premade map or otherwise has no terrain
Removed several uneeded files
V0.3.4
Added Fire Opal
Redo Black Opal, remove its transparency as it was ugly
Crystals now pop off of broken blocks
Add Covellite Cobblestone
Add Andesite
Add Beige tuff
Add Grey Tuff
Add Red Tuff
Add Howlite Cobble
Add Glass Batch
Redo Mapgen to spread stones better
Add Slate Tiles
V0.3.5
Added Black Moonstone
Added Fluorite
Added Yellow Granite
Added Morion Quartz
Added Yellow Travertine
V0.3.6
Fixed Travertine bug
Added Howlite Cobblestone
V0.3.7
Added Ammolite
V0.3.8
Added Diorite
Added Picture Jasper
Added Basalt Tile
V0.3.9
Added Shale
Fix Yellow Travertine not tiling
V0.4.0
Updated Textures to take less space without affecting looks
Changed Turquoise ore to be my own MIT texture instead of the default ore overlay
Updated some old cobblestones to match my current skill level
Updated all translations to finally include all blocks and items
Added Spanish Translation
Fixed a bug where all granite cobblestones were caleed dark grey interally
Added German Translation
V0.4.1/0.9.0
Added Portuguese Translation
Added Japanese Translation
Fixed a bug where Turquoise ore was considered a normal useable stone block
Fixed Turquoise drop rate not being random
Fix stray pixel on travertine brick
Fixed Schlammstein accidentally being called Schluffstein
Removed Crystal shards as they were simply placeholders for the normal crystals
Fixed TMS stones being persistent in instances they should not: i.e. not being carved out by mods which add their own cave gen
Minor bugfixes and code cleaning
V0.4.2/1.0.0
Added Grey Calcite
Added Orange Calcite
Added Chalcanthite
Added Red Jasper
Added Lepidolite
Added Moonstone
Added Rhodonite
Added Green Tourmaline
Added Paraiba Tourmaline
Added Pink Tourmaline
Minor bugfixing
Fixed Carnotite Textures to match my newer quality
A few texture updates, mainly cracked bricks

2695
crafting.lua Normal file

File diff suppressed because it is too large Load Diff

96
flowstones.lua Normal file
View File

@ -0,0 +1,96 @@
-- mods/too_many_stones/flowstones.lua
-- support for MT game translation.
local S = minetest.get_translator("too_many_stones")
function too_many_stones.register_flowstone(stone_name, description, texture1, texture2, texture3, texture4, groups)
-- Attempt to deserialize the provided groups string
local node_groups = groups
-- Check if deserialization failed and use a default group table if so
if not node_groups then
node_groups = {cracky = 3, attached_node = 1, grey_stone = 1, stone = 1, flowstone = 1}
end
-- Register 8 flowstone nodes
for i = 1, 8 do
local node_name = "too_many_stones:" .. stone_name .. "_flowstone_" .. i
local node_description = S(description .. " Pointed Flowstone")
local node_texture
-- Assign textures for each variant
if i <= 4 then
-- First four use the provided textures
node_texture = "tms_" .. stone_name .. "_flowstone_" .. i .. ".png"
else
-- Last four use mirrored textures of the first four
local mirrored_index = i - 4
node_texture = "tms_" .. stone_name .. "_flowstone_" .. mirrored_index .. ".png^[transformFY"
end
minetest.register_node(node_name, {
description = node_description,
drawtype = "plantlike",
tiles = {node_texture},
use_texture_alpha = "clip",
sunlight_propagates = true,
paramtype = "light",
groups = node_groups,
drop = "too_many_stones:" .. stone_name .. "_flowstone_8",
sounds = too_many_stones.node_sound_stone_defaults(),
is_ground_content = false,
})
end
end
-- Register Flowstones:
too_many_stones.register_flowstone(
"limestone_blue",
"Blue Limestone",
"tms_limestone_blue_flowstone_1.png",
"tms_limestone_blue_flowstone_2.png",
"tms_limestone_blue_flowstone_3.png",
"tms_limestone_blue_flowstone_4.png",
{limestone = 1, cracky = 3, attached_node = 1, grey_stone = 1, stone = 1, flowstone = 1}
)
too_many_stones.register_flowstone(
"limestone_white",
"White Limestone",
"tms_limestone_white_flowstone_1.png",
"tms_limestone_white_flowstone_2.png",
"tms_limestone_white_flowstone_3.png",
"tms_limestone_white_flowstone_4.png",
{limestone = 1, cracky = 3, attached_node = 1, white_stone = 1, stone = 1, flowstone = 1}
)
too_many_stones.register_flowstone(
"travertine",
"Travertine",
"tms_travertine_flowstone_1.png",
"tms_travertine_flowstone_2.png",
"tms_travertine_flowstone_3.png",
"tms_travertine_flowstone_4.png",
{limestone = 1, cracky = 3, attached_node = 1, yellow_stone = 1, stone = 1, flowstone = 1}
)
too_many_stones.register_flowstone(
"travertine_yellow",
"Yellow Travertine",
"tms_travertine_yellow_flowstone_1.png",
"tms_travertine_yellow_flowstone_2.png",
"tms_travertine_yellow_flowstone_3.png",
"tms_travertine_yellow_flowstone_4.png",
{limestone = 1, cracky = 3, attached_node = 1, yellow_stone = 1, stone = 1, flowstone = 1}
)
too_many_stones.register_flowstone(
"geyserite",
"Geyserite",
"tms_geyserite_flowstone_1.png",
"tms_geyserite_flowstone_2.png",
"tms_geyserite_flowstone_3.png",
"tms_geyserite_flowstone_4.png",
{limestone = 1, cracky = 3, attached_node = 1, grey_stone = 1, stone = 1, flowstone = 1}
)

61
geodes.lua Normal file
View File

@ -0,0 +1,61 @@
if minetest.get_modpath("geodes") and minetest.get_modpath("default") ~= nil then
geodes.register_geode("too_many_stones:limestone_white", "too_many_stones:calcite_grey", "too_many_stones:agate_blue", "too_many_stones:agate_blue", "too_many_stones:agate_blue")
geodes.register_geode("too_many_stones:pumice", "too_many_stones:calcite_grey", "too_many_stones:agate_gray", "too_many_stones:agate_gray", "too_many_stones:agate_gray")
geodes.register_geode("too_many_stones:basalt", "too_many_stones:calcite", "too_many_stones:agate_green", "too_many_stones:agate_green", "too_many_stones:agate_green")
geodes.register_geode("too_many_stones:mudstone", "too_many_stones:calcite", "too_many_stones:agate_moss", "too_many_stones:agate_moss", "too_many_stones:agate_moss")
geodes.register_geode("too_many_stones:limestone_blue", "too_many_stones:calcite_orange", "too_many_stones:agate_orange", "too_many_stones:agate_orange", "too_many_stones:agate_orange")
geodes.register_geode("too_many_stones:gabbro", "too_many_stones:calcite_grey", "too_many_stones:agate_purple", "too_many_stones:agate_purple", "too_many_stones:agate_purple")
geodes.register_geode("too_many_stones:limestone_white", "too_many_stones:calcite", "too_many_stones:agate_red", "too_many_stones:agate_red", "too_many_stones:agate_red")
geodes.register_geode("too_many_stones:travertine", "too_many_stones:calcite", "too_many_stones:black_opal", "too_many_stones:black_opal")
geodes.register_geode("too_many_stones:basalt", "too_many_stones:calcite", "too_many_stones:fire_opal", "too_many_stones:fire_opal")
geodes.register_geode("too_many_stones:mudstone", "too_many_stones:calcite", "too_many_stones:amazonite", "too_many_stones:amazonite_crystal")
geodes.register_geode("too_many_stones:gabbro", "too_many_stones:calcite_grey", "too_many_stones:amethyst", "too_many_stones:amethyst_crystal")
geodes.register_geode("too_many_stones:basalt", "too_many_stones:calcite_grey", "too_many_stones:chalcanthite", "too_many_stones:chalcanthite_crystal")
geodes.register_geode("too_many_stones:basalt", "too_many_stones:calcite", "too_many_stones:citrine", "too_many_stones:citrine_crystal")
geodes.register_geode("too_many_stones:basalt", "too_many_stones:calcite_orange", "too_many_stones:crocoite", "too_many_stones:crocoite_crystal")
geodes.register_geode("too_many_stones:mudstone", "too_many_stones:calcite", "too_many_stones:eudialite", "too_many_stones:eudialite_crystal")
geodes.register_geode("too_many_stones:mudstone", "too_many_stones:calcite", "too_many_stones:kyanite", "too_many_stones:kyanite_crystal")
geodes.register_geode("too_many_stones:limestone_white", "too_many_stones:calcite_grey", "too_many_stones:moonstone", "too_many_stones:moonstone_crystal")
geodes.register_geode("too_many_stones:travertine", "too_many_stones:calcite", "too_many_stones:rose_quartz", "too_many_stones:rose_quartz_crystal")
geodes.register_geode("too_many_stones:serpentine", "too_many_stones:calcite", "too_many_stones:smokey_quartz", "too_many_stones:smokey_quartz_crystal")
geodes.register_geode("too_many_stones:serpentine", "too_many_stones:calcite_grey", "too_many_stones:tourmaline_green", "too_many_stones:tourmaline_green_crystal")
geodes.register_geode("too_many_stones:granite_pink", "too_many_stones:calcite_grey", "too_many_stones:tourmaline_paraiba", "too_many_stones:tourmaline_paraiba_crystal")
geodes.register_geode("too_many_stones:serpentine", "too_many_stones:calcite", "too_many_stones:tourmaline_pink", "too_many_stones:tourmaline_pink_crystal")
geodes.register_geode("too_many_stones:travertine", "too_many_stones:calcite_grey", "too_many_stones:vivianite", "too_many_stones:vivianite_crystal")
geodes.register_geode("too_many_stones:travertine", "too_many_stones:calcite_grey", "too_many_stones:opal", "too_many_stones:opal")
geodes.register_geode("too_many_stones:serpentine", "too_many_stones:calcite", "too_many_stones:heliodor", "too_many_stones:heliodor_crystal")
geodes.register_geode("too_many_stones:pumice", "too_many_stones:calcite_grey", "too_many_stones:celestine", "too_many_stones:celestine_crystal")
geodes.register_geode("too_many_stones:pumice", "too_many_stones:calcite_grey", "too_many_stones:quartz", "too_many_stones:quartz_crystal")
geodes.register_geode("too_many_stones:limestone_white", "too_many_stones:calcite_grey", "too_many_stones:prasiolite", "too_many_stones:prasiolite_crystal")
geodes.register_geode("too_many_stones:travertine_yellow", "too_many_stones:calcite_grey", "too_many_stones:morion_quartz", "too_many_stones:morion_quartz_crystal")
end

412
geodes_lib.lua Normal file
View File

@ -0,0 +1,412 @@
-- Geodes for most games
if minetest.get_modpath("geodes_lib") ~= nil then
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:agate_blue",
core_alt = "too_many_stones:agate_blue",
core_alt_chance = 100,
shell = {"too_many_stones:limestone_white", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:agate_gray",
core_alt = "too_many_stones:agate_gray",
core_alt_chance = 100,
shell = {"too_many_stones:pumice", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:agate_green",
core_alt = "too_many_stones:agate_green",
core_alt_chance = 100,
shell = {"too_many_stones:basalt", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:agate_moss",
core_alt = "too_many_stones:agate_moss",
core_alt_chance = 100,
shell = {"too_many_stones:mudstone", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:agate_orange",
core_alt = "too_many_stones:agate_orange",
core_alt_chance = 100,
shell = {"too_many_stones:limestone_blue", "too_many_stones:calcite_orange"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:agate_purple",
core_alt = "too_many_stones:agate_purple",
core_alt_chance = 100,
shell = {"too_many_stones:gabbro", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:agate_red",
core_alt = "too_many_stones:agate_red",
core_alt_chance = 100,
shell = {"too_many_stones:limestone_white", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:black_opal",
core_alt = "too_many_stones:black_opal",
core_alt_chance = 100,
shell = {"too_many_stones:travertine", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:fire_opal",
core_alt = "too_many_stones:fire_opal",
core_alt_chance = 100,
shell = {"too_many_stones:basalt", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:amazonite",
core_alt = "too_many_stones:amazonite_budding",
core_alt_chance = 100,
shell = {"too_many_stones:mudstone", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:amethyst",
core_alt = "too_many_stones:amethyst_budding",
core_alt_chance = 100,
shell = {"too_many_stones:gabbro", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:chalcanthite",
core_alt = "too_many_stones:chalcanthite_budding",
core_alt_chance = 100,
shell = {"too_many_stones:basalt", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:citrine",
core_alt = "too_many_stones:citrine_budding",
core_alt_chance = 100,
shell = {"too_many_stones:basalt", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:crocoite",
core_alt = "too_many_stones:crocoite_budding",
core_alt_chance = 100,
shell = {"too_many_stones:basalt", "too_many_stones:calcite_orange"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:eudialite",
core_alt = "too_many_stones:eudialite_budding",
core_alt_chance = 100,
shell = {"too_many_stones:mudstone", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:kyanite",
core_alt = "too_many_stones:kyanite_budding",
core_alt_chance = 100,
shell = {"too_many_stones:mudstone", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:moonstone",
core_alt = "too_many_stones:moonstone_budding",
core_alt_chance = 100,
shell = {"too_many_stones:limestone_white", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:rose_quartz",
core_alt = "too_many_stones:rose_quartz_budding",
core_alt_chance = 100,
shell = {"too_many_stones:travertine", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:smokey_quartz",
core_alt = "too_many_stones:smokey_quartz_budding",
core_alt_chance = 100,
shell = {"too_many_stones:serpentine", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:tourmaline_green",
core_alt = "too_many_stones:tourmaline_green_budding",
core_alt_chance = 100,
shell = {"too_many_stones:serpentine", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:tourmaline_paraiba",
core_alt = "too_many_stones:tourmaline_paraiba_budding",
core_alt_chance = 100,
shell = {"too_many_stones:granite_pink", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:tourmaline_pink",
core_alt = "too_many_stones:tourmaline_pink_budding",
core_alt_chance = 100,
shell = {"too_many_stones:serpentine", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:vivianite",
core_alt = "too_many_stones:vivianite_budding",
core_alt_chance = 100,
shell = {"too_many_stones:travertine", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:opal",
core_alt = "too_many_stones:opal",
core_alt_chance = 100,
shell = {"too_many_stones:travertine", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:heliodor",
core_alt = "too_many_stones:heliodor_budding",
core_alt_chance = 100,
shell = {"too_many_stones:serpentine", "too_many_stones:calcite"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:celestine",
core_alt = "too_many_stones:celestine_budding",
core_alt_chance = 100,
shell = {"too_many_stones:pumice", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:quartz",
core_alt = "too_many_stones:quartz_budding",
core_alt_chance = 100,
shell = {"too_many_stones:pumice", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:prasiolite",
core_alt = "too_many_stones:prasiolite_budding",
core_alt_chance = 100,
shell = {"too_many_stones:limestone_white", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
geodes_lib:register_geode({
wherein = "mapgen_stone",
y_min = -31000,
y_max = -10,
scarcity = 80,
core = "too_many_stones:morion_quartz",
core_alt = "too_many_stones:morion_quartz_budding",
core_alt_chance = 100,
shell = {"too_many_stones:travertine_yellow", "too_many_stones:calcite_grey"},
radius_min = 2,
radius_max = 10,
generation_chance = 10,
})
end

23
init.lua Normal file
View File

@ -0,0 +1,23 @@
-- Minetest 5.3 mod: too many stones
-- See README.txt for licensing and other information.
-- Definitions made by this mod that other mods can use too
too_many_stones = {}
local S = minetest.get_translator("too_many_stones")
-- Load files
local default_path = minetest.get_modpath("too_many_stones")
dofile(minetest.get_modpath("too_many_stones") .. "/sounds.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/nodes.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/crafting.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/mapgen.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/wall.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/stairs.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/geodes.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/geodes_lib.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/nodes_glowing.lua")
dofile(minetest.get_modpath("too_many_stones") .. "/nodes_crystal.lua")
--dofile(minetest.get_modpath("too_many_stones") .. "/flowstones.lua")

2471
locale/template.txt Normal file

File diff suppressed because it is too large Load Diff

2471
locale/too_many_stones.de.tr Normal file

File diff suppressed because it is too large Load Diff

2471
locale/too_many_stones.es.tr Normal file

File diff suppressed because it is too large Load Diff

2466
locale/too_many_stones.fr.tr Normal file

File diff suppressed because it is too large Load Diff

2471
locale/too_many_stones.ja.tr Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2465
locale/too_many_stones.ru.tr Normal file

File diff suppressed because it is too large Load Diff

7714
mapgen.lua Normal file

File diff suppressed because it is too large Load Diff

7
mod.conf Normal file
View File

@ -0,0 +1,7 @@
name = too_many_stones
description = Adds several new stone types to nearly any Minetest Game and mapgen to any game that uses mapgen_stone. V6 terrain may be buggy, but is supported. Stairs, slabs, and walls will be available only if your game supplies stairs and walls or you install the mods to your game. Geodes are added if you have "geodes" or "geodes_lib" mod. Some blocks can be dyed to make others if you have dye.
optional_depends = stairs, walls, geodes, moreores, geodes_lib, dye, default, lottmapgen, base_earth
min_minetest_version = 5.3
title = Too Many Stones
author = JoeEnderman
release = 20938

3544
nodes.lua Normal file

File diff suppressed because it is too large Load Diff

1005
nodes_crystal.lua Normal file

File diff suppressed because it is too large Load Diff

828
nodes_glowing.lua Normal file
View File

@ -0,0 +1,828 @@
-- mods/too_many_stones/nodes_glowing.lua
-- support for MT game translation.
local S = minetest.get_translator("too_many_stones")
--[[ Index:
Apatite
Calcite
Esperite
Fluorite
Selenite
Sodalite
Willemite
--]]
--
-- Glowing Stones
--
--Glow Apatite
minetest.register_node("too_many_stones:glow_apatite", {
description = S("Glowing Apatite"),
drawtype = "glasslike",
tiles = {"tms_glow_apatite.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {glow_stone = 1, violet_stone = 1, cracky = 3, stone = 1},
drop = "too_many_stones:glow_apatite_cobble",
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_apatite_block", {
description = S("Glowing Apatite Block"),
drawtype = "glasslike",
tiles = {"tms_glow_apatite_block.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, violet_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_apatite_cobble", {
description = S("Cobbled Glowing Apatite"),
drawtype = "glasslike",
tiles = {"tms_glow_apatite_cobble.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, violet_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_apatite_brick", {
description = S("Glowing Apatite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_apatite_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, violet_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_apatite_cracked_brick", {
description = S("Cracked Glowing Apatite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_apatite_cracked_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, violet_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
--Glow Calcite
minetest.register_node("too_many_stones:glow_calcite", {
description = S("Glowing Calcite"),
drawtype = "glasslike",
tiles = {"tms_glow_calcite.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {glow_stone = 1, red_stone = 1, cracky = 3, stone = 1},
drop = "too_many_stones:glow_calcite_cobble",
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_calcite_block", {
description = S("Glowing Calcite Block"),
drawtype = "glasslike",
tiles = {"tms_glow_calcite_block.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, red_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_calcite_cobble", {
description = S("Cobbled Glowing Calcite"),
drawtype = "glasslike",
tiles = {"tms_glow_calcite_cobble.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, red_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_calcite_brick", {
description = S("Glowing Calcite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_calcite_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, red_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_calcite_cracked_brick", {
description = S("Cracked Glowing Calcite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_calcite_cracked_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, red_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
--Glow Eserite
minetest.register_node("too_many_stones:glow_esperite", {
description = S("Glowing Esperite"),
drawtype = "glasslike",
tiles = {"tms_glow_esperite.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {glow_stone = 1, yellow_stone = 1, cracky = 3, stone = 1},
drop = "too_many_stones:glow_esperite_cobble",
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_esperite_block", {
description = S("Glowing Esperite Block"),
drawtype = "glasslike",
tiles = {"tms_glow_esperite_block.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, yellow_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_esperite_cobble", {
description = S("Cobbled Glowing Esperite"),
drawtype = "glasslike",
tiles = {"tms_glow_esperite_cobble.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, yellow_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_esperite_brick", {
description = S("Glowing Esperite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_esperite_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, yellow_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_esperite_cracked_brick", {
description = S("Cracked Glowing Esperite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_esperite_cracked_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, yellow_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
--Glow Fluorite
minetest.register_node("too_many_stones:glow_fluorite", {
description = S("Glowing Fluorite"),
drawtype = "glasslike",
tiles = {"tms_glow_fluorite.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {glow_stone = 1, blue_stone = 1, cracky = 3, stone = 1},
drop = "too_many_stones:glow_fluorite_cobble",
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_fluorite_block", {
description = S("Glowing Fluorite Block"),
drawtype = "glasslike",
tiles = {"tms_glow_fluorite_block.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, blue_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_fluorite_cobble", {
description = S("Cobbled Glowing Fluorite"),
drawtype = "glasslike",
tiles = {"tms_glow_fluorite_cobble.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, blue_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_fluorite_brick", {
description = S("Glowing Fluorite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_fluorite_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, blue_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_fluorite_cracked_brick", {
description = S("Cracked Glowing Fluorite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_fluorite_cracked_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, blue_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
--Glow Selenite
minetest.register_node("too_many_stones:glow_selenite", {
description = S("Glowing Selenite"),
drawtype = "glasslike",
tiles = {"tms_glow_selenite.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {glow_stone = 1, cyan_stone = 1, cracky = 3, stone = 1},
drop = "too_many_stones:glow_selenite_cobble",
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_selenite_block", {
description = S("Glowing Selenite Block"),
drawtype = "glasslike",
tiles = {"tms_glow_selenite_block.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, cyan_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_selenite_cobble", {
description = S("Cobbled Glowing Selenite"),
drawtype = "glasslike",
tiles = {"tms_glow_selenite_cobble.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, cyan_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_selenite_brick", {
description = S("Glowing Selenite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_selenite_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, cyan_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_selenite_cracked_brick", {
description = S("Cracked Glowing Selenite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_selenite_cracked_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, cyan_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
--Glow Sodalite
minetest.register_node("too_many_stones:glow_sodalite", {
description = S("Glowing Sodalite"),
drawtype = "glasslike",
tiles = {"tms_glow_sodalite.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {glow_stone = 1, orange_stone = 1, cracky = 3, stone = 1},
drop = "too_many_stones:glow_sodalite_cobble",
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_sodalite_block", {
description = S("Glowing Sodalite Block"),
drawtype = "glasslike",
tiles = {"tms_glow_sodalite_block.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, orange_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_sodalite_cobble", {
description = S("Cobbled Glowing Sodalite"),
drawtype = "glasslike",
tiles = {"tms_glow_sodalite_cobble.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, orange_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_sodalite_brick", {
description = S("Glowing Sodalite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_sodalite_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, orange_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_sodalite_cracked_brick", {
description = S("Cracked Glowing Sodalite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_sodalite_cracked_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, orange_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
--Glow Willemite
minetest.register_node("too_many_stones:glow_willemite", {
description = S("Glowing Willemite"),
drawtype = "glasslike",
tiles = {"tms_glow_willemite.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {glow_stone = 1, green_stone = 1, cracky = 3, stone = 1},
drop = "too_many_stones:glow_willemite_cobble",
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_willemite_block", {
description = S("Glowing Willemite Block"),
drawtype = "glasslike",
tiles = {"tms_glow_willemite_block.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, green_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_willemite_cobble", {
description = S("Cobbled Glowing Willemite"),
drawtype = "glasslike",
tiles = {"tms_glow_willemite_cobble.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, green_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_willemite_brick", {
description = S("Glowing Willemite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_willemite_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, green_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
minetest.register_node("too_many_stones:glow_willemite_cracked_brick", {
description = S("Cracked Glowing Willemite Brick"),
drawtype = "glasslike",
tiles = {"tms_glow_willemite_cracked_brick.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {glow_stone = 1, green_stone = 1, cracky = 3, stone = 1},
sounds = too_many_stones.node_sound_glass_defaults(),
light_source = minetest.LIGHT_MAX,
})
--
-- Crafting
--
-- Glow Apatite
minetest.register_craft({
output = "too_many_stones:glow_apatite_brick 4",
recipe = {
{"too_many_stones:glow_apatite", "too_many_stones:glow_apatite"},
{"too_many_stones:glow_apatite", "too_many_stones:glow_apatite"},
}
})
minetest.register_craft({
output = "too_many_stones:glow_apatite_block 9",
recipe = {
{"too_many_stones:glow_apatite", "too_many_stones:glow_apatite", "too_many_stones:glow_apatite"},
{"too_many_stones:glow_apatite", "too_many_stones:glow_apatite", "too_many_stones:glow_apatite"},
{"too_many_stones:glow_apatite", "too_many_stones:glow_apatite", "too_many_stones:glow_apatite"},
}
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_apatite",
recipe = "too_many_stones:glow_apatite_cobble",
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_apatite_cracked_brick",
recipe = "too_many_stones:glow_apatite_brick",
})
-- Glow Calcite
minetest.register_craft({
output = "too_many_stones:glow_calcite_brick 4",
recipe = {
{"too_many_stones:glow_calcite", "too_many_stones:glow_calcite"},
{"too_many_stones:glow_calcite", "too_many_stones:glow_calcite"},
}
})
minetest.register_craft({
output = "too_many_stones:glow_calcite_block 9",
recipe = {
{"too_many_stones:glow_calcite", "too_many_stones:glow_calcite", "too_many_stones:glow_calcite"},
{"too_many_stones:glow_calcite", "too_many_stones:glow_calcite", "too_many_stones:glow_calcite"},
{"too_many_stones:glow_calcite", "too_many_stones:glow_calcite", "too_many_stones:glow_calcite"},
}
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_calcite",
recipe = "too_many_stones:glow_calcite_cobble",
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_calcite_cracked_brick",
recipe = "too_many_stones:glow_calcite_brick",
})
-- Glow Esperite
minetest.register_craft({
output = "too_many_stones:glow_esperite_brick 4",
recipe = {
{"too_many_stones:glow_esperite", "too_many_stones:glow_esperite"},
{"too_many_stones:glow_esperite", "too_many_stones:glow_esperite"},
}
})
minetest.register_craft({
output = "too_many_stones:glow_esperite_block 9",
recipe = {
{"too_many_stones:glow_esperite", "too_many_stones:glow_esperite", "too_many_stones:glow_esperite"},
{"too_many_stones:glow_esperite", "too_many_stones:glow_esperite", "too_many_stones:glow_esperite"},
{"too_many_stones:glow_esperite", "too_many_stones:glow_esperite", "too_many_stones:glow_esperite"},
}
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_esperite",
recipe = "too_many_stones:glow_esperite_cobble",
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_esperite_cracked_brick",
recipe = "too_many_stones:glow_esperite_brick",
})
-- Glow Fluorite
minetest.register_craft({
output = "too_many_stones:glow_fluorite_brick 4",
recipe = {
{"too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite"},
{"too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite"},
}
})
minetest.register_craft({
output = "too_many_stones:glow_fluorite_block 9",
recipe = {
{"too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite"},
{"too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite"},
{"too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite", "too_many_stones:glow_fluorite"},
}
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_fluorite",
recipe = "too_many_stones:glow_fluorite_cobble",
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_fluorite_cracked_brick",
recipe = "too_many_stones:glow_fluorite_brick",
})
-- Glow Selenite
minetest.register_craft({
output = "too_many_stones:glow_selenite_brick 4",
recipe = {
{"too_many_stones:glow_selenite", "too_many_stones:glow_selenite"},
{"too_many_stones:glow_selenite", "too_many_stones:glow_selenite"},
}
})
minetest.register_craft({
output = "too_many_stones:glow_selenite_block 9",
recipe = {
{"too_many_stones:glow_selenite", "too_many_stones:glow_selenite", "too_many_stones:glow_selenite"},
{"too_many_stones:glow_selenite", "too_many_stones:glow_selenite", "too_many_stones:glow_selenite"},
{"too_many_stones:glow_selenite", "too_many_stones:glow_selenite", "too_many_stones:glow_selenite"},
}
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_selenite",
recipe = "too_many_stones:glow_selenite_cobble",
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_selenite_cracked_brick",
recipe = "too_many_stones:glow_selenite_brick",
})
-- Glow Sodalite
minetest.register_craft({
output = "too_many_stones:glow_sodalite_brick 4",
recipe = {
{"too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite"},
{"too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite"},
}
})
minetest.register_craft({
output = "too_many_stones:glow_sodalite_block 9",
recipe = {
{"too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite"},
{"too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite"},
{"too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite", "too_many_stones:glow_sodalite"},
}
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_sodalite",
recipe = "too_many_stones:glow_sodalite_cobble",
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_sodalite_cracked_brick",
recipe = "too_many_stones:glow_sodalite_brick",
})
-- Glow Willemite
minetest.register_craft({
output = "too_many_stones:glow_willemite_brick 4",
recipe = {
{"too_many_stones:glow_willemite", "too_many_stones:glow_willemite"},
{"too_many_stones:glow_willemite", "too_many_stones:glow_willemite"},
}
})
minetest.register_craft({
output = "too_many_stones:glow_willemite_block 9",
recipe = {
{"too_many_stones:glow_willemite", "too_many_stones:glow_willemite", "too_many_stones:glow_willemite"},
{"too_many_stones:glow_willemite", "too_many_stones:glow_willemite", "too_many_stones:glow_willemite"},
{"too_many_stones:glow_willemite", "too_many_stones:glow_willemite", "too_many_stones:glow_willemite"},
}
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_willemite",
recipe = "too_many_stones:glow_willemite_cobble",
})
minetest.register_craft({
type = "cooking",
output = "too_many_stones:glow_willemite_cracked_brick",
recipe = "too_many_stones:glow_willemite_brick",
})
--
-- Mapgen
--
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_apatite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -1000,
y_min = -31000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_calcite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -1000,
y_min = -31000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_esperite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -1000,
y_min = -31000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_fluorite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -1000,
y_min = -31000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_selenite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -1000,
y_min = -31000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_sodalite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -1000,
y_min = -31000,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_willemite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -1000,
y_min = -31000,
})
if minetest.get_modpath("mcl_mapgen_core") ~= nil then
--
-- Mapgen MineClone
--
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_apatite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -40,
y_min = -64,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_calcite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -40,
y_min = -64,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_esperite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -40,
y_min = -64,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_fluorite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -40,
y_min = -64,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_selenite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -40,
y_min = -64,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_sodalite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -40,
y_min = -64,
})
minetest.register_ore({
ore_type = "scatter",
ore = "too_many_stones:glow_willemite",
wherein = "mapgen_stone",
clust_scarcity = 48 * 48 * 48,
clust_num_ores = 20,
clust_size = 5,
y_max = -40,
y_min = -64,
})
end

150
sounds.lua Normal file
View File

@ -0,0 +1,150 @@
--
-- Sounds
--
function too_many_stones.node_sound_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "", gain = 1.0}
table.dug = table.dug or
{name = "tms_dug_node", gain = 0.25}
table.place = table.place or
{name = "tms_place_node_hard", gain = 1.0}
return table
end
function too_many_stones.node_sound_stone_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_hard_footstep", gain = 0.2}
table.dig = table.dig or
{name = "tms_dig_cracky", gain = 0.4}
table.dug = table.dug or
{name = "tms_break_node_hard", gain = 10.0}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_dirt_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_dirt_footstep", gain = 0.25}
table.dig = table.dig or
{name = "tms_dig_crumbly", gain = 0.4}
table.dug = table.dug or
{name = "tms_dirt_footstep", gain = 1.0}
table.place = table.place or
{name = "tms_place_node", gain = 1.0}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_sand_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_sand_footstep", gain = 0.05}
table.dug = table.dug or
{name = "tms_sand_footstep", gain = 0.15}
table.place = table.place or
{name = "tms_place_node", gain = 1.0}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_gravel_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_gravel_footstep", gain = 0.25}
table.dig = table.dig or
{name = "tms_gravel_dig", gain = 0.35}
table.dug = table.dug or
{name = "tms_gravel_dug", gain = 1.0}
table.place = table.place or
{name = "tms_place_node", gain = 1.0}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_wood_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_wood_footstep", gain = 0.15}
table.dig = table.dig or
{name = "tms_dig_choppy", gain = 0.4}
table.dug = table.dug or
{name = "tms_wood_footstep", gain = 1.0}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_leaves_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_grass_footstep", gain = 0.45}
table.dug = table.dug or
{name = "tms_grass_footstep", gain = 0.7}
table.place = table.place or
{name = "tms_place_node", gain = 1.0}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_glass_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_glass_footstep", gain = 0.3}
table.dig = table.dig or
{name = "tms_glass_footstep", gain = 0.5}
table.dug = table.dug or
{name = "tms_break_glass", gain = 1.0}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_ice_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_ice_footstep", gain = 0.15}
table.dig = table.dig or
{name = "tms_ice_dig", gain = 0.5}
table.dug = table.dug or
{name = "tms_ice_dug", gain = 0.5}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_metal_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_metal_footstep", gain = 0.2}
table.dig = table.dig or
{name = "tms_dig_metal", gain = 0.5}
table.dug = table.dug or
{name = "tms_dug_metal", gain = 0.5}
table.place = table.place or
{name = "tms_place_node_metal", gain = 0.5}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_water_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_water_footstep", gain = 0.2}
too_many_stones.node_sound_defaults(table)
return table
end
function too_many_stones.node_sound_snow_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name = "tms_snow_footstep", gain = 0.2}
table.dig = table.dig or
{name = "tms_snow_footstep", gain = 0.3}
table.dug = table.dug or
{name = "tms_snow_footstep", gain = 0.3}
table.place = table.place or
{name = "tms_place_node", gain = 1.0}
too_many_stones.node_sound_defaults(table)
return table
end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sounds/tms_dig_choppy.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_choppy.2.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_choppy.3.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_cracky.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_cracky.2.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_cracky.3.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_crumbly.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_metal.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dig_snappy.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sounds/tms_dug_metal.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dug_metal.2.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dug_node.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_dug_node.2.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sounds/tms_gravel_dig.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_gravel_dig.2.ogg Normal file

Binary file not shown.

BIN
sounds/tms_gravel_dug.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_gravel_dug.2.ogg Normal file

Binary file not shown.

BIN
sounds/tms_gravel_dug.3.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sounds/tms_ice_dig.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_ice_dig.2.ogg Normal file

Binary file not shown.

BIN
sounds/tms_ice_dig.3.ogg Normal file

Binary file not shown.

BIN
sounds/tms_ice_dug.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sounds/tms_place_node.1.ogg Normal file

Binary file not shown.

BIN
sounds/tms_place_node.2.ogg Normal file

Binary file not shown.

BIN
sounds/tms_place_node.3.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

4168
stairs.lua Normal file

File diff suppressed because it is too large Load Diff

BIN
textures/tms_aegirine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

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