thread читается как "тред", а не "трейд"! Я английский, слава богу, знаю.
Не, может
@alexandrage и имел ввиду поток, но почему поток? Ведь классы создает компилятор java!
В туториале для 1.7.10 тоже есть null ) Возможно это потому, что я использую код для 1.7.10 на 1.8, но все равно, null он и в 1.8 null
Все, пардон за мнооооого ереси) Понял, когда столкнулся с проблемой XD. Оказывается, когда этот класс (если он в классе GuiMainMenu) при реобфускации сохраняется не как GuiMainMenu$Pinger.class, а просто Pinger.class. А так, как внутри класса нельзя вставлять 2 public - класса, он тупо становится невидимым для других классов)
Сударь, как вы девелопером стали?) Это организовать проще простого! Вот тебе инструкция.
В классе GuiMainMenu добавляем следующие импорты:
Java:
import net.minecraft.client.multiplayer.GuiConnecting;
import net.minecraft.client.multiplayer.ServerData;
Далее в теле класса создаем следующие поля (хз как правильно называть):
Java:
private ServerData selectedServer;
private boolean directConnect;
private ServerSelectionList serverListSelector;
Теперь создаем простую кнопку (такой код заменит кнопку риалмс):
Java:
this.buttonList.add(new GuiButton(9999, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.format("Direct Connect", new Object[0])));
Создаем обработчик кнопки (в методе actionPerformed):
Java:
if (button.id == 9999)
{
this.directConnect = true;
this.mc.displayGuiScreen(new GuiScreenServerList(this, this.selectedServer = new ServerData(I18n.format("selectServer.defaultName", new Object[0]), "")));
}
Делаем обработчик этого обработчика (в методе confirmClicked, всовываем код в конец тела метода):
Java:
else if (this.directConnect)
{
this.directConnect = false;
if (result)
{
this.mc.displayGuiScreen(new GuiConnecting(this, this.mc, this.selectedServer));
}
else
{
this.mc.displayGuiScreen(this);
}
}
И все! Надо только удалить кнопку риалмс и рекомпилить.