ItemJoin v5.2.0

Details

  • Filename
    ItemJoin.jar
  • Uploaded by
  • Uploaded
    Feb 15, 2021
  • Size
    751.44 KB
  • Downloads
    1,392
  • MD5
    3ea3df586a7f3769b50d8d9a2a99a9f3

Supported Bukkit Versions

  • 1.16
  • 1.15
  • 1.14
  • 1.13
  • 1.12
  • 1.11
  • 1.10
  • 1.9
  • 1.8
  • 1.7.2

Changelog


Warning: Any existing items.yml AND config.yml files will be automatically backed up and regenerated to the updated version 8, please read the changes below in order to update your old items.yml and config.yml files. Item Commands formatting has changed!

Changelog

Added:
* Support for Minecraft 1.16.5.
* Items.yml has been updated to VERSION 8 and will regenerate.
* Config.yml has been updated to VERSION 8 and will regenerate.
* RETURN_SWITCH to the Clear Items Options.
* If you define a set of worlds to clear items from when switching worlds if you have this option enabled and players return to a world where items are not cleared their inventory will be restored.
* map-id is back.
* You can now specify a map id for a custom map but leaving this undefined will allow ItemJoin to select a map id to use by itself.
* Only define this if you know what you are doing or experience conflicts with another plugin.
* Vanilla Map ID's
* If you do not define a custom-map-image the map-id defined will now select the defined VANILLA map (or canvas rendered by another plugin).
* Definable NBT Properties.
* You can now define properties for each of your custom items.
* You can define a single property or a list of properties separated by a comma.
* Format is Identifier:Value and for clarification, these are called NBTTags.
* Example; properties: 'TranslatableDisplayName:&aUltra &cItem, Slot:33'
* This will add TranslatableDisplayName with the String value &aUltra &cItem and add Slot with the Integer value 33`.
* This is mainly useful for implementing features from other plugins.
* Purge first-commands
* The purge command now supports the first-commandstable.
* Shulkerbox item nesting.
* You can now define EXISTING custom items inside a Shulkerbox.
* Start by creating items as normal to be set as an ItemJoin item, except set the triggers to DISABLED. The only limits for these items are they need to be slots from 0 to 26, any smaller or larger will not work as shulker boxes are smaller than a player inventory. You can also use slot ARBITRARY any other custom slots will not work since there is no crafting inventory or armor slots.
* These contents are the CONFIG NAME of the ItemJoin item you want to be set. The config names are what define the items, in the example, the shulker box is called shulker-item which is the config name, (not the item name).
* Example;

 shulker-item:
id: BLACK_SHULKER_BOX
slot: 0
contents:
- ultra-item
- map-item
- animated-panes
triggers: join, respawn, world-switch
enabled-worlds: ALL


* You can now Mass Save your inventory into ItemJoin using the /itemjoin menu with the exact current slots of the player.
* Error statements are now sent to admins on login or /reload if ItemJoin has a critical error occurred.
* first-join trigger to the active commands in the config.yml.
* Quit for clear-items in the config.yml.
* Specifying true for all worlds or world names separated by commas will allow the player's inventory to be cleared when disconnecting from the server.
* Region-Access trigger.
* Gives the item when entering a specified region and removes it when exiting.
* Note: Defining Both Region-Enter, Region-Leave will do nothing as you should use this new trigger instead.
* Region-Egress trigger.
* Gives the item when leaving a specified region and removes it when entering.
* REMAIN command sequence for item commands.
* If this is specified as a command sequence, the item will be required to exist in the player inventory for DELAYED commands to be executed.
* If the item is removed from the player inventory before the commands finish executing the remaining commands will fail to execute.
* on-damage item command.
* When a player has the custom item in their inventory if the player damages an entity or the entity damages the player the command will be executed.
* on-hit item command.
* Executed when the player is holding the custom item and hits an entity or another player.
* commands-sequence to the config.yml for Active Commands.
* Currently you can specify SEQUENTIAL or RANDOM_SINGLE to execute the commands sequentially OR execute a single command line randomly.
* Permission Blocking of Lang.yml Messages.
* You can now define itemjoin.lang.LANGMESSAGE and set it to FALSE in your permissions plugin to prevent the lang message from being sent to specific players.
* You must define both the "general", "category", and the node name of the lang messages.
* Example; itemjoin.lang.commands.default.unknownCommand and set it to FALSE typically via :false
* This will block players with this permission from receiving the unknown command message.
* commands is the general, default is the category, and unknownCommand is the node name of the lang message.
* Disposable Conditions
* The item will only be removed from the player if the condition is MET, commands will execute regardless.
* You can specify a fail message if the condition was not met, this is optional.
* You can specify a single condition or a list of conditions, however in the list only ONE of the conditions needs to be MET.
* Current conditional operands are EQUAL, NOTEQUAL, OVER, and UNDER -- Over and Under is specifically INTEGER ONLY conditions.
* Remember to add the disposable itemflag for this to function.
* Example;

disposable-conditions:
- '%mypet_has_pet_treat%:equal:true'
- '%other_placeholder%:notequal:VALUE'
- '%other_placeholder%:over:300'
- '%other_placeholder%:under:700'
disposable-fail-message: '&cYou get to keep your item, lucky!'


* Command Conditions
* The item command will only be executed if the condition is MET.
* You can specify a fail message if the condition was not met, this is optional.
* You can specify a single condition or a list of conditions, however in the list only ONE of the conditions needs to be MET.
* Current conditional operands are EQUAL, NOTEQUAL, OVER, and UNDER -- Over and Under is specifically INTEGER ONLY conditions.
* Command conditions are defined as their action-condition as an example, the action being inventory-left would be inventory-left-condition.
* Example;

inventory-left-conditions:
- '%mypet_ishungry%:equal:true'
- '%other_placeholder%:notequal:VALUE'
- '%other_placeholder%:over:600'
- '%other_placeholder%:under:500'
inventory-left-fail-message: '&cYou cannot execute that command until you feed your pet more.'


* Trigger Conditions
* The item will only be given to the player upon performing the trigger and the condition is MET.
* The /itemjoin get command(s) respect this condition and will not be given if they are not met.
* You can specify a fail message if the condition was not met, this is optional.
* You can specify a single condition or a list of conditions, however in the list only ONE of the conditions needs to be MET.
* Current conditional operands are EQUAL, NOTEQUAL, OVER, and UNDER -- Over and Under is specifically INTEGER ONLY conditions.
* Example;

trigger-conditions:
- '%mypet_has_pet%:equal:true'
- '%other_placeholder%:notequal:VALUE'
- '%other_placeholder%:over:100'
- '%other_placeholder%:under:200'
trigger-fail-message: '&cYou need to summon your pet.'


* All config.yml settings have been added to the /itemjoin menu.
* All items.yml settings have been added to the /itemjoin menu.
* /ij, get, getAll and getOnline now have the alias give, giveAll, and giveOnline`.
* Major errors or warnings that affect the plugin function are now sent to OP (admin) players upon joining the server.
* Citizens Support.
* Items are now only given to real players instead of being given to Citizens.
* ChestSort Support.
* Items that have the inventory-modify itemflag will now properly maintain their position even when sorted by ChestSort.

Fixed:
* Major skull item changes, resolved Mojang API Authentication.
* Bug with legacy skull items.
* Bug with crafting items incorrectly dropping when death-drops were defined.
* Major database fixes.
* MySQL Database connections now use Hikari with Leak prevention.
* SQLite is now also handled by Hikari to prevent the need to download a separate driver.
* WorldGuard bug fix.
* Vault bug fix.
* Vanilla itemflag bug fix.
* Itemflag wasn't being enabled despite being defined.
* Consumable item bugs.
* Async bug fixes.
* Bugfix with ItemJoin Commands.
* Protocol Handlers.
* Having an outdated AuthMe version no longer breaks ItemJoin.
* AuthMe will simply be ignored.
* Placement duplication bug fixes.
* Count-lock duplication bug fixes.
* Various swap-item bugs.
* on-receive bug fix when multiple slots are defined.
* Will now properly execute the on-receive commands once per item node instead of once per slot set.
* Major bug fix for Dependencies.
* If they loaded but were classified as disabled, ItemJoin would break.
* Potion duration is now correctly set using the /itemjoin menu
* Duplication bug in creative mode.
* inventory-modify itemflag now properly blocks Creative mode shift+click to DESTROY items.
* Crafting items are now loaded properly from the Database.
* Item Commands cooldowns are now properly restored from the Database when reloading the config(s).
* Limit-modes now properly function.
* death-drops compatibility with DeathChest plugins.
* Both the #getInventory and #getDrops instances now have the item removed.
* Disposable fixes.
* Overwrite fixes.
* Dependencies overload when registering the plugin at startup.
* UUID bug fix for unsupported MC 1.7.
* Synchronized Item Commands.

 

Changed:
* Count-lock now supports Arrows when using a Bow or Crossbow.
* Count-lock now supports consumable items.
* item-store now supports brewing stands.
* death-drops itemflag and global prevent will now be disabled if gamerule keepInventory is enabled.
* Recipes can now have custom items defined in them by specifying the item node instead of a material name.
* /ij permissions pages are now dynamically generated to have a max of 15 permission nodes per-page.
* Major database changes.
* Database is now handled using DataObjects.
* Tables have been refactored to remove the Player_Name category.
* slot now supports Placeholders.
* table is now redefined as database in the config.yml.
* /itemjoin autoupgrade is now defined as /itemjoin upgrade
* Item Commands no longer use the commands identifier to be defined.
* If your item has the commands identifier it will need to be removed for items to function again.
* Do make sure you implement proper YAML formatting as when you remove the commands node there are two spaces in front of the interact-right node you need to remove.
So commands which resembled;

 commands:
interact-right:
- 'player: deluxemenus open navigation4'
Should now look like;
 interact-right:
- 'player: deluxemenus open navigation4'

 

 

 
 
Please see the documentation page if you need any help with these new updates!
If you have any ideas or requests that you would like to see in ItemJoin's future please submit a feature request.