A Control Panel for Minecraft (and other games)! Using Python and HTML.
Turn your mostly useless iPad 4 or Galaxy Tab 4 into a useful Control Panel for your favorite games, all customizable with little to no knowledge of code!
ChatGPT helped but didn't write the code.
| Hardware | Operating System | Python Version |
|---|---|---|
| Dell Inspiron 15 5559 | Windows 10 Pro/Home 22H2 | Python 3.14.2 |
| Dell Inspiron 15 5559 | Ubuntu 24.04 LTS | Python 3.12.3 |
| Hardware | Operating System | Web Browser |
|---|---|---|
| Dell Inspiron 15 5559 | Windows 10 Pro/Home 22H2 | Chrome/Edge/Firefox |
| iPad 4 | iOS 10.3.4 | Safari |
| realme Note 50 | Android 13/14/15 | Chrome/Firefox |
- This might be banned on some servers as it is macro-like. Only use on Singleplayer worlds or servers where you have permission
- Tested on Minecraft Java Edition.
Captured on iPad 4 preset in a browser (such as Microsoft Edge)
Core commands and tools:
Fun, management commands:
All buttons contain a command where a press of the button inputs that command into the input field.
They work anywhere and allow you to easily input long commands without having to go to the internet and copy one and paste it again or memorizing the entire command.
These are a special type of buttons that stay activated once you press them and deactivate when you press them again.
They work anywhere and allow you to, for example
- Walk without holding down the walk key (usually W).
- Mine a Cobblestone Generator automatically.
- Jump automatically to avoid being kicked out due to inactivity.
The keys are based on the QWERTY keyboard layout and default Minecraft Keybinds, if you use AZERTY, DVORAK or/and custom keybinds, you must change the keys manually in the server.py file.
You have to use X11 for this app to work. Wayland doesn't allow apps to control/see:
- Keyboard
- Mouse
- Screen
So check your window manager by running echo $XDG_SESSION_TYPE. If that command says "x11", you're in the clear; if it says "wayland", search up how to change to X11 by searching "How to switch to Xorg on (your distribution name}"
This guide assumes you have basic knowledge of installers and the Windows/Linux Terminal.
- Python >3.12.2
- Flask
- Flask-CORS
- Flask-SocketIO
- PyAutoGUI
Install Python and make sure to check the "Add Python to PATH" during installation
Python should be installed automatically on many distributions. To check, open your terminal and run python --ver or python3 --ver
If it's not installed, search up how to install Python by searching "How to install Python in {your distribution name}"
Open the Terminal and enter the following commands to install dependencies:
pip install flaskpip install flask-corspip install pyautoguipip install flask-socketio
pip install flask --break-system-packagespip install flask-cors --break-system-packagespip install pyautogui --break-system-packagespip install flask-socketio --break-system-packages
(This should install into your home directory, so don't run it as root)
Run the Python file. It should give two addresses where you can connect to the server. On your tablet, type one of these into the address bar
127.0.0.1:5000(Only on same machine so it's useless)localhost:5000(Useful if you don't know your local IP address)192.168.xxx.xxx:5000(Replace with your local IP address)
On your computer, open Minecraft and go into a world and press one of the buttons on your tablet, and it should type the command and execute it automatically!
You can customize commands, but make sure that the HTML and Python codes match exactly (case sensitive)—otherwise it won't work!
-
Add new buttons by copying the previous '
<button>' and pasting them in the next line in the/static/panel.htmlfile. -
Add new commands in the Python dictionary by adding a comma to the previous line after the " (or ') and adding a new
"name":'command'
If the command that you want to execute has quotes (" or '). You have to use the opposite type in the Python dictionary.
For example:
-
If your command has double-quotes:
"name": 'command("args")' -
If it has single-quotes:
"name": "command('args')"
This prevents Python from misinterpreting the code and refusing to run.