Иконка ресурса

Автовход в последний мир

Версия(и) Minecraft
1.12.2
Заметил, что для тестирования большую часть времени использую один мир, который сгенерил еще в самом начале.
Поэтому решил автоматизировать процесс входа в мир.
Код предельно простой, просто повторяет действия пользователя для входа в последний мир
Scala:
@SubscribeEvent
  def onMainMenu(event: GuiOpenEvent): Unit =
    event.getGui match {
      case guiMainMenu: GuiMainMenu => mc.displayGuiScreen(new GuiWorldSelection(guiMainMenu))
      case selection: GuiWorldSelection =>
        val guiListWorldSelection = new GuiListWorldSelection(selection, mc, 100, 100, 32, 100 - 64, 36)
        Try(guiListWorldSelection.getListEntry(0).joinWorld())
      case _ =>
    }
Есть небольшой баг: при попытке выйти в главное меню вы перезайдете в мир, фиксится легко, вставкой флага, отмечающего, что уже заходили

Java:
@SubscribeEvent
public void loadLastWorld(GuiOpenEvent event) {
    Minecraft mc = Minecraft.getMinecraft();
    if (event.getGui() instanceof GuiMainMenu) {
        mc.displayGuiScreen(new GuiWorldSelection((GuiMainMenu)event.getGui()));
    }else if (event.getGui() instanceof GuiWorldSelection ) {
        GuiListWorldSelection guiListWorldSelection = new GuiListWorldSelection((GuiWorldSelection)event.getGui(), mc, 100, 100, 32, 100 - 64, 36);
        try{
            guiListWorldSelection.getListEntry(0).joinWorld();
        }catch(Exception ignore){}
    }
}
Спасибо @Dahaka за kotlin-версию
Kotlin:
@SubscribeEvent
fun loadLastWorld(e: GuiOpenEvent) = when (e.gui) {
    is GuiMainMenu -> mc.displayGuiScreen(GuiWorldSelection(e.gui as GuiMainMenu))
    is GuiWorldSelection -> try {
        GuiListWorldSelection(e.gui as GuiWorldSelection), mc, 100, 100, 32, 100 - 64, 36).getListEntry(0).joinWorld()
    } catch (ignore: Throwable) {}
}
Автор
hohserg
Просмотры
602
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя hohserg

Последние обновления

  1. Kotlin-версия

    Добавлена kotlin-версия. Спасибо Dahaka за нее)
Сверху