Commit Graph

71 Commits

Author SHA1 Message Date
Treer 7dc32f6bb8
fix the sky in the nether caverns when using climate_api (#61)
The mantle and geode skys were working correctly, but not the sky in the main nether area - it would always switch back to stars.
Issue was found by process of elimination, so I don't know why climate_api doesn't accept "nether:nether" as a unique weather name identifier, or how this issue wasn't noticed earlier (did something change?).

climate_api's api_doc.md file says the name "should be prefixed with the mod's name in a way that could look like ``mymod:awesome_weather``. This name should only be used once."

so perhaps names of the form "mymod:mymod" cause issues? (I don't plan on figuring this climate_api behavior out though)
2022-11-20 01:05:03 +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
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 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 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
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 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 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
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 36d1f6f573 Images instead of ASCII diagrams in Book of Portals 2020-02-15 10:55:37 +01:00
Treer e765f5f504 text/docs/formatting changes 2020-02-15 10:55:37 +01:00
Treer 58da96549a Trim trailing spaces
This eliminates most luacheck formatting warnings
2020-02-15 10:55:37 +01:00
Treer 478684062d Add Minetest 0.4 support 2020-02-15 10:55:37 +01:00
Treer 43f1f24d53 Add settingtypes.txt settings 2020-02-15 10:55:37 +01:00
Treer 6752964c96 Add PortalShape_Platform
and other work on the portal examples
also documentation and fixing issue where apples prevented volume_is_natural() from returning true
2020-02-15 10:55:37 +01:00
Treer 6e0cadb1ec Check no other mod is already using a portal definition 2020-02-15 10:55:37 +01:00
Treer b8ec09f402 Add animated particle support
Also implements an ignition failure sound.
2020-02-15 10:55:37 +01:00
Treer 7cff6b8cc2 Add portal ignition sparks 2020-02-15 10:55:37 +01:00
Treer 27a660b731 Unroll 32affba6 (stairs) (#9)
32affba6 re-registered stairs which have already been registered 20 lines earlier in the code, and registered them as "brick" causing the netherbrick stairs to replace Minetest's default:brick stairs. The rest of 32affba6 was already unrolled in 7a0e52da, but the stairs bug remained.
2020-02-15 10:55:37 +01:00
Treer e2666146ca Implement sound and events in API 2020-02-15 10:55:37 +01:00
Treer 6401052f92 fix bugs
fixes nullreference in find_surface_target_y, and ensure_remote_portal_then_teleport assuming a traditional portal shape.
minor documentation work.
2020-02-15 10:55:37 +01:00
Treer 1a6d15def3 Portals connect to nearby targets
Records portal positions. More testing required
2020-02-15 10:55:37 +01:00
Treer 43b37e96b2 Add Book of Portals
Squashed commit of the following:

commit e80030750df91f75745c7d52729a0d4942eb32f8
Author: Treer <treer.git+github@the-bordello.com>
Date:   Sat Jul 13 13:52:02 2019 +1000

    Finish book of portals

commit 82ad3d6af683b6bb4cc107e8c76f44c0b791a28d
Author: Treer <treer.git@gmail.com>
Date:   Thu Jul 11 22:43:02 2019 +1000

    Book of Portals art

commit fac6ff1da89a1b06b78deb0b5b4e3bebe4166860
Author: Treer <treer.git@gmail.com>
Date:   Thu Jul 11 00:39:50 2019 +1000

    starting book of portals
2020-02-15 10:55:37 +01:00
Treer b6e2a3335a provide Portal API 2020-02-15 10:55:37 +01:00
Treer 3126d067a1 Dynamic/hardware portal colouring
Currently proof of concept: Removes wormhole colour from .png texture and specifies it through MT API instead. The post_effect_color may call for registering a separate node per portal colour.
Palette 0 will have to be the traditional portal magenta (instead of 0 being black) for map compatibility with mod when colour was in the texture and not param2.
2020-02-15 10:55:37 +01:00
Treer 83c9ad574f Allow two or more portal types to be made with the same frame material
(provided they are different sized portals)
Removes direct references to the registered_portals table
2020-02-15 10:55:37 +01:00
Treer f38211e55d Prevent portals from sharing frame nodes with other portals
While it's rather cute having portals that share parts of their frame with other portals, the way the nether mod implemented portals means a node being part of more than one portal enables a family of bugs.

Igniting a portal now extinguishes any portal that was using nodes now taken by the newly ignited portal.
2020-02-15 10:55:37 +01:00
Treer 2113d332f8 Spawn portals on the surface, when possible 2020-02-15 10:55:37 +01:00
Treer 9a4c7ed875 Fix call to node timer stop()
Part of e5a5db907, fixes an issue where node timers weren't stopped by extinguish_portal().
And tweaks some comments
2020-02-15 10:55:37 +01:00
Treer 59275bb242 tidy up some code 2020-02-15 10:55:37 +01:00
Treer c7d83eceb7 Prevent concurrent mapgen from removing freshly placed portals 2020-02-15 10:55:37 +01:00
Treer edf961907e Allow reignition of portals in player-built areas
e.g. allow remote ignition to a portal in a "portal room"
2020-02-15 10:55:37 +01:00
Treer 7a4d9ebf01 Issue #6 Replace ABM with single node timer
https://github.com/minetest-mods/nether/issues/6
2020-02-15 10:55:37 +01:00
Treer a085e194fa Add mesecons support
Portals can be switched on and off with mesecons
(from a tech-tree perspective, mese is still required for portal ignition)
2020-02-15 10:55:37 +01:00
Treer 614a3f91a7 Separate portal shape code from portal behavior code, and refactor
Allows dev and testing/debugging to focus on one (shape or behavior) without getting mixed up in the other, will also enable different portal shapes later on. Other adjustments:
* Reuse/reignite an existing portal or portal frame if there is one at the remote destination, rather than the area being overwritten by a slightly offset portal schematic.
* Create remote portals in a matching orientation to the local portal.
* Preserve player position & facing relative to portal when traveling through wormhole (even if portals are at 90°)
* Players no longer bounce several times after teleporting
* Player is not teleported until after the portal at the other end is confirmed/built
2020-02-15 10:55:37 +01:00
ㄗㄠˋ ㄑㄧˊ b49f4ce73d Fix error caused by teleporting offline players (#12) 2020-01-08 18:56:49 +01:00
SmallJoker 6551f5c120 Convert UTF-8 + BOM to UTF-8. Fixes crash on some systems 2019-08-01 18:25:25 +02:00
Treer b8dab52e41 Unroll 32affba6 (stairs) (#9)
32affba6 re-registered stairs which have already been registered 20 lines earlier in the code, and registered them as "brick" causing the netherbrick stairs to replace Minetest's default:brick stairs. The rest of 32affba6 was already unrolled in 7a0e52da, but the stairs bug remained.
2019-07-20 08:56:32 +02:00
Treer bf145d4c11 Fix portal particle spawners
Issue introduced in 0b6925f4b1. Fix tested in 4.17.1 and 5.1-dev
2019-06-26 19:04:02 -07:00
Auke Kok 2d94d74d97 Fix #1. 2017-12-20 20:52:57 -08:00
Auke Kok 57b2d30b9e Override mese crystal fragment, use new settings API.
Thanks to Julien Puydt
2017-12-19 21:39:29 -08:00
Auke Kok 0b6925f4b1 Fixes old bug id #21 2017-12-19 21:35:05 -08:00
Auke Kok 7a0e52da46 Luacheck cleanups. 2017-12-19 21:31:53 -08:00
Auke Kok 8008b8cbdc Fix sound passing for stairs. 2017-12-19 21:17:14 -08:00
Auke Kok 3f2c30ec2e Relicense to ISC. 2017-12-19 21:03:58 -08:00
Auke Kok 483cbe916d Remove debug code. 2017-12-19 21:00:16 -08:00
Auke Kok 32affba608 Add slabs and stairs for nether bricks, using "stairs" mod. 2017-12-19 20:51:45 -08:00