CustomJoinItems icon

CustomJoinItems -----

CustomJoinItems is a plugin for Paper/Spigot 1.21.5+ that gives custom items to players on join, dea



✨ CustomJoinItems v1.1 – Full Update for 1.21.6+
CustomJoinItems is a lightweight and powerful plugin built for Paper/Spigot 1.21.6+. It gives players custom items when they join or respawn, with full PlaceholderAPI support and several utility features designed for lobbies and hubs.

✅ What's New in This Version
New Teleport Bow
Shoot an arrow and teleport exactly where it lands! The arrow is automatically placed outside the hotbar (slot 35).

‍♂️ Visibility Toggle Item (ON/OFF)
Toggle player visibility in the lobby with a single click. The item dynamically changes color (green/red) based on the state.

⚙️ Full PlaceholderAPI Support
Use placeholders in item names, lores, and commands with seamless integration.

Per-Item Command or BungeeCord Redirection
You can define either a command or a server to send the player to per item.

Debug Mode
Enable it via config.yml to help debug item interactions, events, and command executions.

Give Items on Death
Items can also be given on player death — fully configurable.

Optional MySQL Support
Enable MySQL integration from config.yml to store player data.

Double Jump & Jump Pads
Enabled via permissions and customizable through config.yml.

.nbs Music Support (NoteBlockAPI)
Automatically plays songs from the /songs folder on server start using NoteBlockAPI.

⚙️ General Features
  • Give players custom items on join and respawn.

  • Full PlaceholderAPI integration for dynamic content.

  • Execute commands or teleport to BungeeCord/Velocity servers.

  • Full control over item slots, including off-hotbar support (e.g., slot 35).

  • Player visibility toggle with dynamic ON/OFF item.

  • Teleport Bow with optional arrow delivery.

  • Debugging tools for developers and admins.

  • Automatically assign PLAYER_HEAD items with player skins.

  • Music playback using NoteBlockAPI and .nbs files.
Installation
1️⃣ Drop CustomJoinItems-1.1.jar into your /plugins folder.
2️⃣ Install PlaceholderAPI (required for placeholder support).
3️⃣ Restart your server or run /customjoinitems reload.
4️⃣ Configure config.yml to suit your needs.
5️⃣ You're all set! Enjoy the most complete join item system for your hub.

Commands
  • /customjoinitems reload – Reload the plugin configuration.
Permissions
  • customjoinitems.menu – Grants the menu item.

  • customjoinitems.perfil – Grants the profile item.

  • customjoinitems.doublejump – Enables double jump.

  • customjoinitems.jumppad – Enables use of jump pads.

  • customjoinitems.teleportbow – Grants access to teleport bow.
Requirements & Dependencies
  • ✅ Paper or Spigot server version 1.21.5 or higher.

  • PlaceholderAPI (recommended).

  • ⚠️ NoteBlockAPI (optional – for music playback via .nbs files).

  • BungeeCord & Velocity compatible (via configurable commands).
Technical Notes
  • If an item has both command and server defined, command has priority.

  • When using PLAYER_HEAD, the item automatically shows the player's skin.

  • You can assign items to any inventory slot, including slot 35 (outside the hotbar).

  • Double jump and jump pad functionality is fully permission-based and customizable.


    Code (YAML):
    # ✅ Enable or disable debug mode. If true, useful messages will be shown in console.
    debug
    : false

    # Custom music settings
    music
    :
      # Link to a video or song that will be shown in chat when the player joins (e.g., a YouTube video)
      link
    : "https://youtu.be/TuLinkDeEjemplo"

      # If enabled, the song will play automatically when the server starts
      autoPlayOnStart
    : true

      # List of sound notes to be played at the start. Each entry has:
      # - delay: time in ticks (20 ticks = 1 second)
      # - sound: a valid sound like BLOCK_NOTE_BLOCK_*
      # - pitch: pitch of the note
      notes
    :
        - { delay
    : 0,  sound : BLOCK_NOTE_BLOCK_BASS,   pitch : 0.5 }
        - { delay
    : 4,  sound : BLOCK_NOTE_BLOCK_BELL,   pitch : 1.0 }
        - { delay
    : 8,  sound : BLOCK_NOTE_BLOCK_HAT,    pitch : 1.2 }
        - { delay
    : 12, sound : BLOCK_NOTE_BLOCK_GUITAR, pitch : 0.8 }
        - { delay
    : 16, sound : BLOCK_NOTE_BLOCK_PLING,  pitch : 1.5 }

    # Sound when changing slots in the hotbar
    hotbar-switch
    :
      enabled
    : true             # true to enable the effect
      sound
    : BLOCK_NOTE_BLOCK_BIT
      volume
    : 1.0
      pitch
    : 1.0

    # Worlds where items will be automatically given to players
    allowed-worlds
    :
     - Lobby

    # List of item identifiers that will be given to the player. Referenced below in item-settings.
    items
    :
     - menu
      - perfil
      - Coleccionables
      - visibility_toggle

    # Individual item configuration
    item-settings
    :
      menu
    :
        enabled
    : true
        material
    : COMPASS
        name
    : "<dark_aqua><bold>Game Menu</bold> <white>(Right Click)"
        lore
    :
         - "<gold>▸ <white>Explore all our game modes and events"
          - "<aqua><italic>Right click to open the menu!</italic>"
        slot
    : 0
        permission
    : "customjoinitems.menu"
        command
    : "menu_bb"
        worlds
    :
         - Lobby

      Coleccionables
    :
        enabled
    : true
        material
    : CLOCK
        name
    : "<green><bold>Collectibles</bold> <gray>(Right Click)"
        lore
    :
          - "<gold>Mystery Dust
    : <white> {mystery_dust } "
          - "
    <white><italic>Discover unique cosmetics!</italic> "
        slot: 8
        permission: "
    customjoinitems.perfil "
        command: "
    gm 3 "
        worlds:
          - Lobby

      perfil:
        enabled: false
        material: PLAYER_HEAD    # Automatically gives the player's head
        name: "
    <green><bold>My Profile</bold> <white> (Right Click ) "
        lore:
          - "
    <gold>▸ <white>Check your stats and achievements "
        slot: 1
        permission: "
    customjoinitems.perfil "
        command: "
    gm 3 "
        worlds:
          - Lobby

      visibility_toggle:
        enabled: false
        slot: 7
        permission: "
    customjoinitems.visibility "
        visible:        # Item shown when players are visible
          material: LIME_DYE
          name: "
    <red>Hide Players "
          lore:
            - "
    <gray>Click to hide other players. "
        hidden:         # Item shown when players are hidden
          material: RED_DYE
          name: "
    <green>Show Players "
          lore:
            - "
    <gray>Click to show players again. "
        worlds:
          - Lobby

      Lobby:
        enabled: true
        material: RED_BED
        name: "
    <red>Return to Lobby <gray> (Right Click ) "
        lore:
          - "
    <gray>Right click to return to the lobby "
        slot: 8
        permission: "
    customjoinitems.perfil "
        server: "
    lobby "    # If no "command " is set, this item will send the player to a server
        worlds:
          - Lobby

    # Teleport Bow – teleports the player where the arrow lands
    teleport-bow:
      enabled: true
      slot: 4
      material: BOW
      name: "
    <light_purple><bold>Teleport Bow</bold> <white> (Right Click ) "
      lore:
        - "
    <gray>Shoot to teleport. "
      give-arrow: true            # If true, gives an arrow automatically
      arrow-slot: 35              # Inventory slot for the arrow (outside hotbar)
      cooldown: 2                 # Cooldown in seconds
      cooldown-message: "
    <gray> [<gold>Code</gold> ] Wait <white> %seconds%</white>s to use the bow again."
      cooldown-sound
    : BLOCK_NOTE_BLOCK_BASS
      cooldown-particle
    : SMOKE
      shoot-sound
    : ENTITY_ARROW_SHOOT
      shoot-particle
    : CRIT
      hit-sound
    : ENTITY_ENDERMAN_TELEPORT
      hit-particle
    : PORTAL
      worlds
    :
       - Lobby

    # Jump Pad – launches player when stepping on a block
    jump-pad
    :
      enabled
    : true
      permission
    : "customjoinitems.jumppad"
      cooldown
    : 5
      sound
    : BLOCK_AMETHYST_BLOCK_CHIME
      particle
    : SPELL_INSTANT
      vertical_multiplier
    : 1.0
      forward_multiplier
    : 4.1

    # Double Jump – allows a second jump mid-air
    double-jump
    :
      enabled
    : true
      permission
    : "customjoinitems.doublejump"
      cooldown
    : 10
      sound
    : BLOCK_AMETHYST_BLOCK_CHIME
      particle
    : CLOUD
      vertical_multiplier
    : 1.2
      forward_multiplier
    : 2.1

    # Database configuration (MySQL)
    database
    :
      enabled
    : false
      host
    : "localhost"
      port
    : "3306"
      name
    : "minecraft"
      user
    : "root"
      password
    : "password"

    # Whether to give items on death (true = yes, false = only on join)
    give-items-on-death
    : true

    # Customizable messages sent to players
    messages
    :
      visibility-on
    : "<green>You can now see all players."
      visibility-off
    : "<red>You have hidden all players."
      protection-enabled
    : "<green>Item protection enabled."
      protection-disabled
    : "<red>Item protection disabled."
      protection-no-permission
    : "<red>You don't have permission to use this command."
      protection-usage
    : "<yellow>Usage: /cji toggle"

    # Item protection toggle – /cji toggle command config
    cji
    :
      protection
    :
        permission
    : "customjoinitems.admin"
        cooldown
    : 5
        sound
    : ENTITY_EXPERIENCE_ORB_PICKUP
        particle
    : CLOUD

    # Custom command aliases
    commands
    :
      visibility
    : "visibility"
      aliases
    :
        leave
    : "bb leave"

    # ⚠️ Do not modify this structure unless you know what you're doing!
     
Resource Information
Author:
----------
Total Downloads: 419
First Release: Jun 1, 2025
Last Update: Jun 23, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings