JsMacros - разработка скриптов с помощью JavaScript

lorgon

Известный
Автор темы
656
271
Мод позволяет разрабатывать скрипты для взаимодействия с игрой, используя JavaScript.
Есть возможность писать скрипты и на других языка.

Автор: wagyourtail

Ссылки​

Версия 1.18.5 (Minecraft 1.20.1 / Fabric): скачать
Все версии и вспомогательные файлы: GitHub
Документация: клик
Автор на GitHub: клик

Расширения​

Расширения позволяют писать код на языках, отличных от JavaScript, а некоторые даже имеют преимущества в производительности: Jython (python 2.7), JEP (python 3.x), Lua (lua 5.2), Ruby (Ruby 2.6.x), Groovy (Groovy 4.0.4), Kotlin (Kotlin 1.7.10), WASM/WASI (WasmTime 0.11.0)
updated_bm.png

Примеры скриптов​

* Скрипты написаны на JavaScript
TPS Display Service:
// services start with minecraft, when enabled and are meant to be persistent scripts.[/INDENT]
const d2d = Hud.createDraw2D()
let tpsmeter;
d2d.setOnInit(JavaWrapper.methodToJava(() => {
    tpsmeter = d2d.addText(World.getServerTPS(), 0, d2d.getHeight() - 10, 0xFFFFFF, true);
}));
const ticklistener = JsMacros.on("Tick", JavaWrapper.methodToJava(() => {
    tpsmeter?.setText(World.getServerTPS());
}));
Hud.registerDraw2D(d2d);
// this fires when the service is stopped
event.stopListener = JavaWrapper.methodToJava(() => {
    Hud.unregisterDraw2D(d2d);
    JsMacros.off(ticklistener);
});
Toggle:
const reverse = !GlobalVars.getBoolean("ToggleScript");
GlobalVars.putBoolean("ToggleScript", reverse);
if (reverse) {
    Chat.log(Chat.createTextBuilder().append("[").withColor(0x7)
        .append("ToggleScript").withColor(0x5)
        .append("]").withColor(0x7).append(" enabled").withColor(0xc)
        .build());
} else {
    Chat.log(Chat.createTextBuilder().append("[").withColor(0x7)
        .append("ToggleScript").withColor(0x5)
        .append("]").withColor(0x7).append(" disabled").withColor(0xc)
        .build());
}
while (GlobalVars.getBoolean("ToggleScript")) {
    Chat.log("do stuff here...");
    Client.waitTick(20); // wait 1 second (synchronized to client ticks)
}
 

lorgon

Известный
Автор темы
656
271
подобное видел лишь от CCBlueX , разработчика LuqiudBounce , там писал скрипты тоже, но тут видимо поинтересней будет
Тут можно поменять язык с JS на Python или Lua. И самое главное - автор не забросил мод. Да и функционал больше, насколько я понимаю. Есть даже полноценный редактор внутри игры.
1688486804652.png
 
Последнее редактирование:

lorgon

Известный
Автор темы
656
271
Спарсил и сделал сниппеты в файле из методов стандартных библиотек для VS Code.
1688766859494.png


Установка
1. Создать папку в вашем проекте .vscode
2. Скачать прикреплённый файл
3. Распаковать файл внутри архива в папку .vscode
* Делалось на скорую руку
 

Вложения

  • jsconfig.rar
    10.8 KB · Просмотры: 8
  • Нравится
Реакции: TastyBread123 и chromiusj