Commit Graph

264 Commits

Author SHA1 Message Date
FossFanatic fee4ccf096 Convert old player leaves into new system
This commit adds a couple of lines to the `mcl_mapgen_core:fix_foliage_palette_indexes"` LBM, which ensures that player leaves which were placed before this update get converted into the new player leaves.

I would have included mangrove leaves, but decided against it because of an issue where the `param2` of mangrove leaves was accidentally set to 1 (in the schematics?). This meant that if I included mangrove leaves, the LBM would have converted the natural leaves as well.

This would have made it very tedious to clean up the leaves after chopping down a mangrove tree, since these would not rot by themselves.
2023-02-14 11:20:00 +00:00
FossFanatic f653f47f26 Improve the new code somewhat 2023-02-14 08:36:49 +00:00
FossFanatic aeddb7675f Don't run LBMs at every load
This commit makes it so the LBMs don't run at every load.

This commit also adds some new `minetest.register_on_generated()` code, which should ensure that any newly generated mapblocks have the correct foliage colours.
2023-02-13 18:50:26 +00:00
FossFanatic 2ccfd89379 Add nil checks 2023-02-13 15:49:19 +00:00
FossFanatic 1c84bc6572 Put all affected grass blocks in a local
This commit puts all nodes which make use of the grass palette in a local, to make for less messy code.
2023-02-13 10:33:47 +00:00
FossFanatic 3590ff6dfb Improve some LBM code 2023-02-12 08:23:19 +00:00
FossFanatic b789845f62 Indentation improvements 2023-02-10 15:19:02 +00:00
FossFanatic 4ddab8bdf1 Remove the ABMs
There are likely better ways to fix any palettes that the LBMs missed.
2023-02-09 16:16:13 +00:00
FossFanatic b95ebb3fca Add LBMs, ABMs, and more
This commit adds 1 new LBM (for foliage) and 2 new ABMs (one for foliage, and one for grass).

This also adds a new generator so any new maps created will have biome coloured leaves with a faster method. (Vines are excluded from this generator since I don't know yet how to get those to work with this.)
2023-02-08 16:17:33 +00:00
FossFanatic cbb3260471 Make the palette fix LBM not run on v6 & singlenode
This fixes a crash when loading a world that doesn't have any biomes and the LBM tries to give the grassy nodes a biome colour.
2023-02-01 22:35:13 +00:00
FossFanatic 9afdd09d9d Fix wrong init accident
I accidentally put the `init.lua` of `mcl_biomes` instead of `mcl_mapgen_core` in my previous commit. This fixes that.
2023-01-23 10:25:48 +00:00
FossFanatic 2d81d153bd Unsimplify the LBM 2023-01-22 18:02:31 +00:00
FossFanatic dc7a46df4e Simplify the LBM even more 2023-01-22 17:46:17 +00:00
FossFanatic ad25b0bc4b Make set palette safer 2023-01-22 16:51:40 +00:00
FossFanatic b77260253a Make grass palette fix LBM more efficient 2023-01-22 15:59:10 +00:00
FossFanatic 9746dbc376 Make the LBM run at every load again
After testing this out, it seems that the LBM only works consistenly when it runs at every load.
2023-01-17 16:04:12 +00:00
FossFanatic a500528613 Make the LBM run only once
Since some people complained about the LBM running at every load, I changed it so it only runs once instead. It shouldn't even need to run more than once anyways, unless somebody could prove the contrary.
2023-01-13 17:58:51 +00:00
FossFanatic 5ec7b8ed89 Add LBM to fix grass palette indexes
Adds a LBM which basically fixes the grass palette indexes of the nodes from older worlds. I have also added some more nodes to `block_fixes`.
2022-12-29 14:18:37 +00:00
FossFanatic 137179ac8e revert 3afb42b2f7
revert Add a LBM to fix grass palette indexes on older worlds
2022-12-29 14:13:50 +00:00
FossFanatic 3afb42b2f7 Add a LBM to fix grass palette indexes on older worlds 2022-12-29 14:12:00 +00:00
FossFanatic c1cde073c8 Rename _mcl_palette_index to _mcl_grass_palette_index 2022-12-28 19:34:24 +00:00
FossFanatic 1f601c68c5 Make snowy grass blocks have a palette index
This fixes the issue where snowy grass blocks always have the same coloured grass underneath them.
2022-12-28 17:02:58 +00:00
cora fe68e1eaac Generate netherrack and ores under the lava
another hack using minetest.generate_ores this time
2022-11-01 04:52:17 +01:00
cora 5d26595f4a enforce cavern setting for nether generation
people unticking the "caverns" box probably do not expect that this
only applies to nether "terrain"
2022-11-01 04:52:17 +01:00
cora 98dad0b191 Generate netherrack under the bedrock ceiling
this is a somewhat ugly hack that uses minetest.generate_decorations
which generates decorations regardless of biome so additional steps
had to be taken to ensure no other decorations "spill over" due to
this.
2022-11-01 04:52:17 +01:00
cora d866b61d1c Add lower cavern threshhold for all mgs that support it 2022-11-01 04:52:17 +01:00
cora a03973a80b tweak v7 cavern threshhold for larger nether caves 2022-11-01 04:52:17 +01:00
cora a8a55f9d6e don't run block fixes at all in singlenode 2022-10-22 12:10:29 +02:00
cora 2a10be4174 Fix possible crash in v6 / singlenode mapgen 2022-10-22 12:10:29 +02:00
cora 642559c758 Fix issue with wrong lighting in caves 2022-09-16 15:09:32 +02:00
cora 47d06ff6b9 Fix undeclared var 2022-09-14 20:37:08 +00:00
cora 78703d2baa Fix lighting issues in the end 2022-09-14 20:37:08 +00:00
cora 540bf56b91 Add logging settings for mapgen and structures
mapgen logging being default off and structure generation default
on as the latter is the far more useful of the 2 in most situations
2022-09-14 20:37:08 +00:00
cora f3e40803f4 Put register_generator api in a separate file 2022-09-14 20:37:07 +00:00
cora 538d900ccc Add End biomes, fix island decorations 2022-09-14 20:37:07 +00:00
cora 232ea1da06 Fix end lighting 2022-09-14 20:37:07 +00:00
cora 61f9a047e3 Remove unused functions 2022-09-14 20:37:07 +00:00
cora 1d942e9946 Exit portal and spawn platform -> mcl_structures 2022-09-14 20:37:07 +00:00
cora 52c4a7dc28 some refactoring 2022-09-14 20:37:07 +00:00
cora b377f67214 Move v6 fixes to separate file 2022-09-14 20:37:07 +00:00
cora fc64907b15 move mapgen ores regs to separate file 2022-09-14 20:37:07 +00:00
FaceDeer e1bf4081dd since registered_generators was a table, not an array, table.sort was having no effect and so priority was being ignored. Generators were being run in an arbitrary order.
I discovered this when I attempted to register an lvm in a mod that was intended to run after "main", to modify clay that the main mapgen lvm adds to the world. It wasn't finding any clay because priority was being ignored and it was running before "main" was.
2022-08-28 22:11:02 -06:00
FaceDeer 1a09b5c132 fixing registration of node functions
"#registered_generators" was attempting to count a non-array table and was always returning 0. So every node function registered was named "mod_1" and overwrote each other in that index.

also, "nodes" wasn't counting node_functions, it was counting lvm_functions.
2022-08-14 01:11:30 -06:00
cora 8ff559d4ad Add ancient debris as normal ore 2022-07-16 02:07:17 +02:00
cora 9f66c9f673 let railcorridors be placed by new api
this makes it a lot faster
2022-07-04 23:07:51 +02:00
cora a09226c370 fossil & igloo -> new api 2022-07-01 02:05:48 +02:00
cora 3ca6d4de3b fix chunk probability and distributions 2022-07-01 02:05:48 +02:00
cora 14cd360214 witch hut, boulders, ice-spikes -> new api 2022-07-01 02:05:48 +02:00
cora dfbb832f96 Terrain feature fixes 2022-07-01 02:05:48 +02:00
cora 9381657f5d use new struct api for desert well and temples 2022-07-01 02:05:48 +02:00