
TerraMath
TerraMath - мод для Майнкрафт 1.20-1.21, позволяющий создавать уникальные ландшафты и биомы с помощью математических формул. Полностью кастомная генерация мира через синусы, косинусы и шум.
Описание мода
TerraMath (ТерраМат) - довольно необычный мод для Майнкрафт, который кардинально меняет подход к генерации мира. Если в ванильном Minecraft ландшафты строятся на готовых алгоритмах шума, то здесь вы сами создаете рельеф с помощью чистой математики. Вы буквально пишете формулу, и игра рассчитывает высоту каждого блока по ней. Хотите бесконечные волнистые холмы, острые вулканы или плато с кратерами? Всё это можно задать через математические функции.
Мод поддерживает версии Minecraft 1.20 - 1.21.x и работает как на клиенте, так и на серверах. Это идеальный инструмент для тех, кто устал от стандартной генерации и хочет построить свой уникальный мир, ну или просто потестить формулы.
Основные возможности
- Кастомная генерация мира через ваши математические формулы
- Настройка базовых параметров: масштаб (scale), базовая высота (height), вариация (variation) и сглаживание (smoothing)
- Наложение настраиваемого шума поверх вашей основной формулы для естественности рельефа
- Поддержка математических констант в формулах (Pi, e, Phi и других)
Как настроить на клиенте
При создании нового мира зайдите во вкладку "World" и откройте настройки рельефа (terrain settings). Там будет поле для ввода вашей формулы.
Дополнительно можно покрутить параметры:
- Scale - масштаб генерации
- Base Height - средний уровень поверхности
- Height Variation - амплитуда перепадов высот
- Smoothing - плавность переходов
Также можно выбрать тип шума (Perlin, Simplex, Blended, Normal), задать мультипликаторы для координат X, Y, Z и общую высоту шума. Это полезно, если формула получилась слишком гладкой и нужно добавить случайных неровностей.
Как настроить на сервере
- Запустите сервер с установленным модом TerraMath
- В папке config появится файл
terramath. - Настройте параметры прямо в файле, либо сконфигурируйте всё на клиенте и перенесите готовый конфиг на сервер
Важный нюанс для серверов
- Чтобы конфиг применился к новому миру, убедитесь, что параметр
useDefaultFormulaв конфиге установлен вtrue - После изменения настроек вам придется удалить старый мир и перезапустить сервер. Иначе новая формула не подхватится
- Альтернативный вариант: просто перенесите папку мира с вашего клиента на сервер. Мир продолжит генерироваться по той же формуле без необходимости возиться с конфигами
Если планируете играть онлайн с друзьями, проще всего развернуть сервер на BungeeHost (https://bungee.host) - мод устанавливается туда в пару кликов, а стабильная генерация кастомных чанков не будет вызывать рассинхрон между клиентом и сервером.
Примеры формул
Если вы не силен в математике, вот готовые примеры для старта:
-
Базовый волнистый ландшафт:
sin(x) -
Острый вулканический рельеф с крутыми склонами:
abs(sin(x/10))*exp(cos(z/15))*8 + tanh(sqrt(x^2 + z^2)/20)*15 -
Плавные горы:
sin(x/8)*cos(z/8)*10 + abs(sin(x/20))*15 + sqrt(abs(x/10))*5 -
Безумный и тяжелый ландшафт:
round(sin(x/15))*10 + round(cos(z/15))*10 + sqrt(abs(sin((x+z)/20)))*15
-
Террасный ландшафт с плато:
floor(sin(x/20) * cos(z/20) * 5) * 4 + sqrt(x^2 + z^2)/10 -
Рельеф с кратерами:
10 * (1 - exp(-((x/30)^2 + (z/30)^2) / 2)) + 5 * perlin(x/50, 0, z/50)
Доступные функции и операторы
ТерраМат поддерживает огромный набор математических функций. Ниже полный список, который можно использовать в формулах:
Математические функции:
Тригонометрические:
- sin(x) - синус
- cos(x) - косинус
- tan(x) - тангенс
- csc(x) - косеканс
- sec(x) - секанс
- cot(x) - котангенс
- asin(x) - арксинус
- acos(x) - арккосинус
- atan(x) - арктангенс
- atan2(x,y) - арктангенс от двух аргументов
- acsc(x) - арккосеканс
- asec(x) - арксеканс
- acot(x) - арккотангенс
Гиперболические:
- sinh(x) - гиперболический синус
- cosh(x) - гиперболический косинус
- tanh(x) - гиперболический тангенс
- asinh(x) - обратный гиперболический синус
- acosh(x) - обратный гиперболический косинус
- atanh(x) - обратный гиперболический тангенс
- csch(x) - гиперболический косеканс
- sech(x) - гиперболический секанс
- coth(x) - гиперболический котангенс
- acsch(x) - обратный гиперболический косеканс
- asech(x) - обратный гиперболический секанс
- acoth(x) - обратный гиперболический котангенс
Корни и степени:
- sqrt(x) - квадратный корень
- cbrt(x) - кубический корень
- root(x,n) - корень n-й степени из x
- pow(x,y) - x в степени y
- exp(x) - экспонента (e^x)
Логарифмические:
- ln(x) - натуральный логарифм
- lg(x) - десятичный логарифм
Округление и числа:
- abs(x) - модуль числа
- floor(x) - округление вниз
- ceil(x) - округление вверх
- round(x) - округление до ближайшего целого
- sign(x) - знак числа (-1, 0 или 1)
- mod(x,y) - остаток от деления x на y
- gcd(x,y) - наибольший общий делитель
- lcm(x,y) - наименьшее общее кратное
- modi(x,y) - модульный обратный элемент
Специальные функции:
- gamma(x) - гамма-функция
- erf(x) - функция ошибок
- beta(x,y) - бета-функция
Генерация случайных чисел:
- rand() - случайное число от 0 до 1
- randnormal(mean,stdev) - случайное число из нормального распределения
- randrange(min,max) - случайное число в диапазоне от min до max
Функции шума:
- perlin(x,y,z) - шум Перлина
- simplex(x,y,z) - шум Симплекса
- normal(x,y,z) - нормальный шум
- blended(x,y,z) - смешанный шум
- octaved(x,z,octaves,persistence) - октавный шум
Утилиты:
- max(x,y) - максимум из x и y
- min(x,y) - минимум из x и y
- sigmoid(x) - сигмоидная функция (1/(1+e^-x))
- clamp(x,min,max) - ограничение x в диапазоне от min до max
Константы:
- pi, π - 3.14159... (число Пи)
- e - 2.71828... (число Эйлера)
- phi, φ - 1.61803... (Золотое сечение)
- zeta3, ζ3 - 1.20205... (постоянная Апери)
- catalan, K - 0.91596... (постоянная Каталана)
- alpha, α, feigenbaum - 2.50290... (постоянная Фейгенбаума)
- delta, δ, feigenbaumdelta - 4.66920... (дельта Фейгенбаума)
- omega, Ω - 0.6889 (космологическая постоянная)
Переменные: x, y, z - координаты блока в мире
Операторы: +, -, *, /, ^, (), !
Известные проблемы и советы
- Слишком сложные формулы, генерирующие гигантские ландшафты (XXL), могут сильно грузить систему. Это фундаментальная проблема математической генерации, которую полностью не решить.
- Функции генерации случайных чисел (типа
rand()) могут вешать сервер при активном использовании. Они сильно бьют по производительности генерации чанков, вызывают просадки FPS и увеличивают время загрузки кусков мира. Используйте их очень аккуратно.
Вывод
TerraMath - не просто мод, это инструмент для творчества. Если вы устали от одинаковых миров в Minecraft и хотите создать что-то уникальное, этот проект определенно стоит попробовать. Скачайте мод TerraMath для Майнкрафт и начните экспериментировать с формулами. Учтите, что для работы потребуется подходящий загрузчик, так что убедитесь, что ваша версия игры совместима.
Как поиграть с друзьями с модом TerraMath?
Мод TerraMath куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода TerraMath будет готов за пару минут - BungeeHost сделает всё за вас.
