TerraMath
Активный0.0
Установок
Последнее обновление
Версии
TerraMath
Создавайте уникальные миры с помощью математики
TerraMath — это модификация для Minecraft версий 1.20-1.21.x, которая открывает безграничные возможности для создания персонализированного ландшафта через математические функции. Превратите обычную генерацию мира в настоящее искусство, описывая рельеф с помощью формул!
Основные возможности
- Создание уникального ландшафта с помощью математических выражений
- Настройка базовых параметров генерации: масштаб, высота, вариативность, сглаживание
- Добавление шумовых эффектов поверх основной формулы
- Поддержка математических констант в вычислениях
Работа на клиенте
Для настройки генерации мира:
- Перейдите во вкладку "Мир" при создании нового мира
- Откройте настройки рельефа
- Введите желаемую формулу в соответствующее поле
- Настройте дополнительные параметры (по желанию):
- Масштаб
- Базовая высота (определяет средний уровень поверхности)
- Вариация высоты (амплитуда изменений)
- Сглаживание (плавность переходов рельефа)
- Выберите тип шума и его настройки (опционально):
- Тип шума: Perlin, Simplex, Blended, Normal
- Множители координат X, Y, Z
- Общий множитель высоты шума
Настройка на сервере
- Запустите сервер с установленным модом TerraMath
- В папке конфигураций появится файл
terramath.json - Настройте параметры вручную в файле, либо...
- ...настройте мод на клиенте
- Сохраните конфигурацию
- Перенесите файл конфигурации в папку config на сервере
Важные замечания для сервера:
- Для применения конфигурации к новому миру убедитесь, что параметр
useDefaultFormulaв конфиге установлен вtrue - После изменения настроек необходимо удалить существующий мир и перезапустить сервер для применения новой формулы рельефа
- Альтернативно, можно перенести всю папку мира с клиента на сервер — мир продолжит генерироваться по той же формуле без изменения конфигурации
Примеры формул
-
Волнистый ландшафт:
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) - наибольшее целое, меньшее x
- ceil(x) - наименьшее целое, большее 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 - координаты блока в мире
Операторы:
+, -, , /, ^, (), !
Известные проблемы
- Сложные формулы, создающие огромные ландшафты, могут влиять на производительность (вероятно, это неизбежная проблема)
- Функции генерации случайных чисел могут значительно снизить производительность генерации мира при интенсивном использовании. Рекомендуется использовать эти функции умеренно, особенно в сложных формулах рельефа, так как они могут вызывать падение FPS или увеличение времени загрузки чанков
Участие в разработке
Вы можете сообщать об ошибках или предлагать новые функции через систему отслеживания проблем!