THIS VERSION IS DISCONTINUED!
We are no longer updating the free version of Additions.
For an updated version, with more features, go to the AdditionsPlus page .
We are no longer updating the free version of Additions.
For an updated version, with more features, go to the AdditionsPlus page .
- Custom Commands
- Register commands [PREMIUM]
- Command Arguments [PREMIUM]
- Permissions
- No Permission message
- Cooldowns
- No Cooldown message
- Actions
- CUSTOM COMMAND GENERATOR [ONLINE]
- Custom Menus
- Custom menu title
- Placeholders in menu title [PREMIUM]
- Left-click actions
- Right-click actions
- Custom size
- Custom open permission (message)
- Custom open cooldown
- Open actions [PREMIUM]
- Close actions [PREMIUM]
- All items are configurable
- Supports custom additions items using ci-ITEMNAME
- Supports HeadDatabase/player heads
- Enchantments
- CUSTOM MENU GENERATOR [ONLINE]
- Scoreboards
- Per World
- Togglable per player
- Anti-Flicker [PREMIUM]
- Create custom tab lists
- Per World
- Custom Player Names In Tab [PREMIUM]
- Animated
- Unlimited groups
- Orders
- Placeholder support
- Create custom items
- Cooldowns for items
- Left-click actions [PREMIUM]
- Right-click actions [PREMIUM]
- Non-left-right-click actions (general clicking)
- Everything of an item is configurable
- Supports HeadDatabase/player heads
- Enchantments
- Create custom books [PREMIUM]
- Book title
- Book item name
- Book item lore
- Custom author
- Custom generation (original, tattered, copy_of_copy, copy_of_original)
- Inventory Slot (for giving the book)
- Unlimited Pages
- Interval actions
- Random interval
- Editable interval (in ticks)
- Unlimited interval actions
- Event Actions
- 27 11 custom events [PREMIUM]
- Perform actions when an event is being fired
- Custom join message [PREMIUM]
- Custom leave message [PREMIUM]
- Color Codes On Signs (&)
- Color Codes In Anvils (&)
- Plugin hooks [PREMIUM]
- PlaceholderAPI support
- MVdWPlaceholderAPI support
- Vault support
- ProtocolLib support
- HeadDatabase support
- Plugin Event Integrations [PREMIUM]
- MinetopiaSDB
- ASkyBlock
- Plugins Hooking Into Addititons+:
- 49 18 actions [PREMIUM]
- 1.8x - 1.14x support [PREMIUM]
- 13 11 Built-in Placeholders [PREMIUM]
- Almost 100% customizable!
- Frequently updated No more updates [PREMIUM]
- 24/7 and fast support via Discord
If your chat gets spammed by messages saying to vote 5-stars for this review and to not forget to vote for the server, please go to the intervalactions.yml file.
You can disable/change the actions there.
We get a lot of people issuing us about getting spammed by this plugin and then leave a 1-star / bad review just based on that.
If you experience any bug, please issue us FIRST before leaving a review!*
* We will still provide full support for the free version, but we will not add any new things, or release any new versions as we will ONLY update Additions+ (paid version) from now on.
You can disable/change the actions there.
We get a lot of people issuing us about getting spammed by this plugin and then leave a 1-star / bad review just based on that.
If you experience any bug, please issue us FIRST before leaving a review!*
* We will still provide full support for the free version, but we will not add any new things, or release any new versions as we will ONLY update Additions+ (paid version) from now on.
It's not a complicated system. You simply put the event name (see event list) in the file, add a : behind it, then press enter, add 2 spaces, type actions: , press enter, and type right under actions: a line (-) and put the action in it. For more actions, just add more lines.
Code (YAML):
join :
actions :
- 'action1'
- 'action2'
leave :
actions :
- 'action1'
- 'action2'
drop :
actions :
- 'action1'
- 'action2'
fishing :
actions :
- 'action1'
- 'action2'
kill :
actions :
- 'action1'
- 'action2'
dead :
actions :
- 'action1'
- 'action2'
shear :
actions :
- 'action1'
- 'action2'
itembreak :
actions :
- 'action1'
- 'action2'
consume :
actions :
- 'action1'
- 'action2'
entitykill :
actions :
- 'action1'
- 'action2'
Code (YAML):
join :
actions : [ ]
The right way to use them are:
Code (YAML):
join :
joinMessage : '&a&l %player% joined the server'
actions : [ ]
leave :
leaveMessage : '&c&l %player% left the server'
actions : [ ]
dead :
deathMessage : '&c %player% is soon to be hosting his own funeral as a ghost. Please be there, he''d like that. &lR.I.P'
actions : [ ]
Creating custom commands isn't hard with this easy system. It practically works the same as the events, but you do it in the commands.yml file, and instead of the event name, you type the command.
All actions can be used on either the events or the commands.
All actions can be used on either the events or the commands.
Code (YAML):
help : # would be '/help' ingame
actions :
- ' [ msg ] &7 --- - &bHelp Menu &7 --- -'
- ' [ msg ] &b/helpop &7Get help from an operator'
- ' [ msg ] &r'
- ' [ msg ] &fpage 1/2'
help 1 : # would be '/help 1' ingame
actions :
- ' [ msg ] &7 --- - &bHelp Menu &7 --- -'
- ' [ msg ] &b/helpop &7Get help from an operator'
- ' [ msg ] &b/help 2 &7Next page of the help menu
- ' [ msg ] &r'
- ' [ msg ] &fpage 1/2'
help 2 : # would be '/help 3' ingame
actions :
- ' [ msg ] &7 --- - &bHelp Menu &7 --- -'
- ' [ msg ] &b/server &7Select a server'
- ' [ msg ] &b/help 1 &7Previous page of the help menu'
- ' [ msg ] &r'
- ' [ msg ] &fpage 2/2'
The commands can also have permissions. If you don't specify the permission, everyone will be able to perform the command. If you do specify the permission, the player needs it to perform it.
If the player doesn't have the permission, the noPermission message will be sent to the player. This can be specified per command. If you don't specify the noPermission message, the default message will be sent: "&cYou don't have permission to do this".
The correct usage of permissions and the noPermission message is:
Code (YAML):
rankup 3 :
permission : yourperm.rankup.2
noPermission : '&cYou must be at least rank 2 to rankup to rank 3. You can buy ranks in our store.'
actions :
- ' [ title ] &a&lRANKED UP\n&7You are now level 3!'
- ' [ msg ] &aCongratulations! You are now rank 3.'
- ' [ console ] pex user %player% add yourperm.rankup.2'
The correct usage of these features is:
Code (YAML):
mycommand :
cooldown : 1200 # 1200/20 = 60 seconds ( 1 minute )
cooldownMessage : '&cYou can only use this command once per minute. You have to wait for another %time%'
actions :
- ' [ msg ] &aThis is a command with a cooldown'
Spoiler: Result
When you don't have permission:
When you do have permission:
And also the command in the console is being performed. The permission has been successfully added to my permission list.
When you do have permission:
And also the command in the console is being performed. The permission has been successfully added to my permission list.
Creating custom menus isn't hard to do. The plugin will automatically generate a 'menus' folder when enabling it. In that folder, you create your custom menus. Each menu is separated and has its own YAML file. The name of the menu is the file name without .yml.
You simply create a YML file with as name the menu name. You only use this name to open the menu in the /additions command or [menu] actions.
Example: example.yml . You open this menu with /additions openmenu example .
In version 2.8.0, the whole menu system has been recoded to add more customizability for the items and its display. If you are using 2.7.0 or lower (which I don't recommend), read the old tutorial below.
You can set everything of an item in the new version. You can add enchantments, add item flags to hide the enchants, and all other things. Note that all messages support color codes and Placeholders.
Below are the non-item options you can set for the menu:
title :
You simply create a YML file with as name the menu name. You only use this name to open the menu in the /additions command or [menu] actions.
Example: example.yml . You open this menu with /additions openmenu example .
In version 2.8.0, the whole menu system has been recoded to add more customizability for the items and its display. If you are using 2.7.0 or lower (which I don't recommend), read the old tutorial below.
You can set everything of an item in the new version. You can add enchantments, add item flags to hide the enchants, and all other things. Note that all messages support color codes and Placeholders.
Below are the non-item options you can set for the menu:
Description: The title of the menu
Type: String
Required: true
command :
Description: The command to open the menu
Type: String
Required: true
size :
Description: Size of the menu. Must be either, 9,18, 27, 36, 45 or 54.
Type: Integer
Required: true
permission :
Description: The permissions needed to open the menu
Type: String
noPermission :
Description: The message that will be sent when a player doesn't have the specified permission to open the menu
Type: String
cooldown :
Description: The cooldown amount in ticks before the player can open the menu again. (1 second = 20 ticks)
Type: Long
cooldownMessage :
Description: The message that will be sent when a player is on cooldown for that menu. Use %time% for the remaining time
Type: String
openActions :
Description: Actions that will be performed when the player opens the menu
Type: String List
closeActions
Description: Actions that will be performed once the player closes the menu
Type: String List
If you set all of that, your file will look something like this:
Spoiler: Example Menu
title : '&b&lExample Menu ( %player%)'
size : 9
commands : examplemenu
# optional
permission : myperm.examplemenu
noPermission : '&cWell.. This is too exclusive for your eyes : ) '
cooldown : 200 # 200 ticks = 10 seconds (200/20=10)
cooldownMessage : '&cYou can only open this menu once per 10 seconds. You have to wait for another %time%'
openActions :
- ' [ msg ] &aYou opened the menu : ) '
closeActions :
- ' [ msg ] &cYou closed the menu : ( '
Now you're ready to add the contents to the menu. You add all items under the
content section. Then add the slot number (starting at 1, not 0) under it between brackets: '1'. Like this:
Code (YAML):
title : '&b&lExample Menu ( %player%)'
size : 9
commands : examplemenu
# optional
permission : myperm.examplemenu
noPermission : '&cWell.. This is too exclusive for your eyes : ) '
cooldown : 200 # 200 ticks = 10 seconds (200/20=10)
cooldownMessage : '&cYou can only open this menu once per 10 seconds. You have to wait for another %time%'
openActions :
- ' [ msg ] &aYou opened the menu : ) '
closeActions :
- ' [ msg ] &cYou closed the menu : ( '
Code (Text):
content:
'1':
'2':
'1':
'2':
material :
Description: The material type of the item. If you have the HeadDatabase plugin, you can set this item to a custom head using "hdb-<headID>". Replace <headID> with the ID of the head. You can also set a player head using "head-<player>". Replace <player> with the player's name (this also supports the placeholder %player%)
Type: Material Type
Required: True
data :
Description: The data of the item (for 1.8-1.12 only)
Type: Byte (Integer)
displayName :
Description: The display name (title) of the item
Type: String
Required: True
amount :
Description: The amount of the item
Type: Integer
durability :
Description: The durability of the item
Type: Short (Integer)
lore :
Description: The lore of the item
Type: String List
itemFlags :
Description: The item flags of the item. Click here for a list of item flags
Type: ItemFlag List
enchantments :
Description: The enchantments that should be applied to the item. To set the enchantment level use the format ENCHANTMENT:LEVEL (DURABILITY:3). Click here for a list of 1.12.2 enchantments.
Type: Enchantment List
unbreakable :
Description: Whether the item should be unbreakable or not
Type: Boolean
left_click_commands :
Description: A list of actions that will be performed when you left-click the item
Type: String List
right_click_commands :
Description: A list of actions that will be performed when you right-click the item
Type: String List
If you did all that, the file will look something like:
Spoiler: Example Menu
title : '&b&lExample Menu ( %player%)'
size : 9
commands : examplemenu
# optional
permission : myperm.examplemenu
noPermission : '&cWell.. This is too exclusive for your eyes : ) '
cooldown : 200 # 200 ticks = 10 seconds (200/20=10)
cooldownMessage : '&cYou can only open this menu once per 10 seconds. You have to wait for another %time%'
openActions :
- ' [ msg ] &aYou opened the menu : ) '
closeActions :
- ' [ msg ] &cYou closed the menu : ( '
# menu items
content :
'1' : # slot 1
material : STONE
data : 0
amount : 2
displayName : '&7Some random &lStone'
lore :
- ''
- '&7This stone could be yours, &b %player%'
- '&7This another lore item : ) '
enchantments :
- DURABILITY:3
- FIRE_ASPECT:10
- MENDING
itemFlags :
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
- HIDE_ENCHANTS
- HIDE_PLACED_ON
- HIDE_POTION_EFFECTS
- HIDE_UNBREAKABLE
unbreakable : true
left_click_actions :
- ' [ msg ] &7You left-clicked a random stone'
right_click_actions :
- ' [ msg ] &7You right-clicked a random stone'
'2' :
material : head- %player%
amount : 1
displayName : '&b&lYour head'
lore :
- ''
- '&7This is your own head'
- '&7Don''t worry. It is not chopped off'
itemFlags :
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
- HIDE_ENCHANTS
- HIDE_PLACED_ON
- HIDE_POTION_EFFECTS
- HIDE_UNBREAKABLE
Oof. You now know how to create a menu
Code (YAML):
title : '&b&lExample Menu ( %player%)'
size : 9
commands : examplemenu
# optional
permission : myperm.examplemenu
noPermission : '&cWell.. This is too exclusive for your eyes : ) '
cooldown : 200 # 200 ticks = 10 seconds (200/20=10)
cooldownMessage : '&cYou can only open this menu once per 10 seconds. You have to wait for another %time%'
openActions :
- ' [ msg ] &aYou opened the menu : ) '
closeActions :
- ' [ msg ] &cYou closed the menu : ( '
# menu items
content :
'1' : # slot 1
material : STONE
data : 0
amount : 2
displayName : '&7Some random &lStone'
lore :
- ''
- '&7This stone could be yours, &b %player%'
- '&7This another lore item : ) '
enchantments :
- DURABILITY:3
- FIRE_ASPECT:10
- MENDING
itemFlags :
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
- HIDE_ENCHANTS
- HIDE_PLACED_ON
- HIDE_POTION_EFFECTS
- HIDE_UNBREAKABLE
unbreakable : true
left_click_actions :
- ' [ msg ] &7You left-clicked a random stone'
right_click_actions :
- ' [ msg ] &7You right-clicked a random stone'
'2' :
material : head- %player%
amount : 1
displayName : '&b&lYour head'
lore :
- ''
- '&7This is your own head'
- '&7Don''t worry. It is not chopped off'
itemFlags :
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
- HIDE_ENCHANTS
- HIDE_PLACED_ON
- HIDE_POTION_EFFECTS
- HIDE_UNBREAKABLE
Spoiler: Version 2.7.0 or lower
First, you set the title of the menu. It supports color codes and even placeholders. Do it like this:
Then you add the size of the menu. This has to be either 9, 18, 27, 36, 45 or 54. Other numbers will cause errors. Do it like this:
The last thing you need to do before you set the content is the open command. Performing this command will open the menu. If you want the command to be '/example' do it like this:
Now you can optionally set the permission and noPermission message. This works the same as for the commands. Do it like this:
Now we're gonna add the content to the menu.
You do this adding the section 'content' to the file. Then set the slot numbers as a sublist of the section. Because integers are not strings, you will have to put the numbers between single quotes: '. Slot numbers are starting from 1 NOT 0 (the first actual bukkit slot).
Do it like this:
Now you can set the material, material data, material amount, displayName and lore of the actions. For a list of material click here. Please note that these items are 1.12-. For 1.13 material, click here.
If you are not on 1.13+, you can specify the item data. This will be ignored if you are using 1.13+.
You also have to set the item amount. This can be a number from 1-64. If you don't specify this, it would be 1.
The lore is optional. If you don't specify it, there will be no lore. But if you don't specify the displayName, the display name would be "&7item".
Do it like this:
You're almost done! The last thing you have to do is set the left_click_actions and right_click_actions. You can guess what it does
You can use all actions that are specified in the actions list. If you want to open another menu when clicking, do not use [close] in your actions, or specify it BEFORE you open the new menu with [menu].
Do it like this:
In v2.7.0 and above, there are open and close actions for the menus that will be fired once a player opens/closes a menu. You can specify this in the menu file using
openActions and
closeActions . Do it like this:
Code (exampleyml (Unknown Language)):
title: '&b&lMenu of %player%'
Code (exampleyml (Unknown Language)):
title: '&b&lMenu of %player%'
size: 54
size: 54
Code (exampleyml (Unknown Language)):
title: '&b&lMenu of %player%'
size: 54
command: example
size: 54
command: example
Code (exampleyml (Unknown Language)):
title: '&b&lMenu of %player%'
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
You do this adding the section 'content' to the file. Then set the slot numbers as a sublist of the section. Because integers are not strings, you will have to put the numbers between single quotes: '. Slot numbers are starting from 1 NOT 0 (the first actual bukkit slot).
Do it like this:
Code (exampleyml (Unknown Language)):
title: '&b&lMenu of %player%'
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
content:
'1':
'2':
'3':
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
content:
'1':
'2':
'3':
If you are not on 1.13+, you can specify the item data. This will be ignored if you are using 1.13+.
You also have to set the item amount. This can be a number from 1-64. If you don't specify this, it would be 1.
The lore is optional. If you don't specify it, there will be no lore. But if you don't specify the displayName, the display name would be "&7item".
Do it like this:
Code (exampleyml (Unknown Language)):
title: '&b&lMenu of %player%'
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
content:
'1':
material: STONE
data: 2
amount: 1
displayName: '&6Slot 1'
lore:
- '&7This is the first line of the lore'
- '&7This is the second line of the lore'
'2':
material: WOOL
data: 6
amount: 1
displayName: '&dSlot 2'
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
content:
'1':
material: STONE
data: 2
amount: 1
displayName: '&6Slot 1'
lore:
- '&7This is the first line of the lore'
- '&7This is the second line of the lore'
'2':
material: WOOL
data: 6
amount: 1
displayName: '&dSlot 2'
You can use all actions that are specified in the actions list. If you want to open another menu when clicking, do not use [close] in your actions, or specify it BEFORE you open the new menu with [menu].
Do it like this:
Code (exampleyml (Unknown Language)):
title: '&b&lMenu of %player%'
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
content:
'1':
material: STONE
data: 2
amount: 1
displayName: '&6Slot 1'
lore:
- '&7This is the first line of the lore'
- '&7This is the second line of the lore'
left_click_actions:
- '[msg]&7You left clicked the first slot'
- '[close]'
right_click_actions:
- '[msg]&7You right clicked the first slot'
- '[close]'
'2':
material: WOOL
data: 6
amount: 2
displayName: '&dSlot 2'
left_click_actions:
- '[msg]&7You left clicked the second slot'
- '[close]'
right_click_actions:
- '[msg]&7You right clicked the second lot'
- '[close]'
size: 54
command: example
permission: mymenu.example
noPermission: '&cYou are not permitted to open this menu!'
content:
'1':
material: STONE
data: 2
amount: 1
displayName: '&6Slot 1'
lore:
- '&7This is the first line of the lore'
- '&7This is the second line of the lore'
left_click_actions:
- '[msg]&7You left clicked the first slot'
- '[close]'
right_click_actions:
- '[msg]&7You right clicked the first slot'
- '[close]'
'2':
material: WOOL
data: 6
amount: 2
displayName: '&dSlot 2'
left_click_actions:
- '[msg]&7You left clicked the second slot'
- '[close]'
right_click_actions:
- '[msg]&7You right clicked the second lot'
- '[close]'
Code (YAML):
title
: '&b&lMenu of
%player%'
size : 54
command : example
permission : mymenu.example
noPermission : '&cYou are not permitted to open this menu!'
openActions :
- ' [ msg ] &aYou opened the example menu'
closeActions :
- ' [ msg ] &cYou closed the example menu'
content :
'1' :
material : STONE
data : 2
amount : 1
displayName : '&6Slot 1'
lore :
- '&7This is the first line of the lore'
- '&7This is the second line of the lore'
left_click_actions :
- ' [ msg ] &7You left clicked the first slot'
- ' [ close ] '
right_click_actions :
- ' [ msg ] &7You right clicked the first slot'
- ' [ close ] '
'2' :
material : WOOL
data : 6
amount : 2
displayName : '&dSlot 2'
left_click_actions :
- ' [ msg ] &7You left clicked the second slot'
- ' [ close ] '
right_click_actions :
- ' [ msg ] &7You right clicked the second lot'
- ' [ close ] '
size : 54
command : example
permission : mymenu.example
noPermission : '&cYou are not permitted to open this menu!'
openActions :
- ' [ msg ] &aYou opened the example menu'
closeActions :
- ' [ msg ] &cYou closed the example menu'
content :
'1' :
material : STONE
data : 2
amount : 1
displayName : '&6Slot 1'
lore :
- '&7This is the first line of the lore'
- '&7This is the second line of the lore'
left_click_actions :
- ' [ msg ] &7You left clicked the first slot'
- ' [ close ] '
right_click_actions :
- ' [ msg ] &7You right clicked the first slot'
- ' [ close ] '
'2' :
material : WOOL
data : 6
amount : 2
displayName : '&dSlot 2'
left_click_actions :
- ' [ msg ] &7You left clicked the second slot'
- ' [ close ] '
right_click_actions :
- ' [ msg ] &7You right clicked the second lot'
- ' [ close ] '
Two example items are included by the plugin and will be put in the plugin folder once the plugin is running.
permission :
Description: The permissions needed to open the menu
Type: String
noPermission :
Description: The message that will be sent when a player doesn't have the specified permission to open the menu
Type: String
cooldown :
Description: The cooldown amount in ticks before the player can open the menu again. (1 second = 20 ticks)
Type: Long
cooldownMessage :
Description: The message that will be sent when a player is on cooldown for that menu. Use %time% for the remaining time
Type: String
actions :
Description: A list of actions that will be performed when clicking the item
Type: String List
material :
Description: The material type of the item. If you have the HeadDatabase plugin, you can set this item to a custom head using "hdb-<headID>". Replace <headID> with the ID of the head. You can also set a player head using "head-<player>". Replace <player> with the player's name (this also supports the placeholder %player%)
Type: Material Type
Required: True
data :
Description: The data of the item (for 1.8-1.12 only)
Type: Byte (Integer)
displayName :
Description: The display name (title) of the item
Type: String
Required: True
amount :
Description: The amount of the item
Type: Integer
durability :
Description: The durability of the item
Type: Short (Integer)
lore :
Description: The lore of the item
Type: String List
itemFlags :
Description: The item flags of the item. Click here for a list of item flags
Type: ItemFlag List
enchantments :
Description: The enchantments that should be applied to the item. To set the enchantment level use the format ENCHANTMENT:LEVEL (DURABILITY:3). Click here for a list of 1.12.2 enchantments.
Type: Enchantment List
unbreakable :
Description: Whether the item should be unbreakable or not
Type: Boolean
itemOptions :
Description: All custom options that should be applied to the item. Below is a list with all item options
Type: String List
slot :
Description: The slot the item will be put in if specified. If you don't specify this, it will just be added to the inventory. Slots start from 0
Type: Integer
The custom item's name is the section's name. Example:
Code (YAML):
diamond
:
# item name
material : DIAMOND
slot : 3 # actually slot 4
material : DIAMOND
slot : 3 # actually slot 4
DISABLE_INVENTORY_MOVING :
Description : This disables the item from being moved around the inventory.
DISABLE_DROP
Description : This disables the item from being dropped.
DISABLE_BLOCK_BREAK
Description : This disables breaking blocks with the item in the hand.
DISABLE_BLOCK_PLACE :
Description : This disables the item from being placed. This is only necessary when the item is a block.
DISABLE_CONSUME :
Description : This disables the item from being consumed by the player. This is only necessary when the item is food.
DISABLE_PVP :
Description : This disables PvPing with the item in the hand. There will then no damage be given.
It's really easy to use, and you can ditch CustomJoinItems.
First, create your custom item in the customitems.yml file. Read the explanation above to learn how. Make sure to specify the slot of the item. You also have to make sure that you add the 'DISABLE_INVENTORY_MOVING' and the 'DISABLE_DROPPING' itemOptions.
Most join items perform commands for eg a join menu. You can also create a join menu with Additions.
Just add the command/menu or whatever other action to the action list of the item and when they click it, it will all happen
Once you've done all that, you go to the config.yml. There you add the [citem] action to the action list of the join event. Do it like this:
Code (YAML):
join :
actions :
- ' [ citem ] youritem'
- ' [ msg ] &bWelcome to our server, %player%!'
Well, that was all. Just reload the plugin, join and you will see the item in your inventory in the specified slot. You won't be able to move or drop it.
If you have not, you're lucky! We've implemented some custom placeholders as an alternative for the PlaceholderAPI ones.
If you have MVdWPlaceholderAPI installed, you can also use their placeholders.
Per-Event placeholders:
%dropped% returns the item type of the dropped item. For the drop event only.
%fished% returns the fish type of the caught fish. For the fishing event only.
%killed% returns the player name when using in the kill event. It returns the killed entity's type in the entitykill event.
%item% returns the item's displayName. For the itembreak event.
%consumed% returns the consumed item's displayName. For the consume event.
Other languages:
Spoiler: Dutch
%gevallen% is het item type van het gedropte item. Alleen voor het
drop event.
%gevist% is het type vis dat is gevangen. Alleen voor het fishing event.
%vermoord% is de naam van de vermoordde speler als je het in het kill event gebruikt. Het is het type entity/wezen wanneer je het in het entitykill event gebruikt.
%item% is de weergave naam van het item. Alleen voor het itembreak event.
%opgegeten% is de weergave naam van het gegeten item. Alleen voor het consume event.
%gevist% is het type vis dat is gevangen. Alleen voor het fishing event.
%vermoord% is de naam van de vermoordde speler als je het in het kill event gebruikt. Het is het type entity/wezen wanneer je het in het entitykill event gebruikt.
%item% is de weergave naam van het item. Alleen voor het itembreak event.
%opgegeten% is de weergave naam van het gegeten item. Alleen voor het consume event.
All-over placeholders:
%player% returns the player's name.
%player_name% returns the player's name.
%player_gamemode% returns the player's gamemode.
%player_x% returns the player's x coord.
%player_y% returns the player's y coord.
%player_z% returns the player's z coord.
%player_world% returns the player's world name.
%player_uuid% returns the player's UUID.
%player_is_op% returns whether a player is opped or not.
%player_health% returns the player's health.
Spoiler: Dutch
%speler% is de naam van de speler.
%speler_naam% is de naam van de speler.
%speler_gamemode% is de gamemode van de speler.
%speler_x% is het x-coordinaat van de speler.
%speler_y% is het y-coordinaat van de speler.
%speler_z% is het z-coordinaat van de speler.
%speler_wereld% is de naam van de wereld waar de speler in is.
%speler_uuid% is het UUID van de speler.
%speler_is_op% is of de speler op heeft.
%player_health% is de speler z'n health/gezondheid.
%speler_naam% is de naam van de speler.
%speler_gamemode% is de gamemode van de speler.
%speler_x% is het x-coordinaat van de speler.
%speler_y% is het y-coordinaat van de speler.
%speler_z% is het z-coordinaat van de speler.
%speler_wereld% is de naam van de wereld waar de speler in is.
%speler_uuid% is het UUID van de speler.
%speler_is_op% is of de speler op heeft.
%player_health% is de speler z'n health/gezondheid.
[command]:
aliases: [player]
description: This will perform a command as the player itself.
example: '[player]say hi'
[message]:
aliases: [msg]
description: This will send a message to the player. Supports color codes.
example: '[message]&aWelcome &l%player%'
[console]:
description: This will perform a command as the console.
example: '[console]give %player% stick 1'
[title]:
description: This will send a title to the player. Use \n to switch to the subtitle. Supports color codes.
example: '[title]&a&Welcome!\n&7%player%'
[actionbar]:
aliases: [action]
description: This will send an action bar to a player. Supports color codes.
example: '[actionbar]&6Welcome to our server!'
[json]:
aliases: [jsonmessage], [jsonmsg]
description: This will send a JSON message to a player. Use a generator like this to create JSON messages. Do not include the ["", and ] part of the JSON. So start with the {, and end with the }.
example: '[json]{"text":"Text","color":"green","hoverEvent":{"action":"show_text","value":{"text":"","extra":[{"text":"More text"}]}}}'
[everyone]:
description: This will perform the action for all online players instead of the event player only.
example: '[msg][everyone]&a%player% joined the server!'
[center]:
description: This will center the text of a message. This only works with the [message] action.
example: '[msg]&aThis is a centered message'
[language]:
description: This will only perform the action if the player has a certain Minecraft language/locale. You can find a list of Minecraft locales here . If the player does not have that locale, the action will be skipped for that player. This action works with [everyone] . Use [language=""] as a base, then put the target locale between the double-quotes.
example: '[msg][everyone][language="en_us"]&aYour language is English (United States)'
[delay]:
description: This will delay the action with the specified amount of ticks (1 sec = 20 ticks). Use [delay=""] as a base, then put the delay time, in ticks, between the double-quotes.
example: '[msg][delay="100"]&7This message is 5 seconds delayed.'
[connect]:
description: This will connect the player to another server. This can only be used on a bungeeCord server and the specified server must be connected to it. The names of the server are the same as the ones in the config.yml on your bungee host.
example: '[connect]pvp'
[money]:
description: This will deposit/withdraw money to/from a player's balance. Vault must be installed to use this.
example: '[money]10', '[money]-10', '[money]+10'
[menu]: :
description: This will open a custom menu. Just add the menu name (without .yml) after it.
example: '[menu]example'
[close]:
description: This will close the player's inventory. Do not use this after you specified the [menu] action. The menu will not open then.
example: '[close]'
[permission]:
description: This checks if the player has the specified permission and discontinues the action if the player doesn't have it.
example: '[msg][permission="myperm"]&aYou have the specified permission'
[vgroup]:
description: This checks if the player is a member of the specified group. Vault is required to use this action. Also, a permission plugin is needed which should be supported by Vault.
example: '[msg][vgroup="donator"]&dYou are a donator'
[chance]:
description: This adds chances to the action. This should be a percentual amount between 0-100. If you set it to 50, there will be a 50% chance for the action to be performed.
example: '[msg][chance=50]&aThere is 50% chance of getting this message'
[sound]:
description: This plays a sound for a player. Make sure to play sounds matching your server version.
example: '[sound]NOTE_PLING'
aliases: [player]
description: This will perform a command as the player itself.
example: '[player]say hi'
[message]:
aliases: [msg]
description: This will send a message to the player. Supports color codes.
example: '[message]&aWelcome &l%player%'
[console]:
description: This will perform a command as the console.
example: '[console]give %player% stick 1'
[title]:
description: This will send a title to the player. Use \n to switch to the subtitle. Supports color codes.
example: '[title]&a&Welcome!\n&7%player%'
[actionbar]:
aliases: [action]
description: This will send an action bar to a player. Supports color codes.
example: '[actionbar]&6Welcome to our server!'
[json]:
aliases: [jsonmessage], [jsonmsg]
description: This will send a JSON message to a player. Use a generator like this to create JSON messages. Do not include the ["", and ] part of the JSON. So start with the {, and end with the }.
example: '[json]{"text":"Text","color":"green","hoverEvent":{"action":"show_text","value":{"text":"","extra":[{"text":"More text"}]}}}'
[everyone]:
description: This will perform the action for all online players instead of the event player only.
example: '[msg][everyone]&a%player% joined the server!'
[center]:
description: This will center the text of a message. This only works with the [message] action.
example: '[msg]&aThis is a centered message'
[language]:
description: This will only perform the action if the player has a certain Minecraft language/locale. You can find a list of Minecraft locales here . If the player does not have that locale, the action will be skipped for that player. This action works with [everyone] . Use [language=""] as a base, then put the target locale between the double-quotes.
example: '[msg][everyone][language="en_us"]&aYour language is English (United States)'
[delay]:
description: This will delay the action with the specified amount of ticks (1 sec = 20 ticks). Use [delay=""] as a base, then put the delay time, in ticks, between the double-quotes.
example: '[msg][delay="100"]&7This message is 5 seconds delayed.'
[connect]:
description: This will connect the player to another server. This can only be used on a bungeeCord server and the specified server must be connected to it. The names of the server are the same as the ones in the config.yml on your bungee host.
example: '[connect]pvp'
[money]:
description: This will deposit/withdraw money to/from a player's balance. Vault must be installed to use this.
example: '[money]10', '[money]-10', '[money]+10'
[menu]: :
description: This will open a custom menu. Just add the menu name (without .yml) after it.
example: '[menu]example'
[close]:
description: This will close the player's inventory. Do not use this after you specified the [menu] action. The menu will not open then.
example: '[close]'
[permission]:
description: This checks if the player has the specified permission and discontinues the action if the player doesn't have it.
example: '[msg][permission="myperm"]&aYou have the specified permission'
[vgroup]:
description: This checks if the player is a member of the specified group. Vault is required to use this action. Also, a permission plugin is needed which should be supported by Vault.
example: '[msg][vgroup="donator"]&dYou are a donator'
[chance]:
description: This adds chances to the action. This should be a percentual amount between 0-100. If you set it to 50, there will be a 50% chance for the action to be performed.
example: '[msg][chance=50]&aThere is 50% chance of getting this message'
[sound]:
description: This plays a sound for a player. Make sure to play sounds matching your server version.
example: '[sound]NOTE_PLING'
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Additions | Free version | Menus, items, commands & more | 1.8x - 1.14x is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 20,646 times (via Spigot). Download it and open it directly in the game.