ItemJoin v5.2.2

Details

  • Filename
    ItemJoin.jar
  • Uploaded by
  • Uploaded
    Jun 13, 2021
  • Size
    572.36 KB
  • Downloads
    16,235
  • MD5
    5b8659f02e40b8dd601434e19a839f0c

Supported Bukkit Versions

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

Changelog

ItemJoin v5.2.2-RELEASE


Note: Please read the changelog below for the prior version v5.2.0 as it contains MAJOR changes for existing users.

Changelog

 

Added:

* Support for Minecraft 1.17.
* Current support is now Minecraft 1.7 through Minecraft 1.17.
* Support for Java 16.
* Current support is now Java 8 through Java 16.
* Database.prefix to the config.yml.
* You can now change the default ij_ prefix for tables in your SQLite/MySQL database.
* Do note, changing this does not transfer existing data.
* %player_hit% placeholder.
* This placeholder is specifically for item commands where a player is damaged such as on-hit.
* Support for [ItemJoin-Bungee](https://github.com/RockinChaos/ItemJoin-Bungee).
* You can now execute any BungeeCord command as the executing item commands player via bungee:
* Example (A friends plugin found on spigot);

example-item:
id: DIAMOND
slot: 0
interact:
- 'bungee: friends'

* teleport itemflag for Arrows.
* Teleport Arrows, adding this itemflag will make it so the player is teleported to the arrows' landing location when fired by a BOW or CROSSBOW.
* If you want to add an [effect](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Effect.html) you can add teleport-effect: ENDER_SIGNAL to the arrow item and it will be displayed when the arrow lands at its landing location.
* If you want to add a [sound](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html) you can add teleport-sound: ENTITY_ENDERMAN_TELEPORT to the arrow item and it will be played when the arrow lands at its landing location.
* Example, (this works with ARROW and TIPPED_ARROW);

example-item:
id: ARROW
slot: 0
itemflags: teleport
teleport-sound: ENTITY_ENDERMAN_TELEPORT
teleport-effect: ENDER_SIGNAL

* death-keep itemflag.
* Retains the custom item on-death so it will exist in the player's inventory upon respawn.
* cancel-equip itemflag.
* Prevents the Player from moving/placing the custom item into armor slots.
* This allows the item to move freely excluding armor slots.
* on-consume item command.
* Executed when the player is able to "eat" / "consume" / or "use" the item.
* on-fire item command.
* Executed when the player fires an arrow from the bow item.
* In 1.16+ you can add this to an arrow that if fired from a bow item will execute a command as well.
* potion-effects for creating custom food items.
* Similar to creating custom apples or tipped arrows, you can create custom foods using potion-effects including skull items with food skins.
* HeldItem-Animationsto the config.yml.
* Setting this to false will DISABLE the animate and dynamic itemflag while the item is being held in the player's hand.
* Useful for preventing rapid updating of the player's hand animation.
* (IF UPDATING) This will need to be added to the settings section of your config.yml in order to use this option.

Settings:
HeldItem-Animations: true

* Default-Triggers to the config.yml.
* If NO TRIGGERS are defined for an item, this will be the default trigger(s) selected to be used by the item.
* By default, this is set to JOIN so if no triggers are defined you will get the item on join.
* You can add any of the available triggers, these can be listed such as JOIN, RESPAWN, WORLD-SWITCH.
* (IF UPDATING) This will need to be added to the settings section of your config.yml in order to use this option.

Settings:
Default-Triggers: JOIN

* /itemjoin query <item> command.
* This will display any available information about the custom ItemJoin item, including slot, permission, material, etc.
* Adding the following to your commands section in your lang.yml will be required for this command to work properly.
* Translated versions are already available if you are using a translated lang.yml. Simply delete your lang.yml and let it regenerate.

commands:
query:
node: '&aNode: &e&l%item%'
material: '&aMaterial: &e&l%item_type%'
slot: '&aSlot: &e&l%item_slot%'
permission: '&aPermission: %item_permission%'
badSyntax: '%prefix% &cIncorrect usage! Syntax: /itemjoin query <itemname>!'

* url- specification for skull-texture
* You can now specify a DIRECT URL to the skull-texture map.
* Typically this would be something resembling url-http://textures.minecraft.net/texture/955d611a878e821231749b2965708cad942650672db09e26847a88e2fac2946
* If you use specifically textures.minecraft.net you can specify the ending texture bytes instead of the full URL resembling url-955d611a878e821231749b2965708cad942650672db09e26847a88e2fac2946
* The URL can be either HTTP or HTTPS.
* Example skull items;

skull1:
id: PLAYER_HEAD
skull-texture: 'url-13e8bbc8d174aecd6b46888fa63f9bade14b042e5e17063139d67f8e0163a38'
skull2:
id: PLAYER_HEAD
skull-texture: 'url-http://textures.minecraft.net/texture/955d611a878e821231749b2965708cad942650672db09e26847a88e2fac2946'

* Support for %player_uuid% placeholder for skull-texture
* Specifying skull-texture: '%player_uuid%' will attempt to fetch the player's skin directly from Mojang.
* Useful if you are unable to have the spigot API fetch the skull-owner directly.
* Dynamic pages for /itemjoin list
* If you have a lot of items (exceeding 15 items) there will now be multiple /itemjoin list pages so they do not get cut-off.
* Support for [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/).
* If ProtocolLib is found on the server, TinyProtocol will be automatically disabled and ProtocolLib will be utilized.
* It is highly suggested to use ProtocolLib if you are using crafting slots, especially if you are encountering issues with crafting slots.

 

Fixed:
* Bugfix for the RETURN config option.
* Bugfix for inventory-close itemflag on Crafting slots.
* Bugfix for crafting items being given with an open inventory resulting in duplication.
* Bugfix for capitalized command permissions.
* Bugfix for glitching crafting items with autosave.
* Performance increases, item commands, and item animations are now run aSync.
* WorldGuard bug fixes.
* If the user logs out and is teleported outside/inside a region while offline the items will still be given/removed.
* /ij upgrade command now has its permission itemjoin.upgrade properly defined.
* Crafting alias'
* C[1], C(1), and CRAFTING(1) now function as alternative alias' to CRAFTING[1]
* UI Bugfix, not being able to create or save custom items on Legacy Minecraft.
* Bugfix for DataTags with Legacy tagging.
* Bugfix for Prevent actions recognizing world as being the same as world_nether.
* Bugfix for Global InventoryModify not blocking Offhand swapping.
* Bugfix for duplicate item command execution if a random sequence is specified.
* Bugfix for command interactions in ADVENTURE mode with other menu plugins.
* A custom items count is now recognized if the count boolean is locked.
* All cooldowns including item commands are now properly GLOBAL rather than per-world.

 

Changed:
* Slot requirement has been removed.
* If a slot is not defined for an item it will default to Arbitrary.
* If the Arbitrary slot is defined in the /ij menu then it will not be saved to the items.yml since it automatically defaults.
* This officially makes it so the only requirement to create a custom item is to define an id (material) and it will be given.
* Enabled-Worlds now defaults to ALL or GLOBAL if not defined.
* If the enabled-worlds is set to ALL or GLOBAL in the /ij menu then it will not be saved to the items.yml since it automatically defaults.
* First-Join/First-World/First-Life/IP-Limits logic.
* If these triggers were removed from an item after they were given to a player they would still function instead of having their database data ignored.
* If a player gets an item under these conditions and then the condition is removed from the item, it will now correctly be given again.
* use-cooldown now supports the placement of blocks and entities.
* Example, If an item material is set to be a BOAT and you add a use-cooldown then the boat can only be placed into the water when the cooldown is complete.
* on-hit item commands now support Projectiles.
* Examples; ENDER_PEARL, EGG, FISHING_ROD
* Updated Metrics to latest version.
* Reduces file size and TPS usage.
* Major Async SQL tweaks.
* SQL statements are now run in single ASYNC batches in a single thread in order.
* Prevents overlapping or database glitches and increases performance.
* Tweaked First-Join, First-World, and First-Life to have better compatibility with interchangeable triggers.
* Example; adding first-join and specifying region-enter will not give the item on first-join, rather it will give the item when the player enters the enabled-regions for the first time.
* Item Commands are now properly synchronized so they are executed in order SEQUENTIALLY.
* Updated isPlayer() checklist.
* Most fake player or NPC plugins will now be properly recognized so they will not be given custom items or impact performance.
* Refactored potion-effect to be called potion-effects.
* inventory-modify itemflag now prevents right-clicking to auto-equip armor.
* Updated Optional Dependencies.

 

Removed:
* Hikari
* Absolutely the worst API for handling SQLite and MySQL.
* I wrote my own method and implemented it so there are now some major database performance increases and bug fixes.