⛏ Custom Items ✅ 1.20 READY ✅ Make NEW ITEMS & BLOCKS with NEW TEXTURES, Recipes, Events & Actions icon

⛏ Custom Items ✅ 1.20 READY ✅ Make NEW ITEMS & BLOCKS with NEW TEXTURES, Recipes, Events & Actions -----

IN-GAME GUI ITEM+RECIPE DESIGNER ⭐ Make any item/block you imagine, without mods or replacing items✅




CustomItems version 5.0 is now available. Please visit http://customitems.page.link/wiki for more info
----------, Jul 3, 2024

See Discord for full update notes
----------, Jun 21, 2023

Adds new "unstackable" option for items
----------, Apr 13, 2023

Fixed bug with message prefix not formatting color codes
----------, Mar 9, 2023



Bug fixes with consumable items
----------, Sep 9, 2022

Minor bug fixes with relativeProbability
----------, Aug 17, 2022

This version fixes a few minor bugs with certain placeholders, and also prints better error messages for the GUI
----------, Aug 10, 2022

This version fixes a bug that sometimes caused custom blocks to lose their location when moved by a piston
----------, Jul 27, 2022

Support for 1.19. Read full update log on Discord server
----------, Jun 15, 2022

Use {placeholders} for probability and relativeProbability
----------, Jun 2, 2022

Bug fixes with item creation GUI
----------, May 24, 2022

This version fixes some bugs with the API for breaking blocks
----------, Apr 14, 2022

Minor improvements with startup messages
----------, Apr 3, 2022

This version includes some minor bug fixes with the CustomItems API
----------, Mar 22, 2022

This version adds support for MC 1.18.2, and requires CustomUniverse version 1.0.6
----------, Mar 5, 2022

This version adds a new API action for block breaking for developers
----------, Feb 26, 2022

In old versions, players would not be given items with /cui give if their inventory was full. Now, if the player's inventory is full, the item will be dropped on the ground next to them instead.
----------, Feb 9, 2022

This version makes some bug fixes with block EXP drops, and is recommended for all users. Specifically, it makes it so EXP is no longer dropped when a custom block is mined using silk touch
----------, Jan 19, 2022

Newly formatted startup messages
----------, Jan 7, 2022

Minor bug fixes and improvements
----------, Jan 5, 2022

This version fixes a minor bug with NBT (specifically for item attributes) on MC 1.18
----------, Jan 2, 2022

This version makes some bug fixes with the automatic resource pack generator, including minor issues where sometimes errors were shown in console, or issues that happened to certain users with the CustomItems jar file had a space in the name
----------, Dec 21, 2021

This version makes CustomItems give a more meaningful error message when you're missing the required 'item' section in an item yml file
----------, Dec 13, 2021

This version makes some bug fixes with NBT for 1.18
----------, Dec 9, 2021

This version makes custom block storage support the increased world hight in MC 1.18.

Everyone will likely see a bunch of messages that say "Upgrading the block storage file ... from version 1.1 to 1.2" as players explore existing chunks and the files are automatically updated to the new block storage format.
----------, Dec 7, 2021

This version is built with 1.18
----------, Dec 5, 2021

This version fixes a bug that sometimes caused error messages to show up in the console when using /cui create
----------, Nov 29, 2021

This version fixes a bug with the playerRemoveItems action that could sometimes cause too many items to be removed
----------, Oct 16, 2021

This version makes a few bug fixes and improvements with teleport actions, and also makes the error messages easier to understand
----------, Oct 11, 2021

This version makes it so you can update only a single line of lore using the setItemLore action

Code (YAML):

action
: setItemLore
lore
: "This is the new first line"
line
: 1 # the first lore line is 1
 
----------, Oct 7, 2021

This version makes some minor bug fixes with the setItemLore action
----------, Oct 5, 2021

This version brings some minor bug fixes and improvements with the resource pack generator
----------, Sep 30, 2021

This version fixes some minor bugs with the item creation GUI that could sometimes cause "null" to show up below the item. This was annoying, but doesn't affect the performance of CustomItems at all
----------, Sep 27, 2021

This version makes some minor bug fixes for potion effects in the item creation GUI for 1.8
----------, Sep 25, 2021

This version adds a new "deleteGlobal" action, and also changes the name of CustomTriggers to CustomEvents
----------, Sep 23, 2021

This version adds a new "deleteGlobal" action
----------, Sep 15, 2021

This version makes a few minor bug fixes with blocks, and also makes some improvements for CustomEvents. You'll need to use CustomUniverse 1.0.3 to take advantage of the improvements with CustomEvents
----------, Sep 8, 2021

This version brings a few improvements for people using CustomEvents
----------, Sep 1, 2021

Minor bug fixes with adding potion effects from the GUI on 1.8
----------, Aug 27, 2021

This version fixes a bug that could sometimes cause an error to be displayed when the server started
----------, Aug 20, 2021

This version fixes some minor bugs that could sometimes cause certain vanilla items to not be craftable
----------, Aug 17, 2021

You can now use the CustomTriggers "loop" trigger inside of CustomItems block files. Keep in mind that this will loop through all loaded blocks, so be extra careful to take server performance into account here.

This will only run on blocks that have been loaded into memory since the server was started, and won't run on blocks that haven't been loaded. For example, let's say you have two custom blocks placed in the world. One block at position 0, 0, 0, and one at position 20000, 100, 70000. You restart the server, and initially, none of the loops will run (because no blocks have been loaded, cause there's no players to load them). Let's now say a player joins at the location 3, 120, 2. They're close enough to 0, 0, 0 for Minecraft to load those chunks, so the loop will start running on that block only.

Then, if a new player joins and teleports to 20000, 100, 70000, the block there will also load, so now the loop will run on both of the custom blocks.

If you're trying to do stuff with time, it is recommended that you use the {time} placeholder to avoid situations where blocks might not be loaded into memory when you want them to.

Code (Text):

# Inside myCustomBlock.yml
handlers:
  loop:
    interval: 600 # run this action every 600 ticks = 30 seconds
    actions:
      -
        action: console broadcastMessage # You should use CustomTriggers notation in your actions here
        message: "Ran a loop on a block at {block.x}, {block.y}, {block.z}"
      -
        action: setGlobal
        name: "block_{block.x}_{block.y}_{block.z}_last_loaded_time"
        value: "{time}"
[code]
----------, Aug 10, 2021

This version of CustomItems requires CustomUniverse to run: https://www.spigotmc.org/resources/customuniverse.94544/

CustomUniverse is a bridge between CustomItems and other server customization plugins like CustomTriggers.

Updating will migrate all of your global variables to CustomUniverse. This can't be un-done!
----------, Aug 6, 2021

Minor bug fixes with setDrops on MC 1.8
----------, Jul 25, 2021

This version adds a new placeholder {time}, which is replaced with the current unix timestamp in seconds. This can be really useful to see how much time has passed between two things happening
----------, Jul 21, 2021

This version brings a few minor bug fixes to MC 1.8 and 1.9
----------, Jul 19, 2021

This version adds a few new API actions for accessing globals
----------, Jul 16, 2021

This version makes a few minor bug fixes with the new item editing GUI
----------, Jul 14, 2021

Minor bug fixes with custom block textures
----------, Jul 8, 2021

Minor bug fixes with playerSetFlying
----------, Jul 5, 2021

You can now enable/disable flight with the "setPlayerFlying" action

Code (YAML):

action
: setPlayerFlying
flying
: true
 
Set the "fallDamage" parameter to false to make it so the player won't take fall damage when they stop flying (only the first time they take fall damage will be blocked — any fall damage after that will still be allowed)

Code (YAML):

action
: setPlayerFlying
flying
: false
fallDamage
: false
 
----------, Jul 1, 2021

This version fixes some minor bugs with /cui list if the item specified is invalid
----------, Jun 24, 2021

This version makes it so you can use placeholders in item amounts

Code (YAML):

action
: givePlayerItems
items
:
  "diamond"
: 1
  "gold_ingot"
: "{player.level}"
  "{global.third_item_to_give}"
: "{variable.third_item_amount_to_give + 1}"
 
----------, Jun 22, 2021

This version brings some minor NBT improvements for 1.17
----------, Jun 17, 2021

More minor NBT improvements with 1.17
----------, Jun 14, 2021

This version makes some minor bug fixes with NBT for 1.17
----------, Jun 14, 2021

Minor improvements for 1.17
----------, Jun 13, 2021

This version was built with 1.17
----------, Jun 11, 2021

This version fixes a few minor bugs with certain recipes on 1.12 servers, and also fixes a few other minor bugs with certain recipes on 1.8 servers
----------, Jun 11, 2021

This version fixes a minor bug that could sometimes cause crashes when the playerRemoveItem action was used to remove the same item that the player used in an interaction event
----------, Jun 10, 2021

You can now use placeholders and item maps in more every action that uses items, like playerRemoveItem or targetGiveItem

Code (YAML):

action
: playerRemoveItem
item
:
  "magicStick"
: 7 # remove 7 magic sticks
  "minecraft:DIAMOND"
: 1 # remove 1 diamond
  "minecraft:DIRT"
: -1 # remove all dirt
 
This version also fixes some minor bugs with these actions when generated using the GUI, and fixes some bugs with 1.12
----------, Jun 9, 2021

Minor bug fixes for 1.12 recipes
----------, Jun 4, 2021

Minor improvements with number handling in the GUI
----------, Jun 4, 2021

This version fixes a bug that would sometimes cause triggers to not be deleted when deleting them from the in-game GUI
----------, May 31, 2021

This version makes a few minor improvements to the GUI trigger editor, including bug fixes for potion effects and particle effects
----------, May 29, 2021

You can now edit particle actions from the trigger-editing GUI!
----------, May 28, 2021

This version makes Speed Improvements for all recipes
----------, May 26, 2021

This version brings some major speed improvements to crafting for servers that have a lot (hundreds) of items
----------, May 24, 2021

You can now easily edit triggers from the in-game item editing GUI, including actions, conditions, and more! To try it out, just type /cui create or /cui edit
----------, May 23, 2021

This version fixes a bug that would sometimes cause the console to be spammed with meaningless error messages on older versions of MC
----------, May 20, 2021

This version makes some minor bug fixes with the destroyItemUsed action, which would sometimes cause the server to crash if used with the a "click" handler
----------, May 18, 2021

This version fixes a few minor issues with recipe speeds
----------, May 15, 2021

This version makes sure that the resource pack generator sets the correct pack_format for packs generated with /cui rp gen
----------, May 13, 2021

This version makes it so you can use PlaceholderAPI placeholders anywhere you can use CustomItem's {placeholders}
----------, May 11, 2021

This version makes even more improvements with placeholders
----------, May 8, 2021

This version makes speed improvements with placeholders
----------, May 6, 2021

This version makes some big speed improvements with particle actions
----------, May 3, 2021

This version brings some performance improvements for actions that don't have any conditions attached to them
----------, May 1, 2021

This version fixes an error that could sometimes pop up in the console when setting the blast strength of certain types of armor
----------, May 1, 2021

This version makes a few minor bug fixes with actions that change the item in the inInventory handler (specifically destroyItemUsed)
----------, Apr 20, 2021

This version makes some minor bug fixes with destroyItemUsed action
----------, Apr 15, 2021

This version makes mostly behind-the-scenes improvements (mostly speed) to get CustomItems ready for some changes to come :)
----------, Apr 14, 2021

This version adds a new "shearEntity" trigger that happens whenever a player shears an entity (like a sheep or mooshroom) with the item in their hand!
----------, Apr 12, 2021

This version fixes a bug that sometimes caused CustomItems to say "ifStatementCombine" wasn't a valid condition
----------, Apr 7, 2021

This version fixes some bugs with chat colors for users not using Spigot / Bungee
----------, Apr 5, 2021

This version fixes a bug that sometimes caused the /cui list command to show the wrong page count
----------, Apr 4, 2021

This version fixes some bugs that could interfere with block drops and other block/item characteristics when using the /cui reload command, sometimes causing drops to be doubled.
----------, Apr 1, 2021

This version adds a new action for playing sounds to a target player: targetPlaySound
----------, Mar 17, 2021

This version adds four new food/saturation actions for targets:

- targetAddFood
- targetSetFood
- targetAddSaturation
- targetSetSaturation
----------, Mar 15, 2021

This version makes some minor bug fixes with the {entity.type.raw} placeholder for MC 1.12 & MC 1.13 that could sometimes cause errors to be printed to the console
----------, Mar 9, 2021

This version makes it so the /cui edit command is properly case-insensitive (previously, it could cause two of the same item to be created if the incorrect CaSE For tHE IteM iD was used when using the /cui edit command)
----------, Mar 8, 2021

Fixed a bug that could sometimes cause the server to become unstable and crash for certain users using the destroyItemUsed action
----------, Mar 7, 2021

This version makes target.type.raw the same as the Vanilla Minecraft ID of the entity. For a magma cube, {target.type} would give "Magma Cube", whereas {target.type.raw} would give "magma_cube"
----------, Mar 2, 2021

This version adds a new "target.type.raw" placeholder, which will return the raw target entity type instead of formatting it. For example, target.type.raw might return "MAGMA_CUBE" while target.type would return "Magma Cube"
----------, Feb 28, 2021

This version makes some improvements with projectile hit detection for MC 1.8
----------, Feb 21, 2021

This version makes it so you can use "nothing" or "null" in armor conditions to make sure that the player or target doesn't have anything in that armor slot. For example:

Code (Text):

ifPlayerHead: "nothing"
action: sendMessage
message: "You don't have anything on your head"
 
----------, Feb 17, 2021

This version adds three new conditions for block locations: "ifBlockX", "ifBlockY", and "ifBlockZ"
----------, Feb 15, 2021

This version makes some bug fixes with armor conditions like "ifPlayerHead"
----------, Feb 9, 2021

This version fixes a bug that caused "throughBlockType" to not be recognized as a condition (only "throughBlock" and "throughType", both aliases, were recognized before)
----------, Feb 9, 2021

This version includes three new API methods for getting and setting a CustomItem's durability:

Code (Java):

public static Integer getCustomItemDamage (ItemStack stack )
public static Integer getCustomItemMaxDamage (ItemStack stack )
public static ItemStack setCustomItemDamage (ItemStack stack, int amount )
 
Check the JavaDocs on the API methods for more info
----------, Feb 1, 2021

This version brings a new setTextureId action — this is super useful for changing the texture of an item when something happens. You can even use {placeholders}!

Code (Text):

action: setTextureID
id: 7
 
----------, Jan 11, 2021

This version stops a meaningless error message being logged when trying to create a recipe for a Custom Item in the GUI, without the item type being set
----------, Jan 10, 2021

This version fixes a strange bug that would occur if "shootable" was set to true on a bow. You weren't supposed to be able to set "shootable" to true on a bow, so CustomItems flipped out.
----------, Jan 9, 2021

This version fixes some minor bugs with actions that damage native MC items, as well as certain block triggers interacting with the player's inventory (for example, the "damageItemUsed" action in the "blockBreak" handler)
----------, Jan 8, 2021

This version makes some bug fixes with ifPlayerHasItem and ifTargetHasItem
----------, Jan 6, 2021

This version makes some minor bug fixes with ifSneaking, ifFlying, ifSwimming, and ifCrawling
----------, Jan 5, 2021

This version brings some minor bug fixes with projectile handlers for throwable items like eggs, snowballs, and ender pearls
----------, Jan 4, 2021

This version adds a new format for doing conditions, and also makes conditions way more powerful:

Code (YAML):

if
:
  playerHasPermission
: "myPermission"
  targetHasPermission
: "myPermission"
  if
:
    playerHasPermission
: "anotherPermission"
    targetHasPermission
: "anotherPermission"
    combine
: AND
  combine
: OR
action
: sendMessage
message
: "Either the you or the target has the permission 'cui.action.myPermission', or, you both have the permission 'cui.action.anotherPermission'. Conditions are fun!"
 
Of course, you can still use the old version of conditions, if you'd like.
----------, Dec 29, 2020

This version adds a new "targetSpawnParticle" action, which is formatted exactly like the "playerSpawnParticle" action!
----------, Dec 27, 2020

This version makes some minor improvements to the matching of Minecraft materials by their name
----------, Sep 8, 2020

This version makes a few minor improvements with the ifVariable condition, as well as some improvements for the default block drops
----------, Sep 7, 2020

This version fixes a few minor bugs with the startup messages
----------, Sep 6, 2020

This version makes some bug fixes with global placeholders like {global.myGlobalName}
----------, Sep 4, 2020

This version adds global variables to CustomItems, so you can now do things like store the total number of times all of your players have slain creepers with the "creeperSlayingSword", or even make quest books! An example of a quest book will be uploaded on the wiki soon.

To use global variables, just use the normal actions/handlers/placeholders for variables, but replace "variable" with "global" — it's that simple. You can also store per-player global variables by including {player.uuid} in the name of the global.

Check out the wiki page for more info: https://github.com/jojodmo/CustomItems/wiki/Variables#globals
----------, Sep 3, 2020

This version adds a new "slayMob" handler, that is triggered whenever a player slays a mob using a given item
----------, Sep 1, 2020

Improvements for older versions of MySQL
----------, Aug 24, 2020

You can now use operators in "ifPlayerHasItem" and "ifTargetHasItem".

Code (Text):

ifPlayerHasItem:
  "minecraft:DIAMOND": ">= 3"
  "minecraft:GOLD_INGOT": "< 2"
  "myCustomItem": 9, # interpreted as ">= 9"
  "anotherCustomItem": "between 3 and 4"
action: sendMessage
message: "You have at least 3 diamonds, less than 2 gold ingots, at least 9 myCustomItem, and between 3 and 4 anotherCustomItem"
 
----------, Aug 19, 2020

This version allows damageable CustomItems to be repaired in crafting tables (just make sure that the item is both "damageable" and "repairable"), and also makes some minor improvements with the crafting system
----------, Aug 15, 2020


You can now set the amount of items dropped using the drop command: /cui drop <item> <world> <x> <y> <z> [amount] [naturally]
----------, Aug 14, 2020

This version allows you to use data values for items in recipes (for Minecraft 1.8, or any other version below Minecraft 1.13). For example:

Code (Text):

shaped: false
items:
  "INK_SACK:4": 3 # 3 lapis lazuli
----------, Aug 13, 2020

This version makes some bug fixes for handlers that involve entities, like hitMob, projectileHitMob, and hitPlayer
----------, Aug 8, 2020

This version makes McMMO's treefeller ability compatible with the CustomItems plugin. More options for treefeller and items created using CustomItems will be coming soon!
----------, Aug 6, 2020

This version adds support for PlaceholderAPI anywhere that CustomItems {placeholders} are accepted!
----------, Jul 30, 2020

Support for ItemBridge 2.0. See the full update log on Discord.
----------, Jul 27, 2020

This version brings some crafting improvements for shapeless recipes, especially on MC 1.8
----------, Jul 25, 2020

Backed by popular request, this version adds a new "playerSpawnParticle" action!

Check out the wiki for info on how to configure this in your item yml file: https://github.com/jojodmo/CustomItems/wiki/Handlers-and-Actions#playerSpawnParticle

Or, if you want, try adding this action to a new item:

Code (Text):

handlers:
  rightClick:
    actions:
      -
        action: playerSpawnParticle
        particles:
          - name: EXPLOSION_HUGE
          - name: SMOKE_NORMAL
            amount: 20
            xSpread: 4
            ySpread: 4
            zSpread: 4
          - name: REDSTONE
            amount: 30
            xSpread: 10
            ySpread: 0
            zSpread: 10
            size: 4
            color: 0077ff
 
----------, Jul 24, 2020

This version brings some very minor improvements for SpigotMC
----------, Jul 23, 2020

This version brings a few minor improvements with anvils and anvilRepairItems
----------, Jul 22, 2020

You can now configure items to repair tools in anvils!

Check out https://github.com/jojodmo/CustomItems/wiki/Custom-Item-Reference#anvilRepairItems for more info
----------, Jul 21, 2020

This version brings some minor bug fixes with the runInterval option when dealing with multiple players, and also makes some bug fixes with variable placeholders like {variable.myVariable}
----------, Jul 20, 2020

This version brings anvil support for repairing custom items (if you want to disable this, set "repairable": false in your item yml file).

This version also fixes a bug that sometimes caused items gotten with /cui give and /cui get to not show the durability bar correctly until they were used.
----------, Jul 20, 2020

This version brings some minor bug fixes for the /cui repair command, which was sometimes causing it to not work, and also makes some improvements with smithing tables on Minecraft 1.16
----------, Jul 19, 2020

This version fixes a few bugs with armor conditions like "ifPlayerHeadIs" and "ifPlayerWearing", and also fixes a few bugs when trying to use Skript with inventory-related handlers like "inInventory".
----------, Jul 18, 2020

This version makes some improvements with item attributes for Minecraft 1.16.1, and also makes some minor bug fixes with the "playerRunCommand" action
----------, Jul 15, 2020

This version makes a few bug fixes and improvements with {placeholders}, especially cooldown placeholders
----------, Jul 12, 2020

This version makes fixes a bug introduced in version 3.2.3 that would sometimes cause items to lose their custom textures.
----------, Jul 9, 2020

This version adds three new placeholders for cooldowns. {cooldown.elapsed}, {cooldown.remaining}, and {cooldown.total}, all measured in ticks

So, if you want to turn it into seconds, you could do something like {cooldown.remaining / 20} to go to seconds, and then {{cooldown.remaining / 20} round 0} to get rid of decimal points.

Check out the wiki for more info!
----------, Jul 8, 2020

This version makes some minor compatibility improvements between CustomItems and some crafting-related plugins, and also makes some bug fixes with the "destroyItemUsed" action
----------, Jul 8, 2020

This version makes some minor stability improvements with crafting, and also changes the behavior when CustomItems tries to store blocks in a world, but can't find the world.
----------, Jul 7, 2020

This version makes some improvements to the way NBT is handled in item.yml files.

Along with fixing a few bugs, it also makes the /cui create command saves all item NBT into the item.yml file that's created.

This version also makes a few minor bug fixes with the /cui create command, including with a few options like "glow"
----------, Jul 6, 2020

This version makes some changes to the overridePermissions action parameter, so you can now force players to run commands that they usually wouldn't have permission for!

Check out the wiki for more info: https://github.com/jojodmo/CustomItems/wiki/Handlers-and-Actions#overridepermissions
----------, Jul 6, 2020

This version makes some minor bug fixes to bows and crossbows. Specifically, it fixes some bugs that would cause custom arrows to sometimes not work when shot from the off-hand
----------, Jul 2, 2020

This version completely re-designs the crafting system of CustomItems, and brings a ton of bug fixes and speed improvements for crafting on all versions. It is recommended for all users.
----------, Jul 2, 2020

This version brings even more improvements with crafting
----------, Jun 27, 2020

This version brings some major improvements and bug fixes to crafting
----------, Jun 27, 2020

This version makes some minor improvements for 1.16
----------, Jun 25, 2020

This version officially supports Minecraft 1.16, although older versions should too
----------, Jun 25, 2020

This version fixes a bug that sometimes caused a few users to get a long warning message in the console when starting up their server.
----------, Jun 23, 2020

This version fixes some minor bugs with the playerRemoveItem and targetRemoveItem actions
----------, Jun 23, 2020

This version brings some bug fixes when changing variables on items in the "pickup" handler
----------, Jun 22, 2020

This version brings some bug fixes with actions that update items
----------, Jun 19, 2020

This version makes some improvements with targeting actions, and adds a new "targetMaxDistance" option for actions, which sets the maximum distance that a targeted entity will be from the player (this is 4 by default, but can be a value up to 50).
----------, Jun 18, 2020

This version makes some minor changes to the internals of how items are stored.
----------, Jun 17, 2020

This version brings some speed improvements for block physics on custom blocks!
----------, Jun 15, 2020

This version brings some bug fixes and improvements with block generation
----------, Jun 15, 2020

This version brings some minor bug fixes with the automatic resource pack generator
----------, Jun 14, 2020

This is a big update to CustomItems, which adds automatic resource pack generation for Minecraft versions 1.14 and up (older versions will be coming soon). This means that all you need to do is drop your texture images in a folder, and CustomItems will take care of making your resource pack for you!

After you add your textures to the CustomItems/textures folder (name them myCustomItemID.png), you can generate your resource pack with /cui rp gen

Check out the wiki page about Automatic Resource Pack Generation here: https://github.com/jojodmo/CustomItems/wiki/Automatic-Resource-Pack-Generation
----------, Jun 12, 2020

This version makes a few minor improvements & bug fixes with custom blocks
----------, Jun 8, 2020

This version brings some minor bug fixes with the new /cui blockstorage verify command
----------, Jun 7, 2020

This version adds a new /cui blockstorage verify command, which can be used to verify that your blockstorage database is not corrupted. It is recommended that you don't use this command unless you really know what you're doing.
----------, Jun 6, 2020

This version adds a new "ifMemberOfRegion" condition, which can be used to check whether or not a player is a member of the world guard region they're in. Like this:

ifMemberOfRegion: true

It also makes a minor change to how other WorldGuard actions are handled — now, instead of always being checked at the player's current location, WorldGuard conditions are checked at the block that the player interacted with, if there is one, and the player's location if there isn't one.
----------, May 25, 2020

This version brings some bug fixes and improvements with fallback block textures. Specifically, it fixed a bug that sometimes caused fallback block textures to not work for some users
----------, May 25, 2020

This version adds support for shift-clicking in crafting, and also makes some bug fixes and speed improvements with all crafting mechanics!
----------, May 23, 2020

This version brings pages to /cui list, so you can have multiple pages of items in a single category. It also makes some minor improvements when smelting custom recipes with a long cook time.

If you've had any issues with CustomItems, make sure to send me a PM or ask on the discord at http://bit.ly/cui-discord. If you love CustomItems, take a second to review it! Your feedback really means a lot!
----------, Jan 16, 2020

You can now use "none" or "nothing" as a Minecraft material for setting/checking block types!
----------, Jan 15, 2020

This update makes some speed improvements with variables and minor security improvements
----------, Jan 13, 2020

This version makes some improvements to help you find places where you made an error in handlers and actions!
----------, Jan 12, 2020

You can now set and change custom variables on items using conditions and actions!

You can store either text, like "Hello, world!" in a variable, or a number!

This update adds four new actions: "setVariable", "deleteVariable", "addToVariable" and "subtractFromVariable"

Code (Text):

action: setVariable
variable: "myCustomVariable"
value: 64
It also adds new placeholders for variables! Just use {variable.variableName}

Code (Text):

action: sendMessage
messages:
  - "The value of myCustomVariable is {variable.myCustomVariable}"
  - "The value of myOtherVariable is {variable.myOtherVariable}"
  - "If we add them together we get {{variable.myCustomVariable} + {variable.myOtherVariable}}"
 
It also adds a new condition, "ifVariables", that lets you check whether or not a variable meets certain conditions! You can even use placeholders here!

Code (Text):

action: sendMessage
ifVariables:
  myCustomVariable: "> 10"
  myOtherVariable: " = {variable.myCustomVariable}"
message: "This message will only send if myCustomVariable is > 10 and myOtherVariable is equal to myCustomVariable!"
 
Variables are unique to each item — one player's myCustomItem could have a variable set to 10, and another player's myCustomItem could be set to 5, so be careful when allowing players to stack items with variables on them!

More info will be added on the wiki soon:
https://github.com/jojodmo/CustomItems/wiki/Variables
----------, Jan 11, 2020

This version adds some new actions and conditions for target EXP! It adds the actions "targetAddEXP", "targetRemoveEXP", and "targetSetEXP". It also adds a new "ifTargetEXP" condition and {target.exp} placeholder!

If the target isn't a player, the condition will be ignored and {target.exp} will be "null"

Check out the wiki for more info: https://github.com/jojodmo/CustomItems/wiki/Handlers-and-Actions
----------, Jan 11, 2020

This version adds some new actions and conditions for player EXP! It adds the actions "playerAddEXP", "playerRemoveEXP", and "playerSetEXP". It also adds a new "ifPlayerEXP" condition and {player.exp} placeholder!

Check out the wiki for more info: https://github.com/jojodmo/CustomItems/wiki/Handlers-and-Actions
----------, Jan 10, 2020

Speed improvements for some of the updates added in 2.9
----------, Jan 10, 2020

You can now combine multiple placeholders together, and run multiple operations on a single placeholder!

Before, you could only use one placeholder at a time, like {location.x + 5}

but now, you can nest placeholders and do things like {location.x + {location.y + {location.z}}}, or {{location.x / 2} round 0}

The wiki https://github.com/jojodmo/CustomItems/wiki/Handlers-and-Actions#message-and-command-placeholders will be updated with more information about enhanced placeholders soon!
----------, Jan 8, 2020

This version adds a new "force" option for the "placeBlock" action. Before, the placeBlock action would place the block regardless of a player's permission to build. However, now "placeBlock" will by default only place the block if the player could place the block themselves. This can be overrided by setting "force" to "true"

This version also makes some stability improvements to the "damageItemUsed" action

See the wiki for "placeBlock" here: https://github.com/jojodmo/CustomItems/wiki/Handlers-and-Actions#placeBlock
----------, Jan 8, 2020

This version makes some improvements to material matching for recipes
----------, Jan 4, 2020

This version brings some improvements to material name matching, and also to to servers running MC 1.8
----------, Jan 4, 2020

This version makes some minor improvements with handlers & actions, specifically actions that involved a non-player entity as a target, and cooldowns and delays!
----------, Jan 4, 2020

This version now properly handles empty sections in handlers and actions (instead of sending a message, they're now just ignored)
----------, Jan 1, 2020

This version brings some minor bug fixes for MC 1.15.1
----------, Jan 1, 2020

This version makes some minor bug fixes with messages sent when crafting recipes
----------, Dec 31, 2019

This version fixes an issue that caused BLUE_DYE to not be a recognized item
----------, Dec 31, 2019

This version makes some minor bug fixes with material matching
----------, Dec 31, 2019

This version adds a new "playerPlaySound" action!

Code (YAML):
handlers:
  rightClick
:
    actions
:
     -
        action
: playerPlaySound
        sound
: mySound
     
----------, Dec 30, 2019

This version brings some bug fixes, and is recommended for all new users
----------, Dec 28, 2019

This version adds a new "player.foodLevel" placeholder in actions!
----------, Dec 25, 2019

Under-the-hood improvements, and MERRY CHRISTMAS!
----------, Dec 25, 2019

Improvements and bug fixes
----------, Dec 24, 2019

Under-the-hood improvements and bug fixes
----------, Dec 24, 2019

Bug fixes [If you encountered issues in version 2.8 or 2.8.1, please PM me]
----------, Dec 24, 2019

This version brings some bug fixes
----------, Dec 23, 2019

This version brings under-the-hood improvements with recipes
----------, Dec 23, 2019

This version brings under-the-hood updates for furnace recipes
----------, Dec 23, 2019

This version adds custom smelting recipes!

Code (YAML):
recipes :
 -
    type
: "furnace"
    ingredient
: "myCustomIngredient" # the CustomItem or Minecraft material to smelt this item
    time
: 40 # cook time, in ticks (40 ticks = 2 seconds)
    exp
: 2 # amount of EXP for smelting. 0 by default
 
----------, Dec 23, 2019

This version brings some more under-the-hood improvements
----------, Dec 23, 2019

Minor bug fixes
----------, Dec 22, 2019

This version brings under-the-hood and stability improvements
----------, Dec 22, 2019

This version brings some more under-the-hood improvements
----------, Dec 22, 2019

This version brings some minor improvements
----------, Dec 21, 2019

This version adds a new "rightClickEntity" handler!
----------, Dec 18, 2019

This version brings some minor improvements to the plugin!
----------, Dec 16, 2019

This version brings some Bug fixes & Improvements
----------, Dec 14, 2019

This version updates CustomItems for MC 1.15!
----------, Dec 13, 2019

This version brings some minor improvements to Custom Items
----------, Dec 12, 2019

This version brings some minor bug fixes
----------, Dec 11, 2019

This version adds target.player.name as an alias for placeholder target.name, and player.name as an alias for the placeholder player
----------, Dec 10, 2019

This version brings some more minor under-the-hood improvements!
----------, Dec 10, 2019

This version makes "itemPickup" an alias for the "pickup" handler. The lack of this caused some confusion.
----------, Dec 9, 2019

This version adds a new "player.health" placeholder which can be used in messages in triggers!

If the player's health has a normal scale then "you have {player.health} health" will be turned into "you have 20 health"!
----------, Dec 8, 2019

This version makes "leftClickPlayer" an alias for the "hitPlayer" handler, so that there isn't confusion with the new "rightClickPlayer" handler
----------, Dec 7, 2019

This version adds a new "rightClickPlayer" trigger!
----------, Dec 6, 2019

More minor under-the-hood improvements
----------, Dec 3, 2019

This version brings some minor under-the-hood improvements
----------, Dec 2, 2019

This version adds a new "ifTargetFoodLevel" condition, formatted like the "ifPlayerFoodLevel" condition!
----------, Nov 26, 2019

This version brings some improvements to recipe permissions
----------, Nov 25, 2019

This version brings some minor bug fixes with damaging custom armor worn by players
----------, Nov 23, 2019

This version makes some minor improvements to the stability of the /cui reload command. As a reminder, you really should restart your server when you're done editing your items — /cui reload really should only be used for testing things
----------, Nov 22, 2019

This version makes some bug fixes that could have caused console spamming for a few users when enabling the plugin.
----------, Nov 22, 2019

This version adds a new "ifTargetHealth" condition, formatted like the "ifPlayerHealth" condition
----------, Nov 19, 2019

You can now use the new "ifFoodLevel" condition! Remember, this is measured in halves, so "10" will be half-full, and 20 will be completely full

ifFoodLevel: ">= 5"
----------, Nov 17, 2019

This version brings some bug fixes with handlers. There was a minor bug that sometimes caused a few users to experience issues with certain handlers. This is fixed now — sorry to those effected!
----------, Nov 17, 2019

You can now use the new "ifPlayerHealth" condition in handlers and actions! Just use it like this:

ifPlayerHealth: ">= 5" run only if the player's health is greater than or equal to 5 HALF-HEARTS

ifPlayerHealth: "< 18" run only if the player's health is less than 18 half hearts
----------, Nov 16, 2019

This version adds new permissions! You can enable them by adding this in your inventories.yml file

Code (YAML):
# Whether or not item permissions should be enabled.
#
# if this is set to "true", players will need certain permissions to see certain categories or items
# customitems.list.category.myCategory | gives the player permission to view the "myCategory" category when rrunning /cui list
# customitems.list.category.* | gives the player permission to view all of the categories when running /cui list
# customitems.list.category.myCategory.items | gives the player permission to view ALL of the items in the myCategory
# customitems.list.item.myCustomItem | gives the player permission to see the myCustomItem item when running /cui list
# customitems.list.item.* | gives the player permission to see all of the items, or, if you're using categories, gives
# the player permission to view all of the items in the categories they're allowed to see.
#
# customitems.list.* | gives the player permission to see all items and categories
#
# It is recommended that if you set this to "true", you give all players who have the permission customitems.list.category.myCategory
# the permission customitems.list.category.myCategory.items as well, for all items. However, this isn't necessary -- it just might make things easier.
#
# Default: false
listPermissionsEnabled
: false
It also makes some minor bug fixes not fixed in version 2.5.19
----------, Nov 12, 2019

This version adds new permissions! You can enable them by adding this in your inventories.yml file

Code (YAML):
# Whether or not item permissions should be enabled.
#
# if this is set to "true", players will need certain permissions to see certain categories or items
# customitems.list.category.myCategory | gives the player permission to view the "myCategory" category when rrunning /cui list
# customitems.list.category.* | gives the player permission to view all of the categories when running /cui list
# customitems.list.category.myCategory.items | gives the player permission to view ALL of the items in the myCategory
# customitems.list.item.myCustomItem | gives the player permission to see the myCustomItem item when running /cui list
# customitems.list.item.* | gives the player permission to see all of the items, or, if you're using categories, gives
# the player permission to view all of the items in the categories they're allowed to see.
#
# customitems.list.* | gives the player permission to see all items and categories
#
# It is recommended that if you set this to "true", you give all players who have the permission customitems.list.category.myCategory
# the permission customitems.list.category.myCategory.items as well, for all items. However, this isn't necessary -- it just might make things easier.
#
# Default: false
listPermissionsEnabled
: false
----------, Nov 10, 2019

You can now use "targetAddEffect" as an alias for the "targetAddEffects" action! The lack of this made things a little confusing previously.
----------, Nov 5, 2019

This version makes some bug fixes with custom block generation in Multiverse worlds!
----------, Nov 3, 2019

This version makes some bug fixes with the "removeItem" action that could cause some instability
----------, Nov 2, 2019

This version makes some bug fixes to the item creation GUI that sometimes caused things to be saved even though they wouldn't appear to be
----------, Nov 1, 2019

You can now check if a target has the desired armor using the "ifTargetHeadIs", "ifTargetChestIs", "ifTargetLegsAre", and "ifTargetFeetAre"! Just set them either to a Minecraft material like "minecraft :DIAMOND_HELMET" or a custom item id like "myCustomHelmet"!
----------, Nov 1, 2019

This version brings even more performance improvements to MySQL!
----------, Nov 1, 2019

This version makes some bug fixes with world guard
----------, Oct 31, 2019

This version brings vast improvements to MySQL speed!
----------, Oct 30, 2019

This version makes some bug fixes to block textures for MC 1.12 and below!
----------, Oct 29, 2019

You can now use the new "printToConsole" action to debug your triggers and actions, as well as log when players do things with items! Just set "action": "printToConsole", and "messages" to a list of the messages you want to print to the console!
----------, Oct 27, 2019

This version makes some bug fixes with the "exit" command not working correctly in the item creation GUI
----------, Oct 23, 2019

This version brings some bug fixes with lore in the item creation GUI
----------, Oct 22, 2019

This version makes some stability fixes for MC 1.12 and below, and is recommended for any server running a Minecraft version 1.12 or below.

It also makes some minor bug fixes with changing the color of leather armor in the item creation GUI
----------, Oct 22, 2019

This version brings some bug fixes with armor that could sometimes cause armor to be duplicated under certain situations. It is recommended for all users.
----------, Oct 21, 2019

This version brings some bug fixes that sometimes caused actions to not run
----------, Oct 20, 2019

The "list" command will now list custom items when run from the console!
----------, Oct 20, 2019

You can now set the color of armor in the create item GUI!
----------, Oct 19, 2019

You can now set a block at a position using the /cui setblock command!

For example, to set the block at x: 2, y: 64, z: -4 in the world "world" to "myCustomBlock", just use

/cui setblock myCustomBlock world 2 64 -4

The permission for the command is customitems.setblock
----------, Oct 17, 2019

This version makes some minor bug fixes with block storage
----------, Oct 12, 2019

Leather armor color is now saved when using the item creation GUI!
----------, Oct 11, 2019

Minor improvements to block storage migration
----------, Oct 11, 2019

You will now only be asked to confirm exiting if you make changes to a recipe
----------, Oct 5, 2019

This version brings some bug fixes with the "texture ID" button in the item creation GUI, and also makes some stability improvements to the GUI.
----------, Sep 30, 2019

Minor bug fixes with NBT in the create item GUI
----------, Sep 29, 2019

You can now set the texture ID of an item in the item creation GUI!
----------, Sep 28, 2019

This version brings some minor bug fixes
----------, Sep 25, 2019

This version brings some bug fixes with creating crafting recipes using the in-game GUI
----------, Sep 25, 2019

This version makes some minor bug fixes with creating shaped recipes using the /cui create command
----------, Sep 24, 2019

This version makes some minor bug fixes with creating shaped recipes using the /cui create command
----------, Sep 24, 2019

This version makes some bug fixes with /cui list
----------, Sep 24, 2019

This version makes some bug fixes with /cui list
----------, Sep 24, 2019

This version fixes some bugs with the item creation GUI on paper spigot
----------, Sep 24, 2019

This version brings some improvements to the recipe creator GUI — you can now see what the recipes are at a glance in the recipe list rather than needing to click each recipe and go back until you find the one you want!
----------, Sep 21, 2019

This version brings some bug fixes with the items in the item creation GUI
----------, Sep 17, 2019

This version fixes some bugs with MySQL defaulting to SQLite
----------, Sep 15, 2019

This version now brings some improvements telling you about the status of connecting to MySQL while your server is starting up!
----------, Sep 11, 2019

You can now design and edit recipes using the item creation GUI, /cui create!
----------, Sep 7, 2019

You can now set the order of the categories in /cui list! Just add the following to your inventories.yml file:

Code (YAML):
# The order you want your categories to show up in the category inventory.
# Anything that isn't included here will be put at the end of the inventory,
# in an undefined order.
categoryOrder
:
  - "myCategory"
   - "miscellaneous"
----------, Sep 6, 2019

This version brings improvements to MySQL Storage!
----------, Sep 1, 2019

You can now sort items in the Custom Item list! Just set "itemOrder" under "categories" in your inventories.yml file:

Code (YAML):
# If you want to order the items in the category's item list view, you can
# set itemOrder. Items will be added in the order that they appear in itemOrder.
# Keep in mind that you STILL NEED TO REGISTER THE ITEM INTO THE CATEGORY IN THE
# ITEM'S YML FILE. Any items that aren't in the list but are in the category will
# be added to the inventory after the ordered items.
categories
:
  miscellaneous
:
    itemName
: "&dMiscellaneous"
    item
: "minecraft:DIAMOND_PICKAXE"
    itemOrder
:
     - "myFirstCustomItem"
      - "mySecondCustomItem"
      - "myThirdCustomItem"
 
----------, Aug 31, 2019

This version brings some minor improvements to GUI item creation, and also makes some minor bug fixes!
----------, Aug 31, 2019

This version brings some improvements to armor effects, and fixes a bug that caused effects like night vision to flash constantly.
----------, Aug 30, 2019

This version brings some bug fixes with Drupi!
----------, Aug 30, 2019

This version makes bug fixes with armor effects
----------, Aug 29, 2019

You can now add effects to armor! To do so, just set "effects" under the "armor" to the effects you want, formatted like it is in handlers:

Code (YAML):
armor :    
    effects
:
         -
            potion
: "GLOWING"
          -
            potion
: "INCREASE_DAMAGE"
            strength
: 2
            particles
: false
            showIcon
: true
----------, Aug 29, 2019

This version brings a Czech translation to the plugin, thanks to uruhara98! It also makes some minor bug fixes
----------, Aug 27, 2019

Instead of always falling back to YAML storage when there's an error, MySQL now falls back to SQLite when there is an error, and SQLite then falls back to YAML if there's an error.
----------, Aug 25, 2019

This version brings SQLite support for block storage, and makes it the new default storage method!

If you were previously using YAML for storage, your yml file will still work, but, you should consider migrating to SQLite, as it is much faster than yml.

To migrate from yaml to SQLite, add the following to your config.yml:

Code (YAML):

# Information about the SQLite database for storing blocks
# This is only used when blockStorageFormat above is set to "sqlite"
# You don't need too change any of these values, if you don't want to
blockStorageSQLite
:
  database
: CustomItems # You can change this if you want
  table
: CustomItemBlocks # You can change this if you want
and change blockStorageFormat to "sqlite". Then, in console type "cui blockstorage migrate yaml sqlite" to migrate from YAML to sqlite!
----------, Aug 24, 2019

This version brings a few improvements and bug fixes to block textures!
----------, Aug 23, 2019

You can now use a new attribute format to set the attributes on custom items, making it much easier! Just set the slot as a key under "attributes", and then under that slot key, add each attribute you want to add to for that slot and a number. For example:

Code (YAML):
item :
  attributes
:
    head
:
      armor
: 2
      speed
: 2
      maxHealth
: 5
    mainHand
:
      speed
: 5
      armor
: 0.1
----------, Aug 20, 2019

This version brings some minor bug fixes with item info GUIs
----------, Aug 20, 2019

You can now use the new "round" operator for placeholders, like this {<placeholder> round <number>} for example, {location.x round 2}:

{location.x round 0} will round location.x to 0 decimal points (so, 17.753 will become 18)

{location.y round 1} will round location.x to 1 decimal point (so, 17.753 will become 17.8)

{location.y round 2} will become 17.75, etc.
----------, Aug 20, 2019

This version brings some bug fixes with item inventories, which could sometimes cause some players to get errors when getting info about items that don't have recipes
----------, Aug 19, 2019

More bug fixes with crafting — recommended for all users
----------, Aug 18, 2019

This version brings a lot of bug fixes and improvements to the crafting system, and is recommended for all users of the plugin
----------, Aug 18, 2019

This version fixes some minor bugs with setting the lore of items in the item creation GUI, as well as some other bugs in the item creation GUI
----------, Aug 18, 2019

This version brings some improvements to Custom Item NBT tags and makes some bug fixes. Namely, custom items will now have NBT tags that record what version of the plugin they were created using, as well as what version of Minecraft they used!
----------, Aug 18, 2019

This version brings drupi support! To use drupi with custom items, just use the action "runDrupi", and set "actionID"

Code (YAML):
action : runDrupi
actionIDs
:
 - "drupiAction1"
  - "drupiAction2"
You can then listen for "onCustomItemsHandle", and check if event's actionID, event.getActionID, is equal to the action ids you provided in your item yml file — almost exactly like Skript integration!
----------, Aug 18, 2019

This version makes some improvements to GUI item creation making it easier to see what can be further configured in the item yml file.

Also, thank you so much for 100 downloads! It means a lot!
----------, Aug 17, 2019

This version brings some minor bug fixes with furnaces using Custom Items!
----------, Aug 16, 2019

Now, when you set the base item in the GUI item creator, the custom item’s display name and lore will automatically be set!
----------, Aug 16, 2019

You can now set an item’s NBT from the creation GUI! Whenever you set the item in the GUI to something that has custom NBT, it will automatically be set under the “item.nbt” key in the item yml file!

As a side note, I have very limited internet access right now — just enough to upload occasional updates — and likely won’t be able to respond to any PMs for about a week. I’ll respond to them as soon as I can, though!
----------, Aug 13, 2019

You can now run actions if the "runInterval" isn't correct for your action:

Code (YAML):
runInterval : 10
notRunIntervalActions
:
 -
    action
: sendMessage
    message
: "This will run every time except for every 10th time"

action
: sendMessage
message
: "This will run every 10 times"
----------, Aug 12, 2019

This version brings some improvements to block storage to make checking whether or not a block is custom much, much, (much) faster. Before, the plugin would check every block to see whether or not it was custom. However, now it will only check possible custom block materials
----------, Aug 11, 2019

Introducing GUI item creation! You can now use a simple GUI to create items! Just use the /cui create command!
----------, Aug 10, 2019

This version makes even more improvements to MySQL storage! Big improvements are coming soon to block storage!
----------, Aug 9, 2019

This version brings EVEN more improvements to MySQL storage!
----------, Aug 8, 2019

This version brings some major performance improvements to MySQL block storage!
----------, Aug 8, 2019

This version brings some more improvements to MySQL block storage (with more to come!), and also lays the groundwork for SQLite support to be added in the future
----------, Aug 7, 2019

This version brings some big improvements in migrating from YAML to MySQL!
----------, Aug 6, 2019

This version brings some improvements to the /cui blockstorage migrate command!
----------, Aug 6, 2019

You can now alter an item's base NBT tags!

Code (YAML):
item:
  nbt
:
    myCustomTag1
: "Value 1"
    myCustomTag2
: "Value 2"
    myCustomMap
:
      mapTag1
: "Map Value 1"
      mapTag2
: "Map Value 2"
    myCustomList
:
     - "List Value 1"
      - "List Value 2"
----------, Aug 6, 2019

The "blockStep" action will always be a little resource intensive, as it has to run every time a player changes blocks. However, this update makes some performance and memory improvements for that!
----------, Aug 5, 2019

This version makes some minor improvements with the pluginStorage.yml file!
----------, Aug 5, 2019

This version brings some improvements to the unbreaking enchantment algorithm on MC 1.13, making unbreaking enchantments work almost exactly like they do for non-custom items!
----------, Aug 4, 2019

This version brings support for the unbreaking enchantment on custom textured items on servers running MC 1.13 and below!
----------, Aug 3, 2019

You can now set an item's data value for a Custom Items! Just set "dataValue" under "item"

Code (YAML):
item:
  material
: "minecraft:WOOL"
  dataValue
: 14
This version also adds some improvements to ore generation when using the YML block storage format!
----------, Aug 2, 2019

This version brings some minor bug fixes with crafting recipes
----------, Aug 1, 2019

This version brings some minor bug fixes with "armor" conditions
----------, Jul 31, 2019

This version brings some bug fixes and improvements with custom block generation! You can now set the blocks that should be replaced in the "ore" method (in the past, ore would only generate in stone).

Code (YAML):
block:
  generation
:
   -
      method
: ore

      # Generate ore in both stone and netherrack
      blockTypes
:
       - "stone"
        - "netherrack"
      worlds
:
       - "world"
        - "world_nether"
      continueChance
: 0.4
      generationChance
: 1.0
      amountPerChunk
: 5
This version also fixes some minor bugs with custom block generation
----------, Jul 31, 2019

You can now use custom blocks with Skript! Just use the condition

if the block is a Custom Item with the id "myCustomBlock"
----------, Jul 29, 2019

You can now check if a player is wearing armor using the "ifPlayerHeadIs"
", "ifPlayerChestIs", "ifPlayerLegsAre", and "ifPlayerFeetAre":

Code (Text):
ifPlayerHeadIs:
  - "minecraft:DIAMOND_HELMET"
  - "minecraft:GOLD_HELMET"
ifPlayerChestIs: "minecraft:IRON_CHESTPLATE"
# Set one of these to "nothing" to require the player doesn't wear armor in this slot
ifPlayerLegsAre: "nothing"

action: sendMessage
messages:
  - "You are wearing either a diamond or gold helmet"
  - "AND you are wearing an iron chestplate"
  - "AND you are wearing nothing on your legs"
  - "you could be wearing anything, or nothing, on your feet"
----------, Jul 29, 2019

You can now repair an item when a user does something with it using the "repairItem" action!

Code (YAML):
action : repairItem
amount
: 1
----------, Jul 28, 2019

You can now check if a player is wearing a full set of your custom armor using the "ifWearingFullSet" condition!

Code (YAML):
ifWearingFullSet :
 - "myArmorCategory"
  - "myOtherArmorCategory"
action
: sendMessage
message
: "You're wearing a full set of either myArmorCategory or myOtherArmorCategory armor"
----------, Jul 28, 2019

This version brings some minor bug fixes!
----------, Jul 27, 2019

There was a minor bug that sometimes caused textured blocks to not be able to be placed if the item's material was not set — that's gone now!
----------, Jul 27, 2019

You can now add armor categories to your items! This enables you to do things like give players potion effects when they're wearing a full set of your custom armor!

Code (YAML):
# This file configures your armor categories!
# To set custom armor's category, set "category" to the
# category under "armor" in the item's yml file, like this:
#
# # in items/myArmor.yml
# armor:
#   category: myArmorCategory

# and then add the category in here, like this
#
# categories:
#   myArmorCategory:
#     #... options...
#   myOtherArmorCategory:
#     # ...
#
# See the wiki for more info on configuring this

categories
:
  myArmorCategory
:
    # handlers for this armor category
    handlers
:

      # if the player is wearing a full set of armor in this category, do this:
      fullSet
:

        # give the player the following potion effects while they are wearing the full set
        # of armor
        effects
:
         -
            potion
: "GLOWING"
          -
            potion
: "INCREASE_DAMAGE"
            strength
: 2
            particles
: false
            showIcon
: true
  myOtherArmorCategory
:
    # ...
----------, Jul 26, 2019

This version makes some minor bug fixes with durability that could have been introduced in version 1.12.8
----------, Jul 25, 2019

You can now do math in placeholders like {player.location.x}! For example:

Code (YAML):
action : sendMessage
messages
:
 - "Hey there, {player}!"
  - "Your y position is {player.location.y}!"
  - "If we add five to that, we get {player.location.y + 5}!"
  - "If we multiply it by two, we get {player.location.y * 2}"
  - "If we divide by three, we get {player.location.y / 3}!"
----------, Jul 25, 2019

This version makes some improvements to damageable items for older MC items!
----------, Jul 24, 2019

Check out https://github.com/jojodmo/CustomItems/wiki/Handlers-and-Actions#conditions for more info!

You can now use ifTargetDistance, ifFlying, ifGliding, and ifSwimming!

Code (YAML):
ifTargetDistance : "> 5"
ifFlying
: true
ifGliding
: false
ifSwimming
: false
----------, Jul 23, 2019

This version fixes some bugs that a few users sometimes experienced with attributes and durability!
----------, Jul 23, 2019

This update fixes some minor bugs that could sometimes cause some older versions of Spigot to experience unexpected crashes!

This is also the 100th update! Yay!
----------, Jul 22, 2019

This version brings new "rightClick" and "leftClick" handlers! "rightClick" happens when a player right clicks air or a block, and left click happens before a player left clicks air or a block.

These handlers are run BEFORE the more specific ones. For example, "rightClick" happens BEFORE "rightClickBlock" and "rightClickAir"

Code (YAML):
handlers :
  rightClickAir
:
   -
      action
: sendMessage
      message "This will happen second"
  rightClick
:
   -
      action
: sendMessage
      message
: "This will happen first"
----------, Jul 21, 2019

This version brings a german translation to Custom Items! Just set "language" to "de" in the config.yml
----------, Jul 20, 2019

You can now use the new "placeBlock" action when a player right-clicks a block or left-clicks a block to mimic block placing for unplaceable items!

Code (YAML):
# Place a diamond block on the block the player right-clicks
# with this item!

handlers
:
  rightClickBlock
:
   -
      action
: placeBlock
      type
: "minecraft:DIAMOND_BLOCK"
----------, Jul 20, 2019

You can now set the fallback material of items on Minecraft 1.13 and below! Check out the wiki for more info:

https://github.com/jojodmo/CustomIt...o-Items#if-you-set-the-material-for-your-item
----------, Jul 19, 2019

When a player joins your server without your resource pack installed, you can now show them a fallback Minecraft block instead of an untextured custom block!

Check out https://github.com/jojodmo/CustomItems/wiki/Adding-Custom-Textures-to-Blocks#fallback-textures for more info!

Just add the following in your config.yml:

Code (YAML):
# Whether or not to enable fallback block textures
#
# Set this to true to and players who do not have your resource pack downloaded
# Will see the fallback Minecraft texture for custom textured blocks
#
# You can set a block's fallback texture under "fallback" in the "texture" section of the "blocks" section in your item yml file
#
# default: false
doFallbackTextures
: false

# The default fallback texture for blocks
#
# If "doFallbackTextures" is "true", and a custom-textured block doesn't have a fallback texture,
# players will see the block like this Minecraft block instead.
#
# You can ONLY set this to a Minecraft block (like "minecraft:GOLD_BLOCK" or "minecraft:COBBLESTONE") - can not be
# an non-placeable item.
#
# default: NULL
defaultFallbackTexture
: NULL
And set "doFallbackTextures" to "true" to enable fallback textures! You can then set "fallback" under "texture" of "block" in the item yml file to set the block's fallback texture:

Code (YAML):
block :
  texture
:
    fallback
: "minecraft:DIAMOND_BLOCK"
    textureID
: 42
Players with your resource pack will see textureID 42, and those without it will see a diamond block!
----------, Jul 19, 2019

You can now force users to download your servers resource pack, and kick them if they don't! Just add the following things to the config.yml:

Code (YAML):
# Whether or not to force the user to download your server's resource pack
#
# Set this to true to automatically kick players from your server if they
# decline or your resource pack or the download fails.
# Keep in mind that this may have an adverse effect on your playerbase.
#
# Players with the permission customitems.resourcePack.ignore will not
# be kicked
#
# default: false
forceResourcePack
: false

# The message to send when a player declines your server's
# Resource pack. You can use &color codes
#
# default: "You must accept the resource pack request"
resourcePackDeclinedKickMessage
: "You must accept the resource pack request"

# The message to send when a player accepts your server's
# resource pack, but the download fails. You can use &color codes
#
# default: "The resource pack did not successfully download. Please check your internet connection and try again in a few seconds. If you believe this is an error, please contact the server administrators."
resourcePackDownloadFailedKickMessage
: "The resource pack did not successfully download. Please check your internet connection and try again in a few seconds. If you believe this is an error, please contact the server administrators."
----------, Jul 17, 2019

You can now choose to force enchantments and damage to show even when item flags are hidden!

Code (Text):
item:
  hideFlags: true
  hideDamage: false
  hideEnchantments: false
----------, Jul 16, 2019

You can now set blocks to custom items using the API! Developers, check out CustomItemAPI.setCustomItemIDAtBlock
----------, Jul 15, 2019

You can now have a list of actions run if the conditions in your “if” conditions don’t run:

Code (YAML):
ifBlockType : “minecraft:COBBLESTONE”
action
: sendMessage
message
: “You hit cobblestone”
elseActions
: #elseActions is formatted a lot like “runActions” — It’s its own action list
  -
    action
: sendMessage
    message
: “You hit something that isn’t cobblestone”
----------, Jul 12, 2019

You can now put each Custom Item in a category, so when a player runs /cui list, they'll see a list of item categories! They can then click on one of those categories to get a list of items in that category.

Of course, you can disable this by keeping "enableCategories" as "false" in the inventories.yml file.

To enable it, set "enableCategories" to "true" in your inventories.yml, and then add your item categories:
Code (YAML):
# in inventories.yml

# Whether or not categories should be enabled. Set to "true" to enable categories
categoriesEnabled
: true

# Item Categories along with the items that represent them
# You can add items to categories by setting "category" in
# the item's YML file.
#
# Any item that doesn't have a category will be put in the
# "miscellaneous" category by default.
#
# The format is
#
#   category:
#     itemName: ...
#     item: ...
#
# Where the item is the item that represents this category.
# This can be a Minecraft item or a Custom Item. See referencing
# items above.
#
# inventoryName is the name that appears in the Custom Item list inventory
# You can use &color codes in this name
categories
:
  miscellaneous
:
    itemName
: "&dMiscellaneous"
    item
: "minecraft:DIAMOND_PICKAXE"
Then, in your item YML files, set "category" to whatever category you want the item to be in (make sure the category exists in your inventories.yml file), like this:

Code (YAML):
# in myCustomItem.yml

name
: "My Custom Item"
category
: "myCategory"
 
If you don't set "category", the item will automatically be put in the "miscellaneous" category.

This update also includes some minor bug fixes with potion effects in trigger actions
----------, Jul 11, 2019

This version introduces some minor bug fixes with crafting and MC versions 1.8 and 1.12
----------, Jul 10, 2019

Turns out custom crafting is way more complicated to do right than I thought it was... This version makes some bug fixes to crafting.
----------, Jul 10, 2019

This version brings a few minor bug fixes with anvils
----------, Jul 9, 2019

If you have "forceUpdate" set to "true", the item now updates whenever a player clicks on the Custom Item!
----------, Jul 9, 2019

You can now set versions for your custom items! To do this, just set

Code (YAML):
#in myItem.yml

version
: (number | default : 1 )
By default, the version of every item is 1, including items that were created before this update.

If you then want to make a big change to the item, and automagically make the old item the new item when the player does something with it, just increment the version (preferably by one), and set "forceUpdate" to "true"

Code (YAML):
#in myItem.yml

version
: 2
forceUpdate
: true
WARNING: The only thing that will be transferred over to the new item will be the old item's enchantments. Other than that, the old item will be completely deleted, and the player will be given a new item in its place instead (so, the user would lose any custom name they gave to the item, etc)... If anyone has any feature requests pertaining to this, let me know!
----------, Jul 9, 2019

This version brings improvements to some error messages, and also disables some un-necessary debug messages.
----------, Jul 8, 2019

This version makes some minor bug fixes to recipes, and fixes a bug that could sometimes cause recipes to not allow the player to craft the item.
----------, Jul 8, 2019

You can now allow players to enchant items with an anvil. To do so, just set “enchantable” to "true"!

You can now also calculate fortune drops by default! To do so, set “doFortuneDrops” to “true” under "block". You can also respect silk touch with your custom blocks — set “doSilkTouchDrops” to “true” under "block".

Code (YAML):
# in myItem.yml

enchantable
: true

block
:
  doFortuneDrops
: true
  doSilkTouchDrops
: true
----------, Jul 8, 2019

You can now require a player has a permission to use a recipe! Just set "permission" under the recipe, and the player will only be able to craft that recipe if they have the permission.

All permissions are prefixed with "customitems.recipe.", so if you set "permission" to "magicStick", the user will need the permission "customitems.recipe.magicStick" to use the recipe!

In addition, this update makes some minor bug fixes with matching native Minecraft materials
----------, Jul 7, 2019

This version brings some improvements to item attributes and crafting recipes!
----------, Jul 7, 2019

You can now modify native Minecraft item attributes! To do so, just add the "attributes" key under the "item" key:

Code (YAML):
item:
  attributes
:
    #Valid options are "maxHealth", "speed", "attackDamage", "armor", "armorToughness", "attackSpeed", "luck", "jumpStrength"
    attackSpeed
:
      # The decimal amount of this attribute
      amount
: 0.5

      # What operator should be used. You can also use the native MC operators "0", "1", and "2"
      operator
: ADD

      # The slots that this should take effect in. Options are "mainHand", "offHand", "feet", "legs", "chest", or "head"
      slots
:
       - "mainHand"
        - "offHand"
You can find more info about what each option does at these pages:

attribute modifiers: http://minecraft.gamepedia.com/Attribute#Modifiers
item attributes: http://minecraft.gamepedia.com/Player.dat_format#Attribute_Modifiers


More info about this will be available on the wiki soon!
----------, Jul 6, 2019

This update brings some improvements and bug fixes to custom recipes. Namely, it fixes a bug that could cause custom items to sometimes be allowed to be used in place of native items in recipes, and also fixed a bug that could cause the item amount requirement in recipes to not work!

Additionally, it fixes some bugs with Minecraft version 1.12 and below for custom block textures!
----------, Jul 6, 2019

You can now add a cooldown for your actions! Just set "cooldown" in the action (in ticks), or "cooldownSeconds" in the action. If you want actions to run if the player hasn't cooled down, then add an action list under "notCooledDownActions":

Code (YAML):
action : sendMessage
message
: "This message requires a 10 second cooldown"
cooldown
: 200 # This is 10 seconds in ticks
# Or, you can just use this, which is equivalent to the above line
cooldownSeconds
: 10
notCooledDownActions
:
 -
    action
: sendMessage
    message
: "You haven't cooled down yet!"
This version also adds the placeholder "{cui.action.id}", which will be replaced with a unique number identifier for the action that was run — this will likely only have uses for advanced users.
----------, Jul 5, 2019

This version makes some improvements to the way damageable items are handled, and makes some minor bug fixes with the teleportPlayer action, armors, damageable items, and glowing items.

It also fixes a bug that caused a few users to sometimes experience spam in the console
----------, Jul 4, 2019

You can now set the blast resistance for custom armors! Keep in mind that this stacks with the armor's strength, but is only applied when the wearer is damaged by a blast
----------, Jul 4, 2019

This update brings the ability to set the attributes of armor items! Just set "strength" under "armor":

Code (YAML):
# in myCustomArmor.yml
item
:
  material
: "minecraft:DIAMOND_CHESTPLATE"
  displayName
: "My Custom Chestplate"
armor
:
  # A number from 0 to 100.
  # 0 does nothing and 100 makes the player invincible when
  # wearing this armor piece.
  #
  # This adds up with armor pieces. So, if your custom chestplate, leggings, boots, and helmet each had
  # strength: 25, wearing the full set would make the user
  # invincible
  strength
: 10
You can also now use parameters like {target.location.x} and {player.location.world} in the actions "teleportPlayer" and "teleportTarget":

Code (YAML):
action : teleportPlayer
world
: {target.location.world }
locationX
: {target.location.x }
locationY
: 100
locationZ
: {target.location.z }
----------, Jul 3, 2019

There's now an even better way of making block textures (although the other way still works! Just set "format" to "expanded" under "texture" of the block.

In the new way, you can make simple blocks by simply setting the "textureID" under "texture", and using the resource pack example which is available here:

https://github.com/jojodmo/CustomItems/wiki/Adding-Custom-Textures-to-Blocks

You can also now disable physics on your custom blocks (Make a new railroad block that doesn't do block physics, or gravel that doesn't fall)

All you need to do is set "physics" to "false" under "block"!
----------, Jul 2, 2019

This version brings some minor bug fixes and improvements to enchantment matching and durability on custom items
----------, Jul 1, 2019

This version fixes a minor bug that caused some custom items to be given to players without the correct enchantments applied.
----------, Jul 1, 2019

This version includes some minor bug fixes, and also makes some improvements to the "items" parameter in handlers. You can now use "items" like this:

Code (YAML):
blockBreak :
 -
    # Set the drops to 10 diamonds and 2 of "myCustomItem"
    action
: setDrops
    items
:
      "minecraft:DIAMOND"
: 10
      "myCustomItem"
: 2
----------, Jun 30, 2019

This version fixes some minor bugs that some users may have experienced with version 1.9.3
----------, Jun 28, 2019

You can now specify a radius in the setBlock action to set all blocks in a radius! To do so, just set xRadius, yRadius, and/or zRadius!
----------, Jun 28, 2019

You can now make actions run only if the item in the player's main hand has certain enchants! To do this, just use ifItemEnchants like so:

Code (YAML):
ifItemEnchants :
  # Only run if the item has the fortune enchantment at a level ABOVE 1
  "minecraft:FORTUNE"
: "> 1"

  # AND Only run if the item has a silk touch enchantment at a level LESS THAN OR EQUAL TO 2
  "minecraft:SILK_TOUCH"
: "<= 2"

  # AND Only run if the item has a sharpness enchantment at level 0 (doesn't have the enchantment)
  "minecraft:SHARPNESS"
: "= 0"
----------, Jun 27, 2019

You can now make actions run only if the item in the player's main hand has certain enchants! To do this, just use ifItemEnchants like so:

Code (YAML):
ifItemEnchants :
  # Only run if the item has the fortune enchantment at a level ABOVE 1
  "minecraft:FORTUNE"
: "> 1"

  # AND Only run if the item has a silk touch enchantment at a level LESS THAN OR EQUAL TO 2
  "minecraft:SILK_TOUCH"
: "<= 2"

  # AND Only run if the item has a sharpness enchantment at level 0 (doesn't have the enchantment)
  "minecraft:SHARPNESS"
: "= 0"
----------, Jun 27, 2019

You can now make an item hide enchantments and hide item flags by setting "hideEnchantments" and "hideFlags", respectively, under "item"
----------, Jun 26, 2019

Introducing the Custom Items Developer API!

Other plugins can now hook into Custom Items! This allows other plugins to use and interact with your Custom Items!

If you want to use Custom Items with another plugin (for example, make your custom kill drops plugin, or your quests plugin use Custom Items), just ask the developer of that plugin to add the Custom Items API!

Developers can use the API by using the class
com.jojodmo.customitems.api.CustomItemsAPI
and the methods inside of it. Each method has JavaDocs attached so you can see the usage. The most important methods are

ItemStack getCustomItem(String id)

and

String getCustomItemID(ItemStack stack)
----------, Jun 25, 2019

This update contains a new generator "replace", which will replace matching blocks in new chunks with your block. In addition, it adds a new "biome" option under generators that allows you to make your generator only work in certain biomes. For a list of valid biomes, visit

https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html

Code (YAML):
name : "My Custom Grass"
item
:
  material
: GOLD_BLOCK

canBeUsedGenerically
: false
canBePlaced
: true

block
:
  generation
:
   -
      method
: replace
      blockTypes
:
       - "minecraft:GRASS"
      worlds
:
       - world
      biomes
:
       - "DESERT"
        - "FOREST"
      generationChance
: 0.95
      # If generationAmount isn't set, the generator will replace all of the matching blocks
      minY
: 20
     
----------, Jun 8, 2019

You can now add custom textures to your custom blocks!!!

To do so, just edit add the following info to your item .yml file:

Code (YAML):
name : "Compressed Cobblestone"
item
:
  material
: "minecraft:gold_block"
  displayName
: "&bCUI Golden Block"

canBeUsedGenerically
: false
canBePlaced
: true

block
:
  drops
:
    "minecraft:diamond"
: 3
    "minecraft:gold_ingot"
: 4
  texture
:
    textureID
: 13
    color
: "444444"
You can use https://codecrafted.net/blockdesigner to design your pack, also, and use the "layer" system like so:

Code (YAML):
block:
  drops
:
    oreBlock
: 1
  texture
:
    layer0
:
      textureID
: 13
      color
: "444444"
    layer1
:
      textureID
: 31
      color
: "00AAFF"
    layer2
:
      textureID
: 37
      color
: "33AAFF"
If you design your own resource pack: If you're using 1.14 or above, "texutureID" is the CustomModelData of whatever you set "material" to in that layer. If "material" is a leather armor item, "color" is the dye color of the layer. If you're using a version under 1.14, then "texutureID" will correspond to the damage on the item. By default the item is "minecraft:leather_boots"
----------, Jun 7, 2019

This version brings Ore generation to Custom Items! It allows you to automatically generate your custom blocks when worlds are generated!

To make a block generate, just use something like this! Check out the plugin page for more information on generating blocks

Code (YAML):
name : "My Item Name"
item
:
  material
: GOLD_BLOCK

canBeUsedGenerically
: false
canBePlaced
: true

block
:
  generation
:
   -
      method
: ore
      worlds
:
       - world
      continueChance
: 0.4
      generationChance
: 1.0
      amountPerChunk
: 5
      minY
: 20
     
This version also brings some bug fixes with custom blocks.
----------, Jun 5, 2019

This update adds a new configuration file that allows you to customize the items in item GUIs! Just change the entries in the new menuItems.yml file generated at startup, and you'll see the changes when you run /cui inspect or /cui info!

You could set these items to custom-textured ones to get some cool effects. For example, you could make a new custom item that looks like a back button, and use that for previousMenu.
----------, Jun 2, 2019

This version brings an update that allows you to set the material of textured items. Just set both "material" and "textureID" under "item" in the item.yml — you should only do this if you know how to create your own resource packs. If you don't know how to make your own resource packs, stick with just setting "textureID" in the item.yml file. This only works for Minecraft 1.14+

This version also brings some bug fixes — namely, it fixes some bugs that were causing unwanted debugging messages to spam up the console
----------, Jun 1, 2019

This version brings some minor bug fixes and improvements to the plugin, namely with localization and custom item creation
----------, May 29, 2019

You can now give your custom items a damage bar, like for vanilla Minecraft tools!

If you're running Minecraft 1.14, you'll need to update your server resource packs. Check out the instructions of creating a resource pack on the main plugin page, and download these starter files: amazonaws.com/projects.store/spigot/CustomItemsModelFiles.zip. If you don't want to migrate over to the new format, that's ok! Just set "useOldResourcePackFormat" to true in the config.yml
----------, May 29, 2019

This version brings some minor bug fixes with textures
----------, May 27, 2019

This update brings the ability to add durability to any Custom Item — not just those with custom textures! Check out the previous update log for info on how to do that.
----------, May 27, 2019

You can now make your custom items damageable! Just set "damageable" to true in your item yml file under "item", and then set
"maxDurability", and optionally "itemDamage"!

Currently, this is only supported with custom-textured items, but will be supported with all custom items soon!

Code (YAML):
item:
  textureID
: 42

  damageable
: true
  durability
: 10
  itemDamage
: 0
----------, May 26, 2019

This version adds a new /cui edit command, which you can use to edit your custom items!
----------, May 25, 2019

This version includes minor bug fixes and improvements
----------, May 24, 2019

This version makes some minor bug fixes and improvements, but please make sure to read the previous update log as well.
----------, May 23, 2019

This version brings updates to the way custom textures are made — it allows you to make over 1,000 custom textures!

However, because of this, you will need to update your texture packs in order for your custom items to keep having the correct textures. Otherwise, your custom textures will no longer work.

To do so, download this zip file: https://s3.amazonaws.com/projects.store/spigot/CustomItemsModelFiles.zip
and place the two things in it into the assets/minecraft/models/item folder of the resource pack. Do not modify these files at all.

We're really sorry about making a breaking change, and will do our best to not make one in the future. However, this should be the final breaking change to textures.

If you need any help updating, please let us know!
----------, May 22, 2019

This version brings some minor localization improvements
----------, May 15, 2019

You can now make an action run only in intervals (for example, have an action run every other time it should run, or have it run only every other 10 times)

Note: this isn't saved over restarts, but if saving this number over restarts is desired, let me know and I'll add that feature.
----------, May 5, 2019

This version brings 1.14 support to Custom Items!

It also brings some very minor bug fixes with /cui create on pre-1.13 versions.
----------, May 3, 2019

This version adds a new "blockStep" handler, which is called whenever a player steps onto a custom block
----------, May 2, 2019

Added "itemDrop" handler, which is called when the custom item is dropped by the player
----------, Apr 26, 2019

You can now set the tick delay of an action running by setting "tickDelay" to the number of ticks! (20 ticks in one second)
----------, Apr 23, 2019

This update fixes a minor bug that caused a few users to experience issues with custom textures
----------, Apr 22, 2019

You can now turn off override permissions for the playerRunCommand action! Just set overridePermissions to false in the action, and the player will only run the command if they have permission (if overridePermissions is true, they'll run the command even if they don't have permission)
----------, Apr 20, 2019

You can now set the probability that an action will run! Just set "probability" to a number between 0.0 and 1.0, and the action will happen randomly with that probability
----------, Apr 19, 2019

This version brings minor improvements to compatibility mode and to the Chinese localization
----------, Apr 18, 2019

This version adds a new compatibility mode, which could remove any issues you have with Custom Items interfering with other plugins. It's highly unlikely that this is the case, but if Custom Items does not work correctly, you can set "compatibilityMode" to "true" in the config.yml

But, in almost all cases, you shouldn't need to use compatibilityMode, and should only use it if you need to.
----------, Apr 17, 2019

This version adds Chinese Localization, thanks to yeban!
----------, Apr 17, 2019

If your custom item is a skull, you can now change the skull owner to make skulls look like player heads! Just set either "skullOwner" or "skullUsername" under the item (if the item is a player head)
----------, Mar 31, 2019

This version adds better localization to Custom Items, localizing more messages
----------, Mar 28, 2019

By popular demand, this version adds a reload command to Custom Items! You can now type /cui reload to reload the plugin without restarting the server.

Although the command does work, it should really only be used for testing changes you make — you should still restart your server when you're done creating the items.
----------, Mar 26, 2019

This update brings some vast improvements to the /cui command making it much easier to use!
----------, Mar 25, 2019

This version adds Italian localization to Custom Items! Not all messages have been localized, but all important ones have been — All messages will be localized in an upcoming update!
----------, Mar 23, 2019

This update adds a new handler "bowShoot", which is called whenever a custom bow is shot.
----------, Mar 20, 2019

This version completely changes the /cui create command, and makes some minor bug fixes.
----------, Mar 20, 2019

This version makes some minor improvements to the /cui create command. Namely, you can now edit the item's item ID
----------, Mar 19, 2019

You can now create limited items using the /cui create command. This will be expanded on vastly in new versions
----------, Mar 18, 2019

This update adds the ability for you to add custom textures to your custom items! You can set the new textures in a custom resource pack, and the steps for doing so are outlined in the description of the plugin.

This is a new feature, so if you find any bugs please let me know!
----------, Mar 18, 2019

This version brings 1.11 support to Custom Items! 1.10 and 1.9 support are coming soon!
----------, Mar 16, 2019

This version bring 1.8 support to Custom Items! This version should also work with 1.9, 1.10, and 1.11, but has not yet been tested in depth.
----------, Mar 5, 2019

In this update, a few minor bugs with the /cui inspect and /cui info inventories were fixed (namely, there was a bug that could sometimes cause 3x2 recipes like repeaters to show up incorrectly, and another bug that sometimes caused clicks in the inventory to not open the correct info inventory). Those bugs have now both been fixed!

We'll be adding 1.8 support soon, so stay tuned!
----------, Mar 4, 2019

This update brings some other improvements and bug fixes with shaped crafting recipes. The last version made some critical bug fixes, and is recommended for all users.
----------, Feb 26, 2019

This update makes a critical bug fix with NBT tags (introduced when multi-version support was added). It is recommended for all users.
----------, Feb 26, 2019

This version adds support for 1.12! No extra setup is necessary, just use the plugin on a 1.12 server as you would a 1.13 server, and you're golden!

This update should also work with some other earlier versions, but it has not yet been tested. I'll post another update once we've tested it and made adjustments with other versions.
----------, Feb 25, 2019

You can now make your custom items glow without adding enchantments to them! Just set "glows" to "true" under the item key:

Code (YAML):
myCustomItem:
    item
:
        glows
: true
----------, Feb 22, 2019

If you downloaded the update that added enchantments, it is highly recommended that you download this update — there was a bug that could sometimes cause some items to not be registered.
----------, Feb 20, 2019

You can now add non-native enchantments to your items (enchantments from other plugins)! To do so, place the plugin name in front of the enchantment name, and separate the two by a colon. For example if myCoolEnchants adds the enchantment superSharpness, you would use "myCoolEnchants:superSharpness". Make sure you use the correct plugin name!
----------, Feb 19, 2019

You can now add enchantments to your custom items! To do this, simply add "enchants" under the "items" key, and then list every enchantment with its level. For example:

Code (YAML):
myCustomItem:
  item
:
    enchantments
:
      unbreaking
: 2
      protection_fire
: 1
See https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html for a full list of enchantments
----------, Feb 18, 2019

You can now invert if statement results by setting "invertIfResult" to true. This will do exactly what it sounds like — if your action would normally run, and you set "invertIfResult" to true, your action will not run; and, if it would normally not run, and "invertIfResult" is true, the action will run.

This makes it possible to make "if-else" statements — so, you could run something if X, and run something else otherwise.
----------, Feb 17, 2019

You can now use "xor" to combine if statements. This will make the action run if exactly one of the conditions is met. If none are met, or multiple are met, the action will not run.
----------, Feb 16, 2019

This update fixes a minor bug with color codes not working in the lore of items.
----------, Feb 14, 2019

This update makes it so that "destroyItemUsed" will only destroy one of the items used if no number is provided, rather than all of the items in the player's hand.
----------, Feb 12, 2019

You can now use "ifTargetHasItem" to make "vampire" items, for example, when a player hits another player with your custom item, and the target an item in their inventory, that item could be remove from the target's inventory and given to the player!
----------, Feb 10, 2019

You can now run an action only if a player has the specified items in their inventory! This makes it possible to make certain items require fuel to work.
----------, Feb 9, 2019

You can now remove items from the target's inventory in action handlers. For example, you could remove a diamond from the target's inventory when a player hits them with your custom item. This makes it possible to do "vampire" style actions, so players could remove an item from the target inventory and it could be put in theirs.

Just use the action " targetRemoveItem"
----------, Feb 6, 2019

You can now remove items from a player's inventory in a handler — just use the "playerRemoveItem" action
----------, Feb 5, 2019

You can now run the action "giveTargetItem" as a handler. It works almost exactly like "givePlayerItem", but will give the target of the action the item, instead (this only works if the target has an inventory, and the handler has a target — like hitEntity or hitPlayer)
----------, Feb 4, 2019

You can now run the action "givePlayerItem" in handlers. You can specify both the type of the item and the amount. For example, you could do:

Code (YAML):
handlers:
  rightClickAir
:
    actions
:
     -
        action
: givePlayerItem
        type
: myCustomItem
        amont
: 16
----------, Feb 2, 2019

You can now run actions when an item is damaged! This makes it possible to make custom items that are unbreakable — just add the handler

Code (YAML):
itemDamage:
    actions
:
       -
            action
: cancel
----------, Jan 30, 2019

Some minor bug fixes for users that don't have Skript
----------, Jan 26, 2019

You can now edit the color leather armor and potions! Just set the "color" attribute under "item" to a hexidecimal color code like "00AAFF" or "CB07E4"
----------, Jan 25, 2019

You can now change the damage of custom items by setting
itemDamage under the item key
----------, Jan 23, 2019

This update adds the onItemBreak handler to the plugin!
----------, Jan 21, 2019

This update makes some minor bug fixes and improvements
----------, Jan 20, 2019

This update adds support for Skript as detailed on the plugin's description page, adds new handlers and actions, and also adds support for storing custom blocks in a MySQL database!
----------, Jan 20, 2019

Items are now in separate .yml files
----------, Jan 20, 2019

Resource Information
Author:
----------
Total Downloads: 1,565
First Release: Jan 19, 2019
Last Update: Jul 3, 2024
Category: ---------------
All-Time Rating:
60 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings