MelodyPhone
A modern in-game smartphone with modular apps for your server
✨ What is MelodyPhone?
MelodyPhone brings a slick, phone-style UI to Minecraft with modular “apps” your players actually use. It’s fast, clean, multi-language, and built on a robust GUI/session system so inventories never get messed up.
Included Apps
- Discord — Show your community invite link, clickable in chat.
- GPS — Browse saved locations, set your compass target instantly.
- Contact — Call another player (with a Phone), accept by pressing Q. Timeouts and safeguards included.
- Groq (AI) — Chat with an AI (Groq/OpenAI-compatible API). History, safe async calls, and per-player sessions.
- Taxi — Players request a taxi; drivers with permission accept from a live dispatch GUI with paging and player heads.
- Spotify (Demo) — A simple “track” UI: click to play a sound; type stop in chat to stop. Prevents overlapping playback.
Highlights
- Beautiful, minimal GUIs (titleless windows, protected with fillers so players can’t move items).
- Strict session handling: player inventory is snapshotted, cleared, and fully restored after closing.
- MiniMessage & legacy color compatible; multi-language out of the box (en_US, es_ES, pt_BR, zh_CN).
- Modular app configs under plugins/MelodyPhone/apps/.
- Asynchronous network calls where needed (AI), with safe main-thread UI updates.
How to Use (Player Flow)
- Pack → https://github.com/HesamAhrarI/MelodyPhone/releases
- Open Phone → Tap an app icon.
- Discord → The plugin posts your invite link in chat as a clickable URL.
- GPS → Pick a location → your Compass targets it.
- Contact → You’ll be prompted to type a player name in chat (or cancel). The callee accepts by holding the Phone and pressing Q. Calls auto-timeout.
- Groq → Phone closes and the bot prompts: “Ask your question”. Type messages to chat; type exit to leave AI chat.
- Taxi → Regular players request; drivers open Taxi app to accept requests. Paging with Prev/Next, player heads to click.
- Spotify → Click the “Run On” track to play minecraft:run-on. Type stop to halt. Prevents overlapping tracks until the current one stops or expires.
⚙️ Commands
Code (Text):
/phone reload
/phone version
/phone get
/phone gps <addlocation|setname|seticon|removelocation>
Permissions
- melodyphone.taxi — allows a player to open the Taxi Dispatch GUI and accept rides.
️ Configuration
Code (YAML):
general:
language
:
"en_US"
discord:
link
:
"https://discord.gg/your-invite"
apps/groq.yml
general:
api-key
:
"YOUR_GROQ_API_KEY"
model
:
"llama-3.3-70b-versatile"
apps/spotify.yml
tracks:
minecraft:run-on:
duration-seconds
: 180
apps/gps.yml
gps:
locations:
- name
:
"Spawn"
icon
:
"COMPASS"
location
:
{ x
: 0, y
: 64, z
: 0
}
Localization (MiniMessage-ready)
Ships with:
- languages/en_US.yml
- languages/es_ES.yml
- languages/pt_BR.yml
- languages/zh_CN.yml
General:
Code (YAML):
general:
prefix
:
"<dark_gray>[<aqua>MelodyPhone</aqua>]</dark_gray>"
❓ FAQ
Q: Can players move items while the phone GUI is open?
A: No. The GUI is session-locked; player inventory is snapshotted, cleared, and restored on close.
Q: What stops two tracks playing at once in Spotify?
A: MelodyPhone prevents overlapping playback. A player must type
stop or wait until the configured duration ends before starting another track.
Q: Can players call themselves in Contact?
A: No—self-calls are explicitly blocked.
Q: Is the AI safe for the main thread?
A: Yes. All network calls are asynchronous; only UI and messages run on the main thread.
️ Install
- Drop the jar into /plugins and restart.
- Set your language in config.yml (default: en_US).
- (Optional) Add your Discord invite and Groq API key in apps/*.yml.
- Give drivers the permission melodyphone.taxi.
️ ComingSoon
- MTVehicles API for Taxi system!
- Change Mobile Texture.