
ConfigurationsBackport - бэкпорт конфигов для Minecraft 1.8.9
Библиотечный Forge-мод для Minecraft 1.8.9, который возвращает систему аннотаций @Config из версии 1.12.2. Идеально для разработчиков старых PvP-сборок.
ConfigurationsBackport - это узкоспециализированный библиотечный мод для Minecraft 1.8.9. Если вы обычный игрок, вам этот проект, скорее всего, не понадобится. А вот если вы разработчик, который пишет моды под старую версию, или собираете PvP-клиент - это прям находка.
Зачем вообще нужен этот бэкпорт? По факту, Forge для Майнкрафт 1.8.9 имеет довольно устаревший и местами кривой API для создания конфигов. Разработчикам приходится писать кучу рутинного кода, чтобы добавить простейший слайдер или текстовое поле в настройки. В версии 1.12.2 появилась удобная система @Config, которая генерировала файлы настроек почти на автомате. ConfigurationsBackport переносит эту систему в 1.8.9, используя mixins.
Что меняется для разработчика
Вы используете аннотации ровно так же, как делали это в 1.12.2. Единственный нюанс - нужно поменять импорт. Вместо стандартного net.minecraftforge.common.config.ConfigManager теперь используется my_life_is_bad.configurationsbackport.common.config.ConfigManager.
Важно знать: проект распространяется по лицензии MIT. Это значит, что вы можете спокойно встраивать его в свои сборки модов или отдельные проекты без проблем с авторскими правами. Автор пофиксил несколько крашей и немного причесал код, так что версия 1.8.9-1.1 работает стабильно как на клиенте, так и на сервере.
Нюансы работы с миксинами
Так как мод использует Mixins для внедрения в ядро Forge 1.8.9, будьте осторожны. Если ваша сборка или клиент уже грузит кучу модов, меняющих внутренности Forge (типа оптимизационных твинков или фиксов), могут быть конфликты. Обязательно тестируйте на чистом клиенте перед релизом. Но в целом, для тех, кто портирует свои старые наработки с новых версий, этот инструмент экономит кучу времени.
Пример использования
Вот как выглядит создание конфига с аннотациями. Всё почти как в старых добрых 1.12:
java package my_life_is_bad.configurationsbackport;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.client.event.ConfigChangedEvent.OnConfigChangedEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.event.FMLConstructionEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.Mod.EventHandler; import my_life_is_bad.configurationsbackport.common.config.ConfigManager; import my_life_is_bad.configurationsbackport.common.config.Config;
@Mod(modid = ConfigurationsBackport.MODID, version = ConfigurationsBackport.VERSION)
public class ConfigurationsBackport { public static final String MODID = "configurationsbackport"; public static final String VERSION = "1.1";
@Config(modid = MODID)
public static class Configuration {
@Config.Comment("String Entry: ")
public static String stringEntry = "I am a string :D";
@Config.Comment("Int Entry (Slider): ")
@Config.RangeInt(min = 1, max = 16)
@Config.SlidingOption()
public static int intSlider = 100;
@Config.Comment("Int Entry: ")
@Config.RangeInt(min = 1, max = 16)
public static int intEntry = 100;
@Config.Comment("Double Entry: ")
@Config.RangeDouble(min = 0.1D, max = 1.6D)
public static double doubleEntry = 0.1D;
@Config.Comment("Double Entry (Slider): ")
@Config.RangeDouble(min = 0.1D, max = 1.6D)
@Config.SlidingOption()
public static double doubleSlider = 0.1D;
}
@EventHandler
public void onFMLConstructionEvent(FMLConstructionEvent event) {
MinecraftForge.EVENT_BUS.register(this);
}
@SubscribeEvent
public void onConfigChangedEvent(OnConfigChangedEvent event) {
if (event.modID.equals(MODID)) {
ConfigManager.sync(MODID, Config.Type.INSTANCE);
}
}
}
Скачайте мод ConfigurationsBackport, если устали от рутины 1.8.9. Он здорово экономит время и нервы при портировании старых проектов или написании новых плагинов под легендарную PvP-версию.
Как поиграть с друзьями с модом ConfigurationsBackport - бэкпорт конфигов для Minecraft 1.8.9?
Мод ConfigurationsBackport - бэкпорт конфигов для Minecraft 1.8.9 куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода ConfigurationsBackport - бэкпорт конфигов для Minecraft 1.8.9 будет готов за пару минут - BungeeHost сделает всё за вас.
