@SubscribeEvent
public void changeButton(GuiScreenEvent.InitGuiEvent event){
for(int i =0; i < event.getButtonList().size(); i++){
int x = event.getButtonList().get(i).x;
int y = event.getButtonList().get(i).y;
int id = event.getButtonList().get(i).id;
int w = event.getButtonList().get(i).width;
int h = event.getButtonList().get(i).height;
String t = event.getButtonList().get(i).displayString;
event.getButtonList().set(i, new RCCButton(id, x, y, t));
}
}
А я и не говорил что не будет работать. Оно будет работать, но не правильно. Потому что другие моды могут захотеть добавить свою кнопку и у них ничего не выйдет потому что ты заменил на свой гуй.Почему же? У меня все шикарно работает.
А я и не говорил что не будет работать. Оно будет работать, но не правильно. Потому что другие моды могут захотеть добавить свою кнопку и у них ничего не выйдет потому что ты заменил на свой гуй.
Кажется ты не совсем меня понял.Я если делаю что либо не особо использую чужое. Особенно в проектах) По тому такая тематика как: "чужое д#Рьмо мешает" не встречается вообще ))) А вообще самим пилить надо. К тому же можно проверять лоад модов, если конкретные присутствуют можно отменять загрузку чего либо. в mjb utills вроде есть такой пример, если надо)
Кажется ты не совсем меня понял.
Прикол в том что конечному майнкрафтеру глубоко начхать что у тебя там в бинарнике. Весь его функционал это закинуть мод в папку mods. Самое обидное, что он может закинуть туда не только твой мод, а допустим Journey Map. А этот мод добавляет в гуи настроек свою кнопку. И вот прикинь ты заменил на свой гуй. Поздравляю, все сломалось! Твое то конечно работает, а чужое нет.
О, я уже дядька, апнулся.Не слушай дядьку сверху.
А теперь представь, что ВСЕ другие кнопки идут extends GuiButton.Проверяй через instance of просто.
В этом начал прорисовываться здравый смысл, но что ты хочешь сравнивать через ==? Я сначала подумал что тип и объект, потому и погорячился. По факту как я понял ты предложил сравнить классы?О, я уже дядька, апнулся.
А теперь представь, что ВСЕ другие кнопки идут extends GuiButton.
Теперь давайте подумаем, что если он будет заменять все кнопки во всех модах?
Хм...
Наверное тоже самое, что и сейчас.
Так что нужно через "==".
Тем самым он будет заменять только GuiButton, а все исходящие из этого класса будет игнорить.
Можно проверять через instance of GuiSlider, хлебушек=)Азаза, слайдер тоже наследует GuiButton, instanceof не прокатит, хлебушек)0
Зря ты во мне слмневаешься, но вариант Doc'a действительно лучше.Не, ну ты канеш можешь проверку сделать что это не слайдер, а смысл? Чекбоксы тоже заменятся, ты все варики не прочекаешь)
А как получить тип кнопки?Я дико извиняюсь, а где проверка на то, что это GuiButton?
И там скорее всего нужно проверять через "==", а не через "instance of".
Типо заменять кнопки только с таким то id? А если другой мод добавит кнопку?Я сто лет назад написал, что нужно чекать id кнопки. А они про instanceof заговорили...