Документация
К скриптамLua API справочник
Полный набор пространств имён, событий и готовых шаблонов для своих модулей.
clientЛоги, нотификации, силент-ротация, управление модулями25
client.log (...) -> nil
Пишет в лог клиента
client.notify (msg, [duration]) -> nil
Нотификация в HUD
client.chat (text) -> nil
Сообщение в чат (только локально)
client.name string
Имя скрипта (без .lua)
client.version string = "2.0"
Версия API
client.user () -> string
Логин текущего пользователя
client.time () -> number
System.currentTimeMillis()
client.fps () -> number
client.ping () -> number
Пинг локального игрока, мс
client.server () -> string|nil
Адрес текущего сервера
client.mouse () -> x, y
Курсор в координатах интерфейса
client.key_held (glfwKey) -> bool
Зажата ли клавиша прямо сейчас
client.in_game () -> bool
Игрок в мире и никакой экран не открыт
client.silent.set (yaw, pitch, [visible])
Подменить отправляемый поворот. Заменяет убранное событие rotation
client.silent.set_yaw (yaw)
client.silent.set_pitch (pitch)
client.silent.set_visible (bool)
true — поворот виден на модели: от третьего лица (F5) и другим игрокам. false — только в пакете
client.silent.visible () -> bool
client.silent.enabled () -> bool
Активна ли подмена от этого скрипта
client.silent.get () -> { yaw, pitch }
client.silent.clear ()
Отпустить поворот. Вызывается автоматически при выключении скрипта
client.modules.enabled (name) -> bool
client.modules.toggle (name)
client.modules.set (name, bool)
client.modules.list () -> { {name, category, enabled} }
eventsРегистрация колбэков на события Minecraft2
events.on (name, fn)
Подписаться на событие
events.list () -> { string }
Все доступные имена событий
render2D и 3D рендеринг: формы, шрифты клиента, обрезка, палитра темы39
render.rect (x, y, w, h, [rgba])
render.rounded_rect (x, y, w, h, [radius], [rgba])
render.outline_rect (x, y, w, h, [radius], [rgba], [thickness])
render.gradient_rect (x, y, w, h, c1, c2, c3, c4)
Цвета углов: левый-верх, правый-верх, правый-низ, левый-низ
render.gradient_rounded_rect (x, y, w, h, radius, c1, c2, c3, c4)
render.circle (cx, cy, radius, [rgba])
render.soft_circle (cx, cy, radius, [rgba])
Круг со сглаженным краем
render.arc (cx, cy, inner, outer, startDeg, endDeg, [c1], [c2])
Кольцевой сектор — прогресс-круги, радары
render.blur (x, y, w, h, [radius], [blur])
Размытие фона под областью
render.glass (x, y, w, h, [radius])
render.bloom (x, y, w, h, [blur], [radius], [rgba])
render.text (text, x, y, [rgba], [shadow])
Шрифт Minecraft, §-коды экранируются
render.text_mc (text, x, y, [rgba], [shadow])
Minecraft-форматирование: § и & как цветовые коды
render.font_text (text, x, y, [rgba], [size=8], [family])
Шрифты клиента: "medium" | "bold" | "light" | "regular" | "consolas"
render.font_text_centered (text, cx, y, [rgba], [size], [family])
render.font_width (text, [size], [family]) -> number
render.font_height ([text], [size], [family]) -> number
render.text_width (text) -> number
render.text_height () -> number
render.is_mc_text (text) -> bool
render.strip_mc (text) -> string
render.svg (path, x, y, w, h, [rgba])
Иконка клиента, напр. "textures/svg/star.svg"
render.item (itemId, x, y)
render.texture (identifier, x, y, w, h, [rgba])
render.push_clip (x, y, w, h)
Обрезка. Незакрытые клипы снимаются автоматически в конце кадра
render.pop_clip ()
render.hovered (mx, my, x, y, w, h) -> bool
render.anim (target, current, [speed]) -> number
Плавное приближение к значению, вызывать каждый кадр
render.screen_size () -> w, h
render.theme () -> table
Палитра активной темы: main, secondary, background, border, text, text_active, text_inactive, hover, alpha, blur_radius, rounding
render.rgba (r, g, b, [a]) -> int
render.unpack_rgba (color) -> r, g, b, a
render.with_alpha (color, alpha) -> int
render.hsb (h, s, b, [a]) -> int
render.mix (from, to, k) -> int
render.box3d (x1,y1,z1, x2,y2,z2, [rgba], [w], [out], [fill])
Только в render3d
render.line3d (x1,y1,z1, x2,y2,z2, [rgba], [w])
Только в render3d
render.camera_ray ([distance=75]) -> x, y, z
render.world_to_screen (x, y, z) -> sx, sy, depth
playerСостояние, инвентарь, эффекты, клавиши движения22
player.exists () -> bool
player.pos () -> x, y, z
player.eye_pos () -> x, y, z
player.rotation () -> yaw, pitch
Реальный поворот камеры, без учёта client.silent
player.body_rotation () -> bodyYaw, headYaw
player.velocity () -> vx, vy, vz
player.speed () -> number
Горизонтальная скорость в блоках/сек
player.health () -> number
player.absorption () -> number
player.armor () -> number
player.food () -> number
player.name () -> string
player.hotbar_slot () -> 0..8
player.on_ground () -> bool
player.state () -> table
sneaking, sprinting, using_item, gliding, in_water, in_lava, on_fire, swimming, creative, flying, fall_distance
player.effects () -> { {id, amplifier, level, duration} }
player.held_item ([hand="main"|"off"]) -> table
player.inventory () -> { item }
Непустые слоты текущего контейнера
player.count_item (itemId) -> number
player.set_key (name, pressed)
forward, back, left, right, jump, sneak, sprint, use, attack. Отпускается автоматически при выключении скрипта
player.send_chat (text)
player.send_command (cmd) — без слеша
worldМир, блоки, сущности, raycast13
world.exists () -> bool
world.time () -> number
world.dimension () -> string
world.block (x, y, z) -> string
world.block_id (x, y, z) -> string
Registry-id, напр. "minecraft:obsidian"
world.block_info (x, y, z) -> table
id, air, solid, replaceable, liquid, hardness
world.entities () -> table
world.players () -> table
world.entity_by_id (id) -> Entity?
world.nearest_player ([maxDist=64]) -> Entity?
world.nearest_entity ([maxDist=64], [livingOnly=true]) -> Entity?
world.entities_in_box ([range=16]) -> table
world.raycast ([dist=4.5], [yaw], [pitch]) -> table
Луч из глаз игрока: hit, x, y, z, side, block
netСвинги, удары, использование предметов6
net.swing ([hand="main"|"off"])
net.use_item ([hand])
net.attack (entityId)
net.interact (entityId, [hand])
net.set_hotbar (slot 0..8)
net.crosshair_target () -> table|nil
uiНастройки в ClickGUI и собственные экраны11
ui.checkbox (name, [default]) -> {get, set, visible}
ui.slider (name, [def], [min], [max], [step]) -> {get, set}
ui.combo (name, default, modes) -> {get, set, is, modes}
ui.multibox (name, options) -> {get, set}
Список { "A", "B" } или таблица с дефолтами { A = true, B = false }
ui.keybind (name, [defaultKey=0]) -> {get, set, held}
ui.color (name, [defaultRgba]) -> {get, set}
ui.button (name, fn)
Кнопка на модуле скрипта
ui.text (name, [default], [maxLength]) -> {get, set}
ui.screen (handlers) -> {open, close, is_open}
Собственный экран. Колбэки: on_render(mx,my), on_click(x,y,btn), on_release, on_scroll(x,y,delta), on_key(key,mods), on_char(ch), on_open, on_close. Поля: title, close_on_esc, blur_background, pauses_game
ui.close_screen ()
Закрывает экран этого скрипта, если он открыт
ui.screen_open () -> bool
storageKV-хранилище скрипта, сохраняется в облачный конфиг4
storage.get (key, [default])
storage.set (key, value)
storage.remove (key)
storage.flush ()
Принудительно сохранить облачный конфиг сейчас
auraДоступ к цели и углам поворота модуля AttackAura4
aura.enabled () -> bool
aura.has_target () -> bool
aura.target () -> Entity?
aura.rotation () -> { yaw, pitch }
utilУглы, интерполяция, расстояния, простые анимации9
util.wrap_degrees (deg) -> number
Приводит угол к диапазону -180..180
util.clamp (value, min, max) -> number
util.lerp (from, to, k) -> number
util.angle_diff (from, to) -> number
Кратчайшая разница углов с учётом перехода через ±180
util.rotation_to (x, y, z) -> yaw, pitch
Углы от глаз игрока на точку мира
util.distance (x1,y1,z1, x2,y2,z2) -> number
util.round (value, [digits=0]) -> number
util.saw ([periodMs=1000]) -> 0..1
Пила по времени — анимация без своего состояния
util.wave ([periodMs=1000]) -> -1..1