MTUtils: расширение MineTweaker для тонкой настройки

MTUtils: расширение возможностей MineTweaker для Minecraft 1.7.10 Каждый создатель модпаков или администратор сервера рано или поздно сталкивается с необходимостью тонкой настройки игрового процесса. Стандартные инструменты вроде MineTweaker позволяют менять рецепты, но что делать, если нужно изм...

Скачать MTUtils для Minecraft 1.7.10

Оригинальное название: MTUtils

Версии Minecraft: 1.7.10

Загрузчик: Forge

ФайлВерсияЗагрузчикРазмер
MTUtils-1.2.2.jar1.7.10Forge92 КБСкачать
MTUtils v1.3.0.jar1.7.10Forge91 КБСкачать
MTUtils v1.3.1.jar1.7.10Forge95 КБСкачать
MTUtils v1.3.2.jar1.7.10Forge95 КБСкачать
MTUtils v1.3.3.jar1.7.10Forge95 КБСкачать
MTUtils-1.4.1.jar1.7.10Forge100 КБСкачать
MTUtils-1.4.2.jar1.7.10Forge100 КБСкачать
MTUtils-1.6.jar1.7.10Forge126 КБСкачать

MTUtils: расширение возможностей MineTweaker для Minecraft 1.7.10

Каждый создатель модпаков или администратор сервера рано или поздно сталкивается с необходимостью тонкой настройки игрового процесса. Стандартные инструменты вроде MineTweaker позволяют менять рецепты, но что делать, если нужно изменить свойства блоков, управлять дропами в зависимости от инструмента или конвертировать типы данных прямо в скриптах? Именно для таких задач был создан MTUtils — плагин для MineTweaker, работающий на версии Minecraft 1.7.10. Он открывает доступ к десяткам новых функций, которые раньше требовали написания отдельных модов или сложных обходных путей.

Что такое MTUtils и для кого он предназначен

MTUtils — это дополнение, которое расширяет стандартный набор команд MineTweaker. Все скрипты по-прежнему размещаются в папке MineTweaker, но теперь вы можете вызывать методы, влияющие на характеристики предметов, блоков и даже на поведение дропа. Мод особенно полезен для авторов сборок, стремящихся к уникальному балансу, и для серверов с GregTech или Minechem, где требуется глубокая интеграция жидкостей и рецептов. Исходный код доступен в репозитории на GitHub, что позволяет изучить реализацию или предложить улучшения.

Работа с предметами: прочность и повреждения

Одна из самых востребованных возможностей — изменение максимальной прочности инструментов и брони. С помощью MTUtils вы можете задать любое значение урона для предмета, а также получить текущие показатели прямо в скрипте. Основные команды выглядят так:

  • MTUtils.setItemMaxDamage(itemstack, damage); — устанавливает максимальную прочность.
  • MTUtils.getItemMaxDamage(itemstack); — возвращает целое число (int) с текущим максимумом.
  • MTUtils.getItemDamage(itemstack); — возвращает текущее значение повреждения предмета.

Эти методы позволяют динамически менять износ инструментов в зависимости от условий, создавая более реалистичную или хардкорную механику.

Управление свойствами блоков

Блоки в Minecraft обладают множеством параметров, которые редко доступны для редактирования через конфиги. MTUtils даёт полный контроль над уровнем добычи, прочностью, освещением и даже текстурой блока. Вот список доступных методов:

  • MTUtils.setHarvestLevel(itemstack, String tooltip, int harvestLevel); — задаёт требуемый уровень инструмента для добычи.
  • MTUtils.setBlockUnbreakable(itemstack); — делает блок неразрушимым.
  • MTUtils.setHardness(itemstack, float hardness); — меняет твёрдость.
  • MTUtils.setLightLevel(itemstack, float lightLevel); — регулирует уровень излучаемого света.
  • MTUtils.setLightOpacity(itemstack, int lightOpacity); — управляет прозрачностью для света.
  • MTUtils.setResistance(itemstack, float resistance); — устанавливает сопротивляемость взрывам.
  • MTUtils.setTextureName(itemstack, String texturename); — позволяет сменить текстуру блока на лету.

Кроме того, существуют методы для получения текущих значений: getHarvestLevel, getHarvestTool и getTextureName. Последний может возвращать текстуру для конкретной стороны блока, что открывает простор для визуальных экспериментов.

Утилиты для конвертации типов данных

При написании сложных скриптов часто возникает необходимость преобразовать строку в число, форматированный текст в обычную строку или получить предмет по его названию. MTUtils содержит набор удобных функций, которые решают эти задачи без лишнего кода:

  • MTUtils.getIntFromString(string); — извлекает целое число из строки.
  • MTUtils.getFloatFromString(string); — аналогично для чисел с плавающей точкой.
  • MTUtils.getStringFromInt(int); и getStringFromFloat(float); — обратные преобразования.
  • MTUtils.getStringFromFormattedText(IFormattedText text); — конвертирует форматированный текст в обычную строку.
  • MTUtils.getCrossMatch(IOreDictEntry ... oreDictEntries); — возвращает массив предметов, соответствующих нескольким словарным ключам.
  • MTUtils.getIngredientFromString(String in); — получает ингредиент по строковому идентификатору.
  • MTUtils.getItemStackFromString(String in); — создаёт стек предметов из строки.

Эти инструменты значительно ускоряют разработку, позволяя манипулировать данными прямо в скриптах MineTweaker. Например, можно динамически генерировать названия предметов или преобразовывать пользовательский ввод в игровые объекты.

Гибкая система дропов

Одна из самых мощных функций MTUtils — управление дропом блоков в зависимости от используемого инструмента. Вы можете задать, что при добыче дерева топором выпадает обычная древесина, а без топора — только доски. Это реализуется через методы:

  • MTUtils.clearDrops(); — полностью сбрасывает таблицу дропов, создавая чистую основу для кастомизации.
  • MTUtils.setBlockDrops(@Nullable IItemStack harvester, IItemStack block, IItemStack drops[], float quantiDrop[], IItemStack falseDrops[]); — задаёт дропы для конкретного блока с учётом инструмента в руке. Параметр harvester может быть null, тогда правило применяется для добычи голыми руками. Массивы drops и falseDrops позволяют определить, что выпадет при успешной добыче и что — при неудачной.

Такой подход даёт невероятную гибкость: можно создать ситуацию, когда алмазная руда при добыче киркой из определённого материала даёт дополнительные ресурсы, а при использовании неподходящего инструмента — лишь каменную крошку. Для установки мода и всех его зависимостей удобно использовать лаунчер foxygame.net, который позволяет загружать модификации прямо из меню, избавляя от ручного поиска и копирования файлов — достаточно выбрать нужный мод в каталоге, и лаунчер сам добавит его в сборку.

Интеграция с GregTech: кастомные рецепты и замена жидкостей

Для владельцев серверов с GregTech мод предлагает отдельный модуль MTUtilsGT. Он добавляет команды для работы с рецептами машин GT и позволяет массово заменять жидкости в существующих рецептах. Импорт осуществляется командой import mods.MTUtilsGT;. Все добавленные или удалённые рецепты сбрасываются при перезагрузке скриптов MineTweaker, что обеспечивает безопасное тестирование.

Чтобы получить ключ машины GregTech, используется игровая команда /MTUtils GTkey "Canner" (двойные кавычки обязательны, если название содержит пробелы). Название нечувствительно к регистру, поддерживаются регулярные выражения. Просмотреть все доступные ключи можно через /MTUtils GTKeys [1...] с опциональным указанием блока из десяти ключей.

Добавление рецепта выглядит так:

MTUtilsGT.addCustomRecipe("gt.recipe.canner", false, 128, 128, [10000], [<minecraft:cobblestone>], <liquid:soda>*500, <liquid:water>*500, [<minecraft:diamond>]);

Второй вариант вызова позволяет передавать массивы жидкостей. Если жидкости не нужны, следует использовать вызов без соответствующих параметров — передача null не сработает.

Замена жидкостей выполняется методом MTUtilsGT.addFluidInput. Первый параметр — исходная жидкость, второй — замена. При множественном маппинге можно передать массив пар. Важно помнить: повторный вызов для одной и той же жидкости добавит дублирующиеся рецепты, поэтому рекомендуется группировать все замены в один вызов.

Пример интеграции Minechem и GregTech

На серверах, где одновременно установлены Minechem и GregTech, часто возникает задача использовать жидкости из Minechem в рецептах машин GT. MTUtilsGT решает эту проблему элегантно. Сначала командой /MTUtils GTfluids можно получить список всех используемых жидкостей в рецептах GregTech. Затем одним вызовом MTUtilsGT.addFluidInput с массивом пар выполняется замена:

MTUtilsGT.addFluidInput([ [<liquid:molten.aluminium>, <liquid:element.al>], [<liquid:molten.iron>, <liquid:element.fe>], ... ]);

Такой подход добавляет все возможные рецепты с полностью заменёнными жидкостями, избегая смешанных вариантов, если использован второй формат вызова. Это значительно расширяет технологические цепочки и позволяет создавать уникальные производственные линии.

Underground Biomes Constructs API

MTUtils также предлагает API для работы с Underground Biomes Constructs. Через конфигурационный файл можно задать сопоставление блоков и текстур. Пример записи в конфиге:

[
  {
    "name":"exampleblock",
    "nameid":"minecraft:iron_ore",
    "texturepath":"minecraft:iron_ore"
  }
]

Это позволяет переопределять внешний вид руд и камней из мода Underground Biomes, гармонично вписывая их в общую стилистику сборки.

Заключение

MTUtils — это незаменимый инструмент для всех, кто стремится выйти за рамки стандартных возможностей MineTweaker. Будь то точная настройка баланса, создание уникальных дроп-таблиц или глубокая интеграция GregTech с другими модами, этот плагин предоставляет чистый и документированный API. Благодаря активному сообществу и открытому исходному коду, мод продолжает развиваться, а значит, возможности кастомизации Minecraft 1.7.10 становятся практически безграничными. Если вы создаёте модпак или управляете сервером, MTUtils определённо заслуживает места в вашем наборе инструментов.