Перейти к содержимому

Gooseboy

Запускай игры и приложения прямо внутри Minecraft!

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
227
Подписчиков на Modrinth
8
версии
4
Обновлён
4 июня 20264 июн.
Опубликован
в 2025
Physics demo using Rapier2D — A full physics simulation running inside Gooseboy using the rust library Rapier2D. · свайп

Коротко о моде

Работает на Fabric
Для Minecraft 1.21.10
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.3.0 от 4 июня 2026
Лицензия GPL-3.0-or-later — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.21.10
Описание переведено автоматическиПоказать оригинал (EN)

Gooseboy

Крошечная игровая консоль внутри Minecraft

Available for Fabric Requires Fabric API Check out the gallery
Этот мод позволяет безопасно запускать скрипты WebAssembly внутри Minecraft на клиенте, что открывает возможность создавать игры, программы и всё, что душе угодно. > Примечание: скрипты в Gooseboy называются крейтами (crates) ## Возможности - Запуск игр и приложений внутри Minecraft с минимальным влиянием на производительность - Создание игр и приложений на Rust с помощью стандартной библиотеки - Управление разрешениями и хранилищем для каждого крейта отдельно - Поддержка воспроизведения любого аудио в крейтах без перезагрузки игры ## Разрешения По умолчанию каждый крейт имеет минимальные разрешения — только консоль и мышь. Вы можете изменить разрешения для каждого крейта, открыв его настройки. Полный список разрешений: - CONSOLE: позволяет крейту выводить сообщения в консоль. - AUDIO: позволяет крейту воспроизводить звуки и/или музыку, любое аудио. - INPUT_KEYBOARD: позволяет крейту знать, нажали ли вы клавишу. - INPUT_MOUSE: позволяет крейту знать, кликнули ли вы мышью. - INPUT_MOUSE_POS: позволяет крейту знать позицию вашей мыши, приведённую к области экрана. - INPUT_GRAB_MOUSE: позволяет крейту скрывать мышь и фиксировать её в центре - STORAGE_READ: позволяет крейту читать из своего хранилища. - STORAGE_WRITE: позволяет крейту записывать в своё хранилище. - GPU: позволяет крейту рендерить в 3D, только внутри своего фрейма. ### Безопасность Крейты запускаются с помощью Java-рантайма WASM Chicory. В целях безопасности крейты не могут: - получать доступ к состоянию Minecraft или изменять его (например, где находятся другие игроки в игре) - получать доступ к хранилищу других крейтов или изменять его - получать доступ к вашим файлам или изменять их - рендерить поверх мира - работать в фоне - считывать ввод с клавиатуры или мыши вне игры - использовать ваш интернет или связываться с каким-либо сервером - запускать Java-код Если вы нашли крейт, способный обойти эти ограничения, пожалуйста, сообщите об этом через GitHub. ## Как открыть меню крейтов Зайдите в игру и нажмите M. (при желании вы можете изменить привязку клавиши в настройках управления!) ## Где найти крейты Официальные примеры крейтов можно найти здесь ## Как добавить крейт Вы можете добавить крейты, переместив их в папку crates. Открыть папку crates можно из меню, нажав кнопку " Open crates folder location" внизу. ## Как создавать крейты Вы можете создавать крейты на любом языке, компилируемом в WebAssembly (WASI не поддерживается из соображений безопасности). Рекомендуемый язык — Rust, поэтому стандартная библиотека тоже написана на Rust. Пример крейта: ```rs #![no_main]

use gooseboy::framebuffer::{get_framebuffer_width, init_fb}; use gooseboy::text::{draw_text, get_text_width}; use gooseboy::{color::Color, framebuffer::clear_framebuffer};

// Every crate has to have a main function, make sure to decorate it // with gooseboy::main though, or else the crate won't start #[gooseboy::main] fn main() { // Initializes the framebuffer, you are required to initialize this // here if you plan to draw to the screen (which is very likely) init_fb(); }

// This is also required in every crate, the gooseboy::update is required // here too, this function runs X times per second where X is equal to your // maximum framerate in the options #[gooseboy::update] fn update(nano_time: i64) { // Clear out the screen, erasing everything that was there previously clear_framebuffer(Color::BLACK);

// Initialize the string we want to draw to the screen, You can also use Rust's // String type here, with the caveat of having to clone it at draw_text let text = "Hello, world!"; // Convert the time from nanoseconds to seconds let time_sec = nano_time as f64 / 1_000_000_000.0; // Get the position of the right corner and subtract the width of the text // to make the text fit into the screen, You can also use draw_text_wrapped // to automatically wrap text if it passes the end of the framebuffer let right_corner = (get_framebuffer_width() - get_text_width(text)) as f64; // Gets us an X position that smoothly moves from the left to the right using sine let x_pos = ((time_sec.sin() * 0.5 + 0.5) * (right_corner - 1.0)) as usize;

// Finally, draw the text with the red color (or use Color::new(r, g, b, a) or Color::new_opaque(r, g, b)) draw_text(x_pos, 0, text, Color::RED); }

## Участие в разработке
Хотите помочь улучшить Gooseboy? Мы рады вкладу! Стандартную библиотеку можно найти [здесь](https://github.com/awildergoose/gooseboy-rs), CLI — [здесь](https://github.com/awildergoose/cargo-gooseboy), а Java-мод — [здесь](https://github.com/awildergoose/gooseboy)!
<!--
whose a goose boy
:clueless:
-->

Частые вопросы

Как установить Gooseboy?

Установите Fabric под свою версию Minecraft, скачайте Gooseboy под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Gooseboy?

У Gooseboy есть сборки для Minecraft 1.21.10.

Нужен ли Gooseboy на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
GNU General Public License v3.0 or laterможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее