▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/InfinityPhone
InfinityPhone

InfinityPhone

Virtual Smartphones

Оцените первым
29
1

InfinityPhone

Immersive Smartphones for RolePlay Servers

A premium interactive communication system designed specifically for Minecraft RolePlay servers. Replace outdated chat commands with a sleek, modern graphical user interface that simulates a real smartphone directly in the game.

!BANNER

Developed with performance and immersion in mind by infunv studio.


📱 Key Features

  • Beautiful GUI — Clean and intuitive inventory-based phone interface. Navigate contacts, make calls, and send messages with simple clicks.
  • Real-Time Calls — Full call system with ringing, busy tone, accept/reject, and proper disconnection handling. Players receive real-time notifications.
  • SMS Messaging — Send and receive text messages with clear sender/receiver formatting.
  • Smart Phonebook — Add, edit, and delete contacts. Built-in Blacklist system with anti-duplicate protection.
  • Economy Integration — Full support for Vault. Set custom prices for calls and SMS — run your own in-game mobile carrier.
  • Premium Customization — Powered by Adventure API for gradients, RGB colors, and full visual branding to match your server style.

⚙️ Technical Highlights

  • Embedded SQLite Database — No MySQL required. Fast, reliable, and handles thousands of numbers and contacts with ease.
  • High Performance — Optimized for large RP servers with efficient event handling and safety checks.
  • Hot Reload — Reload configuration without restarting the server.

💻 Commands & Permissions

General Commands

  • /phone <give|version|reload> — Core management command (issue physical device, review build version, or hot-reload configurations).
  • /contact — View and edit the visual contact book.
  • /call [number|player] — Initiate an outgoing voice call line.
  • /quit — Terminate your active call connection.
  • /msg [message] — Send an SMS message to your target contact.
  • /accept — Pick up an incoming call.
  • /cancel — Reject or dismiss an incoming call.
  • /block [player] — Ban an account/number from reaching your phone.
  • /unblock [player] — Unban an account/number from your phonebook.

Access Node Configuration

  • User Node: Standard permission access allowing basic interactions, phonebook lookups, messaging, and dialing rules.
  • Admin Node: Advanced control suite allowing manual configuration adjustments, global prefix updates, and administrative inventory overrides.
  • Permission Node: infinityphones.admin

Prefix Token formatting

To output your assigned global plugin prefix anywhere within your custom configuration files, use the localized string placeholder format:

{prefix}

Example: {prefix} &7The plugin configuration files have been successfully hot-reloaded.


🚀 Installation

  1. Download the latest .jar and place it in your plugins/ folder.
  2. Restart the server to generate configuration files.
  3. Customize config.yml to fit your server's economy and style.

📄 Configuration Example

The plugin includes a well-commented config.yml with support for:

  • Custom gradient prefixes
  • Fully translatable messages
  • Economy settings (callCost, messageCost)
  • Custom menu titles and button lore

📄 Configuration File Example (config.yml)

prefix: <gradient:#8B0CFB:#908DC2>InfinityPhones</gradient> &7>>

messages:
  version:
  - '&7'
  - '&7Information about <gradient:#8B0CFB:#908DC2>{pluginname}</gradient>:'
  - '&7'
  - '&7Version: <gradient:#8B0CFB:#908DC2>{pluginversion}</gradient>'
  - '&7Authors: <gradient:#8B0CFB:#908DC2>{pluginauthors}</gradient>'
  - '&7'
  config-reloaded: '{prefix} &7Plugin reloaded successfully.'
  already-in-call: '{prefix} &cYou are already in a call. Please hang up first.'
  block-use: '{prefix} &7Usage: &e/block <number or nickname>'
  unblock-use: '{prefix} &7Usage: &e/unblock <number or nickname>'
  call-accepted: '{prefix} &e{playernick} &7accepted your call.'
  call-canceled: '{prefix} &7Call canceled.'
  click-to-copy: '{prefix} &d&oClick to copy'
  call-ended: '{prefix} &aCall ended.'
  call-not-answered: '{prefix} &cCall ended. The player did not answer.'
  call-you-not-answered: '{prefix} &cCall ended. You did not answer.'
  call-started: '{prefix} &aCall started with &e{number}&7.'
  call-start: '{prefix} &aCall started with &e{number}&7.'
  call-usage: '{prefix} &7Usage: &e/call <number>&7 or &e/call <contact name>'
  calling: '{prefix} &7Dialing &e{playernick}...'
  contact-added: '{prefix} &aContact ''{name}'' ({number}) added successfully!'
  contact-already-exists: '{prefix} &cA contact with number {number} already exists!'
  contact-myself: '{prefix} &cYou cannot add your own number to your contacts.'
  contact-deleted: '{prefix} &aContact deleted successfully!'
  contact-use: '{prefix} &7Usage: &e/contact <phone number>'
  contact-storage-full: '{prefix} &cYour phonebook is full. Cannot add more contacts.'
  debited-money: '{prefix} &a{money} &7has been charged from your account.' # Uses 1 placeholder: {money}
  incoming-call: " {prefix} &7Incoming call from &e{playernick}&7. \n{prefix} &7Use &e/accept&7 to answer or &e/cancel&7 to decline."
  line-busy: '{prefix} &cThe line is busy. Please try again later.'
  no-permission: '{prefix} &cYou do not have permission to execute this command.'
  no-phone: '{prefix} &cNo phone found in your inventory!'
  no-calling: '{prefix} &cYou do not have an active call.'
  no-money: '{prefix} &cInsufficient funds on your account!' # Does not require placeholders.
  not-in-call: '{prefix} &cYou are not in a call.'
  number-not-found: '{prefix} &cPhone number or contact not found.'
  only-players: '{prefix} &cThis command can only be executed by players.'
  messages-use: '{prefix} &7Usage: &e/msg <number> <message> &7or &e/msg <contact name> <message>'
  messages-format-target: '{prefix} &8[&e{number}&8] &b{playernick}&7: &e{message}'
  messages-format-sender: '{prefix} &bYou&7: &e{message}'
  messages-failed: '{prefix} &cFailed to deliver message to {number}.'
  messages-delivered: '{prefix} &7Message delivered to {number}.'
  phone-usage:
  - '&7'
  - '&7Usage:'
  - '&7'
  - '&e/phone give [player] &7- Give a phone to a specific player'
  - '&e/phone give &7- Give a phone to yourself'
  - '&e/phone version &7- View plugin version info'
  - '&e/phone reload &7- Reload plugin configuration'
  - '&7'
  phone-given: '{prefix} &7You received a phone.'
  phone-given-to-player: '{prefix} &aPhone successfully given to &e{playernick}&7.'
  phone-required: '{prefix} &cYou need a phone to perform this action.'
  player-already-blocked: '{prefix} &cPlayer with number &e{playernumber}&c is already blocked.'
  player-already-in-call: '{prefix} &cPlayer with number &e{number}&c is already in another call.'
  player-already-unblocked: '{prefix} &7Player with number &e{playernumber}&7 is already unblocked.'
  player-blocked: '{prefix} &7You have successfully blocked &e{playernick}&7.'
  player-not-found: '{prefix} &cPlayer with number &e{number}&7 was not found or is offline.'
  player-not-in-contacts: '{prefix} &7Player &e{playernick}&7 is not in your contacts.'
  player-number: '{prefix} &7Player number: ' 
  player-offline: '{prefix} &cPlayer went offline. Call disconnected.'
  player-unblocked: '{prefix} &7You have successfully unblocked &e{playernick}&7.'

menu:
  phone-title: Phone
  contact-title: Contacts
  detail-contact-title: '&bContact: &a{playernick}'
  button:
    call:
      title: '&aCall'
      lore:
      - '&7Click to open menu &e&o(LMB/RMB)'
    back:
      title: '&aBack'
      lore:
      - '&7Click to open menu &e&o(LMB/RMB)'
    block:
      title: '&cBlock'
      lore:
      - '&7Click to open menu &e&o(LMB/RMB)'
    unblock:
      title: '&eUnblock'
      lore:
      - '&7Click to open menu &e&o(LMB/RMB)'
    delete-contact:
      title: '&bDelete'
      lore:
      - '&7Click to open menu &e&o(LMB/RMB)'
    contact:
      title: '&eContacts'
      lore:
      - '&7Click to open menu &e&o(LMB/RMB)'
  lore:
    online: <green>Online</green>
    offline: '&cOffline'
    blocked: <red>Blocked</red>
    unblocked: '&aUnblocked'
    contacts:
      title: <yellow>{playernick}</yellow>
      lore:
      - '&7Number: &e{number}'
      - '&7Status: {playerstatus}'
      - '&7Blacklist: {numberblacklist}'
    detail-contact:
      title: '&bInformation'
      lore:
      - '&7Name: &e{playernick}'
      - '&7Number: &e{number}'
      - '&7Status: {playerstatus}'
      - '&7Blacklist: {numberblacklist}'
    profile:
      title: '&6{playernick}'
      lore:
      - '&7Number: &e{number}'
phone:
  title: '&bPhone'
  lore:
  - '&7Click to open menu &e&o(LMB/RMB)'

settings:
  economy:
    enabled: true # Enable or disable economy features (true/false)
    messageCost: 0.5 # Cost per 1 SMS message (use decimal points)
    callCost: 1.0 # Cost per 1 voice call (use decimal points)


📋 Requirements

  • Minecraft: 1.20.X
  • Server: Paper / Purpur (recommended), Spigot
  • Java: 17+
  • Dependencies: Vault (for economy)

👥 Credits & License

Developer: whitecristafer
Studio: infunv studio

© infunv studio — All Rights Reserved (ARR)

You are free to use the plugin on your servers.
Modification and redistribution of the source code is prohibited without explicit permission from the owner.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.20.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:
Опубликован:1 месяц назад
Обновлён:1 месяц назад
Главная