v1.4.0-mc1.12.2

Changelog

Features:

  • Add contributors to this mod's credits.
  • Add pixelated mod logo in the Nether API mod list gui (I'm using the old mod logo, so I don't have to animate a logo in the mod list).
  • Allow users to define a default "player spawn dimension" through new config settings. Note that each world then saves these values, letting you have multiple worlds with different default spawn dimensions!
  • Lang keys for credits and description.
  • Make this mod's config gui translucent while in a world.
  • Merge compatibility config categories in the gui, and remove the "(Compatibility)" text from those categories. This change does not impact the config file itself.
  • New config setting to disable the first Ender Dragon spawn. When this setting is active: an End Gateway will generate, the dragon can still be summoned using End Crystals, and the dragon egg still appears after the dragon's first death.
  • New nether_api tree command:
    • list subcommand: prints Nether API biome weight and structure info to the console.
  • New "respawn dimension" logic:
    • Each dimension can now store its own global (or generated) default spawn position.
    • Fix "random spawn position" bugs for many dimensions (like positioning players in lava or well above the ground).
    • Perform initial spawn chunk load for the "player spawn dimension" instead of the overworld, and generate spawn positions for all respawn dimensions.
    • Respawning now accounts for all of Forge's per-dimension bed spawn points instead of only the current dimension. This change alone fixes some mods (like aether beds not working if you die outside the aether), and greatly simplifies the respawn logic needed by mod developers wanting to add a dimensional respawn point.
  • Nether API compat configs will no longer appear in the config gui if its respective mod is not present.
  • Remove non-functional "disable" button from Nether API in the mod list gui.

Bug Fixes:

  • Biome ambience particles now account for the "Video Settings -> Particles" setting.
  • Ensure that server-side particle spawning is not fixed by mods like Random Patches, RLMixins, and Universal Tweaks. Nether API also fixes MC-10369, but by individually fixing each bug mentioned in the original report. Applying a global fix causes bugs with many mods, like causing particles to be spawned twice.
  • Nether caves now generate up to the actual world height instead of "actual world height minus 8".
  • No longer crash if another mod outright removes the Nether or End.
  • No longer generate End Cities twice within IEndBiome biomes (fixes the second and third parts of #20).
  • No longer generate Nether Fortresses twice within INetherBiome biomes (fixes #17 & #17 (comment)).
  • Some improvements to the "tallNether" config setting tooltip, like adding Alfheim Lighting Engine to the recommended mods list.
  • Sort vanilla config entries.
  • Use eye pos instead of camera pos for ambience fx.

Compatibility Fixes and Improvements:

  • BetterNether:
    • Allow eye vines to be planted on the Biomes O' Plenty's flesh block (this just makes sense to me).
    • Apply block flag fix to plants.
    • Apply the PlantUtils EnumPlantTypes to all BetterNether plants and soil blocks.
    • BetterNether's moss plants may now also be planted on Vanilla's and Biomes O' Plenty's mycelium blocks.
    • Eye vines now generate properly (fixes #16).
    • Fix crash at startup if some of the BetterNether biomes are disabled in older versions of BN (fixes #8). (Nischhelm)
    • New config setting that allows the moss plants to be planted on more than just mycelium blocks.
    • New config setting that allows eye vines to generate in Biomes O' Plenty's "Visceral Heap" biome.
    • Stalagnate plants now use World.getActualHeight() (fixes #13).
  • Biomes O' Plenty:
    • Add config option to allow the fluids from Biomes O' Plenty that already generate in the Nether (Blood and Honey) to not vaporize in the Nether when placed through a bucket.
    • Apply the PlantUtils EnumPlantTypes to all Biomes O' Plenty nether plants and soil blocks.
    • BOP grass block break particles no longer have their color tint applied. This makes them consistent with the Vanilla grass block.
    • Fix BOP dynamic trees addon creating dirt in the nether.
  • Dynamic Trees:
    • Add new BlockRooty instances for End Stone, Netherrack, and Soul Sand. These are only used internally by a new SpeciesPlantable class.
    • Fix "subterranean" worldgen not using the actual world height.
    • New abstract SpeciesPlantable species class that uses Forge's EnumPlantType system, instead of dynamic trees' dirt system. This allows IBlockState-sensitive soil, and fixes some bugs in general.
    • SpeciesPlantable is injected into the BOP Hellbark tree species at runtime (fixes the second half of #15, which also occurred without Nether API installed).
    • These changes are also intended to be used by future dynamic trees mod addons, or by upcoming mods that will have built-in dynamic trees support ;)
  • Journey Into The Light:
    • Allow the Vanilla Shrub plant to be placed on any block with a solid face. This allows Journey Into The Light to use them in its Nether generation without them breaking.
    • Apply the PlantUtils EnumPlantTypes to all Journey Into The Light nether plants and soil blocks.
    • Fix a crash caused by some unknown mod reverting MutableBlockPos field modifiers (fixes #4 & #19).
    • Fix nether leaves not dropping their saplings.
  • Just Enough Dimensions:
    • Allow that mod's settings to be applied to Nether API's WorldProviders (fixes #3). This change requires no edits to any JED settings!
  • Natura:
    • Apply the PlantUtils EnumPlantTypes to all Natura nether plants and soil blocks.
    • Bloodwood trees now use world.getActualHeight().
    • Change the supported version of Natura to also allow for later versions of the mod, due to a new Natura fork... but the fork will be expected to maintain Nether API compat from their end for any changes they make.
    • Only generate heat sand, nether berry bushes, and tainted soil in the Vanilla hell biome by default, as they do not fit in many modded ones.
    • Prevent Natura's dynamic trees addon from generating its trees outside the Vanilla hell biome (fixes the first half of #15).
  • Nether Hexed Kingdom:
    • Add config settings to control structure generation height (fixes #2).
    • Fix some cascading world generation issues (structures with 32x32 cannot be fixed though).
    • Fix structure generation trying to spawn invalid entities and flooding the logger.
  • Nethercraft:
    • Apply the PlantUtils EnumPlantTypes to all Nethercraft nether plants and soil blocks.
    • Nether dirt farmland now also supports any EnumPlantType.Crop and EnumPlantType.Plains plants.
    • Nether reeds may now also be planted on Heat Sand.
  • NetherEx:
    • Allow any item with the "shovel" tool type (not just ItemShovel items) to create Netherrack paths.
    • Allow certain nether soil blocks from BetterNether, Biomes O' Plenty, and Journey Into The Light to be turned into Netherrack paths.
    • Apply PlantUtils.SOUL_SAND_PLANT_TYPE to the thornstalk plant.
    • Automatically apply all of NetherEx's biome entries to Nether API's registry (not just the default ones) (fixes #7).
  • Quark:
    • Fix Quark nether fossil cascading world gen.
  • Stygian End:
    • Apply the PlantUtils EnumPlantTypes to all Stygian End plants and soil blocks.
  • VintageFix:
    • Probably fix #21? This fix is based only from what I can remember about the old crash log (it had something to do with a JumpInsnNode ClassCastException in TransformerMapGenCavesHell).
  • Void Island Control:
    • Allow that mod's settings to be applied to Nether API's generators (fixes #14).
    • Fix Void Island Control mod breaking when respawning in another dimension.

API Changes:

  • api.audio.IMusicType:
    • New isBiomeLocal method, which allows for control over music continuing to play if the player leaves the biome it starts in (fixes the first part of #20).
  • api.audio.impl.VanillaMusicType:
    • New constructor that has replacesCurrentMusic and isBiomeLocal boolean parameters, making that class easier to use.
  • api.biome.INetherBiome:
    • New getBossMusicType method that returns the boss music that plays while players are in this biome.
  • api.registry.INetherAPIRegistry:
    • New alternative registerBiome method that takes in a BiomeEntry.
    • New getRegistryName method that returns that registry's unique id.
  • api.util.NetherGenerationUtils:
    • Moved the createSeedRandom method from WorldProviderTheEnd, allowing other mods to make use of it.
  • api.util.PlantUtils:
    • New PlantUtils.END_PLANT_TYPE field. An EnumPlantType for any plants that can be planted on "End Stone"-like blocks. At runtime this is automatically applied to Vanilla's Chorus Plants.
    • New PlantUtils.NETHER_PLANT_TYPE field. An EnumPlantType for any plants that can be planted on both "Netherrack"-like blocks and "Soul Sand"-like blocks.
    • New PlantUtils.NETHERRACK_PLANT_TYPE field. An EnumPlantType for any plants that can be planted on "Netherrack"-like blocks.
    • New PlantUtils.SOUL_SAND_PLANT_TYPE field. An EnumPlantType for any plants that can be planted on "Soul Sand"-like blocks. This field just set to Forge's EnumPlantType.Nether, since they serve the same purpose.
    • Some new PlantUtils methods to make using EnumPlantType easier.
    • This class allows for new inter-compatibility between any plants and soils from different mods that use it!
  • Let mod devs customize The End's obsidian platform generation.

Files

Nether-API-v1.4.0-mc1.12.2.jar(408.3 KiB) Primary Download

Project members

jbredwards

Owner

Details

Licensed Custom License
Published 2 years ago
Updated 2 days ago