Tier Tower
Эзотерическая и основанная на данных косметическая система прокачки.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 3,9 тыс.
- Подписчиков на Modrinth
- 8
- версии
- 4
- Обновлён
- 7 февраля 20267 февр.
- Опубликован
- в 2025
Коротко о моде
Нужен и в игре, и на сервере
Система косметических уровней на основе данных.
Tier Tower добавляет косметику в виде значков в чате и табличек с именами, которые игроки могут открыть, жертвуя предметы. Также добавляется несколько новых декоративных блоков.
- Бросьте предметы в Vortex, чтобы пожертвовать их и получить эминенцию. (Интеграция с EMI показывает подходящие предметы.)
- Прыгните в Vortex, чтобы пожертвовать текущую эминенцию ради престижа, ускоряя будущее повышение уровней.
- Vortex по умолчанию нельзя скрафтить, так как серверы могут захотеть ограничить его определёнными зонами.
- Смещение отображения Obelisk можно задать, использовав предмет Obelisk на верхней, нижней или боковых сторонах передней грани блока.

Формат датапака
Обзор
Tier Tower основан на последовательностях уровней, а прогрессия строится на пользовательских математических формулах.
Последовательность tier_tower:main особенная: игроки начинают с уровня 0 этой последовательности. Другие последовательности можно создавать и назначать игрокам с помощью команд или через прогрессию последовательностей.
Система престижа
Игроки получают очки престижа для каждой последовательности в соответствии с prestige_value_function, определённой в JSON последовательности. Когда игрок получает престиж, его очки престижа увеличиваются на это значение. Затем множитель престижа пересчитывается с помощью prestige_multiplier_function, что влияет на будущую стоимость повышения уровней.
Формат последовательности
// data/tier_tower/tier_tower/sequence/main.json
{
// если первый уровень не указывает базовую стоимость повышения, используется это значение
"default_base_leveling_cost": 1,
/*
Функция значения престижа определяет прирост очков престижа при получении престижа.
Доступные переменные:
- points: общее количество очков в текущей последовательности
- tier: индекс (с 0) текущего уровня
- level: индекс (с 0) текущего подуровня внутри текущего уровня
- level_points: количество очков внутри текущего подуровня
*/
"prestige_value_function": "(points - 5000.0)",
/*
Функция множителя престижа определяет максимальный множитель, применяемый при повышении уровней.
Фактический множитель для каждого предмета будет случайным значением между 1.0 и этим значением.
Доступные переменные:
- prestige_points: общее накопленное количество очков престижа в текущей последовательности
*/
"prestige_multiplier_function": "min(8.0, (1.0 + (prestige_points / 5000.0)))",
// уровни, которые нужно пройти по порядку
"tiers": [
"minecraft:copper",
/* ... */
"minecraft:netherite"
],
// необязательная следующая последовательность для переключения после завершения этой
"next_sequence": "tier_tower:example"
}Формат уровня
// data/minecraft/tier_tower/tier/netherite.json
{
// количество подуровней в этом уровне, которые нужно завершить для перехода на следующий уровень
"level_count": 10,
/*
Стоимость повышения для подуровня с индексом 0 в этом уровне.
Доступные переменные:
- prev: гипотетическая стоимость повышения для подуровня сразу после самого высокого подуровня предыдущего уровня, или `default_base_leveling_cost`, если это первый уровень
*/
"base_leveling_cost": "(prev * 0.75)",
/*
Стоимость повышения для оставшихся подуровней в этом уровне.
Доступные переменные:
- levels: значение `level_count`, предоставлено для удобства
- base: вычисленное значение `base_leveling_cost`
- prev: стоимость повышения предыдущего подуровня в этом уровне
- level: индекс подуровня, для которого вычисляется стоимость
*/
"leveling_cost_function": "((((5.0 * level) + 610.0) * 32.0) + base)",
// необязательно: очки эминенции будут теряться со временем, пока игрок находится на этом уровне (полезно для создания «бесконечного» высшего уровня)
"erosion_rate": {
// количество очков эминенции, теряемых за интервал
"loss": 1,
// количество тиков между каждым событием эрозии
"interval": 20,
},
}
### Язык выражений
Формулы можно записывать с помощью стандартных математических операторов (`+`, `-`, `*`, `/`, `^`), скобок для группировки и следующих функций:
- `min(a, b, ...)`: возвращает минимум из аргументов
- `max(a, b, ...)`: возвращает максимум из аргументов
- `sqrt(x)`: возвращает квадратный корень из `x`
- `log(x)`: возвращает натуральный логарифм `x`
- `exp(x)`: возвращает e в степени `x`
- `e()`: возвращает значение e (2.71828...)
- `pow(x, y)`: возвращает `x` в степени `y`
- `abs(x)`: возвращает абсолютное значение `x`
- `floor(x)`: возвращает наибольшее целое число, меньшее или равное `x`
- `ceil(x)`: возвращает наименьшее целое число, большее или равное `x`
- `round(x)`: возвращает ближайшее целое число к `x`
- `pi()`: возвращает значение π (3.14159...)
- `sin(x)`, `cos(x)`, `tan(x)`: тригонометрические функции (x в радианах)
---
## Формат ресурспака
Помимо записи датапака, нужно предоставить несколько текстур.
Для примеров путей будем использовать тир `minecraft:copper`.
### Текстура значка
`assets/minecraft/textures/tier_tower/badge/copper.png` задаёт значок в чате.
```json5
// assets/minecraft/textures/tier_tower/badge/copper.png.mcmeta
{
"tier_tower:chat_badge": {
// цвет, используемый для нумерации уровней на значке
"text_color": {
"r": 236,
"g": 221,
"b": 255
}
}
}Текстура рамки
assets/minecraft/textures/tier_tower/frame/copper.png задаёт рамку таблички с именем. Она состоит из трёх секций 16x16, которые выравниваются по горизонтали соответственно по левому краю, центру и правому краю таблички.
Текстура обелиска
assets/minecraft/textures/tier_tower/obelisk/copper.png задаёт текстуру контура для обелиска.
Текстура башни
assets/minecraft/textures/tier_tower/tower/copper.png задаёт текстуру среза башни, используемую в отображении прогресса обелиска.
Лицензия
Tier Tower распространяется под лицензией LGPL-3.0. Подробности см. в LICENSE.LESSER.
В иконке использована модифицированная версия шрифта Kiwi Soda.
Фрагменты кода творческой вкладки и виртуальной жидкости из Create использованы под лицензией MIT.
Благодарности
- Код от Slimeist
Текстуры и дизайн от
- Charon
- Luna
- pinkmachine
- Vivian
Частые вопросы
Как установить Tier Tower?
Установите Fabric под свою версию Minecraft, скачайте Tier Tower под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Tier Tower?
У Tier Tower есть сборки для Minecraft 1.20.1.
Нужен ли Tier Tower на сервере?
Нужен и в игре, и на сервере