Custom Items Make new Items & Blocks with NEW TEXTURES, Models, Triggers & Recipes MUST HAVE 3.7.13

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


Custom Items supports English, Turkish, Chinese, French, German, Italian, and Czech!
If you have any questions about the plugin before downloading it, feel free to contact me on Discord @jojodmo#5696


CustomItems is a highly customizable, easy to use plugin that allows you to add custom items and blocks to your Minecraft server, each with unique new textures and models (like custom wands and real custom ore blocks). It even has an automatic resource pack generator, so you can generate resource packs for your server with a simple command

CustomItems comes with a simple, full-featured in-game GUI for creating Custom Items, so you don't need to get your hands messy when creating new items!



wM3na3w.png

Keep reading to see just a few of the things you can do with CustomItems!



n8LcbKH.gif

All of this is possible without any mods or coding experience. Click any one of the gifs for a full-size version.
CustomItems allows you to add custom recipes and triggers for both your custom items and Minecraft items. You can write triggers to happen when players do something with your item, and the plugin even hooks into Skript, so you can write your own Skripts to run when players do something with your item!

Custom Items is a very powerful plugin, and allows you to design virtually any item you can imagine! Just keep reading to find out just a few of the things you can do!

Here's just a short list of the many things you could make with this plugin, all with custom textures and models and without any mods:
⭐ Custom Tools with a working durability bar
⭐ Custom Armors with working durability (Unfortunately, armor textures and models aren't yet supported by Minecraft. Read the end of this section for more info)
⭐ Custom Blocks
⭐ Custom Food and Drinks

⭐ Spell-casting wands
⭐ Naturally generating ores that drop minerals and work with fortune and silk touch!
⭐ Custom chests that can be unlocked with special keys
⭐ Make single-use or multiple-use loot crates that give players a random item

⭐ And many, many more things! If you have an idea but aren't sure if it's possible, just ask on the discord server or send me a PM!

You can even use CustomItems to easily and automatically generate a custom resource pack (or make your own resource pack) to give each of your custom items and custom blocks its OWN TEXTURE AND MODEL, without interfering with the normal Minecraft items! (Unfortunately not possible for Minecraft 1.:cool:

In addition, you can take advantage of fallback textures, so that even if a player doesn't have your server's resource pack, your custom items and blocks will appear like whatever native Minecraft item or block you find most fitting. Or, you can force players to download your server's resource pack with one change in the config.yml! (Fallback textures for blocks are available on ALL MC VERSIONS. Fallback texutures for items are only supported for MC 1.14+)

If you have any questions about the plugin before downloading it, feel free to PM me. You could also post your message in the "Discussion" section of this resource so others could see our conversation.

Custom Items Discord Server: https://customitems.page.link/discord

Custom Items Wiki: https://github.com/jojodmo/CustomItems/wiki

Custom armor textures/models aren't supported by Minecraft yet without affecting other armors, so, unfortunately, aren't possible with any plugin alone. You can add custom models to your custom armors easily if players have OptiFine installed.
Regardless, you can still make custom armors with working durability, and give them custom appearances by changing the dye color.

Remember — all other custom textures and models are possible without ANY mods — players don't even need to install OptiFine! It's only needed for armor models.

tJwDYiI.png

This plugin is based off of a plugin I created for my own server. Although the commands are not the same, the GUIs are. You can connect to the test server at play.podzol.net, and get a list of the custom items using /items — this command is equivilent to CustomItem's /customitem list. You can click on the custom items to see recipes and related items.

GWCpm8m.png


⭐ NO MODS or external plugins needed! All you need is this plugin!
⭐ Create Custom Items in a simple in-game GUI
⭐
Design completely new items/food/tools with new textures and models, without mods or replacing any items (Custom textures available on MC 1.9 and above)
⭐ Make custom tools with any amount of durability you want, and have a working durability bar
⭐ Design any item you want by simply creating a new yml file!

⭐ Quickly and automatically generate a resource pack that has your custom item and block textures included. Just type /cui resourcepack generate

⭐ Write ultra-customizeable triggers and actions for your items and blocks! Check out this page on the wiki for a list of everything you can do!
⭐ Write triggers for native Minecraft items and blocks!
⭐ Add REAL custom blocks/ores to your server without replacing native blocks.
⭐ Make real new ores that drop minerals and generate in your world!

⭐ Make custom recipes for both your custom items and native Minecraft items
⭐ Design your custom recipes using the simple in-game GUI — do everything from in-game!
⭐ Design crafting recipes with an in-game GUI — no configuration needed, at all!

⭐ Item versions! Easily update all old versions of your custom item to the new one — no need to track down items with spelling mistakes or the wrong texture!
⭐ Adds item information GUIs so players can get info about both your custom items/blocks and native items/blocks, including recipes, related items, and more!

⭐ By utilizing the "run console commands" custom action, you can hook into other plugins for endless possibilities.
⭐ Skript support! You can have triggers run Skripts, give players Custom Items in Skript, and interact with Custom Items in Skript! See the wiki for more info

⭐ Uses NBT tags, so players can modify items however they like and they'll still be your custom item!
⭐ Add fallback textures for items and blocks — even if a player doesn't have your resource pack, they'll see the item or block as whatever Minecraft thing you find most fitting (Fallback textures only possible for MC 1.14 and above for items and MC 1.9 and above for blocks)

⭐ Developer API - Check if an item is a custom item and get a Custom Item ItemStack, with only a few lines of code!

That's just a few of the many features in Custom Items! If you have any questions, or have something that you'd like but don't see in the plugin, just post about it in the discussion section and I'll get to work!

Other features:
1TTWWdrl.png
ScnnZAvl.png
OXbP2XCl.png

DEVELOPER API — If you want Custom Items to be supported by another plugin, just ask the developer to add the Custom Items API to their plugin. Developers, more information about the API can be found here: https://github.com/jojodmo/CustomItems/wiki/Developer-API

XAcJfEL.png


CHECK OUT THE WIKI AT: https://github.com/jojodmo/CustomItems/wiki

Explanation by example is likely the best way to learn how to add custom items. Once you've looked over the default item.yml files generated after you install CustomItems, take a look at the quickstart guide in the spoiler below.

Once you're pretty comfortable with the quick-start guide and CustomItems, take a look at the item.yml quick reference below, which lists everything that you can do with CustomItems.

To reference a custom item, just use the item's unique ID (the item's key in the items.yml).

To reference a native Minecraft item, use the same string that you would use to give yourself that item with Minecraft's /give command.

For example, to reference an emerald, use the string "minecraft:EMERALD", to reference a gold block, use "minecraft:GOLD_BLOCK", and to reference a wood sword, use "minecraft:WOODEN_SWORD"

Although the prefix "minecraft:" is not necessarily required, it should be included to avoid any ambiguity and to help you track down errors in your items.yml file. A list of valid Minecraft items is available here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html

To make a new custom item, create a new file in the items directory of the plugin folder, and add information about the item in this file. The file name will serve as the key of the item, and must be unique, and must not be the same as a Minecraft material ID. Any file prefixed with two underscores, like _ _ignore.yml, will be ignored.

For example, compressedCobblestone, compressedDirt, and magicWand are valid ids for custom items (and to create them, you would create the files compressedCobblestone.yml, compressedDirt.yml, and magicWand.yml, respectively), whereas diamond or grass are not. This key can be used to reference the item in your item.yml files

Adding custom recipes and actions to native Minecraft items is very similar. Instead, make the key a minecraft material ID (a list of materials is available here https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html), and omit canBeUsedGenerically, canBePlaced, and item from below. Additionally, make sure to add native: true under key to tell the plugin that you're adding information to a native Minecraft item.

Under this key, add the following:

name
string — REQUIRED

The friendly name of the custom item
Code:
#in myCustomItem.yml:
name: "My Custom Item"

canBeUsedGenerically
boolean — OPTIONAL — default: false

Whether or not this custom item can be used in place of its native Minecraft counterpart. For example, if the item you create below is cobblestone, and this were set to true, this custom item could be used in crafting recipes in place of cobblestone.
It is recommended that you keep this false and do not set it.

canBePlaced
boolean — OPTIONAL — default: if canBeUsedGenerically is set, then the same as canBeUsedGenerically. If it is not set, then true

If this custom item is a block, whether or not it can be placed. For example, if the item you create below is cobblestone, and this were set to false, players would not be able to build using your custom item

item
REQUIRED

The actual Minecraft item that represents your custom item. Open the spoiler below to see how to configure this

material
string — REQUIRED

The Minecraft material of the item. A list of materials is available here:
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html

displayName
string — REQUIRED

The display name of the item. You can add color codes to this string with &

lore
string list — OPTIONAL

A list of strings, each line corresponding to a line of lore on the item. You can add color codes to these strings with & as well, and by default, each line is displayed gray.

enchantments
map — OPTIONAL

The enchantments that should be added to this item. For each enchantment you want to add, provide the enchantment name as a new key under the enchantments key, and set it to the level of the enchantment. This also works for enchantments from other plugins

color
string or map — OPTIONAL

The color of the item if it is leather armor or a potion. You can either provide the color as a six-digit hexadecimal string like "00A7FF", or you can provide the keys "red", "green", and "blue" under "color", and give a number between 0 and 255 for each.

Code:
item:
      material: LEATHER_CHESTPLATE
      displayName: "&6My Custom Item"
      lore:
          - "This is line one"
          - "This is line two"
          - "&lThis&7 line is &cformatted"
    itemDamage: 24
    enchantments:
        #Add the enchantments Thorns 2
        "minecraft:THORNS": 2
    color: "00AAFF"
    # making color from RGB values
    color:
        red: 10
        green: 127
        blue: 255

info
OPTIONAL

Information about the custom item, displayed in the information GUI opened with /customitems list, /customitems info, and /customitems inspect. Open the spoiler below to see how to configure this

description
string — OPTIONAL

A description of the item

usage
string — OPTIONAL

How the item is used

obtaining
string — OPTIONAL

How the item can be obtained

crafting
string — OPTIONAL

This is automatically generated by the plugin. Only set this if you want to override the default GUI information about how to craft the item.

relatedItems
string list — OPTIONAL

A list of custom or native Minecraft items related to this item, for use in the Information GUI, up to seven items. See "referencing items" above.
Code:
info:
      description: "This is an awesome custom item I made"
      usage: "You don't need to use this custom item. Just look at it in awe"
      relatedItems:
          - "minecraft:STICK"
          - "minecraft:DIAMOND"

recipes
OPTIONAL

A list of custom recipes that can be used to craft this item. Open the spoiler below to see how to configure this

recipes is a list of recipes, and each recipe contains the following information. Look at the code snippet below to see how to format this.

shaped
boolean — REQUIRED

Whether or not the recipe is shaped

resultAmount
integer — OPTIONAL — default: 1

The amount of the custom item that will result from this recipe

shape
string list — REQUIRED
FOR SHAPED RECIPES ONLY (shaped: true)

A list of strings representing the crafting grid.
Each character in each string represents an item, which is defined in items below.

Any character that is not referenced will be regarded as an empty slot
(for example, if one line is "axa", and the character 'x' does not exist below, the middle slot will be empty).

See the code snippet below for formatting information.

items
REQUIRED

The items required for this recipe. Open the spoiler below to see how to configure this.

items is a list of items, and each item contains the following information. Look at the code snippet below to see how to format this.

item
string — REQUIRED

The item being used in the recipe. See "referencing items" above.

amount
integer — REQUIRED
FOR SHAPELESS RECIPES ONLY (shaped: false)

The amount of the above item

key
character — REQUIRED
FOR SHAPED RECIPES ONLY (shaped: true)

A character that references the item in the shape, created later
Code:
# Pay close attention to the indentation
recipes:
        # The start of a new recipe
        -
            # Remember to indent
            shaped: false
            resultAmount: 4
            items:
                  # The start of a new item
                  -
                      # Remember to indent
                      item: "minecraft:BLAZE_ROD"
                      amount: 5
                  # The start of a new item
                  -
                      item: "anotherCustomItem"
                      amount: 2
        # The start of a new recipe
        -
            shaped: true

            # If we look at items below, we see each 'a' references a gold ingot
            # and each 'b' references the custom item 'anotherCustomItem'.
            # 'x' does not belong to any item in the below list, so it will be
            # regarded as an empty slot. If we pretend 'anotherCustomItem' is
            # a stick, and this recipe creates a blaze rod,
            # this will create the below crafting recipe
            shape:
                - "axa"
                - "aba"
                - "axa"
            items:
                  # The start of a new item
                  -
                      item: "minecraft:GOLD_INGOT"
                      key: 'a'
                  # The start of a new item
                  -
                      item: "anotherCustomItem"
                      key: 'b'

The shaped recipe created in the above code snippet
Htvdhod.png



handlers
OPTIONAL

A list of custom actions that are run when certain things happen with this item. Open the spoiler below to see how to configure this

handlers is a list of handlers, and under each handler there is an actions key, telling the handler what to do. Look at the code snippet below under "item.yml with actions" to see how to format this.

A full list of valid handlers and actions can be found in the item.yml Quick Reference at the very bottom of this section

The following are things that can be put in handlers and actions

Handler formatting :
A list of valid handlers can be found in the item.yml Quick Reference at the very bottom of this section

Under each handler (for example, drop or rightClickAir), there can be a list of actions under the actions key. Each action is configured in the following way:

Action formatting:

action
string — REQUIRED
The action to be run. For example, sendMessage(s), playerRunCommand(s), or runActions. A full list is provided in the item.yml Quick Reference below


other parameters depends on the action — explained below under "Valid actions and their parameters"

actions may also have if statement parameters, explained below under "Valid action if statements"

Example actions if statements (look at item.yml Quick Reference below for a full list):

ifType

string list
Run this action if the clicked block is in this list. See referencing items above

ifHasPermission
string
Run this action if the player has the permission given. All permissions are prefixed with customitems.action. so, if you had ifHasPermission: "useMyItem", the player must have the permission "customitems.action.useMyItem" for this action to run. If you use ifHasPermissionRaw instead, permissions will not be prefixed in this way

Example actions and their parameters (look at item.yml Quick Reference below for a full list):

sendMessage(s)
sends the player message(s)
requires either message or messages

message — string — the message to send the player
messages — string list — the list of message to send the player
prefix — optional boolean — whether or not prefix the message(s) with the string given in the config.yml — default : true

playerRunCommand(s)
forces the player to run command(s)
requires either command or commands

command — string — the command to force the player to run
commands — string list — the list of commands to force the player to run

runActions
runs multiple actions
requires actions

actions — required — the actions to be run. This is formatted exactly like "actions" above, and multiple runActions can be nested

Open the spoiler below "example item.yml with actions" to see a documented code snippet of how actions are used

This will use two files — one called "compressedCobblestone.yml" that adds a new item called Compressed Cobblestone, which can be crafted with either filling a crafting table with 9 cobblestone. The second is called "cobblestone.yml", and will add a new crafting recipe for Cobblestone that allows users to craft compressed cobblestone into 9 cobblestone.

You can view the two YAML files on Pastebin below

View compressedCobblestone.yml on Pastebin: https://pastebin.com/ymf2jyxg

View cobblestone.yml on Pastebin: https://pastebin.com/NvETXRsA

Here's an example YAML file for an item with custom actions:

View magicStick.yml on Pastebin: https://pastebin.com/zZn5kywY

item.yml Quick Reference
If you have experience using CustomItems, or would like a list of everything that you can use to customize your items, open the spoiler below for a quick reference guide to item.yml files.

underlined items are required. Items in gray are coming in updates. Items in blue are special items.

ticks can usually be substituted for seconds and visa-versa.

Reference Lists
Minecraft Item List
Minecraft Entity Type List
Minecraft Potion Type List
Minecraft Enchantment List
Minecraft Biome List

Referencing Items
For custom items, use the custom item's unique id (yml file name). For Minecraft items, use the Minecraft item name (preferably prefixed with "minecraft:")

Referencing Colors
On any "color" attribute, you can provide a six-character hexadecimal color code like "00AAFF" or "E41517". Google "hex color code picker".

Referencing Enchantments
To reference enchantments, set create a key in the YAML file with the enchantment's name, and set it to the level of the enchantment. This also works with custom enchantments from other plugins:
Code:
item:
  enchantments:
    # Unbreaking 3
    "minecraft:DURABILITY": 3
    # Thorns 2
    "minecraft:THORNS": 2

Referencing Potions
To reference just the effect (for string parameters), use the potion's Minecraft name

To reference potions (for potion parameters), use the following keys:
type — the potion's Minecraft name, time — integer in seconds (default 20 seconds), strength — integer (default 1), particles — boolean (default true), ambient — boolean (default true), showIcon — boolean (default true)

Code:
-
  action: playerAddEffects
  effects:
  # Night Vision Potion lasting 40 seconds
    -
      type: "NIGHT_VISION"
      time: 40

Item Quick Reference

Required Keys
name, item (subkeys: material, displayName, lore, damageable,
maxDurability, itemDamage, color, enchantments, glows, skullOwner**)


Optional Keys
native
(required true to edit Minecraft items), info (subkeys description,
usage, obtaining, crafting, relatedItems),
recipes (each recipe has subkeys shaped, items, resultAmount, shape), canBeUsedGenerically (default false), canBePlaced (default canBeUsedGenerically, or true if canBeUsedGenerically isn't set), consumable (default canBeUsedGenerically), shootable (default canBeUsedGenerically), block (subkeys generation, texture, drops. More info below), handlers

Block Quick Reference
You can give each block custom drops. To do this, under drops, add each item you want the block to drop when broken, followed by the amount to drop. For example, this block will drop 4 diamonds and one of the custom item with the ID "myCustomItemID"

Code:
block:
  drops:
    "minecraft:DIAMOND": 4
    "myCustomItemID": 1

By default, the block will drop one of its own custom item. If you'd like more flexibility in determining what the block should drop, you could set the block's drops to nothing (just add the drops key, but set it to null "drops: null"), then, add a "setDrops" action in the handler for "blockBreak"!

Under block, you can also add the subkey "generation". Under this, you can add a list of generation properties, formatted a lot like handlers:

Code:
block:
  generation:
    -
      method: ore
      worlds:
        - world
      continueChance: 0.4
      generationChance: 1.0
      amountPerChunk: 5
      minY: 20

Valid Generation
[ul]
[li]method — string — The method of generating the blocks. Currently valid options are: "ore" and "replace"[/li]
[li]world(s) — string or string list — The world(s) to enable generation in. [/li]
[li]biome(s) — string or string list — The biome(s) to enable generation in.[/li]
[li]amountPerChunk — integer — The number of times to run this generation method per chunk[/li]
[li]generationChance — decimal between 0.0 and 1.0 — The chance of the generation method to run (for example, 0.7 gives this generation method a 70% chance of running each time)[/li]
[li]minY — integer— The minimum y-position to start generating blocks at[/li]
[li]maxY — integer— The maximum y-position to start generating blocks at[/li]
[li]continueChance — decimal between 0.0 and 1.0 only for the "ore" generation method — the chance of the ore generation continuing to generate more blocks in the vein[/li]
[/ul]
Handlers Quick Reference

Valid Handlers
[ul]
[li]rightClickAir When a player right-clicks air with this item[/li]
[li]rightClickBlock When a player right-clicks a block with this item[/li]
[li]leftClickAir When a player hits air with this item[/li]
[li]leftClickBlock When a player hits a block with this item[/li]
[li]drop When a player drops this item[/li]
[li]itemPickup When a player picks up this item[/li]
[li]itemBreak When this item breaks after after used[/li]
[li]itemDamage When this item is damaged by being used[/li]
[/ul]
[ul]
[li]hitMob When a player hits a mob with this item[/li]
[li]hitPlayer When a player hits a player with this item[/li]
[li]mine When a player mines a block with this item[/li]
[li]projectileShoot When a player shoots this projectile[/li]
[li]projectileHitMob When this projectile hits a mob[/li]
[li]projectileHitPlayer When this projectile hits a player[/li]
[li]projectileHitBlock When this projectile hits a block[/li]
[li]consume When a player eats this item[/li]
[li]bowShoot When this bow is shot[/li]
[/ul]
[ul]
[li]blockBreak When a player breaks this block[/li]
[li]blockPlace When a player places this block[/li]
[li]blockHit When a player hits this block[/li]
[li]blockInteract When a player interacts with this block (right-clicks it)[/li]
[li]blockStep When a player steps onto this block (called only when they switch to a new block)[/li]
[/ul]
Valid if Statements
[ul]
[li]ifBlockType(s) — string or string list if the block type is (one of)[/li]
[li]ifHasPermission — string if the player has the permission. Automatically prefixed with "customitems.action." For example, "useMyItem" will require the permission "customitems.action.useMyItem"[/li]
[li]ifNotHasPermission — string if the player doesn't have the permission. Automatically prefixed like ifHasPermission[/li]
[/ul]
[ul]
[li]ifHasPermissionRaw — string — if the player has the permission, not prefixed[/li]
[/ul]
[ul]
[li]ifNotHasPermissionRaw — string — if the player doesn't have the permission, not prefixed[/li]
[/ul]
[ul]
[li]ifItem(s)InHand — string or string list — if the item in the player's hand is (one of)[/li]
[li]ifItem(s)InOffHand — string or string list — if the item in the player's off hand is (one of)[/li]
[li]ifItemEnchants — enchantments map, see the WIKI — if the item in the player's hand has the enchantments given [/li]
[li]ifPlayerHasItem(s) — string or string list — if the player has (one of these) this items in their inventory[/li]
[li]ifTargetHasItem(s) — string or string list — if the target has (one of these) this items in their inventory[/li]
[li]ifTargetType(s) — string or string list — if the target's entity type is (one of)[/li]
[li]ifNotTargetType(s) — string or string list — if the target's entity type is not (one of)[/li]
[li]ifSneaking — string or string list — if the player is sneaking[/li]
[li]ifGamemode(s) — string or string list — if the player's Game Mode is (one of)[/li]
[li]ifWorld(s) — string or string list — if the player's current world is (one of)[/li]
[li]ifInRegion(s) — string or string list — if the player is currently in (one of) the World Guard Regions[/li]
[li]ifNotInRegion(s) — string or string list — if the player is not currently in (one of) the World Guard Regions[/li]
[/ul]
[ul]
[li]ifStatementCombine — string — SPECIAL PARAMETER How the if statements should be combined. "AND" to make sure all conditions are satisfied, or "OR" to run as long as one or more of the conditions is satisfied, no matter whether or not the other conditions are satisfied. You can also use "XOR" to run the action only if exactly one statement is true if multiple are true, or none are true, the action will not run with "XOR". Default is "AND"[/li]
[li]invertIfResult — boolean (default false) — SPECIAL PARAMETER — Inverts the result of your if statements. If your action would normally not run, and you set this to true, your action will run. If your action normally would run, and you set this to true, your action will not run.[/li]
[/ul]
Valid Actions and their Parameters
underlined parameters are required

[ul]
[li]sendMessage(s) Send message(s) to the player. message(s) — string(s), prefix — boolean (default true)[/li]
[li]playerRunCommand(s) Force the player to run command(s). command(s) — string(s), overridePermisisons — boolean*** (default true)[/li]
[li]consoleRunCommand(s) Force the console to run command(s). command(s) — string(s)[/li]
[li]destroyItemUsed Destroy the item in the player's hand. amount — integer (default 1, use -1 to remove all items of the same type)[/li]
[li]damageItemUsed Damage the item in the player's hand. amount — integer (default 1)
[/li]
[li]setBlockType Set the clicked block to type. type — string[/li]
[li]setDrops Set the items to drop. item(s) — string(s)[/li]
[li]givePlayerItem Give the player the specified item. type — string, amount — integer (default 1)[/li]
[li]playerRemoveItem Remove the specified item from the player's inventory. type — string, amount — integer (default all items)[/li]
[li]giveTargetItem Give the target the specified item. type — string, amount — integer (default 1)[/li]
[li]targetRemoveItem Remove the specified item from the target's inventory. type — string, amount — integer (default all items)[/li]
[li]cancel Cancel what just happened. (no parameters)[/li]
[li]uncancel Uncancel what just happened. (no parameter)[/li]
[li]addFood Adds food to the player. amount — integer[/li]
[/ul]
[ul]
[li]setFood Sets the food of the player. amount — integer[/li]
[li]addSaturation Adds saturation to the player. amount — integer[/li]
[li]setSaturation Sets the saturation of the player. amount — integer[/li]
[li]addHealth Adds health to the player in half-hearts. amount — integer[/li]
[li]setHealth Sets the health of the player in half-hearts. amount — integer[/li]
[li]damagePlayer Damages the player in half-hearts. amount — integer[/li]
[li]addFireTicks Adds to the number of ticks the player is on fire. ticks — integer[/li]
[li]setFireTicks Sets the number of ticks the player is on fire. ticks — integer[/li]
[li]extinguishPlayer Extinguishes the player (no parameters)[/li]
[li]teleportPlayer Teleport the player. world — string, locationX — decimal, locationY — decimal, locationZ — decimal, function — string ("set" or "add" to the player's location. Default is "set"), bringToSurface — boolean (default false)[/li]
[li]playerAddEffect(s) Add potion effects to the player. effect(s) — potion(s) see referencing potions above[/li]
[li]playerRemoveEffect(s) Remove the potion effects from the player. effect(s) — string(s)[/li]
[li]playerClearEffects Remove all potion effects from the player. (no parameters)[/li]
[li]targetAddHealth Adds health to the target in half-hearts. amount — integer[/li]
[li]targetSetHealth Sets the health of the target in half-hearts. amount — integer[/li]
[li]damageTarget Damages the target in half-hearts. amount — integer[/li]
[li]killTarget Kills the target. (no parameters)[/li]
[li]despawnTarget Despawns the target. (no parameters)[/li]
[li]targetAddFireTicks Adds to the number of ticks the target is on fire. ticks — integer[/li]
[li]targetSetFireTicks Sets the number of ticks the target is on fire. ticks — integer[/li]
[li]extinguishTarget Extinguishes the target (no parameters)[/li]
[li]teleportTarget Teleport the target. world — string, locationX — decimal, locationY — decimal, locationZ — decimal, function — string ("set" or "add" to the target's location. Default is "set"), bringToSurface — boolean (default false)[/li]
[li]targetAddEffect(s) Add potion effects to the target. effect(s) — potion(s) see referencing potions above[/li]
[li]targetRemoveEffect(s) Remove the potion effects from the target. effect(s) — string(s)[/li]
[li]targetClearEffects Remove all potion effects from the target. (no parameters)[/li]
[li]none runs no action. (no parameter)[/li]
[li]runActions Special action that runs more actions. actions — action list[/li]
[li]runSkript(s) Special action that runs Skript code with the specified ID. actionID(s) — the id(s) of the actions to run in the Skript files[/li]
[/ul]
Special Action Parameters
Valid for every action
[ul]
[li]probability**** — decimal between 0.0 and 1.0 (default 1.0) — the probability that this action will run. For example, set this to 0.7 to have your action run 70% of the time, and not run the other 30% of the time.[/li]
[li]tickDelay — number (default 0) — the number of ticks the to wait before running the action (there are 20 ticks in one second). For example, set this to 10 to make the action wait half a second before running[/li]
[li]runInterval**** — number (default 1) — number of times to do nothing before running this action. For example, set this to 2 to make the action run every other time, and set it to 10 to make the action run every 10th time.[/li]
[/ul]
Message and Command Placeholders
In messages and commands, the following things are placeholders that are automatically replaced:


{player} is replaced with the player's name

{location.world}, {location.x}, {location.y}, {location.z} are respectively replaced with the world, x component, y component, and z component of the clicked block's location

{player.location.world}, {player.location.x}, {player.location.y}, {player.location.z} are respectively replaced with the world, x component, y component, and z component of the player's location

{target.location.world}, {target.location.x}, {target.location.y}, {target.location.z} are respectively replaced with the world, x component, y component, and z component of the target's location

Notes
** skullOwner only works if the item is a player head
*** if overridePermisisons is true, the player will run the command even if they don't have permission
**** runInterval is evaluated AFTER probability. Also, the current interval resets on server restarts (for now)

Short Handlers Example Usage
Code:
handlers:
  consume:
    actions:
      -
        action: addHealth
        amount: 10
      -
        action: sendMessages
        messages:
          - "Hey {player}"
          - "You're in the world {player.location.world}"
  rightClickBlock:
    actions:
      -
        action: destroyItemUsed
      -
        ifBlockType: "minecraft:DIAMOND_BLOCK"
        ifHasPermission: "cui.click"
        ifStatementCombine: "AND"
        probability: 0.8

        action: runActions
        actions:
          -
            action: setBlockType
            type: "minecraft:AIR"
          -
          action: givePlayerItem
          type: "minecraft:DIAMOND"
          amount: 27
        -
          action: runSkript
          actionID: "mySkriptAction"

Adding Custom Textures to Items

For help adding custom textures to items, check out the wiki at https://github.com/jojodmo/CustomItems/wiki/Adding-Custom-Textures-to-Items

Adding Custom Textures to Blocks

Check out the wiki at https://github.com/jojodmo/CustomItems/wiki/Adding-Custom-Textures-to-Blocks for a tutorial on adding custom textures to blocks

Using CustomItems with Skript

Check out the wiki at https://github.com/jojodmo/CustomItems/wiki/Skript-Integration for more info about using CustomItems with Skript

Other Supported Plugins
ItemBridge — https://[Censored]/resource/3
Drupi — https://www.spigotmc.org/resources/drupi.65706/
World Guard — https://dev.bukkit.org/projects/worldguard

My Other Resources


More Custom Items Information
More information about commands, installation, and configuration are below, but you should really check out the wiki at https://github.com/jojodmo/CustomItems/wiki, which is a lot more up to date

PdT0rrF.png

ow5LDhp.png


eiSyc3h.png


language
The language for the plugin. Custom Items currently supports English (en), Chinese (cn), German (de), Italian (it), and Czech (cz)
Default: en​

Acknowledgements

Thank you to MSWS for transferring a lot of the information originally on this page to the wiki!

Have any questions about the plugin you want to ask before purchasing it? Have any feature suggestions?

Let me know, and I'll respond to your message as soon as possible!

CustomItems.svg


Latest updates

  1. Furnace recipe fixes

    See discord for log
  2. Compatibility improvements for block breaking

    See discord for full update log
  3. New features for the API

    This version adds two new features to the Custom Items API: listCustomItemIDs and...
Top
You need to upgrade!
Our dark style is reserved for our Premium members. Upgrade here.