Geolosys

TerraFirmaCraft styled ore generation with modpacks in mind.
Back to Files

Geolosys 1.21.1 8.0.0

File nameGeolosys-1.21.1-8.0.0.jar
Uploader
oitsjustjoseoitsjustjose
Uploaded
Oct 16, 2026
Downloads
55
Size
624.1 KB
Mod Loaders
NeoForge
File ID
9210013
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:geolosys-271856:9210013"

Learn more about Curse Maven

What's new

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:
      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.

This mod has no related projects