/KingdomKits

[Deprecated] A plugin for kingdom servers

Primary LanguageJavaOtherNOASSERTION

Warning

This plugin is abandoned, see KingdomEssentials for it's continuation.

Commands:

All sub commands below are sub command of the command /kingdomkits (Alias: /kk)

+-------------+---------------------------------------+----------------------+
| Sub-command |              Description              |      Permission      |
+-------------+---------------------------------------+----------------------+
| help        | Show plugin help.                     | None                 |
| info        | Show plugin info.                     | None                 |
| list        | Show a list of all classes.           | None                 |
| getClass    | Get a player's class.                 | kingdomkits.getclass |
| setClass    | Set a player's class.                 | kingdomkits.setclass |
| reload      | Reload the plugin config.             | kingdomkits.reload   |
| bind        | Make the item in your hand soulbound. | kingdomkits.bind     |
+-------------+---------------------------------------+----------------------+

Configuration:

# Author: Ninjoh
#
# All item lists use bukkit material names. (Not item ID!, for example: DIAMOND_SWORD)
# For further information see: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html

# Don't change this!
configVersion: 4

# Interval in ticks for saving the data file.
# NOTE: 1 second = 20 ticks
# Default value is set to 6000 ticks, wich is 5 minutes exact.
dataFileSaveInterval: 6000

# Should localization be used?
useLocalization: true

# Enable integration with factions?
# This is for the maxpercentage stuff with player classes.
# If set to false faction integration will be disabled, and the maxpercentage stuff
# will have no effect at all.
#
# If the factions plugin is not installed but this value is set to true, faction integration
# will not be enabled since it is impossible to do that when factions isn't installed.
enableFactionsIntegration: false



# Server region used for UUID API interaction
# This is used to get the UUID of a player with a given name.
#
# Valid values: EU or US
serverRegion: 'EU'


# Enchanting section
enchanting:
  blacklistedItems: # All items wich cannot be enchanted.
  - 'WOODEN_SWORD'
  - 'STONE_SWORD'
  - 'GOLD_SWORD'
  - 'IRON_SWORD'
  - 'DIAMOND_SWORD'
  - 'LEATHER_HELMET'
  - 'LEATHER_CHESTPLATE'
  - 'LEATHER_LEGGINGS'
  - 'LEATHER_BOOTS'
  - 'CHAINMAIL_HELMET'
  - 'CHAINMAIL_CHESTPLATE'
  - 'CHAINMAIL_LEGGINGS'
  - 'CHAINMAIL_BOOTS'
  - 'GOLD_HELMET'
  - 'GOLD_CHESTPLATE'
  - 'GOLD_LEGGINGS'
  - 'GOLD_BOOTS'
  - 'IRON_HELMET'
  - 'IRON_CHESTPLATE'
  - 'IRON_LEGGINGS'
  - 'IRON_BOOTS'
  - 'DIAMOND_HELMET'
  - 'DIAMOND_CHESTPLATE'
  - 'DIAMOND_LEGGINGS'
  - 'DIAMOND_BOOTS'
  - 'BOW'
  - 'GOLDEN_APPLE'


# Crafting section
crafting:
  blacklistedItems: # All items wich cannot be crafted.
  - 'WOODEN_SWORD'
  - 'STONE_SWORD'
  - 'GOLD_SWORD'
  - 'IRON_SWORD'
  - 'DIAMOND_SWORD'
  - 'LEATHER_HELMET'
  - 'LEATHER_CHESTPLATE'
  - 'LEATHER_LEGGINGS'
  - 'LEATHER_BOOTS'
  - 'CHAINMAIL_HELMET'
  - 'CHAINMAIL_CHESTPLATE'
  - 'CHAINMAIL_LEGGINGS'
  - 'CHAINMAIL_BOOTS'
  - 'GOLD_HELMET'
  - 'GOLD_CHESTPLATE'
  - 'GOLD_LEGGINGS'
  - 'GOLD_BOOTS'
  - 'IRON_HELMET'
  - 'IRON_CHESTPLATE'
  - 'IRON_LEGGINGS'
  - 'IRON_BOOTS'
  - 'DIAMOND_HELMET'
  - 'DIAMOND_CHESTPLATE'
  - 'DIAMOND_LEGGINGS'
  - 'DIAMOND_BOOTS'
  - 'BOW'
  - 'GOLDEN_APPLE'
  - 'BOAT'

# Soulbound section
soulbound:

  # Make soulbound items undamagable/unbreakable?
  soulboundItemsCannotBeDamaged: true

  # Prevent people from using weapons wich aren't soulbound..
  # Includes swords and bows (NOTE: Does not include axes!)
  preventNonSoulboundWeaponUsage: true

  # Prevent people from using axes wich aren't soublund against
  # entities (players, animals, monsters, etc).
  preventNonSoulboundAxeUsage: true


  # Default class for players
  defaultClass: 'footsoldier'

  # Cool down between class switches in minutes
  # Default value(1440) is 1 day exact.
  coolDownInMinutes: 1440

  # If a player changes faction; should his
  # player class be reset to the default player class?
  setPlayerClassToDefaultOnFactionChange: true


  # Classes are defined below
  # Essentials kits are used for the kits.
  # WARNING: Do not name a class "default"
  #
  # You should not include a leading slash in any commands executed on respawn.
  # You may use variables in commandsExeCutedOnPlayerRespawn. You may use the following variables;
  #
  # {player_name} | The player's Minecraft username.
  # {player_uuid} | The player's uuid.
  # {player_displayname} | The player's displayname.
  classes:
    footsoldier:
      kitName: 'footsoldier'
      useMaxPercentagePerFaction: true
      maxPercentagePerFaction: 100
      commandsExecutedOnPlayerRespawn: []
    archer:
      kitName: 'archer'
      useMaxPercentagePerFaction: true
      maxPercentagePerFaction: 50
      commandsExecutedOnPlayerRespawn: []
    knight:
      kitName: 'knight'
      useMaxPercentagePerFaction: false
      maxPercentagePerFaction: 100
      commandsExecutedOnPlayerRespawn: []
    lord:
      kitName: 'lord'
      useMaxPercentagePerFaction: false
      maxPercentagePerFaction: 100
      commandsExecutedOnPlayerRespawn: []

# Potion section
potions:

  # Disable potions?
  #
  # Disables drinking/consuming of potions
  # as well as throwing potions
  disablePotions: true


# Use the potions section above to disable
# consuming of potions as well as
# throwing potions & dispensers/droppers shooting potions
# So, don't add POTION to this list (unless you want to stop people from drinking water bottles, that is).
consume:
  blacklistedItems: # Items wich cannot be consumed (eat, drink, etc).
    - 'GOLDEN_APPLE'

# Use the potions section above to disable
# consuming of potions as well as
# throwing potions & dispensers/droppers shooting potions

# Section for preventing players using items.
usage:
  blacklistedItems: # Items wich cannot be used (right mouse button).
  - 'BOAT'
  - 'ENDER_PEARL'

# Prevent players from flying with the elytra?
preventElytra: false

Permissions:

permissions:
    kingdomkits.*:
        description: Gives access to all kingdomkits permissions & commands.
        children:
            kingdomkits.bind: true
            kingdomkits.setclass: true
            kingdomkits.setclass.class.*: true
            kingdomkits.setclass.others: true
            kingdomkits.getclass: true
            kingdomkits.getclass.others: true
            kingdomkits.list: true
            kingdomkits.bypass.factionmembershipchangeevent: true
            kingdomkits.bypass.changeclasscooldown: true
            kingdomkits.bypass.elytra: true
    kingdomkits.bypass.*:
        description: Gives access to all kingdomkits bypass permissions.
        children:
            kingdomkits.bypass.factionmembershipchangeevent: true
            kingdomkits.bypass.changeclasscooldown: true
            kingdomkits.bypass.elytra: true
    kingdomkits.bind:
        default: op
    kingdomkits.list:
        default: true
    kingdomkits.setclass:
        default: op
    kingdomkits.setclass.class.*:
        default: op
    kingdomkits.setclass.others:
        default: op
    kingdomkits.getclass:
        default: true
    kingdomkits.getclass.others:
        default: true
    kingdomkits.bypass.factionmembershipchangeevent:
        default: op
    kingdomkits.bypass.changeclasscooldown:
        default: op
    kingdomkits.bypass.elytra:
        default: op

Dependencies:

System requirements:

  • Java >= 8

FAQ:

  • Where to define the kits for the classes?

    • Answer: In the essentials config, the kits section.
  • Where to define the player classes?

    • Answer: In the kingdomkits config.

Example soulbound kit:

These are defined in the essentials config, at the kits section; Note: Adding lore:&6&oSoulbound makes the item soulbound.

# The lores are important; they make the item soulbound.
  footsoldier:
    delay: 0
    items:
      - 267 1 lore:&6&oSoulbound
      - 261 1 lore:&6&oSoulbound infinity:1
      - 306 1 lore:&6&oSoulbound
      - 307 1 lore:&6&oSoulbound
      - 300 1 lore:&6&oSoulbound
      - 305 1 lore:&6&oSoulbound
      - 262 1 lore:&6&oSoulbound