Commit Graph

136 Commits

Author SHA1 Message Date
Treer
247ca0844b Switch Deep-netherbrick to a texture with licence allowing adaption & redistribution (CC BY-SA 4.0)
To fix #52, while trying to capture some of the feel of the original texture.
2021-10-28 23:09:26 +11:00
Treer
52038017f3
Make ShiftExistingBiomes available via API (#40)
* bug fixes

Fixes wrong new_y_min when shift_existing_biomes() shifts a biome below the nether floor,
find_surface_anchorPos() no longer assumes y=0 will be outside the nether.
Nil-reference fixed when a mods tries to register a portal after mods are finished loading, but the portal shape+material was already registered by another mod.

* Make ShiftExistingBiomes available via API

makes the ShiftExistingBiomes function available to other mods via the nether global, since it's not a simple function and biomes would also need to be shifted if another mod wants to add a second nether layer.

* Allow layers to extend the depth of nether effects

Mods can set/lower nether.DEPTH_FLOOR_LAYERS when creating a layer under the nether. This allows multiple layer mods to know where their ceiling should start, and to be included in the effects which only happen in the nether.

* document nether API

More of a tentative interop guide than an API.
Use snake_case for API functions.
2021-07-18 16:44:37 +10:00
tenplus1
54613d673a Update README.md
add texture license info
2021-07-11 12:11:39 +10:00
tenplus1
023539c297
add deep nether brick (#47)
* add deep nether brick
* Update crafts.lua
2021-07-11 12:10:58 +10:00
tenplus1
b90afa0b86 fix nil bug in portal_api.lua
fixes a nil bug in portal_api.lua where nodedef.is_ground_content isn't available.
2021-07-08 10:14:24 +10:00
sys4-fr
fb6b666895
Fix deprecation warnings (#44)
Co-authored-by: sys4 <bricassa@sys4.fr>
2021-04-18 16:30:05 +02:00
Treer
fb3c358f74 #43 Ethereal compatibility
Ethereal clears every biome when it starts to get rid of the default mapgen, which breaks the nether and can cause crashes.
Adding Ethereal as an optional dependency ensures the nether is loaded after Ethereal has already cleared the biomes.
2021-03-14 16:37:48 +11:00
Treer
ecce6e27c9 #42 make lava crust walkable
Fixes issue #42 - mobs not being able to walk on lava_crust
2021-03-14 16:37:48 +11:00
Treer
3f4b014298 #41 Allow nether to be in the sky
fixes issue #41
(Now that the Nether no longer extends all the way to -31000)
2021-03-14 16:37:48 +11:00
Treer
bafa4e8ea1 Improve dungeons
* clears netherrack from dungeon stairways
* Adds pillars or mezzanine floors to large rooms
* slightly more careful with window placement
* glowstone sometimes added behind in windows
2021-02-13 16:47:26 +11:00
Treer
b30272d2dd Move dungeon excavation functions to separate file 2021-02-13 16:47:26 +11:00
Treer
87f0ea7a51 Implement PR feedback 2021-02-13 13:00:41 +11:00
Treer
3008b167b2 climate_api support - add distance fog
Add more appropriate/atmosphere distance fog to the nether, via climate_api mod to avoid conflicting with other mods.
Any game or server with climate_api mod installed will be expecting climate_api to take control of sky values.
2021-02-13 13:00:41 +11:00
Treer
00099f2aa2 Fix #36 - better handling of biome definition tables
Add support for min_pos and max_pos in biome definition tables, and follow the same interpretation logic as Minetest, same defaults/fallbacks etc.
2021-02-06 00:25:27 +11:00
Treer
89a467698a minor fixes
Fixes issue #34 (get_node_group deprecated), and removes nether:lava_source from creative_inventory
2021-02-02 17:15:22 +11:00
Treer
979493ed64 Fix nil reference
The error below was reported, so handle the existence of a mod called "bucket" which doesn't have any liquids field:

Runtime error from mod 'nether' in callback on_mods_loaded(): /mods/environment/nether/nodes.lua:378: attempt to index field 'liquids' (a nil value)
stack traceback:
/mods/environment/nether/nodes.lua:378: in function /mods/environment/nether/nodes.lua:373
/minetest/builtin/game/register.lua:429: in function /minetest/builtin/game/register.lua:413
2021-01-26 19:49:10 +11:00
Treer
1fbab7451e Update README.md 2021-01-22 15:35:50 +11:00
Treer
4b508f8492 Update README.md 2021-01-15 00:29:23 +11:00
Treer
24845dce1e Update descriptions 2021-01-15 00:29:23 +11:00
Treer
00cda53a13 Add the Mantle
Adds a magma oceans region to the nether outside the existing nether caverns, which can be reached via tunnels.

Other misc changes:
* chatcomment nether_whereami, a debug aid for knowing which perlin-noise region you are in
* Nether ores no longer obtainable on the ceiling
* Move crafts into crafts.lua
* Add steam to lava cooling, and play bubbling lava upon death by lava
* Add cracked netherbrick
    a decorative node which can only be obtained from dungeons or structures
    I encourage someone to improve or replace the cracked netherbrick texture. For copyright purposes it's currently a derivative work (by me, 2020) from nether_brick.png, which is licensed under CC BY-SA 3.0 by PilzAdam, so it can fall under the "All other media" PilzAdam's credit in readme.md rather than need its own entry.
2021-01-15 00:29:23 +11:00
Treer
5a2a6c63f1 Add tools attributions 2021-01-04 18:05:48 +11:00
Treer
00bb132edb add "fire" optional dependency
fumaroles use flame nodes if available
2021-01-04 18:05:48 +11:00
lortas
c7776cc082
Add nether based tools to mod (#31)
* textures for new tool items

* axe, shovel, pick, sword based on nether

* run also tools.lua

* Textture for Compressed Netherbrick

* new node "Compressed Netherbrick"

* define how to craft "Compressed Netherbrick"

* change recipe for NetherLump and remove old node

* Delete nether_nether_compressed.png
2021-01-01 23:54:48 +11:00
Treer
09ca1efd62 Square smoke puffs
The round ones look nice and cartoony, but not the right art direction for Minetest Nether.
Making use of the existing default_item_smoke.png is also a close contender for smoke puffs, but it's not translucent and I think the roundness of it reduces how much the puffs form into plumes.
2020-12-28 20:38:55 +11:00
Treer
f3c6f2df23 Add fumaroles (Nether chimneys)
Or they can be used on the surface as cottage chimneys.
2020-12-28 20:38:55 +11:00
Treer
2fb93b8c74 Add Concealed crevice / Lava sinkhole 2020-12-28 20:38:55 +11:00
Louis
1268049706 Remove string.lower so item name is correctly translated 2020-09-28 00:07:03 +10:00
Louis
c70a669709 Add french translation 2020-09-28 00:07:03 +10:00
Treer
02d062b9c9 Handle large protected depths
Portals will now fail to ignite instead of defaulting to a fallback depth of (starty - 256) when no unprotected target can be found.
The search depth is also increased from (starty - 256) to (starty - 646)

This is to properly handle large protected areas that are sometimes set up at spawn - see issue #26
2020-08-02 12:19:30 +10:00
Treer
e326a94266
Add nether.debug() (#28) 2020-07-26 15:07:39 +10:00
Treer
5b3b56ebec
Respect protected areas when spawning remote portals (#27)
* respect protected areas when spawning remote portals

* Use portal_shape to determine area to check for natural/protected

* Log warning on deprecated function call
2020-07-26 14:34:06 +10:00
Treer
8769593d6f
Reduce lava in biomes-based mapgen (#25)
The biomes-based mapgen was creating the same amount of lava as the original nether mapgen, but it doesn't have the same issue of chunk emerge order sometimes causing lava in the overdraw regions to get removed. This adjustment will hopefully balance that a little.

Also makes glowstone stalactite a bit rarer.

Adjusting lava ore scarcity in the biomes-mapgen doesn't cause forwards or backwards compatibilty issues with existing maps, likewise with schematic rarety like glowstone stalactites, so can afford to fiddle and tune.
2020-07-12 12:12:00 +10:00
Treer
5cb9e5fb27
Merge pull request #24 from Treer/bugfix/OutOfMemory
Fix Out Of Memory issue
2020-06-18 00:47:03 +10:00
Treer
ab4a031c1c Fix Out Of Memory issue
Also another naming convention update - it's been get_3d_map_flat() sin Jan 2018.
2020-06-18 00:41:07 +10:00
Treer
aac3ea6719
Merge pull request #13 from Treer/feature/biome_mapgen
Switch mapgen to using biomes (still with backwards compatibility)
2020-06-08 21:05:16 +10:00
Treer
f4255f5d1f Add biomes-based implementation of the mapgen, and decorations
Prevents the c++/native mapgen from placing ores or decorations (when useBiomes is true).
The biomes-based implementation is faster, more deterministic, and keeps its dungeons, but requires MT 5.1 features to work.

Also
 * Glowstone & Netherrack stalactites
 * Include the new decorations in mapgen_nobiomes
 * Decorate dungeons - Add windows and glowstone "chandeliers" to some rooms
 * Configurable Nether floor and ceiling depths
2020-06-08 21:00:58 +10:00
Treer
94222d44e0 Preserve original mapgen as a "nobiomes" version
For v6 mapgen which doesn't support biomes, or MT versions prior to 5.1 which don't support the necessary biome features
2020-06-05 19:36:30 +10:00
Treer
86105b4eb8 fix lighting bug in mapgen
Removes hard black edges appearing at emerge boundaries.
2020-06-05 19:32:14 +10:00
Treer
0e26770830
Merge pull request #18 from Treer/feature/portals-api-facedir-support
Add facedir support to Portals API
2020-06-01 22:08:15 +10:00
Treer
e5fbc2486b Allow a colorfacedir color to be specified for a portal's frame node
A color could also be specified via param2 in a portal schematic.
2020-05-31 19:48:26 +10:00
Ward Vandewege
608d692401 Fix logic bug in parsing of nether_realm_enabled
The second argument of minetest.settings:get_bool is the default value (for when the configuration value is not set). Remove the superfluous `or nether.NETHER_REALM_ENABLED` which rendered the config option useless, because it always forced the variable to true.
2020-05-31 09:40:23 +02:00
Treer
f7ebd78614 New/extra portal animation
(new animation by Extex101)
The original texture is now "nether_portal_alt.png", and used to provide a "nether:portal_alt" node, which is used/demoed by the Surface-portal as the original animation still has a "it's full of stars" charm coming out when used for lighter coloured portals.
2020-05-31 09:31:16 +02:00
Treer
e113db1478 Add facedir support to Portals API
Portal shematics include facedir information for when new portals are spawned using frame nodes that are facedir or colorfacedir
2020-03-04 00:31:33 +11:00
Treer
7939161535 API improvements
Improvements found while using the portals API in another mod (cloudlands):
* remote_portal_checkup() will check the whole portal and frame for mapgen overwrites.
* Allow find_realm_anchorPos() to return nil if no realm location could be found (portal will fail to ignite).
* Allow create_book_of_portals() to be invoked [indirectly] by other mods.

Also lowers nether_book_close.png to be 4bpp
2020-02-15 10:55:37 +01:00
Treer
32e5d818e8 Use lua schematics instead of .mts files when building portals
Removes the need for the get_malleated_schematic_filename hack
2020-02-15 10:55:37 +01:00
Treer
aa2bfe9472 prevent obscure portal behaviour bug
If a portal is being ignited and portal frame near-but-not-at its destination was found that was active and already linked back to the local portal, it would cause the local portal to be extinguished. (Required the remote portal to somehow be in a different state from the portal it was linking to)
2020-02-15 10:55:37 +01:00
Treer
4c3545f17a drop portal shape images to 2bit
Save some bits. Unfortunately PNG can't do 3bit-indexed images :(
2020-02-15 10:55:37 +01:00
Treer
39d655b4c8 Add Help-modpack support
https://forum.minetest.net/viewtopic.php?t=15912
Don't place Book of Portals in dungeon chests if its contents can be written in the help modpack Encyclopedia instead, and don't add Book of Portals to dungeon chests if Nether portals are the only type of portal - A Nether mod doesn't need a Book of Portals if it's only being used to provide a Nether portal.
2020-02-15 10:55:37 +01:00
Treer
36d1f6f573 Images instead of ASCII diagrams in Book of Portals 2020-02-15 10:55:37 +01:00
Treer
0618325710 API exposes the registered portal count, and frame nodes 2020-02-15 10:55:37 +01:00