- 1,560
- 86
- 204
Для работы с Waila понадобится собранная рабочая среда Forge версии от 1.7.10 до 1.11.2. После того как вы посмотрели на свою собранную версию заходим в build.gradleи добавляем метод repositories. В этом методе добавляем ещё один метод maven и в этот метод записываем url = "http://mobiusstrip.eu/maven". Вот что получилось:
Потом ищем метод dependencies и в него вписываем "mcp.mobius.waila:Waila:{версияМода}_{версияMC}". Вот что должно получится:
Вписали? Если да, то открываем setup.bat(чем вы компилировали среду) и ждём. После успешной компиляции заходим в Eclipse и включаем перспективу "Java" как на картинке.
Слева где лежат файлы мода и другое видим вкладку Referenced Library и видим там архив Waila как на картинке
Потом в своём моде создаём класс WailaHandler или как-то по-другому. Создаём в классе статичный и публичный метод onWaila с аргументом IWailaRegistrar
Потом этот в этот класс добавляем интерфейс IWailaDataProvider вот так вот:
И добавляем методы, которые нас просят добавить(их выкладывать сюда не буду). Переползаем в главный класс мода и добавляем такой метод:
Теперь всё работает, только мы ничего не регистрировали! Чтобы вместо обычной иконки блока был какой-то другой ItemStack в методе onWaila при помощи IWailaRegistrar вписываем registerStackProvider(inst, классБлока). И в методе getWailaStack, который сам создался, возвращаем нужный ItemStack. Вот пример:
Таким же образом используются и другие методы и регистры. getWailaHead Это текст сверху таблицы. getWailaBody текст посередине, а getWailaTail текст в самом низу. Что насчёт getNBTData, то я не знаю как им пользоваться XD.
Код:
repositories {
maven { url = "http://mobiusstrip.eu/maven" }
}
Код:
dependencies {
compile "mcp.mobius.waila:Waila:1.5.9b_dev2_1.7.10" // Для 1.7.10(последняя версия Waila)
compile "mcp.mobius.waila:Waila:1.7.0-B3_1.9.4" // Для 1.9.4-1.10.2
compile "mcp.mobius.waila:Waila:1.7.1_1.11.2" // Для 1.11.2
}
Слева где лежат файлы мода и другое видим вкладку Referenced Library и видим там архив Waila как на картинке
Потом в своём моде создаём класс WailaHandler или как-то по-другому. Создаём в классе статичный и публичный метод onWaila с аргументом IWailaRegistrar
Код:
public static void onWaila(IWailaRegistrar register) {
}
Потом этот в этот класс добавляем интерфейс IWailaDataProvider вот так вот:
Код:
public class WailaHandler implements IWailaDataProvider {
...
}
И добавляем методы, которые нас просят добавить(их выкладывать сюда не буду). Переползаем в главный класс мода и добавляем такой метод:
Код:
FMLInterModComms.sendMessage("waila", "register", WailaHandler.class.getCanonicalName() + ".onWaila");
Теперь всё работает, только мы ничего не регистрировали! Чтобы вместо обычной иконки блока был какой-то другой ItemStack в методе onWaila при помощи IWailaRegistrar вписываем registerStackProvider(inst, классБлока). И в методе getWailaStack, который сам создался, возвращаем нужный ItemStack. Вот пример:
Код:
public static void onWaila(IWailaRegistrar reg) {
reg.registerStackProvider(new WailaHandler(), BlockLava.class);
}
@Override
public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) {
return new ItemStack(Items.LAVA_BUCKET);
}