rejoin the server after CMI 7.7.1.0, exp is displayed as 0.
But, the exp data remains unchanged.
CONFIG SECTION (IGNORE IF NOT RELEVANT):
Language file you want to use
Language: KR
storage:
# storage method, can be MySQL or sqlite
method: sqlite
mysql:
# Requires Mysql.
username: root
password: ''
hostname: localhost:3306
database: minecraft
tablePrefix: CMI_
# If you have no clue what these values does, then keep it at default values
autoReconnect: true
useSSL: false
verifyServerCertificate: false
# Auto save interval in seconds
# This will define how often to write down data into data base
# Save operation will not be performed if there is no changes to save
# !ATTENTION! Keep it in low numbers, around 60 seconds
# Minimal interval is 10 seconds
AutoSaveInterval: 15
Economy:
# Enable or disable CMI economy in general
# In case CMIInjector is present, then this will be set to true automatically.
Enabled: true
# Determines if player needs to confirm money payment by clicking on chat message
Confirmation: true
# Determines max amount of cheque player can create
# Set it to 0 to remove limit
MaxChequeValue: 1.0E8
BalTop:
# List of players to exclude from baltop list
Exclude:
- Notch
# List of names to exclude from baltop
# Can be used to filter out towny towns
ExcludeStartingWith:
- town_
- town-
- towny_
- towny-
Global:
# Starting amount of money players will have
StartingAmount: 100.0
# Minimal amount, can go into negative if needed
MinimalAmount: 0.0
# Maximal amount of money player can have. Set to -1 to disable this limit
MaximumAmount: 1.0E8
# Currency symbol to be used when showing balance or similar
CurrencySymbol: 믹셀
FileSave:
# Change this to true only if you have issues with drives I/O and you need to save players files in async mode to lower waiting time for mc server
Async: false
Optimizations:
# Enables or disables maintenance mode
Maintenance: false
AutoDownload:
# In case you dont have GeoIP.dat it will be downloaded automaticaly on server start. Restart can be needed for it to take effect
GeoIp: false
# In case you dont have GeoLiteCity.dat it will be downloaded automaticaly on server start. Restart can be needed for it to take effect
GeoLiteCity: false
# Sets indicator when creating elevator signs. Its case insensitive
ElevatorIndicator: '[CMIElevator]'
# Format used for displaying money
MoneyFormat: '###,###.##'
# Do you want to record sell hand actions into file
SellLog: true
# When this set to true by using any command, requiring players name, in case plugin cant determine player by given full name, then partial matches from online players will be used. In example: /cmi heal rips can heal player Zrips
# Useful when you have players with complicated names
PartialPlayerName: false
# Enables DiscordSRV plugin support for messages
DiscordSRVSupport: true
# When set to true, commands in help page will be sorted alphabeticaly
# If set to false, commands will be sorted by priority
CommandSorting: true
# When set to true, commands in help page starting with /cmi will get shortened by hiding base command. Example /cmi back becomes /back
# Keep in mind that this is automatic feature if alias or custom alias is set to that command
# And keep in mind that this is only cosmetic change and will not impact command usage
RemoveLabel: false
# When set to true, all players can see missing permission node by hovering over error message
# When set to false only players with cmi.permisiononerror permission node can see missing permission node
PermisionOnError: true
# When set to true, each time player tries to use something he doesnthave permission, message will be shown in console
PermisionInConsole: true
Teleport:
# When true then while checking for safe location, we will try to determin it goind down and if it fails, then up from target location
# When set to false, then first of all location above target location will be checked, then down
SafeLocationDownThenUp: false
# Set this to true if you having issues with entities not being teleported with you
# Keep in mind that this is work arround for some plugins (AKA Towny) and can have undesired results in some situations
VehicleWorkArround: false
# Set to true if you want to use tp commands as /cmi tp [WhoYouWantToTeleport] [WhereToTeleport] when its false, its /cmi tp [whereToTeleport] [WhoYouWantToTeleport]
SwitchPlaces: true
# Applies for tpa, tpahere and tpaall only
# If set to true then player will be teleported to current player position after accepting teleport request
# If set to false then player will be teleported to player at which teleport request was issued
CurrentLoc: true
# Default distance for jump command. Can be overriden with cmi.command.jump.[amount] permission node
JumpDefault: 50
# Defines time in seconds for accepting tpa or tpahere requests
TpaTime: 60
# Defines time in seconds for player being teleported after tpa or tpahere is being accepted
TpaWarmup: 3
# Defines if player can move when tpa or tpahere is being accepted
TpaMove: false
# Defines time in seconds for blocking player teleport offers after denying their request
TpaBlock: 120
# Defines time in seconds for bypassing prevented teleportation to unsafe location
TpBypass: 15
BlackListedItems:
# Option to prevent player teleportation when he has blacklisted items in hies inventory. Can be bypassed with cmi.teleport.bypassblacklist
Enabled: false
EnabledFor:
tp: true
tpa: true
tpahere: true
warp: true
home: true
spawn: true
# Item and amount (if not defined, defaults to 0) we want to protect
# Separate amount with : in example IronOre:5 what will limit ironOre block in players inventory up to 5, more than that and player cant teleport
List:
- Diamond
- DiamondBlock
- DiamondOre
- ironore:5
# Back location will not be triggered if player teleports closer than defined amount of blocks
BackMinDistance: 5
IP:
# How long in second to wait until players ip is being recorded into data base
# This only applies for offline servers to allow for player first of all to login before recording ip
# Try to keep this value lower than your login plugin's allowed login time
delay: 30
# Max amount of hp you can get when using /cmi maxhp command
MaxHp: 200
# When set to true, player play time will be grabbed from user stats file instead of from CMI user data file
# This can help to get more accurate play time if you have older server and using players stats feature
PlayTimeFromStats: false
# When set to true, playtimetop list will be loaded on server startup
PreloadTopPlaytime: false
# Do you want to use CMI playtime tracking
# While this is enabled, player play time will be record for each hour he playied in server
CMIPlayTimeTracking: true
OnDurabilityLoss:
# Do you want to inform player when item durability gets lower than set treshhold
# Player should have cmi.informDurability
Use: true
Percentage: 10
OnLimitedItemUse:
# Informs about left uses of item
Inform: true
# Can disable messages outputed durring start for world chunk checks
DisableWorldChunkCheckInfo: false
# Can prevent animals or monsters entering boats
PreventEntityBoatEnter:
Monsters: false
Animals: false
PreventBedExplosion:
Nether: false
TheEnd: false
# Will teleport players down from nether 'roof'
PreventPlayersOnNetherRoof: false
PreventIronGolem:
# When set to true, iron golems will not drop roses on death
Roses: false
# When set to true, fishing rod will not move grabed entity towards you
PreventHook: false
Multicraft:
# When set to true, will prevent multicraft servers to console. This will disable /list command usage in general
DisableList: false
PlaytimeRewards:
# Enable or disable playtime rewards
Enabled: false
# Defines time in minutes to inform player about pending reward which needs to be claimed
RewardInform: 15
# Defines how many one time rewards you want to show in list
# No point in listing all rewards if player is still far away
OneTimeAmount: 2
ExploitPatcher:
# When enabled this will prevent item pickup while you have openend workbench or player crafting window. Mainly to prevent 1.12 duplication glitch, until its fixed
PreventItemPickup: true
# When enabled this will prevent exp bootles being destroyied on portal edge and duplicating them in result of that
PreventExpPortals: true
Vault:
# If your having issues with vault grabbing correct players' group or balance, consider to turn this to false
Money: true
Group: true
Worth:
# Defines lore that will prevent an item from being sold using /cmi sell.
# Color codes and capitalization are being ignored
BadLore:
- Creative item by Gasha
BossBar:
# Enables or disbales bossbar hp bar on 1.9+ servers
HpBarEnabled: true
Ban:
# When set to true players who are banned will get messages modified by CMI instead of seying vanilla type of message
OverrideLoginMessage: false
Homes:
# Homes groups to define max amount homes player can have. Permission: cmi.command.sethome.[groupname]
# If players home group if not find then amount will be set to 1
# To have unlimited homes use cmi.command.sethome.unlimited permission
# In adition to this you can use simple numeric permission node cmi.command.sethome.[number] which will define max number of homes player can have
Groups:
Newbie: 2
Advanced: 3
Vip: 5
# Requires cmi.bedhome permission node
# When set to true by interacting with bed, regular home location will be created
# When set to false vanilla bed home location will be set
BedInteraction: false
ReSpawn:
Global:
# Defines respawn order if defined world is not present in Specific list
# Posible respawn locations: spawn, bedLocation, homeLocation, worldSpawn, warp![warpName]
# Where warp![warName] can be any valid warp you set for players to be teleported, they will bypass any requirements for that warp
PriorityOrder:
- spawn
- bedLocation
- homeLocation
- worldSpawn
# Defines respawn order for defines worlds
# Remove world if you want to leave respawn handling for server or 3rd party plugin
Specific:
world:
- spawn
- bedLocation
- homeLocation
- worldSpawn
world_nether:
- spawn
- bedLocation
- homeLocation
- worldSpawn
world_the_end:
- spawn
- bedLocation
- homeLocation
- worldSpawn
Afk:
# Enable or disable auto afk system entirely
Enabled: true
# Prevents jumping in one place to avoid afk status
PreventJumping: true
# Prevents damage while afk
PreventDamage: true
# Defines how often in seconds plugin will check for afk players state
CheckInterval: 10
# Defines how long to wait after player stops moving to set him as afk
# Player needs to have cmi.command.afk.auto permission node
AutoAfkIn: 60
# Defines commands to be performed when player enters afk mode
# Supports specialized commands
AutoAfkCmds:
- cmi bossbarmsg all -t:2 -n:afk -c:red -s:0 &c[playerDisplayName]&7이(가) &c자리비움
&7상태입니다.
# Defines commands to be performed when player leaves afk mode
AfkLeaveCmds:
- cmi bossbarmsg all -t:2 -n:afk -c:green -s:0 &a[playerDisplayName]&7이(가) &a자리비움
&7상태에서 돌아왔습니다.
# Defines how long to wait after player stops moving to kick player
# This can be used not only to kick but to perform repeating action every x seconds if needed
# Keep it at -1 to disable auto kick
# Can be bypassed with cmi.command.afk.kickbypass permission node
AutoKickIn: 600
# This will define how long to wait before performing kick commands again
RepeatingAutoKickInterval: 300
# When set to true, kick command will be repeated each RepeatingAutoKickInterval seconds
RepeatKickCommand: false
# Defines commands to be performed when player can be kicked
# If player is not kicked then commands will be repeated every RepeatingAutoKickInterval seconds
AutoKickCmds:
- cmi kick [playerName] &c[time]동안 자리비움 상태로 인식되어 퇴장되었습니다.
# Disables afk on interaction
DisableOnInteract: true
# Prevents player from going bypassing afk mode while continuously holding one button with particular items or on particular blocks
SmartInteractCheck: true
# Prevents from players abusing afk by constantly moving in afk machine
AntiAfkMachines: true
# Disables afk on inventory click
DisableOnInventoryClick: true
# Disables afk on command usage
DisableOnCommand: true
# Disables afk on public chat message
DisableOnPublicChat: true
# Disables afk on private chat message
DisableOnPrivateChat: true
# Disables afk on move
DisableOnMove: true
# Disables item pickup while afk
DisableItemPickup: false
Votifier:
# When set to true votifier votes will be counted for player
CountVotes: true
# When set to false, commands on sucessfull vote will not be performed
PerformCommands: true
# Defines commands to be performed when player votes
# Supports specialized commands and placeholders
# [serviceName] variable can be used to insert address
CommandsOnVote:
- cmi broadcast !&6[playerDisplayName] &evoted!
- cmi give [playerName] diamond
# List of players to be excluded from top voter list
ExcludeList:
- None
Ranks:
AutoRankUp:
# Defines how often in seconds plugin will check for posible player rankups
# Set it to 0 or less to disable auto rankup checks
Delay: 60
# Defines how often in seconds each separate player will be checked for rankup
# This is different than general check just to avoid couple players ranking up at same time
# This also defines how often player will be notified about posible rankup and it will proportionaly increase with each time player get notification to avoid annoying spam in chat
# Keep it longer or same as general delay time
PlayerDelay: 120
Signs:
# Defines in milliseconds how often to check if player entered sign trigger area
# Bigger numbers can help slightly lower server load
# This is not essential to keep in low numbers
CheckInterval: 5000
# List of colors to be translated from one to another to avoid unreadable text
TranslateColors:
- '&6-&8'
- '&e-&f'
- '&7-&8'
TabList:
# Enable or disable tab list management
Enabled: true
# Defines if we want to run tablist updater in async mode
# While enabled it can increase overall performance but some plugins can have same issues handling async placeholder requests
Async: true
UpdateTabListNames: true
# Enable or disable grouped format tablist's
# You can save some resources by disabling this if you are not interested in grouped format tablist feature
# If disabled then this will use only default format and will skip checking for custom one to save some resources if needed
GroupedEnabled: true
Updates:
# Automaticaly updates tab list every x seconds for ALL online players
# If you are using static Footer and Header you can disable this by setting to -1
# Consider setting this to -1 if its completely enough to update on player events
AutoInterval: 1
OnJoin: true
OnLeave: true
afkStateChange: true
OnWorldChange: true
OnDeath: false
OnTeleport: false
OnNickChange: true
# PlaceholderAPI supported for any custom variable you want to insert into this
# In adition CMI will handle some placeholders without PlaceHolderAPI
# Full list can be checked ingame with /cmi placeholders
GeneralFormat:
PlayerName: '%cmi_user_afk_symbol%&8[&7[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
# Defines custom formats to be used for players.
# Any player which have cmi.tablist.[number] permission node will use defined grouped format in tablist
# Id should be a number and in case player has more than one, bigger number id will be used
# You can have as many groups as you want by increasing increment
# If player has more than one permission node, then biggest one will be used
GroupFormat:
'2101':
PlayerName: '%cmi_user_afk_symbol%&8[&a[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
'2102':
PlayerName: '%cmi_user_afk_symbol%&8[&b[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
'8101':
PlayerName: '%cmi_user_afk_symbol%&8[&9[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
'9101':
PlayerName: '%cmi_user_afk_symbol%&8[&6[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
'9102':
PlayerName: '%cmi_user_afk_symbol%&8[&3[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
'9105':
PlayerName: '%cmi_user_afk_symbol%&8[&2[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
'9999':
PlayerName: '%cmi_user_afk_symbol%&8[&4[playerDisplayName]&8]'
Header:
'1':
- '&c&lNek&f&lcraft'
Footer:
'1':
- '&8[&9&lX&r&9%player_x%&8]&8[&9&lY&r&9%player_y%&8]&8[&9&lZ&r&9%player_z%&8]'
- '&8[&e&lM&r&e%cmi_user_balance_formatted%&8]&8[&a&lL&r&a%player_level%&8]&8[&d&lH&r&d%cmi_user_maxhomes%&8/&d%cmi_user_homeamount%&8]'
Skins:
# Enable or disable skin management
Enabled: true
# Sets player sking to Steve when turning skin off and lets server to handle it
# If its false, then skin will be changed to online one
SteveOnOff: false
# Requests from player specific permission for that skin cmi.command.skin.perm.[skinName]
RequireSpecificPerm: false
Notes:
# When enebled, when player logs in who has alert set on him, staff member will get notification that this player have some notes attached to him
ShowOnAlertEvent: true
GroundClean:
# List of item types not to be removed on ground clean action
WhiteList:
- itemType
Chat:
# Will try to modify chat to display it in defined format
ModifyChatFormat: true
# When set to true, regular and private messages (excludes clean messages) will have aditional information when hovering over it (PlaceHOlderAPI supported) and can be clicked for quick reply option
ClickHoverMessages: false
# Enables support for DiscordSRV plugin
DiscordSRVPublicChat: true
# Enables support for DynMap web chat
DynMapChat: true
# When set to false, each time you will use /r you will reply to person you previously sent message directly or to person who sent you message if there is none you have conversion before
# When this set to true, players with /r will reply to person who last sent private message. This can result in confusion when using /r while getting private messages from multiple players
ReplyToLastMessenger: false
# Defines regex when replacing url in chat with short word
LinkRegex2: (https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9]\.[^\s]{2,})
# When set to true, particular variables in chat will be translated into items player are holding. List of variables belove
HoverItems: true
# Defines regex when replacing item line in chat with players item in hand information. Only works when CMI hover over chat format is enabled
ItemRegex:
- (\%item\%)
- (\[item\])
- (\%i\%)
# Do you want to enable private messaging over bungeecord
BungeeMessages: true
# Do you want to enable public messaging over bungeecord
BungeePublicMessages: true
# Used for simple chat messages. Optional variables: {world} {prefix} {suffix} {group}. Supporting PlaceHolderAPI variables like %player_server%
GeneralFormat: '&8<&7{displayName}&8> &7{message}'
# Defines range of regular messages to travel
# Set to -1 to disable range restriction
GeneralRange: -1
# Defines range of shout messages to travel
# Shout messages should start with ! and player should have cmi.shout permission
# GeneralRange should be enabled
# set to 0 to shout across all worlds, -1 to disable
ShoutRange: 200
# Defines cost for each shout message
ShoutCost: 0
# Use numeric increments to separate groups from each other. If player has more than one, then line with higher number will be used
# Add as many lines as you need too
# cmi.chatgroup.[id] permnission node to use
GroupFormat:
'1': '{prefix}&f{displayName}&f: &r{message}'
'2': '{prefix}&f{displayName}&7: &r{message}'
'3': '{prefix}&f{displayName}&8: &r{message}'
Colors:
# If set to true then all public messages will be filtered from color codes and will allow to colorize them with appropriate permission node
# cmi.colors.publicmessage.[colorName]
# Colors: black(&0), darkblue(&1), darkgreen(&2), darkaqua(&3), darkred(&4), darkpurple(&5), gold(&6), gray(&7), darkgray(&8), blue(&9), green(&a), aqua(&b), red(&c), lightpurple(&d), yellow(&e), white(&f), magic(&k), bold(&l), strikethrough(&m), underline(&n), italic(&o), reset(&r)
PublicMessage: false
PrivateMessage: true
# If set to true then /me messages will be filtered from color codes and will allow to colorize them with appropriate permission node
# cmi.colors.me.[colorName]
me: true
# If set to true, then color codes will get removed from text instead of leaving them if player dont have appropriate permission node for that color
CleanUp:
publicmessage: true
privatemessage: true
me: true
signs: false
# List of strings to ignore when checkign chat for color codes player cant use.
# This will bypass players colorcode restrictions and will allow usage of particular chat formats
# Applies only for public and private messages
WhiteList:
- '&c❤&7'
# If set to true then nickName will be filtered from color codes when player changes it
# cmi.colors.nickname.[colorName]
NickName: true
ChatFilter:
Enabled: false
Deny:
ipBlock:
# If not set to true, this filter will not be used
Enabled: true
# Defines filter group and defines required permission node to bypass this filter: cmi.chatfilter.bypass.[groupName]
Group: Advertising
# Regex expresion to filter by. How to use regex https://regexone.com/
Regex:
- \b[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}\b
- '[a-zA-Z0-9\-\.]+\s?(\.|dot|\(dot\)|-|;|:|,|_|/)\s?([a-zA-Z]{2,4})\b'
# With what we need to replace word, if not defined found expresion will not be changed
ReplaceWith: ''
# posible: none, orhers, all
# Where 'none' means everyone will receive this message
# 'others' means that sender will get message but not other players, this is usefull to prevent advertising and silently block it
# 'all' means that no one will receive sent message
BlockType: others
# Players with cmi.chatfilter.inform permisison will receive defined message when rule is broken
msgToStaff: '&4!&6[playerName] &4advertising with: &r[message]'
# List of commands to perform when rule is broken. Use [senderName] to include message sender name. Supports global variales same as locale file
Commands: []
swearing1:
Enabled: true
Group: Swearing
Regex:
- \bass\b|\basshole
ReplaceWith: dude
BlockType: none
msgToStaff: '&4!&6[playerName] &4swearing'
Commands:
- msg [senderName] &eDon't swear!
swearing2:
Enabled: true
Group: Swearing
Regex:
- \bfu+ck
ReplaceWith: not good
BlockType: none
msgToStaff: '&4!&6[playerName] &4swearing'
Commands:
- msg [senderName] &eDon't swear!
# List of regex filter to exlude from block list. Usefull if you want to block all ip/host address but want to allow usage of your own server.
WhiteList:
- \bgoogle.\s?([a-zA-Z]{2,4})\b
- \bspigotmc.\s?([a-zA-Z]{2,4})\b
DuplicatedMessagePrevention:
# When set to true, plugin will prevent spaming of same or similar messages in short time range. Can be bypased with cmi.chatfilter.spambypass permission
Use: false
# How much in percentage message is counted as same
Percentage: 80
# Defines how often in seconds you can send same/similar message
Interval: 5
# How many commands you can repeat before stopped for cooldown
MinAmount: 2
# If set to true, players public message who is in your ignore list will not be shown
IgnorePublicMessage: false
Tag:
# Enable or not tag system. This will inform player wbout hies name mentioning in public chat if name have @ in front of it
Enabled: true
# When this is set to true, any player mentionings in public messages will be colorized and player will get informed as usual
# This is allot more heavier on server than usual tagging with @, so enable if you know what you are doing
HardCoreMode: false
# Determines color of taged user name in chat with @ in front of name/nickname. Sender should have cmi.tag.color
Color: '&c'
Sound:
# Sound name
Name: BLOCK_NOTE_HARP
Volume: 1
Pitch: 3
# When set to true, @ simbol will be removed
RemoveEta: false
Command:
CommandFilter:
Duplicate:
# When set to true, plugin will prevent spaming of same or similar command in short time range. Can be bypased with cmi.commandfilter.bypass permission
Use: false
# How much in percentage command is counted as same
Percentage: 80
# Defines how often in seconds you can send same/similar commands
Interval: 5
# How many commands you can repeat before stopped for cooldown
MinAmount: 2
# Whitelisted commands to ignore
WhiteList:
- msg
- tell
- login
- register
Spy:
# Commands in this list will not be shown when command spy is enabled for player for security/privacy reasons
BlackListed:
- register
- login
- l
# Players without cmi.security.admin will only see commands from this list with command spy feature
CommandList:
- cmi spawn
- cmi tp
- cmi tpa
- cmi heal
- cmi feed
- cmi fly
PlayerNotes:
# For how long to keep players notes in days
ExpiresIn: 30
PlayerMail:
# For how long to keep players mail in days
ExpiresIn: 30
# Mailing to all players will send mails to players who loged into server in last x days
mailAllDays: 7
DisplayName:
# Format of players display name. By default only nick name will be visible, if its set, if not, then players name
# Posible varibales: {prefix} {suffix} {nicknameprefix}
Format: '{nickName}'
NickName:
# Prevents players to change their nick name to one of defined without permission
# Use lower case
# cmi.command.nick.bypassblacklist
# to bypass protection against already in use name/nickname use cmi.command.nick.bypassinuse
BlackList:
- admin
- administrator
- server
- staff
- staf
# Max length of nick name, can be bypassed with cmi.command.nick.bypass.length
MaxLength: 16
# Adds prefix for players nickname to indicate that its not real name. This can be added to display name with {nicknameprefix}
Prefix: '~'
# When true, will only add nickname prefix when its not same as original name. This can allow colorization or capitalization change without addign prefix
PrefixWhenDifferent: false
# Shows if there is an available new version on login with cmi.versioncheck permission node
ShowNewVersion: true
Spawners:
# If you experiencing issues with spawner handling, set this to true to avoid any spawner manipulations from CMI side
# This will disable features like, spawner placement, spawner drops, spawner charges and so on
FullDisable: false
Break:
# Enable or disable spawner handler for spawner break
# If enabled player will get spawner if using silktouch pickaxe and have cmi.dropspawner permission node
# If player has cmi.dropspawner.nosilk permission node, player is not required to use silk touch pickaxe to get droped spawner
Enabled: false
# When set tp fa;se, exp will not be dropped from broken spawner independent if spawner it self is being dropped
# When set to true exp will be dropped only if spawner is not
DropExp: false
# Minimal silktouch level required to get spawner back
SilkTouchLevel: 1
Place:
# Enable or disable spawner handler for spawner place
# If enabled player will place spawner depending from what it is by its type
# If disabled then spawner will be placed in normal way and it will allow other plugins to handle its placement
Enabled: true
# If set to true, player will need to have appropriate permission node to place spawner by its type
RequiresPermission: false
# RequiresPermission should be set to true for this to work. If set to true, player will need to have particular permission node to place particular spawner.
# In example: player should have cmi.placespawner.pig to place pig spawner, or cmi.placespawner.zombie to place zombie spawner
# If set to false, then player will need to have basic cmi.placespawner permission to place any type of spawner
RequiresExactPermission: false
Interact:
# When set to true, players trying to change spawner with monster egg will require approrpiate permission node
# In example: player should have cmi.egginteract.pig to change spawner into pig, or cmi.egginteract.zombie to change into zombie spawner
EggRequiresPermission: false
# If set to true, spawners will have chance to be dropped when destroying with tnt
TnTExplosionDrop:
use: false
# Chance in percentage for spawner to drop
Chance: 30
# If set to true, spawners will have chance to be dropped when destroyed by creeper
CreeperExplosionDrop:
use: false
Chance: 30
Charges:
# When enabled players will be assigned to particular spawner charges group who have cmi.spawners.charge.[groupName] permission node
# Players will be limited to how many spawners they can mine
# StartingCharge will determine how many charges they will have on first time joining group
# MaxCharge will limit to how many charges you can have at one time
# Cooldown determines how often new charge will be given
# Bonus is optional and it will determine by how many seconds to lower cooldown for next charge when placing spawner
# Option to bypass limitations with cmi.spawners.charge.bypass
Use: false
# If set to true when player runs out of spawner charges spawner will be destroyed without droping it
BreakWithoutCharge: false
List:
Noob:
Use: false
StartingCharge: 2
MaxCharge: 5
Cooldown: 3600
Bonus: 10
Advanced:
Use: false
StartingCharge: 3
MaxCharge: 6
Cooldown: 3000
Bonus: 10
Proximity:
# Allws to limit how tight spawners can be placed from each other
Use: false
# Radius in blocks from blaced block. Max range is 16
# Can bypass with cmi.spawners.proximity.bypass
Range: 3
ItemRenaming:
# When set to true, players will be denyied from renaming defined items
# Option to define specific name by using regex format
Prevent: false
List:
- mobspawner:([A-z]+ (?i)\w*spawner)
SpawnMob:
# Defines how many passengers entities can be spawned at once
MaxQuantity: 100
MaxPassengers: 10
Counter:
# Default range to use when performing /counter start
Range: 10
Mirror:
# Defines how far in blocks from mirror center you can build
# This is mainly to protect from forgeting to turn off mirror and starting to build on different side of map
MaxRange: 50
NetherPortal:
# Can prevent nether portal creation entirely. Option to bypass with cmi.netherportalbypass
PreventCreation: true
# Maximum height nether portal can be created. Vanilla size is 23
MaxHeight: 23
# Maximum width nether portal can be created. Vanilla size is 23
MaxWidth: 23
Portals:
# Defines in milliseconds how often to check if player entered portal or not
# Bigger numbers can help slightly lower server load but small portals, 1 block depth without back wall can be passed through without teleportations if player moves fast enought
CheckInterval: 300
# Defines in milliseconds how often to check if player entered portal range for particles to apear
CheckParticleInterval: 500
# Perform commands on teleport or not
PerformCommands: true
# Commands to be performed on teleport event
Commands:
- cmi effect [playerName] blindness 2 1 -s
Animations:
# Enable siting on stair block by clicking on them with empty hand or by looking and using command
# Requires cmi.command.sit.stairs
SitOnStairs: true
StairsAsChairs: true
SlabsAsChairs: true
# Player will sit on chair only after rapid double click
DoubleClick: false
# Delay in milliseconds between clicks to sit on chair when double click is enabled
DoubleClickDelay: 200
# All posible damage causes: contact, entity_attack, entity_sweep_attack, projectile, suffocation, fall, fire, fire_tick, melting, lava, drowning, block_explosion, entity_explosion, void, lightning, suicide, starvation, poison, magic, wither, falling_block, thorns, dragon_breath, custom, fly_into_wall, hot_floor, cramming,
# Sintax should be [permissionNode]:[damageCause]:[multiplier]
# Example: nolavadamage:lava:0 will prevent lava damage with cmi.damagecontrol.nolavadamage permission node
# Negative values will heal player instead of damaging him
# If player have more than one permission node for same damage cause, then last one in list will be used to determine final damage
DamageControl:
- nowalldamage:fly_into_wall:0
- lowermagmacubedamage:hot_floor:0.5
Totem:
# When this set to true, on players death totem will be used even if he is not holding it in hand
RemoveFromInventory: false
Cooldown:
# When this set to true player can use totem only every X second
Use: false
Time: 600
Warmup:
# When this set to true player can use totem to have X amount of second's, during which he can die and be resurected
# Totem will be consumed durring activation and wont be returned even if resurection is not used during warmup time
Use: false
Time: 10
Elytra:
# cmi.elytra - allows usage of elytra
# cmi.elytra.boost - allows usage of boost
# cmi.elytra.superboost - allows ussage of super boost
# cmi.elytra.speedometer - allows to see speedometer
Boost:
# Max speed until player wont get any boost
SpeedLimit: 200
# When enabled items/exp wont be consumed if player is over speed limit
SpeedLimitStop: false
# Do you want to show decimals in speed
SpeedDecimals: true
# By how much boost player on each use
GeneralMultyplier: 0.1
# By how much boost player on each super boost use
# Use shift while using simple boost
SuperMultyplier: 0.3
# Uses defined items instead of exp
UseItems: false
# item id
Item: '288'
# Requires to hold defined item in hand. Only when UseItems is set to false
RequiresItem: true
# Amount consumed on each boost
Amount: 1
# Amount consumed on each super boost
SuperAmount: 5
# Shows particles when flying
ShowParticles: true
Launch:
Time: 2
Fix:
# Disables option to damage yourself while flying with arrows to boost up
PreventSelfDamage: false
FlightCharge:
# Do you want to enable flight charge feature
Enabled: false
# When set to true, each time player gets flight charge or relogs, his fly mode will be toggled on
# If set to false, then players will have to manualy turn on flight with /cmi flyc
EnabledByDefault: true
# When set to true, in event of player changing his game mode from survival/adventure to creative/spectator his flight charge mode will get disabled
# Same applies when changind game mode from creative/spectator to survival/adventure
AutoSwitch: false
# How much charge to give for one exp point
# Set to 0 to disable this type of recharge
ExpRechargeRate: 1
# How much charge to give for one currency point
# Set to 0 to disable this type of recharge
MoneyRechargeRate: 1
# Defines maximum amount of charge player can have
# One charge is one traveled block while flying
# if player dosent move, then one charge for each second while hovering
MaxChargeLevel: 1000
# Defines multiplier when player doesnt move but is hovering. For each second player hovers.
# Set to 0 to disable
DeductOnIdling: 1
# Defines multiplier when player falls down of charge to be taken
# This only effects when player falls from above 3 blocks of hight
# In example if player falls from 10 blocks height, then 7 * 2 = 14 charges will be taken
# This is to prevent avoiding no penealty from jumping from clifs
# Set to 0 if you want to disable it
DeductOnFallMulti: 2
# Defines if you want to damage player when he falls down from higher than 3 blocks height
# This will not kill player even if he would drop from 200 block height, but will leave him with 1 hp
# This will only effect players who jumped down and not those who disabled fly mode in mid air
DamageOnFall: true
# DamageOnFall should be enabled for this to work
# This will define if you want to damage player when he deactivates fly mode in mid air
DamageOnToggle: false
# DamageOnFall should be enabled for this to work
# This will define if you want to kill player if fall damage if higher than his health amount
KillOnFall: false
Point:
# Default particle for point command. Options: fireworks_spark, crit, magic_crit, potion_swirl, potion_swirl_transparent, spell, instant_spell, witch_magic, note, portal, flying_glyph, flame, lava_pop, footstep, splash, particle_smoke, explosion_huge, explosion_large, explosion, void_fog, small_smoke, cloud, coloured_dust, snowball_break, waterdrip, lavadrip, snow_shovel, slime, heart, villager_thundercloud, happy_villager, large_smoke, tile_break, tile_dust,
DefaultParticle: COLOURED_DUST
Messages:
Login:
# If set to true, login message wont be shown
Disabled: false
# Defines number of players from which to automaticaly start hiding join messages
# Set to -1 to disable this
AutoHideFrom: -1
Custom:
# If set to true, custom login message will be used. cmi.messages.disablelogin can be used to disable message for player
Use: true
Logout:
# If set to true, logout message wont be shown
Disabled: false
# Defines number of players from which to automaticaly start hiding logout messages
# Set to -1 to disable this
AutoHideFrom: -1
Custom:
# If set to true, custom logout message will be used. cmi.messages.disablequit can be used to disable message for player
Use: true
# Check locale file for translation and custom placeholders: [playername], [totalUsers], [onlinePlayers]
FirstJoinMessage:
Use: true
DeathMessage:
# Defines number of players from which to automaticaly start hiding death messages
# Set to -1 to disable this
AutoHideFrom: -1
Books:
# Defines default creator name for books when using getbook command
DefaultAuthor: Server
# Defines name of customtext on players login to server. To disable just set name to non existing customText
Motd: welcomeMessage
Spawn:
# Defines players spawn point after death if set to true, if not, then it will be used only for /cmi spawn command
Main:
World: map_lobby
X: -8.5
Y: 48.0
Z: -8.5
Pitch: 0.0
Yaw: -90.0
RespawnLocation: true
Rng: 0
# Defines players first spawn point when he logs into server for the first time
FirstSpawn:
Use: false
World: None
X: 0.0
Y: 0.0
Z: 0.0
Pitch: 0.0
Yaw: 0.0
Newbie:
# Kit name to give for new players joining server
Kit: Newbie
Kits:
# When set to true, kit list will be shown in GUI instead of chat list
GUI: true
# When set to true, kit selection gui empty fields will get filled with definet item
FillEmptyFields: true
Warps:
# When set to true, warps list will be shown in GUI instead of chat list
GUI: false
# How many warps to show in each page
perPage: 50
# Do you want to save warp creator
saveCreator: false
# Do you want to show creator in warp list
showCreator: false
GlobalGui:
# Defines item type in empty fields in GUI when its needed to be filled up
EmptyField: STAINED_GLASS_PANE:7
DynamicViewRange:
# By setting to true will enable dynamic view range feature. Its still in beta stage and can result in some CPU load increase.
# Don't enable if you are not using this feature on your server
Enabled: false
WorldLimits:
# By setting to true fly and gamemode limitations per world will be aplied for player on world change if they dont have appropiate permission node
Enabled: false
# World list with default game modes
# If player will have cmi.worldlimit.gamemode.bypass permission node, game mode wont be changed
# Posible modes: creative, survival, adventure, spectator,
Gamemode:
- world:Survival
# If player will have cmi.worldlimit.fly.bypass permission node, fly mode wont be changed
Fly:
- world:False
# If player will have cmi.worldlimit.god.bypass permission node, fly mode wont be changed
GodMode:
- world:False
# Prevents particular entity spawn reasons in defined worlds. All posible reasons: NATURAL, JOCKEY, CHUNK_GEN, SPAWNER, EGG, SPAWNER_EGG, LIGHTNING, BUILD_SNOWMAN, BUILD_IRONGOLEM, BUILD_WITHER, VILLAGE_DEFENSE, VILLAGE_INVASION, BREEDING, SLIME_SPLIT, REINFORCEMENTS, NETHER_PORTAL, DISPENSE_EGG, INFECTION, CURED, OCELOT_BABY, SILVERFISH_BLOCK, MOUNT, TRAP, ENDER_PEARL, SHOULDER_ENTITY, CUSTOM, DEFAULT
SpawnReasons:
world:
- None
world_nether:
- None
world_the_end:
- None
# Checks and shows on players login if he have been changed hes name over Mojang
# Looks to be working only with online servers, duhhhh
CheckForNameChange:
OnLogin: true
AmountToShow: 3
OnInfoShow: true
# Do you want to perform commands
PerformCommandsOnNewName: false
# Command list to be performed in case player logs in with new name
NameChangeCommands:
- 'asConsole! cmi broadcast !&2[oldname] logged in with new name: [newname]'
inv:
# Do you want to save the player's inventory on his death
SaveOnDeath: true
# When set to true, empty inventories (no items in inventory) will not be saved on players death
IgnoreEmpty: false
# If set to true then player should have cmi.saveinv permission node for inventory to be saved on death
RequiresPermission: false
# How many inventories, we will keep for each player
SavedInventories: 10
hunger:
# Do you want to give more than 20 hunger for players
overide: false
heal:
RemoveNegative:
# Do you want to remove negative potion effects from player on heal
use: false
List:
- blindness
- confusion
- harm
- hunger
- poison
- slow
- slow_digging
- weakness
- wither
Cuff:
# When set to false will allow players to talk who is cuffed
Mute: true
AllowedCommands:
- msg
- r
- tell
Dispose:
# defines how big is dispose ui 1-6
UILines: 4
ItemRepair:
RepairShare:
# When enabled will prevent players repairing items for others in anvil regular way. They still can use items and repairs normaly for them selfs
# Can be bypassed with cmi.command.repair.repairshare.bypass
ProtectNormalRepair: false
# When enabled will prevent players repairing items for others with CMI command. They still can use items and repairs normaly for them selfs
ProtectCommandRepair: false
# Sets durability on item when another picks it up or selects in inventory. Set to 0 or less if you don't want to change durability
Durability: 1
# When set to true, player who have cmi.command.repair permission will bypass this protection and can use other user repaired items without any aditional actions
BypassWithRepairPermission: true
# When enabled aditional lore line will be added when player can't use that item. This will not be shown for owner of item
AddLore: true
# When set to true, interact event will be canceled to prevent item usage
CancelEvent: true
# When set to true, player will get message informing about item usage he dint repaired him self
InformWithMessage: true
Cooldowns:
# You can enable any command cooldown to prevent instant usage of it
# cmi heal:180 means that player can use /cmi heal command only once every 180 seconds
# if cooldown set to -1 then this command can be performed only one time
# Administration can bypass limitations with cmi.command.[comandName].cooldownbypass permission node
# Always use full command name and not its alias
Enabled: false
List:
- cmi heal:180
- cmi feed:120
WarmUps:
# You can enable any command warmup to prevent instant command usage
# tp:5:false means that when player performs /tp command he will need to wait 5 sec
# false variable is optional and when its set to false player cant move while warmup is counting
# If you dont want to deny empty warp command but want to deny any extra variable after that, then just add space, in example 'warp :5:false'
# When setting warmups for CMI commands, use full command name and not allias, in example 'cmi warp:5false'
# Administration can bypass limitations with cmi.command.[comandName].warmupbypass permission node
# ATTENTION! cmi home command is being handled in special way and to prevent double warmup, add space, example: - cmi home :5:false
Enabled: true
InformOnNoMove: true
List:
- cmi spawn:5:false
- cmi back:5:false
- cmi warp :3:false
- cmi home :5:false
Jail:
# Defines in milliseconds how often to check if player leaves jail area
# Bigger numbers can help slightly lower server load
CheckInterval: 500
# Defines default jail time when time is not povided with command
DefaultTime: 300
# Chat range in blocks while player is in jail
# Set to 0 to allow talking
# set to -1 to prevent talking in general while jailed
ChatRange: 20
WhiteListedCmds:
- cmi msg
- cmi reply
scan:
# Tps cap from which to start adjusting scan speed
SoftCap: 19.0
# Staring speed when scanning. Range from 1 to 30
DefaultSpeed: 15
# When this set to true, when using scan feature and not providing range, whole map will be scanned
GlobalRangeByDefault: false
# Range in chunks. 2 is 25 chunks, 1 is 9 and 0 is only chunk you are standing in
DefaultRange: 2
# When this set to true, all found items in containers will be removed automaticaly durring scan. Ex: /scan id 7 purge
EnablePurge: false
search:
# When this set to true, all found items in inventories will be deleted durring search. Ex: /cmi search id 7 purge
EnablePurge: false
lfix:
# This is heavy on server resourses feature, enable if you have to spare some or pregenerating world
# When set to true, plugin will try to fix light issues on chunk generation
# This will remove most light gliches but its not 100% bullet prof and some bugs can still be seen
# In some cases you will need to relog to see updated light's
FixOnChunkGeneration: false
# List of worlds where we need to fix light issues on chunk generation
WorldsToFix:
- world
- world_nether
- world_the_end
# Tps cap from which to start adjusting light fix speed
SoftCap: 19.0
# Staring speed when fixing light. Range from 1 to 100
DefaultSpeed: 15
purge:
# Cleans files on server startup
CleanOnStart: false
# How long player should be offline for his data to be moved
OfflineDays: 90
PlayerData:
# Do you want to enable player data file cleaning
Enabled: true
# Source folder to take files from
SourceFolder: world\playerdata
# When this is false, data files will be moved to backup folder. When its true files will be deleted
DeleteFiles: false
# Target folder to put files into if DeleteFiles set to false
DestinationFolder: world\playerdata_backup
PlayerStats:
# Do you want to enable player stats file cleaning
Enabled: true
# Source folder to take files from
SourceFolder: world\stats
# When this is false, data files will be moved to backup folder. When its true files will be deleted
DeleteFiles: false
# Target folder to put files into if DeleteFiles set to false
DestinationFolder: world\stats_backup
PlayerAdvancements:
# Do you want to enable player Advancements file cleaning
Enabled: true
# Source folder to take files from
SourceFolder: world\Advancements
# When this is false, data files will be moved to backup folder. When its true files will be deleted
DeleteFiles: false
# Target folder to put files into if DeleteFiles set to false
DestinationFolder: world\Advancements_backup
Essentials:
# Do you want to enable essentials playerdata file cleaning
Enabled: false
# Source folder to take files from
SourceFolder: plugins\Essentials\userdata
# When this is false, data files will be moved to backup folder. When its true files will be deleted
DeleteFiles: false
# Target folder to put files into if DeleteFiles set to false
DestinationFolder: plugins\Essentials\userdata_backup
LWC:
# Do you want to enable lwc protection cleaning
Enabled: false
Selection:
# Tool id to use for selection actions
Tool: wood_hoe
Time:
# Defines preset time
Day: '12:00'
Night: '24:00'
Morning: 06:00
Dusk: '18:00'
AutoTime:
# Time in seconds time in game will be adjusted to match real
# Keep it at arround one minute
Interval: 60
# Worlds effected by autotime adjustment
Worlds:
- ''
Enchanting:
enchantLimits:
# By disabling this, no limitation to enchanting will be applied
Enabled: true
MaxLevel:
protection_environmental: 4
protection_fire: 4
protection_fall: 4
protection_explosions: 4
protection_projectile: 4
oxygen: 3
water_worker: 1
mending: 1
thorns: 3
vanishing_curse: 1
depth_strider: 3
frost_walker: 2
binding_curse: 1
damage_all: 5
damage_undead: 5
damage_arthropods: 5
knockback: 2
fire_aspect: 2
loot_bonus_mobs: 3
sweeping_edge: 3
dig_speed: 5
silk_touch: 1
durability: 3
loot_bonus_blocks: 3
arrow_damage: 5
arrow_knockback: 2
arrow_fire: 1
arrow_infinite: 1
luck: 3
lure: 3
Cmi Version (using/7.7.8.0):
Server Type (Spigot):
Server Version (1.12.x):
Description of issue or feature request:
IGNORE IF YOU ARE SUBMITTING A FEATURE REQUEST
ERROR (IGNORE IF YOU HAVE NO ERROR):
CONFIG SECTION (IGNORE IF NOT RELEVANT):
Cmi Version (using
/7.7.8.0
): Server Type (Spigot): Server Version (1.12.x):