MapBrowser
A powerful plugin that brings the power of a modern web browser into Minecraft using maps and the JCEF.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
MapBrowser
MapBrowser
A powerful Spigot/Paper plugin that brings a modern web browser into Minecraft using maps and the Java Chromium Embedded Framework (JCEF). Interact with any website, watch videos, and even play Minecraft in Minecraft!
---
✨ Features
* Highly Configurable: Create interactive browser screens of any size, anywhere in your world. * Highly Configurable: Powered by the Chromium engine, it renders modern websites with full CSS and JavaScript support. * Highly Configurable: Click, type, and send key presses (like Enter, Shift) to interact with web pages just like a real browser. * Highly Configurable: Toggle Chromium DevTools in real-time to debug web layouts and performance on the fly. * Highly Configurable: Enable remote debugging, set a custom user agent, change user data paths, and add custom CEF arguments via `config.yml`.
---
❗ Dependencies
This plugin requires the requires API to function. Please install it on your server before installing MapBrowser.
---
⚙️ Installation
1. Download and install **MapEngine** on your server. 2. Download the latest `MapBrowser-*-all.jar` from the **Releases Page** or the "Versions" tab. 3. Place the downloaded `.jar` file into your server's `plugins` directory. 4. Restart your server.
⚠️ Important First-Time Setup: On its first launch, MapBrowser will automatically download the necessary Chromium Embedded Framework (JCEF) binaries. This process can take several minutes and requires a stable internet connection. Please monitor your console for progress.
---
📜 Commands & Permissions
| Command | Description | Usage | Permission | |-----------------|--------------------------------------------------------------------------|-------------------------------------------------|--------------------------------| | `/mb create` | Creates a new browser screen at the specified location. | `/mb create <x> <y> <z> <url> [width] [height]` | `mapbrowser.command.create` | | `/mb list` | Lists all currently active browser screens. | `/mb list` | `mapbrowser.command.list` | | `/mb remove` | Removes a specified browser screen. | `/mb remove <id>` | `mapbrowser.command.remove` | | `/mb modify` | Modifies the properties of an existing screen. | `/mb modify <id> <prop> [values...]` | `mapbrowser.command.modify` | | `├ url` | Changes the URL loaded by the screen. | `/mb modify <id> url <new_url>` | | | `├ devtools` | Toggles the developer tools on or off. | `/mb modify <id> devtools <on|off>` | | | `├ pos` | Moves the browser screen. | `/mb modify <id> pos <x> <y> <z>` | | | `├ size` | Changes the size of the browser screen. | `/mb modify <id> size <width> <height>` | | | `└ refresh` | Refreshes the browser page. | `/mb modify <id> refresh` | | | `└ scale` | Setting the scale of browser page. | `/mb modify <id> scale <newScale>` | | | `/mb input` | Sends text input to the specified screen. | `/mb input <id> <text...>` | `mapbrowser.command.input` | | `/mb keys` | Sends a key event to the specified screen. | `/mb keys <id> <key> <action>` | `mapbrowser.command.keys` | | `/mb executeJs` | Executes custom JS code or a JS snippet in the specified browser screen. | `/mb executeJs <id> <jsCode|snippet.js>` | `mapbrowser.command.executejs` | | `/mb near` | Lists the ID of the nearest browser screen. | `/mb near` | `mapbrowser.command.near` |
🔧 Configuration (config.yml)
The configuration file is generated at `plugins/MapBrowser/config.yml` on the first run.
```yaml
--------------------------------------------------- #
MapBrowser Configuration #
--------------------------------------------------- #
jcef:
Your custom JCEF binaries path (leave blank to disable)
Default: (plugins)/MapBrowser/jcef-bundle
custom-install-path: ""
Custom jcef-maven download mirror (for custom-builds)
mirror: "https://github.com/Steve3184/mb_jcefbuild/releases/download/v1/"
Should jcef-maven check the JCEF binaries at startup?
skip-download: false
browser:
Should we enable the sound (default is false)
enable-sound: false
CEF's user data directory
Default: (plugins)/MapBrowser/userdata
user-data-dir: "userdata"
CEF's remote debugging
remote-debugging: enabled: false
Should we enable it? (default is false)
port: 9222
Remote Debugging Port (default is 9222)
CEF's User-Agent
user-agent: ""
Where should CEF output the log
'file' -> write to (plugins)/MapBrowser/cef.log
'console' -> write to console
chrome-log-output: "file"
Extra CEF startup args
custom-chrome-args: - "--disable-gpu-compositing" - "--disable-gpu-vsync" ```
---
🔗 Links & Credits
* CinemaMod: CinemaMod * CinemaMod: `GNU AGPL v3` * CinemaMod: * CinemaMod for the powerful %%MD1%% library. * CinemaMod for their pre-built %%MD2%% which greatly simplify development.