
KubeJS Figura
Архивирован0.0
Установок
Последнее обновление
Версии
KubeJS Figura
Данный мод представляет собой легковесный мостик между KubeJS и Figura, который предоставляет доступ к основным функциям аватаров Figura напрямую из скриптов KubeJS. Решение создано для минимальной нагрузки на игровую среду и обеспечения безопасного способа работы с аватарами через серверные скрипты.
В целях безопасности модуль может загружать исключительно те модели аватаров, которые уже присутствуют в папке аватаров игрока. Эта функциональность в первую очередь ориентирована на автоматизированные системы персонажей, реализованные на стороне сервера, что позволяет разработчикам легко интегрировать возможности Figura в свои проекты.
Пример использования
Код ниже демонстрирует реализацию серверных команд для работы с аватарами Figura:
// Пример использования KubeJS Figura в серверном скрипте
const StringArgumentType = Java.loadClass("com.mojang.brigadier.arguments.StringArgumentType");
const ServerPlayer = Java.loadClass("net.minecraft.server.level.ServerPlayer");
const KJSFigura = Java.loadClass("com.confect1on.kubejs_figura.KubeJSFiguraMod");
ServerEvents.commandRegistry(event => {
const { commands: Commands } = event;
// Команда для загрузки аватара
event.register(
Commands.literal("figuraLoad")
.then(
Commands.argument("model", StringArgumentType.greedyString())
.executes(ctx => {
const player = ctx.source.entity;
const model = StringArgumentType.getString(ctx, "model");
if (player instanceof ServerPlayer) {
KJSFigura.load(player, model);
}
return 1;
})
)
);
// Команда для загрузки аватара в систему
event.register(
Commands.literal("figuraUpload")
.executes(ctx => {
const player = ctx.source.entity;
if (player instanceof ServerPlayer) {
KJSFigura.upload(player);
}
return 1;
})
);
// Команда для управления аватаром
event.register(
Commands.literal("figuraHandle")
.then(
Commands.argument("charName", StringArgumentType.greedyString())
.executes(ctx => {
const player = ctx.source.entity;
const charName = StringArgumentType.getString(ctx, "charName");
if (player instanceof ServerPlayer) {
KJSFigura.handle(player, charName, false);
}
return 1;
})
)
);
});