- Версия(и) Minecraft
- 1.12.2, 7.1
Основной класс плагина
Для начала создадим свой класс, он может быть назван как угодно и находиться где угодно, кроме org.spongepowered, net.minecraft и net.minecraftforge. Рекомендую назвать также как и плагин. Пример:
ru.googletan.tut.Tut.java или ru.googletan.tut.TutMain.java
После создания класса нужно его отметить, чтобы Sponge его заметил. Для этого на класс вешаем аннотацию @Plugin. Как параметры можно задать, id, name, version и description. Пример:
Инициализация плагина
Все плагины загружаются до того как загружаются миры. Это навязывает конкретный период времени, когда ваш плагин должен начать взаимодействовать с игрой, например, регистрируя команды или события. Плагин может отлавливать определенные события, называемые событиями состояния, чтобы получать уведомления об изменениях в состоянии игры. В приведенном ниже примере
Приведенный ниже пример будет выводить сообщение при запуске сервера. Если ваш плагин правильно загружен, вы должны увидеть это сообщение во время инициализации сервера.
Фиксированные события(State Events)
Фиксированные события это события которые мы можем отловить, как в примере
Инициализация :
Для начала создадим свой класс, он может быть назван как угодно и находиться где угодно, кроме org.spongepowered, net.minecraft и net.minecraftforge. Рекомендую назвать также как и плагин. Пример:
ru.googletan.tut.Tut.java или ru.googletan.tut.TutMain.java
После создания класса нужно его отметить, чтобы Sponge его заметил. Для этого на класс вешаем аннотацию @Plugin. Как параметры можно задать, id, name, version и description. Пример:
Пример:
package ru.GoogleTan.tut;
import org.spongepowered.api.plugin.Plugin;
@Plugin(id = "tut", name = "Tut - educational plugin", version = "0.0.1", description = "Example")
public сlass MainTut {
...
}
Все плагины загружаются до того как загружаются миры. Это навязывает конкретный период времени, когда ваш плагин должен начать взаимодействовать с игрой, например, регистрируя команды или события. Плагин может отлавливать определенные события, называемые событиями состояния, чтобы получать уведомления об изменениях в состоянии игры. В приведенном ниже примере
onServerStart()
вызывается при возникновении события GameStartedServerEvent
; обратите внимание на аннотацию "Listener" перед методом.Приведенный ниже пример будет выводить сообщение при запуске сервера. Если ваш плагин правильно загружен, вы должны увидеть это сообщение во время инициализации сервера.
Java:
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.game.state.GameStartedServerEvent;
//Подключаем логгер
import com.google.inject.Inject;
import org.slf4j.Logger;
@Plugin(id = "tut",
name = "Tut - educational plugin",
version = "0.0.1",
description = "Example")
public сlass MainTut
{
@Inject
private Logger logger;
@Listener
public void onServerStart(GameStartedServerEvent event) {
logger.info("Удачный запуск нашего плагина!!!!");
}
}
Фиксированные события это события которые мы можем отловить, как в примере
GameStartedServerEvent
. Они делятся на 2 типа:Инициализация :
- GameConstructionEvent
- GamePreInitializationEvent
- GameInitializationEvent
- GamePostInitializationEvent
- GameLoadCompleteEvent