- Fix a critical world generation bug.
1.12.2-1.8.3.0 patchnotes below:
- Add toggle to display vanilla structure placement in the world generation preview screen. Note that positions may be inaccurate if there are installed mods that change how vanilla structures generate.
- Enable cancelling map preview generation during preview generation in the world generation preview screen.
- Optimize mod size.
- Optimize world customization presets screen.
- Various world customization GUI improvements.
Technical Changes
- Add new method
haltGeneration
toFiniteChunkSource
, which should be checked by implementations in between phase changes to see if the generation method should be exited early. This is used by the world generation preview screen to allow early cancellation.
- Add toggle to display vanilla structure placement in the world generation preview screen. Note that positions may be inaccurate if there are installed mods that change how vanilla structures generate.
- Enable cancelling map preview generation during preview generation in the world generation preview screen.
- Optimize mod size.
- Optimize world customization presets screen.
- Various world customization GUI improvements.
Technical Changes
- Add new method
haltGeneration
toFiniteChunkSource
, which should be checked by implementations in between phase changes to see if the generation method should be exited early. This is used by the world generation preview screen to allow early cancellation.
Technical Changes
- Add new
ModernBetaModRegistry
registry to complete data fixer functionality. Addons that leverage the data fixer API should also register the mod ID and integer data version to this registry for registered data fixes to work. - Update
BiomeResolverCusom
interface; add newgetCustomBiome
method that also accepts the biome source as an argument and deprecate the previousgetCustomBiome
method.
- Update
none
world spawner torelease
, to better reflect that it is the vanilla player spawn algorithm. A datafixer has been added to update worlds that use this particular setting. - Fix several broken datafixers that broke worlds updating from old versions (1.4.0.0 and earlier) of this mod.
- Fix biome sampling bug in map previewer.
Technical
- Rewrite most of the datafixer code. Datafixers now only return the value to update a specific generator setting tag instead of operating on the entire
ModernBetaGeneratorSettings
factory object. - Add new
MOD_DATA_FIX
registry to allow implementing datafixes using the new datafixer implementation. - Deprecate original
DATA_FIX
registry. - Add debug noise chunk source generator with debug preset. This can be toggled from the Debug section in the configuration.
- Update custom world presets to gracefully handle missing descriptions and/or icons.
This release is mostly several technical changes made to support potential future add-on mods that I might do.
- Add command
modernbetaforge:getgeneratorsetting
which prints a specific generator setting value. Requires maximum permission value (4) to use. - Add command
modernbetaforge:setgeneratorsetting
which updates a specific generator setting with a new value. Requires maximum permission value (4) to use, followed by a world restart. - Add generator setting
useClimateFeatures
which toggles using the biome source's climate sampler when applicable or a biome's default temperature value when generating snow or ice. - Add additional input validations for generator settings.
- Add small delay in between A/D navigation key presses in the world customization screen.
Technical Changes
Modern Beta Forge and related mod repositories will be moving from Github to Codeberg in the near future. All outgoing links on Modrinth will be updated accordingly.
- Add additional Javadoc documentation for all Modern Beta registries.
- Rename
NoiseScaleDepth
scale/depth container class toNoiseHeight
and move into its own file. - Add
NoiseHeightSampler
interface for adding new samplers for terrain base height and height variation forNoiseChunkSource
. - Add
NOISE_HEIGHT_SAMPLER
registry for addingNoiseHeightSampler
implementations for modifying base terrain variation. - Add option to specify an integer priority when registering to a Modern Beta Registry. Entries registered at a lower priority will be used earlier in the generation process.
- Add option to specify the scale/number of decimal places when registering a custom
FloatProperty
. - Add option to hide custom properties from being displayed on the world customization GUI.
- Add
getNoiseHeightSampler
method toNoiseChunkSource
for getting a registered and instantiatedNoiseHeightSampler
. - Add
getNoiseHeight
method toNoiseChunkSource
for sampling theNoiseHeight
at a particular block coordinate. - Add getter methods to
NoiseChunkSource
for getting the noise dimensions. - Change
BiomeInjectionContext
to also store the base/original sampled biome. - Change several utility debug and getter methods in
NoiseChunkSource
to final methods. - Rename several methods in
PerlinOctaveNoise
. - Remove deprecated method
buildBiomeInjectionContext
inChunkSource
.
- Add generator setting
snowLineOffset
, which can be found under the Climate category. This controls the general altitude at which blocks generate snowy/frozen, depending on climate, for Beta and PE biome sources. Note that this only affects initial terrain generation and does not change the precipitation type for a particular location which remains dependent on the current biome, consistent with the behavior of weather in Minecraft Beta 1.7.3. - Add additional input validation for various generator settings.
- Rework how client-side Beta-accurate biome colors are handled; Beta biome colors are now supported on multiplayer clients.
- Add
sendWorldInfo
config setting, under Server Settings. Server owners can enable this option to send world information to multiplayer clients to enable Beta-accurate biome colors on their side. This option is diabled by default since it will send the server world seed and generator settings to clients. - Add
useNewFancyOakTrees
generator setting. When enabled, fancy oak trees will generate with rotated log branches. - Adjust modal behavior in the world customization GUI; when one is opened, pressing the escape key will close the modal instead of returning to the main menu.
- Adjust Default world spawner behavior; when no suitable spawn location can be located, the vanilla world spawn algorithm will be used instead.
- Fix empty world presets file not actually being created when one does not already exist.
- Fix server crash when Dynamic Trees is installed.
- Add
replaceRiverBiomes
generator setting, which functions likereplaceBeachBiomes
andreplaceOceanBiomes
. This setting currently only applies when using both Release chunk and biome sources. - Update the Modern Beta Plus preset; sea level has been changed from 64 to 63.
- Improve performance when used with the Cave Generator mod, in certain cases. This was previously implemented but broke with a recent update.
Technical Changes
- Deprecate
buildBiomeInjectorRules
method and add replacementcreateBiomeInjectionRules
method to make it easier to add additional biome injection rules.
This major release overhauls the release biome source and implements additional support for several mods. Existing worlds are compatible, but you may want to make a back up first, as usual.
- Add support for Buildcraft Energy. Oil desert and ocean biomes should now generate as expected when using the release biome source. Additionally, you can toggle generation of these biomes when using any non-release biome source in the Add-ons world customization tab. When enabled, the biomes will replace the original ones where appropriate.
- Add support for Thaumcraft. Magical Forest biomes are already supported when using the release biome source, however you can now toggle generation of the biome when using any non-release biome source in the Add-ons world customization tab. When enabled, the biome will replace the original ones where appropriate.
- Add
snowyBiomeChance
generator option for the release biome source. With this option you can control the ratio of snowy/icy biomes to biomes of all other climate types. - Update release biome source biome distributions. Hot climates are now more common. They were previously still somewhat rare. Existing worlds using the release biome source will maintain the previous biome distributions.
- Update support for Biomes O' Plenty. Kelp Forest and Coral Reef biomes now generate when using the release biome source.
- Remove
useModdedBiomes
generator setting, which previously supported just Biomes O' Plenty. Biomes O' Plenty now has its own compatiblity toggle in the Add-ons world customization tab. - Update certain world customization GUI elements.
Technical Changes
- Add
BIOME_RESOLVER
registry andBiomeResolverCustom
interface. The latter can be implemented and registered with the former to perform granular biome replacements with any biome source. - Update all lang strings to move them under a mod namespace to hopefully remove possibility of collisions with other mods.
- Update NoiseSurfaceBuilder to move random surface variation sampling to a separate method.
- Add generator settings for toggling sand, gravel, and clay disk generation.
- Add generator setting for toggling double plant generation. Currently this only applies to tall flowers that generate in Beta Forests.
- Remove beach generation for Modern Beta biomes when using the Release/Vanilla surface builder.
- Adjust some world customization GUI elements.
1.6.0.0 marks the release of another major version. Please back up your world, just in case, if you wish to update this version.
- Add The End terrain generator. Several generator options have been added to tweak generation, including a toggle for generating the outer islands.
- Add
defaultBlock
anddefaultFluid
generator settings, which you can change to use blocks other than Stone and Water, respectively, as default blocks. CurrentlydefaultBlock
supports using Stone, Netherrack, or End Stone, whiledefaultFluid
will let you use any Forge-registered fluid, including other mods' fluids like Biomes O' Plenty's Poison or Hot Spring Water. - Add support for Dynamic Trees. When starting the game with Dynamic Trees installed, a
modernbetaforge_dynamictrees.cfg
file will be created in the/config
folder which you can modify to tweak tree distributions. - Add Beta Nether cave carver as a selectable cave carver option. Previously this was exclusively used for the classic Nether generator.
- Add underwater cave generation as a toggle. When active, flooded caves will generate in ocean biomes.
- Remove
useLavaOceans
generator setting, since it has been superseded by thedefaultFluid
setting. - Fix more GUI and map previewer bugs. Map Previewer now displays when a position is a beach biome.
Technical Changes:
- Add carver and default block registries.
- The carver registry includes each type of carver that will generate in a Modern Beta world. This includes caves, ravines, and underwater caves.
- The default block registry includes valid blocks for the
defaultBlock
setting.
- Add three commands, which all require elevated permissions:
/modernbetaforge:locate <structure>
: Locates the closest structure and provides a teleport command, like in later versions of Minecraft./modernbetaforge:locatebiome <biome>
: Locates the closest biome and provides a teleport command, like in later versions of Minecraft./modernbetaforge:drawmap <width> <length> <optional:useOrigin>
: Generates a terrain map of given width and height, centered on the world origin or caller's position.
- Add Block and EntityType property types.
- Add several new debug options to the Debug config category.
- Change all basic and biome settings to use
ResourceLocation
types in built settings. This applies tochunkSource
,biomeSource
,surfaceBuilder
,caveCarver
,worldSpawner
,singleBiome
, and all custom Beta biomes. - Remove several deprecated methods and members.
- Add new custom world preset system, replacing previous way of adding custom presets via the Forge config:
- Save and edit custom presets directly in the world preset GUI.
- Set name, description, settings string, and icon for your custom world preset.
- Custom presets are saved in
config/modernbetaforge_presets.json
.
- Add
defaultPresetFilter
config setting to set a default preset filter when opening the custom world preset screen. - Remove
customPreset
config setting. - Fix Modern Beta Skylands preset using incorrect world spawner.