Skip to content

Automate permissions and execute edition-specific commands for Java and Bedrock players using Floodgate.

License

Notifications You must be signed in to change notification settings

MaboroshiKobo/Junction

Repository files navigation

Junction

Junction is a Floodgate addon for servers that are running Paper (and its forks). It allows administrators to automate permission assignments and execute edition-specific commands upon join and quit. This allows server admins to seamlessly manage the differences between editions, such as:

  • Assigning Bedrock-specific prefixes or permission groups.
  • Executing compensation commands automatically.
  • Granting access to simplified sell menus or GUIs.

Features

  • Automatically assigns Bedrock Edition players to specific permission groups via LuckPerms or Vault.
  • Execute console commands when players join or quit, with separate lists for Java and Bedrock editions.
  • Includes internal placeholders ({player}, {uuid}) and supports PlaceholderAPI.

Installation

  1. Ensure your server is running Java 21+ and Paper 1.21+ (or a fork).
  2. Install Floodgate (Required for Bedrock player detection).
  3. Download the latest release of Junction and place it in your plugins folder.
  4. Optional Dependencies:
  5. Restart your server.

Commands & Permissions

Command Permission Description
/junction None Displays plugin version info.
/junction reload junction.reload Reloads the configuration.
N/A junction.admin Receive update notifications.

Configuration

config.yml

# Should debug mode be enabled for detailed logs?
debug: false
# This module automatically assigns Bedrock Edition players to a specific group.
permissions:
  # Should this module be enabled?
  enabled: false
  # Which permission provider should be used?
  # Available options: LuckPerms, Vault
  provider: LuckPerms
  # Which permission group should players be assigned to?
  group: geyser
# This module automatically executes commands based on Minecraft editions.
# Available internal placeholders: {player}, {uuid}
# PlaceholderAPI support is enabled if installed.
commands:
  # Should this module be enabled?
  enabled: false
  # Commands specific to Java Edition players.
  java:
    # List of console commands to execute when a player joins.
    join:
    - say Java player {player} joined
    # List of console commands to execute when a player quits.
    quit:
    - say Java player {player} left
  # Commands specific to Bedrock Edition players.
  bedrock:
    # List of console commands to execute when a player joins.
    join:
    - say Bedrock player {player} joined
    # List of console commands to execute when a player quits.
    quit:
    - say Bedrock player {player} left

messages.yml

# Settings related to messages sent by the plugin.
messages:
  # Prefix for all messages sent by the plugin.
  prefix: <color:#00D4FF><bold>Junction</bold> ➟ </color>
  # Message displayed when the plugin is reloaded.
  reloadSuccess: Plugin configuration has been reloaded successfully.
  # Message displayed when the plugin fails to reload.
  reloadFail: <red>Failed to reload plugin configuration! Check console for errors.</red>
  # Message displayed when a new version of the plugin is available.
  updateAvailable: 'A new version is available! <gray>(Current: <red>{current_version}</red>
    | Latest: <green>{latest_version}</green>)</gray>'

Building

./gradlew build

The compiled JAR will be in build/libs/.

Support

For issues or questions, open an issue on GitHub.

About

Automate permissions and execute edition-specific commands for Java and Bedrock players using Floodgate.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages