@EventHandler Что это?

Версия Minecraft
1.7.10
81
3
Я вижу @EventHandler в коде, но не знаю для чего "это"
В описании учебника Сказано: Стадии загрузки можно использовать при помощи аннотации @EventHandler.

Прошу разжевать понятие ЭвентХандлера, ибо не понимаю зачем он нужен и что делает в коде, зачем мы его пишем в мейн классе?

Java:
    //Не помню зачем, но без нее нельзя. Чет там грузит. Забыл. Всегда должна быть.
    @EventHandler
    public void preLoad(FMLPreInitializationEvent event)
    {
        \\тут мы грузим классы с блоками и пр.
    }

Почему нельзя например написать просто ?
Java:
public void preLoad(FMLPreInitializationEvent event)
    {
    }
[/CODE]

Так же рядом со знаком @ часто вижу и другие вещи типа "mod" и итп. Но вопрос не об этом.
Хочется просто понимать что я пишу и зачем.
 
Решение
То, что начинается с символа "@" назвается "Аннотациями". Так как Forge загружает мод использую рефлексию, эти аннотации дают ему понять, какие методы твоего мода нужно вызывать на определенных стадиях запуска. Точно также аннотации "@SubcsriveEvent" указывают Forge'у, какие методы вызывать когда в игре случается то или иное событие. Почитай про шину событий и метапрограммирование в добавок.
1,159
38
544
То, что начинается с символа "@" назвается "Аннотациями". Так как Forge загружает мод использую рефлексию, эти аннотации дают ему понять, какие методы твоего мода нужно вызывать на определенных стадиях запуска. Точно также аннотации "@SubcsriveEvent" указывают Forge'у, какие методы вызывать когда в игре случается то или иное событие. Почитай про шину событий и метапрограммирование в добавок.
 
Сверху