ItemJoin-v5.2.2-RELEASE
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
- You can now execute any BungeeCord command as the executing item commands player via bungee:
- Example (A friends plugin found on spigot);
Code (Text):
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 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 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);
Code (Text):
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.
Code (Text):
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.
Code (Text):
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.
Code (Text):
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;
Code (Text):
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.
- 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.
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.