Wiki

Clone wiki

RestrictedCreative / Home

RestrictedCreative v2 (for 1.13-1.16)


Description

Give your players access to creative mode - safely - without jeopardising survival experience! RestrictedCreative is light on CPU and extremely customizable. It covers all basic creative limiting functions: separate inventories, block placement tracking, disabling interactions with inventories etc. Furthermore, it includes several new useful features, for example providing customizable commands for changing gamemodes, forcing distinguishable colorful armor and disabling interaction with touch holograms. With this plugin you have your creative players under control, because they have no way to pass items from creative to survival mode!


Commands

Arguments: <required> [optional]

  • /rc <reload|block \<add|remove|info|stats>|i-am-sure-i-want-to-delete-all-plugin-data-from-database>
    • RestrictedCreative main command used for reloading, statistics and other.
    • Permissions: rc.commands.rc, rc.commands.reload, rc.commands.block, rc.commands.delete
    • Default alias: /restrictedcreative
  • /survival [player]
    • Enter survival mode.
    • Permissions: rc.commands.survival, rc.commands.survival.others
    • Default aliases: /gm0, /gms
  • /creative [player]
    • Enter creative mode.
    • Permissions: rc.commands.creative, rc.commands.creative.others
    • Default aliases: /gm1, /gmc
  • /adventure [player]
    • Enter adventure mode.
    • Permissions: rc.commands.adventure, rc.commands.adventure.others
    • Default aliases: /gm2, /gma
  • /spectator [player]
    • Enter spectator mode.
    • Permissions: rc.commands.spectator, rc.commands.spectator.others
    • Default aliases: /gm3, /gmsp

Config explanation

Default config

Database

  • type: mysql or sqlite
  • username: name of the mysql database user
  • password: mysql user's password
  • host: mysql host name or IP (without the port)
  • port: mysql port, default is 3306
  • database: name of the database used
  • ssl: whether to use a secure connection to the database
  • table:
    • blocks: name of the table used to store creative blocks
    • inventories: name of the table used to store inventories

Commands

  • <command>: name of the command
    • description: description what the command does
    • usage: message shown when the command wasn't entered correctly
    • aliases: list of aliases that can be used instead of the command name

General

  • disabled-worlds: list of worlds this plugin is disabled in; if you want to allow every world, delete the list and put [] after disabled-worlds:
  • enabled-worlds: list of worlds this plugin is exclusively enabled (whitelisted) in: this overrides disabled-worlds; if you want to allow every world or use the disabled-worlds instead, leave this list empty ([])
  • saving:
    • interval: time in ticks (20 ticks = 1 second) between each sync to database (recommended: 1200 - 36000)
    • inventories:
      • enabled: whether to save inventories to the database so creative inventory wouldn't reset on logout
      • purge:
        • enabled: whether to enable automatic inventory purging
        • survival: how many days since the last usage should we keep the survival inventories in the database
        • creative: how many days since the last usage should we keep the creative inventories in the database
  • loading:
    • delay-login: whether to disallow players from logging into the server while the plugin is loading data from database
    • use-old-system: if you have issues with the default loading system, you can revert back to the old (but slower) one

Creative

  • armor:
    • enabled: whether to automatically equip creative players with non-removable colored armor
    • type: what type of armor should creative players have (possible values: leather, chainmail, iron, golden, diamond, netherite (1.16+))
    • color: leather armor "Minecraft color value" (from this site, for example: https://minecraftcommand.science/armor-color)
  • permissions:
    • enabled: whether to give/take specified permissions to/from players in creative mode
    • use-vault: whether to use Vault to manage permissions or let the default Bukkit permissions handle it; REQUIRES VAULT
    • list: list of permissions that are added, when player is put into creative mode, and removed, when their creative mode is removed; to remove a permission instead of adding, just add "-" in front of it
  • groups: REQUIRES VAULT
    • enabled: whether to put/remove players in creative mode to/from specified groups
    • list: list of groups where players are added to, when player is put into creative mode, and removed from, when their creative mode is removed; to remove the player from a group instead of adding, just add "-" in front of it

Tracking

  • blocks:
    • enabled: whether to track blocks/items placed in creative mode and remove their drops when they're destroyed
    • notify: whether to notify the player who broke a tracked block why they didn't receive any drops
    • exclude: list of Material Enums (https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html) that shouldn't be tracked; if you want to track everything, leave it as default: [] after exclude:
  • worldedit: REQUIRES WORLDEDIT
    • enabled: whether to save blocks/items placed with WorldEdit in creative mode and remove their drops (//undo in not supported!)
    • extended: whether to save blocks/items placed with WorldEdit in any gamemode and remove their drops (above must be true)
  • inventory:
    • enabled: whether creative and survival/adventure inventories should be separate

Limit

  • regions: if both modules are enabled, it will allow players to use creative mode in both their owned regions and whitelisted ones
    • owner-based: REQUIRES WORLDGUARD OR GRIEFPREVENTION OR TOWNYADVANCED
      • enabled: whether using creative should be limited to region(s) owned by the player
      • allow-members: whether using creative should be also allowed in region(s) the player is a member in (above must be true) REQUIRES WORLDGUARD
    • whitelist: REQUIRES WORLDGUARD
      • enabled: whether using creative should be limited to listed region(s)
      • list: list of WorldGuard region names (CaSe SeNsItIvE) where entering creative mode (via the /creative command) and placing blocks/items in creative mode is allowed (except __global__)
  • moving:
    • enabled: whether to limit creative usage to specific Y levels (between above-y and below-y)
    • below-y: upper limit: if a creative player goes above the specified Y level (height), their creative mode will be removed and they can't switch back (-1 for no limit)
    • above-y: bottom limit: if a creative player goes below the specified Y level (height), their creative mode will be removed and they can't switch back (-1 for no limit)
  • interact:
    • inventories: whether to disable interaction with inventories (chests, hoppers, villagers etc)
    • entities: whether to disable interaction (right-clicking) with entities (breeding, armor stands, touch holograms etc, excluding item frames)
    • breeding: whether to disable animal breeding (this setting won't affect anything if above "entities:" is set to "true")
    • slimefun: whether to disable interacting with Slimefun plugin items and blocks
  • item:
    • drop: whether to disable dropping items in creative mode
    • pickup: whether to disable item pickup in creative mode
    • throw: whether to disable throwing/shooting items (splash potions, eggs, arrows etc)
  • commands: list of (lowercase) commands which are disabled for creative players; uses powerful RegEx - http://regexr.com/ (listed command must be matched 100% in order for it to be blocked, that's why (.*) are used); if you want to allow every command, delete the list and put [] after commands:
  • combat:
    • pvp: whether to disable player vs player combat for creative players
    • pve: whether to disable player vs entity combat for creative players
  • creation:
    • wither: whether to disable creating the Wither from creative blocks
    • snow-golem: whether to disable creating the Snow Golem from creative blocks
    • iron-golem: whether to disable creating the Iron Golem from creative blocks
  • damage: whether to disable damage for creative players, keeping them alive even in the void

Confiscate

  • invalid-items: whether to remove invalid items (too long names, too big enchantment levels etc) from creative players' inventories (REQUIRES PROTOCOLLIB for invalid NBT checks)
  • middle-click:
  • items:
    • enabled: whether to remove items matching any of the criteria below
    • material: list of Material Enums (https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html) that should be removed from creative players' inventories; if you don't want to remove anything, delete the list and put [] after material:
    • name: list of names (or parts of them) of items that will be confiscated from creative players
    • lore: list of lores (or parts of them) of items that will be confiscated from creative players

Disable


Messages

Default messages

If you wish to disable a message, replace it with ''. Text formatting is supported (https://minecraft.gamepedia.com/Formatting_codes).

  • %player% is replaced with player's name (only on not-found, gamemodes.<gamemode>.other)
  • %blocks% is replaced with blocks count (only on database.loaded, database.added, database.removed, checkafk.lines)
  • %mills% is replaced with a number of milliseconds the task took to complete (only on database.done)
  • %material% is replaced with a Material Enum (only on block.add.added, block.remove.removed, block.info.<boolean>)
  • %total% is replaced with a number of blocks in the database (only on block.stats)

Permissions

From plugin.yml:

#!yaml

permissions:
  rc.*:
    description: Allows everything.
    default: false
    children:
      rc.commands.*: true
      rc.bypass.*: true


  rc.commands.*:
    description: Allows every command.
    default: OP
    children:
      rc.commands.rc: true
      rc.commands.creative: true
      rc.commands.survival: true
      rc.commands.adventure: true
      rc.commands.spectator: true
      rc.commands.creative.others: true
      rc.commands.survival.others: true
      rc.commands.adventure.others: true
      rc.commands.spectator.others: true
      rc.commands.reload: true
      rc.commands.delete: true
      rc.commands.block: true

  rc.bypass.*:
    description: Allows to bypass everything.
    default: false
    children:
      rc.bypass.general.disable-worlds: true
      rc.bypass.creative.armor: true
      rc.bypass.creative.permissions: true
      rc.bypass.creative.groups: true
      rc.bypass.tracking.blocks: true # per Material enum
      rc.bypass.tracking.entities: true # per EntityType enum
      rc.bypass.tracking.worldedit: true
      rc.bypass.tracking.inventory: true
      rc.bypass.limit.regions: true
      rc.bypass.limit.moving: true
      rc.bypass.limit.interact.inventories: true # per InventoryType enum
      rc.bypass.limit.interact.entities: true # per EntityType enum
      rc.bypass.limit.interact.breeding: true # per EntityType enum
      rc.bypass.limit.interact.slimefun: true
      rc.bypass.limit.item.drop: true # per Material enum
      rc.bypass.limit.item.pickup: true # per Material enum
      rc.bypass.limit.item.throw: true # per Material enum
      rc.bypass.limit.commands: true # per command
      rc.bypass.limit.combat.pvp: true
      rc.bypass.limit.combat.pve: true # per EntityType enum
      rc.bypass.limit.creation.wither: true
      rc.bypass.limit.creation.snow-golem: true
      rc.bypass.limit.creation.iron-golem: true
      rc.bypass.confiscate.invalid-items: true
      rc.bypass.confiscate.middle-click: true
      rc.bypass.confiscate.items.material: true # per Material enum
      rc.bypass.confiscate.items.name: true
      rc.bypass.confiscate.items.lore: true
      rc.bypass.disable.placing: true # per Material enum
      rc.bypass.disable.interacting.in-hand: true # per Material enum
      rc.bypass.disable.interacting.on-ground: true # per Material enum
      rc.bypass.disable.breaking: true # per Material enum

  rc.bypass.tracking.inventory:
    description: Allows to bypass inventory separation.
    default: false
    children:
      rc.bypass.tracking.inventory.contents: true
      rc.bypass.tracking.inventory.xp: true
      rc.bypass.tracking.inventory.effects: true


  rc.commands.rc:
    description: Allows to use the main command.
    default: OP

  rc.commands.creative:
    description: Allows to enter the creative mode.
    default: OP
  rc.commands.survival:
    description: Allows to enter the survival mode.
    default: OP
  rc.commands.adventure:
    description: Allows to enter the adventure mode.
    default: OP
  rc.commands.spectator:
    description: Allows to enter the spectator mode.
    default: OP
  rc.commands.creative.others:
    description: Allows to put other players to creative mode.
    default: OP
  rc.commands.survival.others:
    description: Allows to put other players to survival mode.
    default: OP
  rc.commands.adventure.others:
    description: Allows to put other players to adventure mode.
    default: OP
  rc.commands.spectator.others:
    description: Allows to put other players to spectator mode.
    default: OP

  rc.commands.reload:
    description: Allows to use the reload command.
    default: OP
  rc.commands.delete:
    description: Allows to use the delete command.
    default: OP
  rc.commands.convert:
    description: Allows to use the conversion command.
    default: OP
  rc.commands.block:
    description: Allows to use the block info command.
    default: OP


  rc.bypass.general.disable-worlds:
    description: Allows to go into disabled worlds in creative mode.
    default: false

  rc.bypass.creative.armor:
    description: Allows to bypass armor forcing in creative mode.
    default: false
  rc.bypass.creative.permissions:
    description: Allows to bypass permission changing in creative mode.
    default: false
  rc.bypass.creative.groups:
    description: Allows to bypass group changing in creative mode.
    default: false

  rc.bypass.tracking.blocks:
    description: Allows to bypass tracking of blocks placed in creative mode.
    default: false
  rc.bypass.tracking.blocks.drops:
    description: Allows to get drops from blocks placed in creative mode.
    default: false
  rc.bypass.tracking.entities:
    description: Allows to bypass tracking of entities created in creative mode.
    default: false
  rc.bypass.tracking.worldedit:
    description: Allows to bypass tracking of blocks placed using WorldEdit.
    default: false
  rc.bypass.tracking.inventory.contents:
    description: Allows to have same inventory contents for both creative and survival.
    default: false
  rc.bypass.tracking.inventory.xp:
    description: Allows to have same XP amount for both creative and survival.
    default: false
  rc.bypass.tracking.inventory.effects:
    description: Allows to have same potion effects for both creative and survival.
    default: false

  rc.bypass.limit.regions:
    description: Allows to enter creative mode and place blocks/items outside allowed regions in creative mode.
    default: false
  rc.bypass.limit.moving:
    description: Allows to move below and above disabled Y levels in creative mode.
    default: false
  rc.bypass.limit.interact.inventories:
    description: Allows to interact with inventories in creative mode.
    default: false
  rc.bypass.limit.interact.entities:
    description: Allows to interact with entities in creative mode.
    default: false
  rc.bypass.limit.interact.breeding:
    description: Allows to breed animals in creative mode.
    default: false
  rc.bypass.limit.interact.slimefun:
    description: Allows to interact with Slimefun items in creative mode.
    default: false
  rc.bypass.limit.item.drop:
    description: Allows to drop items in creative mode.
    default: false
  rc.bypass.limit.item.pickup:
    description: Allows to pick items up in creative mode.
    default: false
  rc.bypass.limit.item.throw:
    description: Allows to throw and shoot items in creative mode.
    default: false
  rc.bypass.limit.commands:
    description: Allows to use disabled commands in creative mode.
    default: false
  rc.bypass.limit.combat.pvp:
    description: Allows to hit other players while in creative mode.
    default: false
  rc.bypass.limit.combat.pve:
    description: Allows to hit other entities while in creative mode.
    default: false
  rc.bypass.limit.creation.wither:
    description: Allows to build a Wither while in creative mode.
    default: false
  rc.bypass.limit.creation.snow-golem:
    description: Allows to build a Snow golem while in creative mode.
    default: false
  rc.bypass.limit.creation.iron-golem:
    description: Allows to build an Iron golem while in creative mode.
    default: false

  rc.bypass.confiscate.invalid-items:
    description: Allows to use invalid items (also items with custom NBT) in creative mode.
    default: false
  rc.bypass.confiscate.middle-click:
    description: Allows to copy inventory contents with middle-click in creative mode.
    default: false
  rc.bypass.confiscate.items.material:
    description: Allows to use items with blacklisted material types in creative mode.
    default: false
  rc.bypass.confiscate.items.name:
    description: Allows to use items with blacklisted names in creative mode.
    default: false
  rc.bypass.confiscate.items.lore:
    description: Allows to use items with blacklisted lores in creative mode.
    default: false

  rc.bypass.disable.placing:
    description: Allows to place items/blocks listed in blacklist while in creative mode.
    default: false
  rc.bypass.disable.interacting.in-hand:
    description: Allows to use items in hand listed in blacklist while in creative mode.
    default: false
  rc.bypass.disable.interacting.on-ground:
    description: Allows to interact with blocks on the ground listed in blacklist while in creative mode.
    default: false
  rc.bypass.disable.breaking:
    description: Allows to break items/blocks listed in blacklist while in creative mode.
    default: false
Available values are listed here (for the latest Spigot version):

Updated