ItemJoin

Bukkit ItemJoin v5.0.3

Minecraft Version(s)
1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13
Native Minecraft Version(s):
1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13
Contributors:
SlimeDog,piggalotgaming,XYBlue,Siuan,TheColdEmerald, Kubson_19, Moemilords,
Askarion, momoservertw
Donations:
https://www.paypal.me/RockinChaos
Having issues with ItemJoin?
Please see our Resolution Center to resolve your problem.
This plugin allows you to give players customizable items on join. This is a multiple purpose plugin from either giving items to players on Hub, Minigame servers or giving players items on regular servers such as Survival, Factions, Skyblock, and other servers that are not Hub or Minigames based. You can define an infinite amount of items and worlds! You can give players items on join, no matter if they were new or if they stored the item. Although if they already have the item in their inventory they will not receive a duplicate. You also have the option of setting items to only be given on first-join or first-world, the first time you enter a certain world. ItemJoin has extreme customization from what it once was, and has grown way beyond my expectations. Thank you guys for your continued support, if you wish to have a feature implemented please request a feature on Github! If you want to say thanks the best way is to support us by donating.





You can use this plugin with Chest Commands GUI, BossShop, DeluxeMenu's, or even CustomGUI that allows you to create menus made of items, and you can use ItemJoin to execute commands such as making a compass to warp you to specific locations. There is no real limitation to how ItemJoin can interact with other plugins, as long as the plugins have a command to execute their objectives such as /menu, then ItemJoin can use that on an item.


ItemJoin is unique because it has extreme functionality, it is also currently the only plugin out there that gives you an item of your choice per world! What do I mean by per world? I can set it so in the world named Pandora, it will give me a diamond sword and then in world Pandora_nether it will give me a minecart on login, respawn, or world switch! There is no limit to a number of items or worlds you can define! If the world is not defined you will not be given items in that world however, items will transfer worlds unless you have ItemJoin hooked into Multiverse-Inventories or set ItemJoin items to clear upon switching worlds in the config.yml. ItemJoin is currently the only plugin that has an active developer always adding new features and is up to date with working per world functionality and support for offhand items as well as future items. Other plugins are either out of date, inactive developer, missing features, or the per world support does not work at all! ItemJoin was built on the idea of resolving these problems, to become the ultimate custom items on join plugin!




  • Supports Minecraft 1.7 - 1.13.
  • Supports the animating of an items name, lore, material type, and skull skins.
  • Items on Join.
  • Items on Respawn.
  • Items on World Change.
  • Items on Gamemode Change.
  • Items on WorldGuard Region Enter.
  • Items on WorldGuard Region Leave.
  • Global commands to be executed on join.
  • Set each individual item to be given either every time or every first join, or even limit the items to a user's ip!
  • Multiple slots for each item.
  • Allow or deny overwriting current items in your inventory.
  • If a player already owns the item, it does not give a duplicate.
  • All items are Unique and cannot be crafted or re-named to!
  • Failed number of items to be given will be displayed.
  • Custom potion-effects to all types of potion bottles.
  • Custom potion-effects on consuming of golden apples, both Notch, and regular golden apples.
  • Prevent items from being spammed.
  • Set items to be limited to a specific gamemode.
  • Items commands can be executed either by clicking them in your inventory or interacting with them via right click and left click.
  • Each individual item supports separate commands.
  • Set cooldowns for each command.
  • Set custom cooldown messages for each command.
  • Set custom economy to charge for each command.
  • Left and right click to perform different commands.
  • Define what actions you want to use to execute your commands, left click, right click, physical, and/or inventory click.
  • Define multiple command instances. These execute the commands as the following; console, player, message, or server.
  • Switch servers using BungeeCord.
  • Get any item with a simple command.
  • Remove any item with a simple command.
  • Play sounds when executing commands.
  • Clear all items or clear only ItemJoin items upon joining and/or changing worlds.
  • Add any enchantment and level to any item.
  • Set a players skin to a skull item.
  • Global Items
  • Custom Tipped Arrow Items.
  • Custom Book Items.
  • Custom Banner Items.
  • Custom Firework Items.
  • Custom Map Items.
  • Custom Skull Items.
  • Custom Offhand Items.
  • Dyed leather items.
  • Hide item attributes.
  • Prevent moving items.
  • Prevent the placement of items.
  • Prevent the storing of items.
  • Prevent self-drops.
  • Prevent death-drops.
  • Prevent all item pickups.
  • Lock the count/amount of the item in your inventory, infinite uses.
  • Cancel certain events.
  • Multiple languages.
  • Toggle on/off CheckforUpdates.
  • Automatic Update Command.
  • Supports item info checking.
  • Supports Editing the config(s) and reload it while in game.
  • Supports first-join commands.
  • Supports dynamically updating items when a placeholder is changed.
  • Supports adding a probability of receiving an item, a random chance.
  • Supports giving default vanilla unmodified items to players.
    Supports item-usage cooldowns.
  • Supports giving certain item upon a players first-join.
  • Supports giving certain item upon a players first-world.
  • Allows the limitation of items to specific players IP-Address, preventing players from receiving multiple items by having multiple characters.
  • Supports custom head textures.
  • Supports data-values.
  • Supports variables.
  • Supports Armor Slots.
  • Supports JSON Books.
  • Supports Vault.
  • Supports Multiverse-Core.
  • Supports Multiverse-Inventories.
  • Supports PerWorldInventory.
  • Supports PerWorldPlugins.
  • Supports AuthMe.
  • Supports WorldGuard.
  • Supports MyWorlds.
  • Supports xInventories.
  • Supports TokenEnchant.
  • Supports HeadDatabase.
  • Supports BetterNick.
  • Supports PlaceholderAPI, see the valid placeholders.
  • The number of features is limitless and its thanks to all of you supporting ItemJoin.


Commands
You can either use /ItemJoin or /IJ to execute a command.
Code:
   itemjoin:
      description: Displays a menu giving credit to the creator and the help menu command.
      permission: itemjoin.use
      usage: |
          /itemjoin
   itemjoin help:
      description: Displays the first page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help
   itemjoin help 2:
      description: Displays the second page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help 2
   itemjoin help 3:
      description: Displays the third page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help 3
   itemjoin help 4:
      description: Displays the fourth page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help 4
   itemjoin help 5:
      description: Displays the fifth page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help 5
   itemjoin help 6:
      description: Displays the sixth page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help 6
   itemjoin help 7:
      description: Displays the seventh page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help 7
   itemjoin help 8:
      description: Displays the eighth page of the available help menu.
      permission: itemjoin.use
      usage: |
          /itemjoin help 8
   itemjoin reload:
      description: Reloads all ItemJoins configuration files and caches any new data.
      permission: itemjoin.reload
      usage: |
          /itemjoin reload
   itemjoin creator:
      description: Opens a GUI Menu to allow the view, modification, and creation of all ItemJoin items.
      permission: itemjoin.creator
      usage: |
          /itemjoin creator
   itemjoin info:
      description: Displays necessary held items information, such as material type.
      permission: itemjoin.use
      usage: |
          /itemjoin info
   itemjoin updates:
      description: Checks for updates that are available for the plugin.
      permission: itemjoin.updates
      usage: |
          /itemjoin updates
   itemjoin permissions:
      description: Checks what permissions you have for ItemJoin.
      permission: itemjoin.permissions
      usage: |
          /itemjoin permissions
   itemjoin permissions 2:
      description: Second page of checking what permissions you have for ItemJoin.
      permission: itemjoin.permissions
      usage: |
          /itemjoin permissions 2
   itemjoin save <item>:
      description: Saves the specified item to the items.yml.
      permission: itemjoin.save
      usage: |
          /itemjoin save <item>
          Example: /itemjoin save special-item - You have saved the item [special-item] to the items.yml.
   itemjoin get <item>:
      description: Gives you the item you specified.
      permission: itemjoin.get
      usage: |
          /itemjoin get <item>
          Example: /itemjoin get Ultra - You have received the item [Ultra]!
   itemjoin get <item> <amount>:
      description: Gives you the item and the amount you specified.
      permission: itemjoin.get
      usage: |
          /itemjoin get <item> <amount>
          Example: /itemjoin get Ultra 12 - You have received the item [Ultra]!
   itemjoin get <item> <player>:
      description: Gives the item you specified to the player.
      permission: itemjoin.get.others
      usage: |
          /itemjoin get <item> <player>
          Example: /itemjoin get Ultra RockinChaos - You have given the item [Ultra] to RockinChaos!
   itemjoin get <item> <player> <amount>:
      description: Gives the amount of the item you specified to the player.
      permission: itemjoin.get.others
      usage: |
          /itemjoin get <item> <player> <amount>
          Example: /itemjoin get Ultra RockinChaos 8 - You have given the item [Ultra] to RockinChaos!
   itemjoin getOnline <item>:
      description: Gives the item you specified to all online players of the server.
      permission: itemjoin.get.others
      usage: |
          /itemjoin getOnline <item>
          Example: /itemjoin getOnline Ultra - You have given the item [Ultra] to RockinChaos!
   itemjoin remove <item>:
      description: Removes the item you specified from your inventory.
      permission: itemjoin.remove
      usage: |
          /itemjoin remove <item>
          Example: /itemjoin remove Ultra - You have removed the item [Ultra] from your inventory!
   itemjoin remove <item> <player>:
      description: Removes the item you specified to the player.
      permission: itemjoin.remove.others
      usage: |
          /itemjoin remove <item> <player>
          Example: /itemjoin remove Ultra RockinChaos - You have removed the item [Ultra] from RockinChaos!
   itemjoin removeOnline <item>:
      description: Removes the item you specified from all online players of the server.
      permission: itemjoin.remove.others
      usage: |
          /itemjoin removeOnline <item>
          Example: /itemjoin removeOnline Ultra - You have removed the item [Ultra] from RockinChaos!
   itemjoin enable:
      description: Enables the use of ItemJoin for all players globally.
      permission: itemjoin.enable
      usage: |
          /itemjoin enable
          Example: /itemjoin enable - You have globally enabled ItemJoin.
   itemjoin enable <player>:
      description: Enables the use of ItemJoin for the specified player.
      permission: itemjoin.enable.others
      usage: |
          /itemjoin enable <player>
          Example: /itemjoin enable RockinChaos - You have enabled ItemJoin for RockinChaos!
   itemjoin disable:
      description: Disables the use of ItemJoin for all players globally.
      permission: itemjoin.disable
      usage: |
          /itemjoin disable
          Example: /itemjoin disable - You have globally disabled ItemJoin.
   itemjoin disable <player>:
      description: Disables the use of ItemJoin for the specified player.
      permission: itemjoin.disable.others
      usage: |
          /itemjoin disable <player>
          Example: /itemjoin disable RockinChaos - You have disabled ItemJoin for RockinChaos!
   itemjoin getall:
      description: Gives you all ItemJoin items.
      permission: itemjoin.get
      usage: |
          /itemjoin getall
           Example: /itemjoin getall - You have received all of the ItemJoin items.
   itemjoin getall <player>:
      description: Gives the player all ItemJoin items.
      permission: itemjoin.get.others
      usage: |
          /itemjoin getall <player>
          Example: /itemjoin getall RockinChaos - You have given RockinChaos all of the ItemJoin items that are available.
   itemjoin removeall:
      description: Removes all ItemJoin items from your inventory.
      permission: itemjoin.remove
      usage: |
          /itemjoin removeall
          Example: /itemjoin removeall - You have removed all of the ItemJoin items from your inventory.
   itemjoin removeall <player>:
      description: Removes all ItemJoin items from the player's inventory.
      permission: itemjoin.remove.others
      usage: |
          /itemjoin removeall <player>
          Example: /itemjoin removeall RockinChaos - You have removed all of the ItemJoin items from RockinChaos.
   itemjoin world:
      description: Checks what world you are in, useful for debugging purposes.
      permission: itemjoin.use
      usage: |
          /itemjoin world
   itemjoin list:
      description: Checks what items you can get in each available world.
      permission: itemjoin.list
      usage: |
          /itemjoin list
   itemjoin autoupdate:
      description: Force updates ItemJoin, will require a server restart.
      permission: itemjoin.autoupdate
      usage: |
          /itemjoin autoupdate
   itemjoin purge:
      description: This will purge all data from the database file, removing all first-join players, ip-limited players, enabled/disabled players, and all other player data.
      permission: itemjoin.purge
      usage: |
          /itemjoin purge
   itemjoin purge first-join <player>:
      description: This will purge all first-join data for the said player from the database file.
      permission: itemjoin.purge
      usage: |
          /itemjoin purge first-join <player>
   itemjoin purge first-world <player>:
      description: This will purge all first-world data for the said player from the database file.
      permission: itemjoin.purge
      usage: |
          /itemjoin purge first-world <player>
   itemjoin purge ip-limits <player>:
      description: This will purge all ip-limits data for the said player from the database file.
      permission: itemjoin.purge
      usage: |
          /itemjoin purge ip-limits <player>


Permissions
Please note; permissions are case sensitive, including the world names!
Code:
   itemjoin.*:
      description: Allows use of all commands.
      default: false
      children:
          itemjoin.all: true
   itemjoin.all:
      description: Allows use of all commands.
      default: false
      children:
          itemjoin.permissions: true
          itemjoin.use: true
          itemjoin.reload: true
          itemjoin.creator: true
          itemjoin.updates: true
          itemjoin.autoupdate: true
          itemjoin.purge: true
          itemjoin.save: true
          itemjoin.get: true
          itemjoin.get.others: true
          itemjoin.remove: true
          itemjoin.remove.others: true
          itemjoin.enable: true
          itemjoin.enable.others: true
          itemjoin.disable: true
          itemjoin.disable.others: true
          itemjoin.list: true
          itemjoin.bypass.inventorymodify: false
   itemjoin.permissions:
      description: Use of the /itemjoin permissions commands.
      default: true
   itemjoin.use:
      description: Currently allows use of basic commands.
      default: true
   itemjoin.reload:
      description: Allows use of /itemjoin reload command.
      default: false
   itemjoin.creator:
      description: Allows use of /itemjoin creator command.
      default: false
   itemjoin.updates:
      description: Use of the /itemjoin updates command.
      default: false
   itemjoin.autoupdate:
      description: Use of the /itemjoin autoupdate command.
      default: false
   itemjoin.purge:
      description: Use of the /itemjoin purge command.
      default: false
   itemjoin.save:
      description: Use of the /itemjoin save <item> command.
      default: false
   itemjoin.get:
      description: Use of the /itemjoin get <item> command.
      default: false
   itemjoin.get.others:
      description: Use of the /itemjoin get <item> <player> for player command.
      default: false
   itemjoin.remove:
      description: Use of the /itemjoin remove <item> command.
      default: false
   itemjoin.remove.others:
      description: Use of the /itemjoin remove <item> <player> for player command.
      default: false
   itemjoin.enable:
      description: Use of the /itemjoin enable global command.
      default: false
   itemjoin.enable.others:
      description: Use of the /itemjoin enable <player> for player command.
      default: false
   itemjoin.disable:
      description: Use of the /itemjoin disable global command.
      default: false
   itemjoin.disable.others:
      description: Use of the /itemjoin disable <player> for player command.
      default: false
   itemjoin.list:
      description: Use of the /itemjoin list command.
      default: false
   itemjoin.bypass.inventorymodify:
      description: Players will this permission will bypass any effect that the inventory modify flag has.
      default: false


Item Permissions
These are the permission(s) required for players who are not a server administrator to receive the item(s).
Please note; permissions are case sensitive, including the world names! Sometimes certain permissions plugins fix this but in reality, it depends on the permissions plugin you use.
Code:
itemjoin.Your_Specified_World_Name_Here.Item_Name:
description: Gives permission to get a specific item in a specific world.
    Replace Item_Name with the name of the specified item (in the items.yml)
    and Your_Specified_World_Name_Here with the name of the world to receive that item.
default: false

itemjoin.Your_Specified_World_Name_Here.*:
description: Gives permission to get all items from the specified world.
    Replace Your_Specified_World_Name_Here with the name of the world to receive that item.
default: false
(I recommend itemjoin.Your_Specified_World_Name_Here.* as it would be easier unless you are trying to create permission group specific items)

Remember to replace Your_Specified_World_Name_Here with your world's name. If you need to see what world you want the items in, simply stand in the world and type /itemjoin world this will tell you the world name you are in that you want to put in the permission node.

The other option is to add a permission node for each specific item you have created. You can use these interchangeably such as adding a custom permission node to one item and using the default permission nodes listed above for items without a dedicated permission node.

Simply add the following to your item and replace specialty with your desired text. You can change the permission node to whatever you want such as 'example.fish'. I simply chose to use ItemJoin as the beginning string of the custom permission node. Make sure add the custom permissions you create to a permissions plugin afterward.

Add this to your item;
Code:
    permission-node: 'itemjoin.specialty'
Here is an example of an item utilizing the custom permission node utility;
Code:
items:
  example-item:
    id: DIAMOND_SWORD
    slot: 0
    permission-node: 'itemjoin.specialty'

If you want more detailed, better-explained commands and permissions click here.​



English Tutorial(s)





Please note; These tutorials are more than likely outdated but could be useful for giving an idea of how to use ItemJoin and some of its features.



Italian Tutorial(s)





Does ItemJoin have its own Custom API?
  • Yes, ItemJoin does in-fact allow other plugins to hook into it if needed. All API options are located under me.RockinChaos.itemjoin.api.ItemJoinAPI.
  • You can see all available methods here; Available Methods.
  • If you wish to see a method added feel free to submit a request on GitHub!
Does ItemJoin support placeholders?
  • Yes, ItemJoin has few placeholders by default but you can hook ItemJoin with PlaceholderAPI for ultimate placeholders! Just set PlaceholderAPI to true in the config.yml
Does ItemJoin support multiple worlds?
  • Yes, ItemJoin gives items to each specified world in the items.yml. Any worlds not defined in the items.yml will not receive items.
  • You can also have ItemJoin hook into Multiverse-Core & Multiverse-Inventories so you can have different items per world without clearing the player's inventory when they switch worlds. Just set Multiverse-core and Multiverse-Inventories to true in the config.yml.
Can I get items on first-join only?
  • Yes, ItemJoin has extreme compatibility with first join mode. All you have to do is simply add the first-join itemflag to each item in the items.yml to get that item on first join only. You can make it so only a set of items are given on first-join and others are given every time, or simply just make it so all items on first-join. If you want to receive the item every time you join again, just simply remove the first-join itemflag from the item.
Can I limit items to specific players ip-address?
  • Yes, ItemJoin has extreme compatibility with ip limit mode. All you have to do is simply add the ip-limit itemflag to each item in the items.yml to limit those items to the specific players ip. You can make it so only a set of items are given in an ip-limit and others are given regardless of the ip-address, or simply just make it so all items in an ip-limit. You can also specify the first-join itemflag to work alongside the ip-limit itemflag to limit items ip-address as well as give them upon first joining only.
Does ItemJoin have any dependencies?
  • ItemJoin has ZERO required dependencies but there are some optional ones that can make your experience much better!
  • You can learn more about these API / Hooks by clicking the link here; https://www.spigotmc.org/wiki/api-hooks/
    • Vault - You can hook into Vault to use your economy on ItemJoin's commands!
    • PlaceholderAPI - You can use all of these placeholders on any part of ItemJoin! Whether its commands, name, lore, skull-owner, book-lore, authors, etc! All parts of ItemJoin are hooked into PlaceholderAPI.
    • Multiverse-Core - Only used for Multiverse-Inventories as ItemJoin already has multi-world support without this.
    • MyWorlds - Allows easy multi-world support.
    • Multiverse-Inventories - Easily set world inventories using ItemJoin. You can make it so you get the items on join and world change without clearing the player's inventory! Very helpful with ItemJoin inventory management.
    • xInventories - Easily set world inventories using ItemJoin. You can make it so you get the items on join and world change without clearing the player's inventory! Very helpful with ItemJoin inventory management.
    • PerWorldInventory - Easily set world inventories using ItemJoin. You can make it so you get the items on join and world change without clearing the player's inventory! Very helpful with ItemJoin inventory management. I have recently seen this plugin start to pop up everywhere and it seems like an amazing alternative to Multiverse-Inventories.
    • PerWorldPlugins - As it is not recommended since ItemJoin is disabled in any world that is not defined under world-list but, ItemJoin does support PerWorldPlugins if you happen to have it running on your server for some reason and ItemJoin will be disabled in worlds that are not allowed by PerWorldPlugins.
    • AuthMe - Items will be given after the player types the login command and fully registers to AuthMe.
    • WorldGuard - Items will be given after the player enters the specified region defined under each item, upon leaving the region the items will be revoked. This allows the creation of region only items and can only be used in the specified regions unless defined otherwise.
    • TokenEnchant - Items will now be able to be given specific TokenEnchantments when receiving them.
    • BetterNick - If items for some reason end up breaking and you use this plugin, setting this to true could resolve issues with items not working properly. This allows ItemJoin to easily find your original player name and UUID if you are nicknamed using BetterNick.
    • HeadDatabase - Items can now hook into HeadDatabase and fetch player heads from there using <hdb-head id>.
More Information on ItemJoin can be found here;
https://www.spigotmc.org/wiki/itemjoin/



Please Pm me with feature requests! I will always look them over and get back to you.
Crossed Out requests means that they have been completed.
  • In-game GUI Item creator.
  • First Join, First World and IP Limit timestamps.







Leaving a review?
Please do not post issues or bugs in the review! Please report a bug first and wait for the developer's response!
If you have any issues, the reviews are not the place to report them! Try opening a bug report.
If you want a feature that ItemJoin is missing, try requesting a feature!​
Author
RockinChaos
Downloads
4
Views
24
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from RockinChaos

Top