Перейти к содержимому

Tier Tower

Эзотерическая и основанная на данных косметическая система прокачки.

от SlimeistDev· charonbarone, LopyLuna и ещё 1ДекорЭкономика
Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
3,9 тыс.
Подписчиков на Modrinth
8
версии
4
Обновлён
7 февраля 20267 февр.
Опубликован
в 2025
Title Art · свайп

Коротко о моде

Работает на Fabric
Для Minecraft 1.20.1
Нужен и в игре, и на сервере
Последняя версия — 0.1.1+fabric-mc1.20.1 от 7 февраля 2026
Нужен Fabric API
Лицензия LGPL-3.0-or-later — бесплатно
Где нужен
В игреобязателенНа сервереобязателен

Нужен и в игре, и на сервере

Версии игры1.20.1
Описание переведено автоматическиПоказать оригинал (EN)

Tier Tower Logo

Система косметических уровней на основе данных.


Tier Tower добавляет косметику в виде значков в чате и табличек с именами, которые игроки могут открыть, жертвуя предметы. Также добавляется несколько новых декоративных блоков.

  • Бросьте предметы в Vortex, чтобы пожертвовать их и получить эминенцию. (Интеграция с EMI показывает подходящие предметы.)
  • Прыгните в Vortex, чтобы пожертвовать текущую эминенцию ради престижа, ускоряя будущее повышение уровней.
  • Vortex по умолчанию нельзя скрафтить, так как серверы могут захотеть ограничить его определёнными зонами.
  • Смещение отображения Obelisk можно задать, использовав предмет Obelisk на верхней, нижней или боковых сторонах передней грани блока.

Slimeist with an echo nameplate


Формат датапака

Обзор

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 на сервере?

Нужен и в игре, и на сервере

Лицензия и источник
GNU Lesser General Public License v3.0 or laterможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее