## Overview
Version 1.3.0 introduces significant improvements to the TerraMath mod, including performance optimizations, new mathematical capabilities, enhanced error handling, and server compatibility.
## What's New
### New Commands
- Added /terramath [info|formula|settings] command to display information about the world settings, current formula, or configuration settings.
- Added /formula command that outputs the current terrain generation formula in a copyable format for easy sharing.
### Mathematical Capabilities
Constants Support: Added support for mathematical constants
- Basic constants: pi (π), e, phi (φ)
- Advanced constants: zeta3 (ζ3), catalan (K), alpha (α), delta (δ), omega (Ω)
- All constants can be referenced by both symbol and name (e.g., π or pi)
### New Mathematical Functions
- atan2(x,y) - Two-argument inverse tangent
- root(x,n) - Calculate nth root of x
- gcd(x,y) - Greatest common divisor
- lcm(x,y) - Least common multiple
- modi(x,y) - Modular inverse
- and even more...
### Optimized Random Number Generation
- rand() - Generate random number between 0 and 1
- randnormal(mean,stdev) - Generate number from normal distribution
- randrange(min,max) - Generate random number in specified range
### Technical Improvements
- Formula Compilation: Formulas are now compiled into Java code using Janino rather than represented as node objects, significantly improving performance
- Error Handling: Added detailed syntax error handling with user-friendly notifications
- Dedicated Server Compatibility: Improved support for dedicated servers
- Server configuration file handling
- Fixed loading of noise settings from world data
- Added notification system for corrupted formulas
### User Experience
- New config system
- Larger formula input field (up to 1024 characters)
- Added tooltip for long error messages
- Updated config translations for multiple languages
- Added modmenu description translation support
### Bug Fixes
- Fixed function shadowing when one name is a prefix of another
- Prevented null exceptions caused by integer division by zero
- Fixed checkbox state persistence
- Improved formula validation and error handling
- Fixed noise settings loading from world data
- Resolved several UI positioning issues
### Developer Changes
- Reorganized math package into specialized subpackages (parser, formula, functions)
- Reorganized utility functions into subpackages
- Replaced HashMap with ConcurrentHashMap to prevent concurrency issues
- Added terrain information command for debugging
- Code cleanup and performance improvements throughout
## Removed Features
- Removed dependency on Architectury API
- Removed redundant 1.5x multiplier from the base formula
## Coming Soon
- More formula examples in the community Discord
- Additional noise types and combinations
- Further performance optimizations for complex formulas
## Overview
Version 1.3.0 introduces significant improvements to the TerraMath mod, including performance optimizations, new mathematical capabilities, enhanced error handling, and server compatibility.
## What's New
### New Commands
- Added /terramath [info|formula|settings] command to display information about the world settings, current formula, or configuration settings.
- Added /formula command that outputs the current terrain generation formula in a copyable format for easy sharing.
### Mathematical Capabilities
Constants Support: Added support for mathematical constants
- Basic constants: pi (π), e, phi (φ)
- Advanced constants: zeta3 (ζ3), catalan (K), alpha (α), delta (δ), omega (Ω)
- All constants can be referenced by both symbol and name (e.g., π or pi)
### New Mathematical Functions
- atan2(x,y) - Two-argument inverse tangent
- root(x,n) - Calculate nth root of x
- gcd(x,y) - Greatest common divisor
- lcm(x,y) - Least common multiple
- modi(x,y) - Modular inverse
- and even more...
### Optimized Random Number Generation
- rand() - Generate random number between 0 and 1
- randnormal(mean,stdev) - Generate number from normal distribution
- randrange(min,max) - Generate random number in specified range
### Technical Improvements
- Formula Compilation: Formulas are now compiled into Java code using Janino rather than represented as node objects, significantly improving performance
- Error Handling: Added detailed syntax error handling with user-friendly notifications
- Dedicated Server Compatibility: Improved support for dedicated servers
- Server configuration file handling
- Fixed loading of noise settings from world data
- Added notification system for corrupted formulas
### User Experience
- New config system
- Larger formula input field (up to 1024 characters)
- Added tooltip for long error messages
- Updated config translations for multiple languages
- Added modmenu description translation support
### Bug Fixes
- Fixed function shadowing when one name is a prefix of another
- Prevented null exceptions caused by integer division by zero
- Fixed checkbox state persistence
- Improved formula validation and error handling
- Fixed noise settings loading from world data
- Resolved several UI positioning issues
### Developer Changes
- Reorganized math package into specialized subpackages (parser, formula, functions)
- Reorganized utility functions into subpackages
- Replaced HashMap with ConcurrentHashMap to prevent concurrency issues
- Added terrain information command for debugging
- Code cleanup and performance improvements throughout
## Removed Features
- Removed dependency on Architectury API
- Removed redundant 1.5x multiplier from the base formula
## Coming Soon
- More formula examples in the community Discord
- Additional noise types and combinations
- Further performance optimizations for complex formulas
## Overview
Version 1.3.0 introduces significant improvements to the TerraMath mod, including performance optimizations, new mathematical capabilities, enhanced error handling, and server compatibility.
## What's New
### New Commands
- Added /terramath [info|formula|settings] command to display information about the world settings, current formula, or configuration settings.
- Added /formula command that outputs the current terrain generation formula in a copyable format for easy sharing.
### Mathematical Capabilities
Constants Support: Added support for mathematical constants
- Basic constants: pi (π), e, phi (φ)
- Advanced constants: zeta3 (ζ3), catalan (K), alpha (α), delta (δ), omega (Ω)
- All constants can be referenced by both symbol and name (e.g., π or pi)
### New Mathematical Functions
- atan2(x,y) - Two-argument inverse tangent
- root(x,n) - Calculate nth root of x
- gcd(x,y) - Greatest common divisor
- lcm(x,y) - Least common multiple
- modi(x,y) - Modular inverse
- and even more...
### Optimized Random Number Generation
- rand() - Generate random number between 0 and 1
- randnormal(mean,stdev) - Generate number from normal distribution
- randrange(min,max) - Generate random number in specified range
### Technical Improvements
- Formula Compilation: Formulas are now compiled into Java code using Janino rather than represented as node objects, significantly improving performance
- Error Handling: Added detailed syntax error handling with user-friendly notifications
- Dedicated Server Compatibility: Improved support for dedicated servers
- Server configuration file handling
- Fixed loading of noise settings from world data
- Added notification system for corrupted formulas
### User Experience
- New config system
- Larger formula input field (up to 1024 characters)
- Added tooltip for long error messages
- Updated config translations for multiple languages
- Added modmenu description translation support
### Bug Fixes
- Fixed function shadowing when one name is a prefix of another
- Prevented null exceptions caused by integer division by zero
- Fixed checkbox state persistence
- Improved formula validation and error handling
- Fixed noise settings loading from world data
- Resolved several UI positioning issues
### Developer Changes
- Reorganized math package into specialized subpackages (parser, formula, functions)
- Reorganized utility functions into subpackages
- Replaced HashMap with ConcurrentHashMap to prevent concurrency issues
- Added terrain information command for debugging
- Code cleanup and performance improvements throughout
## Removed Features
- Removed dependency on Architectury API
- Removed redundant 1.5x multiplier from the base formula
## Coming Soon
- More formula examples in the community Discord
- Additional noise types and combinations
- Further performance optimizations for complex formulas
## Overview
Version 1.3.0 introduces significant improvements to the TerraMath mod, including performance optimizations, new mathematical capabilities, enhanced error handling, and server compatibility.
## What's New
### New Commands
- Added /terramath [info|formula|settings] command to display information about the world settings, current formula, or configuration settings.
- Added /formula command that outputs the current terrain generation formula in a copyable format for easy sharing.
### Mathematical Capabilities
Constants Support: Added support for mathematical constants
- Basic constants: pi (π), e, phi (φ)
- Advanced constants: zeta3 (ζ3), catalan (K), alpha (α), delta (δ), omega (Ω)
- All constants can be referenced by both symbol and name (e.g., π or pi)
### New Mathematical Functions
- atan2(x,y) - Two-argument inverse tangent
- root(x,n) - Calculate nth root of x
- gcd(x,y) - Greatest common divisor
- lcm(x,y) - Least common multiple
- modi(x,y) - Modular inverse
- and even more...
### Optimized Random Number Generation
- rand() - Generate random number between 0 and 1
- randnormal(mean,stdev) - Generate number from normal distribution
- randrange(min,max) - Generate random number in specified range
### Technical Improvements
- Formula Compilation: Formulas are now compiled into Java code using Janino rather than represented as node objects, significantly improving performance
- Error Handling: Added detailed syntax error handling with user-friendly notifications
- Dedicated Server Compatibility: Improved support for dedicated servers
- Server configuration file handling
- Fixed loading of noise settings from world data
- Added notification system for corrupted formulas
### User Experience
- New config system
- Larger formula input field (up to 1024 characters)
- Added tooltip for long error messages
- Updated config translations for multiple languages
- Added modmenu description translation support
### Bug Fixes
- Fixed function shadowing when one name is a prefix of another
- Prevented null exceptions caused by integer division by zero
- Fixed checkbox state persistence
- Improved formula validation and error handling
- Fixed noise settings loading from world data
- Resolved several UI positioning issues
### Developer Changes
- Reorganized math package into specialized subpackages (parser, formula, functions)
- Reorganized utility functions into subpackages
- Replaced HashMap with ConcurrentHashMap to prevent concurrency issues
- Added terrain information command for debugging
- Code cleanup and performance improvements throughout
## Removed Features
- Removed dependency on Architectury API
- Removed redundant 1.5x multiplier from the base formula
## Coming Soon
- More formula examples in the community Discord
- Additional noise types and combinations
- Further performance optimizations for complex formulas
## Overview
Version 1.3.0 introduces significant improvements to the TerraMath mod, including performance optimizations, new mathematical capabilities, enhanced error handling, and server compatibility.
## What's New
### New Commands
- Added /terramath [info|formula|settings] command to display information about the world settings, current formula, or configuration settings.
- Added /formula command that outputs the current terrain generation formula in a copyable format for easy sharing.
### Mathematical Capabilities
Constants Support: Added support for mathematical constants
- Basic constants: pi (π), e, phi (φ)
- Advanced constants: zeta3 (ζ3), catalan (K), alpha (α), delta (δ), omega (Ω)
- All constants can be referenced by both symbol and name (e.g., π or pi)
### New Mathematical Functions
- atan2(x,y) - Two-argument inverse tangent
- root(x,n) - Calculate nth root of x
- gcd(x,y) - Greatest common divisor
- lcm(x,y) - Least common multiple
- modi(x,y) - Modular inverse
- and even more...
### Optimized Random Number Generation
- rand() - Generate random number between 0 and 1
- randnormal(mean,stdev) - Generate number from normal distribution
- randrange(min,max) - Generate random number in specified range
### Technical Improvements
- Formula Compilation: Formulas are now compiled into Java code using Janino rather than represented as node objects, significantly improving performance
- Error Handling: Added detailed syntax error handling with user-friendly notifications
- Dedicated Server Compatibility: Improved support for dedicated servers
- Server configuration file handling
- Fixed loading of noise settings from world data
- Added notification system for corrupted formulas
### User Experience
- New config system
- Larger formula input field (up to 1024 characters)
- Added tooltip for long error messages
- Updated config translations for multiple languages
- Added modmenu description translation support
### Bug Fixes
- Fixed function shadowing when one name is a prefix of another
- Prevented null exceptions caused by integer division by zero
- Fixed checkbox state persistence
- Improved formula validation and error handling
- Fixed noise settings loading from world data
- Resolved several UI positioning issues
### Developer Changes
- Reorganized math package into specialized subpackages (parser, formula, functions)
- Reorganized utility functions into subpackages
- Replaced HashMap with ConcurrentHashMap to prevent concurrency issues
- Added terrain information command for debugging
- Code cleanup and performance improvements throughout
## Removed Features
- Removed dependency on Architectury API
- Removed redundant 1.5x multiplier from the base formula
## Coming Soon
- More formula examples in the community Discord
- Additional noise types and combinations
- Further performance optimizations for complex formulas
## Overview
Version 1.3.0 introduces significant improvements to the TerraMath mod, including performance optimizations, new mathematical capabilities, enhanced error handling, and server compatibility.
## What's New
### New Commands
- Added /terramath [info|formula|settings] command to display information about the world settings, current formula, or configuration settings.
- Added /formula command that outputs the current terrain generation formula in a copyable format for easy sharing.
### Mathematical Capabilities
Constants Support: Added support for mathematical constants
- Basic constants: pi (π), e, phi (φ)
- Advanced constants: zeta3 (ζ3), catalan (K), alpha (α), delta (δ), omega (Ω)
- All constants can be referenced by both symbol and name (e.g., π or pi)
### New Mathematical Functions
- atan2(x,y) - Two-argument inverse tangent
- root(x,n) - Calculate nth root of x
- gcd(x,y) - Greatest common divisor
- lcm(x,y) - Least common multiple
- modi(x,y) - Modular inverse
- and even more...
### Optimized Random Number Generation
- rand() - Generate random number between 0 and 1
- randnormal(mean,stdev) - Generate number from normal distribution
- randrange(min,max) - Generate random number in specified range
### Technical Improvements
- Formula Compilation: Formulas are now compiled into Java code using Janino rather than represented as node objects, significantly improving performance
- Error Handling: Added detailed syntax error handling with user-friendly notifications
- Dedicated Server Compatibility: Improved support for dedicated servers
- Server configuration file handling
- Fixed loading of noise settings from world data
- Added notification system for corrupted formulas
### User Experience
- New config system
- Larger formula input field (up to 1024 characters)
- Added tooltip for long error messages
- Updated config translations for multiple languages
- Added modmenu description translation support
### Bug Fixes
- Fixed function shadowing when one name is a prefix of another
- Prevented null exceptions caused by integer division by zero
- Fixed checkbox state persistence
- Improved formula validation and error handling
- Fixed noise settings loading from world data
- Resolved several UI positioning issues
### Developer Changes
- Reorganized math package into specialized subpackages (parser, formula, functions)
- Reorganized utility functions into subpackages
- Replaced HashMap with ConcurrentHashMap to prevent concurrency issues
- Added terrain information command for debugging
- Code cleanup and performance improvements throughout
## Removed Features
- Removed dependency on Architectury API
- Removed redundant 1.5x multiplier from the base formula
## Coming Soon
- More formula examples in the community Discord
- Additional noise types and combinations
- Further performance optimizations for complex formulas
## New Features
* Added formula input field in World creation tab for custom terrain generation
* Implemented comprehensive mathematical function system including trigonometric, logarithmic and special functions
* Added support for multiple variables (x, y, z) in formulas
## Improvements
* Optimized formula parsing and evaluation system
* Added clear error messages for invalid formulas
* Enhanced formula validation to prevent incorrect inputs
## New Features
* Added formula input field in World creation tab for custom terrain generation
* Implemented comprehensive mathematical function system including trigonometric, logarithmic and special functions
* Added support for multiple variables (x, y, z) in formulas
## Improvements
* Optimized formula parsing and evaluation system
* Added clear error messages for invalid formulas
* Enhanced formula validation to prevent incorrect inputs