events как работают?

Статус
В этой теме нельзя размещать новые ответы.
Версия Minecraft
1.7.10
API
Forge
я знаю жабу на базовом уровне не понимаю ивенты как работают что мы проверяем в условном операторе и т.д, не скидывайте гайды с форума или от форума сделайте свой гайд если не сложно на понятном языке буду блогодарен оооочень
 
Решение
Java:
// Регистрируем слушателей событий. Где-то вызови, например в главном классе мода
EventListener listener = new EventListener();
MinecraftForge.EVENT_BUS.register(listener);
FMLCommonHandler.instance().bus().register(listener);
Java:
public class EventListener{
   
    // Ловим событие респавна игрока
    @SubscribeEvent
    public void onPlayerRespawn(/* Собственно само событие */ PlayerRespawnEvent e){
        // Кладем в инвентарь игрока алмаз
        e.player.inventory.addItemStackToInventory(new ItemStack(Items.diamond));
       
        // Выполняем другой свой код
    }
}

P.S Иди учить джаву и ООП, сложно тебе будет.

tox1cozZ

aka Agravaine
8,456
598
2,893
Что там понимать? Есть событие, у события есть слушатели. Слушатели подписываются на событие.
Когда инициируется событие - уведомляются все слушатели и делают полезную работу.
 
1,202
31
185
события хандлятся классом, который нужно зарегать как слушатель (примеров реги полно на форуме)
для некоторых событий своя шина (их две)
чтобы выдать алмаз, нужно в классе-слушателе создать метод, который будет ловить эвент, его подписывают @SubscribeEvent
в аргументы передают тот эвент, который нужен тебе. Для респауна юзается EntityJoinWorldEvent
ну и в этом методе делаешь все че надо
 
Я знаю после этого вопроса я могу улететь бан от тимахи или другого, но я все же повторюсь я глупый чайник который никогда не работал с ивентами я не знаю что значит ловить эвент но сам метод и то что его подписывает я знаю скиньте код умоляю с коментами который показывают что да как потому что я такой человек, которому надо разжевать
 

tox1cozZ

aka Agravaine
8,456
598
2,893
Java:
// Регистрируем слушателей событий. Где-то вызови, например в главном классе мода
EventListener listener = new EventListener();
MinecraftForge.EVENT_BUS.register(listener);
FMLCommonHandler.instance().bus().register(listener);
Java:
public class EventListener{
   
    // Ловим событие респавна игрока
    @SubscribeEvent
    public void onPlayerRespawn(/* Собственно само событие */ PlayerRespawnEvent e){
        // Кладем в инвентарь игрока алмаз
        e.player.inventory.addItemStackToInventory(new ItemStack(Items.diamond));
       
        // Выполняем другой свой код
    }
}

P.S Иди учить джаву и ООП, сложно тебе будет.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху