COWMODSКаталог модов

Geolosys

Data-Driven, Mod-Compatible TerraFirmaCraft-Inspired Ore Generation

Автор: oitsjustjose23,7 тыс.37обновлён 28 окт. 2026 г.
Генерация мира

Описание

Logo

Effective Nov. 2022, Geolosys will no longer receive updates

Old versions will continue to work exactly as they do now, but Geolosys has become a chore to maintain.

Want to take it over? Reach out to me on Twitter or My Mods' Discord Server. See Full Tweet


Overview

Geolosys is a mod-compatibility-first Ore Generation overhaul mod that integrates Geological Systems into Minecraft. Geolosys is highly configurable via Datapacks and comes with a pre-defined set of default resources to work with a large majority of tech mods!

Learning More

For starters, the in-game field manual can teach players all they'll need to know about generation, Pluton types, resources and more. On top of that, the wiki is full of even more information for mod developers, as well as our incredible community over on Discord!

Галерея

Ore SamplesA Dense Gold DepositA Quartz DikeA Layered Coal Deposit

Последние версии

Все версии →
release

Geolosys 1.21.1 8.0.2

1.21.1-8.0.2
28 окт. 2026 г.24Minecraft: 1.21.1neoforge
Скачать
Что нового
# Geolosys Changelog (1.21.1) ## 8.0.2 ### Fixed - Dike deposits (like Hematite) not generating properly - Dense deposits doing `onGenerationComplete` twice, meaning 2x samples the area ## 8.0.1 ### Fixed - Broken tags across the board ### Changed - Small Internal Refactors - Updated Creative Tab Ordering - Updated Nether Ore Textures ## 8.0.0 It's finally here! After way too long, I finally got around to getting the 1.21.1 port said and done. With it are a few changes and known limitations that feel worth bringing up :) The changes it took to get here were also really big, so I may have forgotten something. Apologies in advance if I did - I'm only human (no really, AI had nothing to do with my code) ### Added: - New `geolosys:ignored_by_propick` Block Tag - Blocks in this tag are entirely ignored by the Prospector's Pick. By default this tag is ignored, but if you want a certain block to never be picked up by the propick, this tag is for you! - New `geolosys:plant_placeable` Block Tag - Defines what blocks a given plant block (just Rhododendron in Geolosys) can be placed - New `default_deposit_matchers` Block Tag - This replaces the old `DEFAULT_REPLACEMENT_MATS` config option, but is a valid tag - This is used when `replacerTag` isn't defined for a given deposit (see changes below for more on `replacerTag`) ### Removed: - Patchouli support and optional dependency - With the rise of KubeJS, pack makers are more and more frequently making modifications to the default deposit-set, and since Patchouli _still_ doesn't support dynamic pages in a given chapter, I went ahead and removed the support for it entirely. - This, of course, means that the `Field Manual` has been removed - Other mod compatability - Again, with datapacks or KubeJS, you can add Certus/Black quartz drops to Quartz, Yellorium drops to Autunite, and Osmium drops to Platinum, so it felt useless to continue to support the loot modifier system for a feature folks could use on their own :) ### Changed: - **The Deposit format has changed a _teeny_ bit** - One new, **required** field has been added: `averageSamplesPerChunk` - This controls how many samples will try to be placed in a given chunk for a deposit - The math behind how this is used is: ```python range = averageSamplesPerChunk / 2 min = averageSamplesPerChunk - range max = averageSamplesPerChunk + range samples_to_place = random(min, max) ``` - One new, optional field has been added: `replacerTag` - This is a string field which points to a tag you define. As such, it should start with `#`, for example `#geolosys:autunite_ore_can_replace` - If you'll recall, your deposit ore blocks look something like `"default": [{chance, block}...], "minecraft:deepslate": [{chance, block}...]` This tag is now used to check if an ore block can be placed - if block to be replaced (target) has the `replacerTag` block tag, then the ore can replace this target. Of course, if you specify a key (like `"minecraft:deepslate"` in the example above) then the ore can replace _that_ target too. - This is mostly just another option for you to be able to further customize how ores generate. - The Prospector's Pick now has a fixed 250 durability (same as Iron Tools) - This is due to the nature of the new NeoForge config loading order - There are ways around this using just datapacks - you can set the result for the Prospector's Pick recipe to yield a `geolosys:prospectors_pick` with the component `Unbreakable: 1` ### Known Bugs: - The in-game NeoForge config is not set up - This will be set up in a future release, but I figured _no_ in-game config was better than one with broken text and missing Internationalization. ### API Changes: - The static `GeolosysAPI.plutonRegistry` instance has been renamed `GeolosysAPI.DEPOSIT_REGISTRY` - `IDeposit` is gone - it has been replaced with an abstract parent `Deposit` class - You'll need to initialize the superclass in your constructor. - In exchange, you get a _ton_ of methods pre-implemented for you, like `onGenerationComplete`, `canPlaceInBiome`, `getOre` and more! - `Deposit::afterGen` has been renamed `Deposit::onGenerationComplete` - `CommonDepositData` has been added to help with serializing and deserializing common attributes across all deposits, like Y Min and Max, Ore and Sample Blocks, Generation Weight, etc.
release

Geolosys 1.21.1 8.0.1

1.21.1-8.0.1
25 окт. 2026 г.92Minecraft: 1.21.1neoforge
Скачать
Что нового
# Geolosys Changelog (1.21.1) ## 8.0.1 ### Fixed - Broken tags across the board ### Changed - Small Internal Refactors - Updated Creative Tab Ordering - Updated Nether Ore Textures ## 8.0.0 It's finally here! After way too long, I finally got around to getting the 1.21.1 port said and done. With it are a few changes and known limitations that feel worth bringing up :) The changes it took to get here were also really big, so I may have forgotten something. Apologies in advance if I did - I'm only human (no really, AI had nothing to do with my code) ### Added: - New `geolosys:ignored_by_propick` Block Tag - Blocks in this tag are entirely ignored by the Prospector's Pick. By default this tag is ignored, but if you want a certain block to never be picked up by the propick, this tag is for you! - New `geolosys:plant_placeable` Block Tag - Defines what blocks a given plant block (just Rhododendron in Geolosys) can be placed - New `default_deposit_matchers` Block Tag - This replaces the old `DEFAULT_REPLACEMENT_MATS` config option, but is a valid tag - This is used when `replacerTag` isn't defined for a given deposit (see changes below for more on `replacerTag`) ### Removed: - Patchouli support and optional dependency - With the rise of KubeJS, pack makers are more and more frequently making modifications to the default deposit-set, and since Patchouli _still_ doesn't support dynamic pages in a given chapter, I went ahead and removed the support for it entirely. - This, of course, means that the `Field Manual` has been removed - Other mod compatability - Again, with datapacks or KubeJS, you can add Certus/Black quartz drops to Quartz, Yellorium drops to Autunite, and Osmium drops to Platinum, so it felt useless to continue to support the loot modifier system for a feature folks could use on their own :) ### Changed: - **The Deposit format has changed a _teeny_ bit** - One new, **required** field has been added: `averageSamplesPerChunk` - This controls how many samples will try to be placed in a given chunk for a deposit - The math behind how this is used is: ```python range = averageSamplesPerChunk / 2 min = averageSamplesPerChunk - range max = averageSamplesPerChunk + range samples_to_place = random(min, max) ``` - One new, optional field has been added: `replacerTag` - This is a string field which points to a tag you define. As such, it should start with `#`, for example `#geolosys:autunite_ore_can_replace` - If you'll recall, your deposit ore blocks look something like `"default": [{chance, block}...], "minecraft:deepslate": [{chance, block}...]` This tag is now used to check if an ore block can be placed - if block to be replaced (target) has the `replacerTag` block tag, then the ore can replace this target. Of course, if you specify a key (like `"minecraft:deepslate"` in the example above) then the ore can replace _that_ target too. - This is mostly just another option for you to be able to further customize how ores generate. - The Prospector's Pick now has a fixed 250 durability (same as Iron Tools) - This is due to the nature of the new NeoForge config loading order - There are ways around this using just datapacks - you can set the result for the Prospector's Pick recipe to yield a `geolosys:prospectors_pick` with the component `Unbreakable: 1` ### Known Bugs: - The in-game NeoForge config is not set up - This will be set up in a future release, but I figured _no_ in-game config was better than one with broken text and missing Internationalization. ### API Changes: - The static `GeolosysAPI.plutonRegistry` instance has been renamed `GeolosysAPI.DEPOSIT_REGISTRY` - `IDeposit` is gone - it has been replaced with an abstract parent `Deposit` class - You'll need to initialize the superclass in your constructor. - In exchange, you get a _ton_ of methods pre-implemented for you, like `onGenerationComplete`, `canPlaceInBiome`, `getOre` and more! - `Deposit::afterGen` has been renamed `Deposit::onGenerationComplete` - `CommonDepositData` has been added to help with serializing and deserializing common attributes across all deposits, like Y Min and Max, Ore and Sample Blocks, Generation Weight, etc.
release

Geolosys 1.21.1 8.0.0

1.21.1-8.0.0
16 окт. 2026 г.214Minecraft: 1.21.1neoforge
Скачать
Что нового
# Geolosys Changelog (1.21.1) ## 8.0.0 It's finally here! After way too long, I finally got around to getting the 1.21.1 port said and done. With it are a few changes and known limitations that feel worth bringing up :) The changes it took to get here were also really big, so I may have forgotten something. Apologies in advance if I did - I'm only human (no really, AI had nothing to do with my code) ### Added: - New `geolosys:ignored_by_propick` Block Tag - Blocks in this tag are entirely ignored by the Prospector's Pick. By default this tag is ignored, but if you want a certain block to never be picked up by the propick, this tag is for you! - New `geolosys:plant_placeable` Block Tag - Defines what blocks a given plant block (just Rhododendron in Geolosys) can be placed - New `default_deposit_matchers` Block Tag - This replaces the old `DEFAULT_REPLACEMENT_MATS` config option, but is a valid tag - This is used when `replacerTag` isn't defined for a given deposit (see changes below for more on `replacerTag`) ### Removed: - Patchouli support and optional dependency - With the rise of KubeJS, pack makers are more and more frequently making modifications to the default deposit-set, and since Patchouli _still_ doesn't support dynamic pages in a given chapter, I went ahead and removed the support for it entirely. - This, of course, means that the `Field Manual` has been removed - Other mod compatability - Again, with datapacks or KubeJS, you can add Certus/Black quartz drops to Quartz, Yellorium drops to Autunite, and Osmium drops to Platinum, so it felt useless to continue to support the loot modifier system for a feature folks could use on their own :) ### Changed: - **The Deposit format has changed a _teeny_ bit** - One new, **required** field has been added: `averageSamplesPerChunk` - This controls how many samples will try to be placed in a given chunk for a deposit - The math behind how this is used is: ```python range = averageSamplesPerChunk / 2 min = averageSamplesPerChunk - range max = averageSamplesPerChunk + range samples_to_place = random(min, max) ``` - One new, optional field has been added: `replacerTag` - This is a string field which points to a tag you define. As such, it should start with `#`, for example `#geolosys:autunite_ore_can_replace` - If you'll recall, your deposit ore blocks look something like `"default": [{chance, block}...], "minecraft:deepslate": [{chance, block}...]` This tag is now used to check if an ore block can be placed - if block to be replaced (target) has the `replacerTag` block tag, then the ore can replace this target. Of course, if you specify a key (like `"minecraft:deepslate"` in the example above) then the ore can replace _that_ target too. - This is mostly just another option for you to be able to further customize how ores generate. - The Prospector's Pick now has a fixed 250 durability (same as Iron Tools) - This is due to the nature of the new NeoForge config loading order - There are ways around this using just datapacks - you can set the result for the Prospector's Pick recipe to yield a `geolosys:prospectors_pick` with the component `Unbreakable: 1` ### Known Bugs: - The in-game NeoForge config is not set up - This will be set up in a future release, but I figured _no_ in-game config was better than one with broken text and missing Internationalization. ### API Changes: - The static `GeolosysAPI.plutonRegistry` instance has been renamed `GeolosysAPI.DEPOSIT_REGISTRY` - `IDeposit` is gone - it has been replaced with an abstract parent `Deposit` class - You'll need to initialize the superclass in your constructor. - In exchange, you get a _ton_ of methods pre-implemented for you, like `onGenerationComplete`, `canPlaceInBiome`, `getOre` and more! - `Deposit::afterGen` has been renamed `Deposit::onGenerationComplete` - `CommonDepositData` has been added to help with serializing and deserializing common attributes across all deposits, like Y Min and Max, Ore and Sample Blocks, Generation Weight, etc.
beta

Geolosys 1.21.1 8.0.0

1.21.1-8.0.0
13 окт. 2026 г.78Minecraft: 1.21.1neoforge
Скачать
Что нового
# Geolosys Changelog (1.20.1) ## 7.0.11 ### Fixed: - Patchouli incompatibility ## 7.0.10 **Port of 7.0.10 from 1.19.2**
release

Geolosys 1.20.1 7.0.14

1.20.1-7.0.14
31 июл. 2025 г.6,2 тыс.Minecraft: 1.20.1forge
Скачать
Что нового
# Geolosys Changelog (1.20.1) ## 7.0.14 ### Added: - The ability for `samples` field to be entirely absent from your deposit ## 7.0.13 ### Fixed: - Recipe registration for the Field Manual always occurring, even if Patchouli isn't installed ## 7.0.12 ### Fixed: - Being unable to set the `samples` array to empty - This fix now permits you to use an empty array when you don't want any samples - Coal Items not being smeltable - Incompatibility with C2ME due to writing to stale chunks ## 7.0.11 ### Fixed: - Patchouli incompatibility ## 7.0.10 **Port of 7.0.10 from 1.19.2**
release

Geolosys 1.20.1 7.0.13

1.20.1-7.0.13
10 июл. 2025 г.252Minecraft: 1.20.1forge
Скачать
Что нового
# Geolosys Changelog (1.20.1) ## 7.0.13 ### Fixed: - Recipe registration for the Field Manual always occurring, even if Patchouli isn't installed ## 7.0.12 ### Fixed: - Being unable to set the `samples` array to empty - This fix now permits you to use an empty array when you don't want any samples - Coal Items not being smeltable - Incompatibility with C2ME due to writing to stale chunks ## 7.0.11 ### Fixed: - Patchouli incompatibility ## 7.0.10 **Port of 7.0.10 from 1.19.2**
release

Geolosys 1.20.1 7.0.12

1.20.1-7.0.12
9 июл. 2025 г.53Minecraft: 1.20.1forge
Скачать
Что нового
# Geolosys Changelog (1.20.1) ## 7.0.12 ### Fixed: - Being unable to set the `samples` array to empty - This fix now permits you to use an empty array when you don't want any samples - Coal Items not being smeltable - Incompatibility with C2ME due to writing to stale chunks ## 7.0.11 ### Fixed: - Patchouli incompatibility ## 7.0.10 **Port of 7.0.10 from 1.19.2**
beta

Geolosys 1.20.1 7.0.11

1.20.1-7.0.11
30 дек. 2024 г.1,1 тыс.Minecraft: 1.20.1forge
Скачать
Что нового
# Geolosys Changelog (1.20.1) ## 7.0.11 ### Fixed: - Patchouli incompatibility ## 7.0.10 **Port of 7.0.10 from 1.19.2**
beta

Geolosys 1.20.1 7.0.10

1.20.1-7.0.10
5 дек. 2024 г.152Minecraft: 1.20.1forge
Скачать
Что нового
# Geolosys Changelog (1.20.1) ## 7.0.10 **Port of 7.0.10 from 1.19.2**
release

Geolosys 1.19.2 7.0.9

1.19.2-7.0.9
18 апр. 2023 г.928Minecraft: 1.19.2forge
Скачать
Что нового
Migrated Automagically from CurseForge