FormCreator - Простое создание форм в Json-файле [Nukkit и PNX]

FormCreator

Инструмент для простого создания форм в Json-файле для Nukkit


Как использовать

Пример формы:

example.json
{
    "command": {
        "enable": true,
        "name": "example",
        "description": "Example command",
        "aliases": [
            "example1"
        ],
        "permission": "formcreator.example"
    },
    "title": "Example Form",
    "content": [
        "Content line"
    ],
    "buttons": [
        {
            "name": "Button",
            "image": "textures/blocks/diamond",
            "imageType": "path",
            "actions": [
                {
                    "type": "OPEN",
                    "value": "example"
                }
            ]
        },
        {
            "name": "Button 2",
            "actions": [
                {
                    "type": "PLAYER_COMMAND",
                    "value": "say Test"
                }
            ]
        }
    ],
    "openActions": [
        {
            "type": "CONSOLE_COMMAND",
            "value": "say {player} Form opened!"
        }
    ],
    "closeActions": [
        {
            "type": "CONSOLE_COMMAND",
            "value": "say {player} Form closed!"
        }
    ]
}
Данная форма в игре

Регистрация формы:

forms.yml

# Регистрация формы
forms:
  # имя формы: "путь к форме в папке 'forms'"
  example: "example.json"

Команды

Имя Подкоманда Использование Описание Разрешение
/formcreator open /formcreator open <форма> <игрок> Открыть форму игроку formcreator.open
/formcreator info /formcreator info Информация о плагине formcreator.info
/formcreator help /formcreator help Помощь

API

FormManager

Получить папку с формами:

File folder = FormManager.getFormsFolder();

Получение формы по ее имени:

Form form = FormManager.get("имя_формы");

Проверить существование формы:

FormManager.exists("имя_формы");

Загрузить форму из файла:

FormManager.load("имя_формы", file);

Создание пользовательского исполнителя действий

Ваш исполнитель:

public class YourExecutor implements Executor {

    /**
     * @param player Player
     * @param value  Значение действия
     */
    @Override
    public void execute(Player player, String value) {
        // Обработка действия
    }
}

Регистрация исполнителя:

// имя - Имя исполнителя. Например: YOUR_EXECUTOR 
ExecutorManager.register("имя", new YourExecutor());

Получение исполнителя:

ExecutorManager.getExecutor("YOUR_EXECUTOR");

События

Название Отменяемый Описание
FormLoadEvent да Вызывается при загрузке формы
FormSendEvent да Вызывается при открытии формы

Дополнительно

Плагин поддерживает 3 языка: Русский, Английский, Украинский. Настроить можно в config.yml в поле language


Скачать

GitHub: GitHub - MEFRREEX/FormCreator: Tool for easy creation of forms in Json file for Nukkit
Скачать: FormCreator-1.1.jar

Зависимости:

FormConstructor GitHub: GitHub - ContentForge/FormConstructor: Library for easy creating and handling of forms
Скачать: Скачать FormConstructor

5 лайков

+4

какой то бесполезнейший плагин

ок

Можно ли добавить 2 действия для кнопки? reducecoin и give {player} dsword

да

"actions": [
    {
        "type": "CONSOLE_COMMAND",
        "value": "reducecoin"
    },
    {
        "type": "CONSOLE_COMMAND",
        "value": "give {player} dsword"
    }
]

Спасибо

1 лайк

Обновил плагин

Github: GitHub - MEFRREEX/FormCreator: Tool for easy creation of forms in Json file for Nukkit
Скачать: Release 1.2.3 · MEFRREEX/FormCreator · GitHub

1 лайк

А что нового?

А коммиты в Гите прочитать, не?
Или описание к релизу.

С changelog’ом удобнее было бы

А так это самый обычный фикс

Не только. В первую очередь это рефактор, изменения в api, переименован 1 action, фикс конфига. Это все действительно можно прочитать в истории коммитов

Еще раз обновил плагин

Добавлена команда /formcreator reload, для перезагрузки всех форм.
Добавлен пермишен formcreator.help для команды /formcreator help.

Не забудьте удалить папку lang в папке плагина. Локализация обновлена

Скачать: Release 1.2.4 · MEFRREEX/FormCreator · GitHub