mlctct синтаксис

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
369
короч мод который мне лень делать, зато я фулл придумал синтаксис
mlctct = mineland creative - typing code translator
можно короче: mlct, mineland code translator

начнём
если видите такой текст, то там 2 таких символа: `

игрок.отправитьСообщение();

^^^
это строка кода, какое-то действие

событиеИгрока(`зашёл[/ICODE]) { действия йоу }

^^^
это событие, а внутри скобок аргументы, а внутри фигурных строк уже действия твоей строки

еслиИгрок.никРавен(["ник"]) { действия йоу }

^^^
это условие, как событие
если ты не слепой ты заметил, что я зачем-то поставил [ ], но зачем?
это потому что в сундучке условия Если игрок - Ник равен слотов овер дофига
по этому надо ставить такие скобки

если ты хочешь закрыть этот пост из-за того, что код на русском, то нет, это просто для понимания

если ты заметил, что где-то я использовал кавычки такие ``, а где-то использовал такие "", то ты молодец

такие "" юзаются как тип значения ТЕКСТ, книжка которая, держишь и пишешь, это то, что в сундук положить можно
такие `` юзаются для блоков, которые требуют ввод текста
такие в сундук положить
в основном это чисто для событий каких-нибудь, имён функций и циклов

а ещё, если такие кавычки посреди строки, например:
player.send(["Твои деньги: ", %player%_money]);
то это другие типы данных
а какой это тип данных? смотря что перед кавычками
если ничего, то это динамическая переменная
если "s", то это сохранённая переменная
ну и тд, просто скрин чекайте
1740509967731.png

ещё есть фабрики, например переменная == var(переменная)
чек ещё скрин
1740510038647.png


млстст не компилируемый, он чисто транслирует блоки
единственное проявления какого-то удобства в этой кучке неудобных способов работать с кодом, так это такая фишка:

var(перем) = знач;
это тоже самое, что и
var.set(var(перем), знач);
просто чуть проще, вот и всё

каждый аргумент имеет своё имя
например player.send();, имеет аргументы $texts, $switch
$texts принимает всё, но в виде списка, а свитч число
по умолчанию 0, это значит, что переключатель чисто не трогали

player.send($texts=["Привет"], $switch=0); <=> player.send(["Привет"]);

однако чтобы вас не тошнило постоянно писать для переключателей "switch=", можно просто писать значение
$switch=0 <=> $0
однако учтите, что если имени нет, то переключатели будут идти по порядку
ну вот допустим действие player.fly();
это действие управления полётом игрока. там есть 2 переключателя
и вот как я заполню значения переключателей: player.fly($0, $1);
как я и говорил, переключатели, указанные без ключа (switchN=) указываются по порядку, не важно в какой позиции аргументов

вот ещё примерчик
game.createBossbar('Test', "&c&lБОССБАР", $1, $4);

если заметили, ещё появились такие кавычки ' '
вот подробнее про это
1740510990445.png

вот другой примерчик
var.moveLocation(loc, l`5 5 5`, 0, $0, 0, $0, 5, $1, 5, $1, 5, $1);
да, вообще не понятно
и так, первые 2 аргумента это дин. переменная для результата и местоположение
дальше идёт чередование: число, переключатель
мне не надо двигать yaw и pitch, по этому их переключатели установил на 0, и значения тоже
а x y z я хочу двигать на 5 каждую

вот так вот
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
369
вот вам домашка
Код:
PlayerEvent(`sendMessage`) { 
  ifPlayer.hasPermissions($2) {
    var.splitText(a`%player message.split%`, v`message`);
    array.get(`%player% kick.player`, 1, a`%player% message.split`); 
    select.player.ifPlayer.nickEquals([`%player% kick.player`]); 
    player.kick<selected>(); 
    player.send<all>(["%player% кикнул игрока ", `%player% kick.player`]); 
  } else {
    player.send(["Не достаточно прав, ты не админ чтобы кого-то кикать"]);
  }
}

разбираем код, оцениваем читабельность кода
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
572
полностью не читал. а в чем суть мода? что переводить?
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
572
пишешь код, он в автоматическом режиме ставит блоки, кликает гуишки, кладёт предметы в нужные слоты
т.е я ему пишу "событие А", а он ставит блок, кликает на табличку и ставит событие А?
1) а зачем
2) может за читы кикать мб
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
369
т.е я ему пишу "событие А", а он ставит блок, кликает на табличку и ставит событие А?
да
зачем спрашивать смысл того, чего нету ещё
а так, в целом, просто прикольная вещь, не хочешь ты на мл кодить, блоки, фу, а тут буквенный вариант есть, круто
2) может за читы кикать мб
ну, тут надо уже пробовать делать, так я сказать щас не могу
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
572
а так, в целом, просто прикольная вещь, не хочешь ты на мл кодить, блоки, фу, а тут буквенный вариант есть, круто
ну тип по времени +- одинаково будет. полезно только если ты переписываешь код с форума, но опять же даже синтаксис у всех разный.
ну, тут надо уже пробовать делать, так я сказать щас не могу
ну я хз тоже как у мл с этим дела
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
572
поч лексеры не оч
нужен стоп символ какой-то - в твоем случае ;
обыватель заебется ставить каждый раз ;
а если уж делать - то на массового пользователя, а не на джавистов

ну и мне не нравится 10 циклов - токенизация, потом решать что и как запускать... майн итак как говно работает
 

LWJENNI

Эксперт
Регистрация
8 Май 2023
Сообщения
59
Та чего ты стесняешся возми код из бакита норм там синтаксис можно из котлина только кто мод будет писать?)
 

GromoverGets

Эксперт
Регистрация
2 Май 2023
Сообщения
267
Та чего ты стесняешся возми код из бакита норм там синтаксис можно из котлина только кто мод будет писать?)
Я надеюсь ты в курсе да, что Котлин - это язык программирования и по факту надстройка над Java; Bukkit - основная библиотека для создания плагинов, а вот уже моды пишутся с использованием Java/Kotlin (но никак не Bukkit) на основе либо Forge/NeoForge/Fabric/Quilt (соответственно в зависимости от того какой загрузчик модов нужен разрабу)
 
Сверху