CBlocker Universal 3.0.0.2

a command blocker tool to block user-defined commands

  1. Juyas
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    (This plugin is available in two languages: german and english)
    (Dieses Plugin ist in zwei Sprachen verfügbar: Deutsch und English)

    visit McStats to see the usage of this plugin!

    ----- ----- ----- ----- [CBlocker] ----- ----- ----- -----

    We got over 1000 downloads! Thank you!

    BIG UPDATE:

    see the change log! details in the description below :D

    I want to translate my plugin into different languages!
    If you have translated it, please send my a link to an uploaded file!

    NEU: CBlocker-GUI

    Die deutsche Informationsseite:
    Dieses Plugin wurde mit Spigot Version 1.9.4 compiliert, aber es sollte auch mit älteren Versionen funktionieren.

    Du kannst mein ToolPack benutzen, um weitere Bonusinhalte freizuschalten, aber es ist nicht erforderlich für die Funktionalität!

    Ein Kommando-Blocker um benutzerdefinierte Kommandos zu sperren.

    WENN DU IRGENDWELCHE BUGS FINDEST: SCHREIB MIR BITTE!

    Status der Entwicklung:

    [​IMG] verfügber
    [​IMG] aktuell in Entwicklung
    [​IMG] später
    • neues Dateisystem [​IMG]
    • neues config-System [​IMG]
    • Sprache/Nachrichten können geändert werden [​IMG]
    • TabComplete [​IMG]
    • neue Kommandos [​IMG]
    • Metrics [​IMG]
    • Logging[​IMG]
    • API [​IMG] (wird wahrscheinlich noch minimal verändert)
    • neue Arten der Blockung [​IMG]
    • Command-Watcher [​IMG]
    • CBlocker GUI [​IMG]
    • Fehlerbehebung [​IMG]
    • Suche nach neuen Ideen... [​IMG]
    aktuell gefundene Fehler:
    • keine bugs :D

    wenn du einen Bug findest, schreib mir bitte, damit ich diesen beheben kann!

    Kommando: /cb
    Permission/Berechtigung: cb.*
    alternative Permission/Berechtigung: cb.admin

    Unter-Kommandos:
    /cb reload
    --> lädt die config.yml neu aus der Datei
    --> Permission: cb.admin.reload
    /cb list
    --> listet alle Kommandos aus der commands.yml auf
    /cb help
    --> zeigt die Hilfe Seite
    /cb check [cmd]
    --> prüft die Verfügbarkeit eines Kommandos
    ---> alias: /cb isblocked [cmd]
    /cb info

    --> zeigt Informationen über das Plugin
    /cb mode (newMode)
    --> zeigt den aktuellen Modus oder ändert ihn zu dem angegebenen
    --> dieses Kommando kann in der config.yml deaktiviert werden
    --> Permission: cb.admin.mode
    /cb disable
    --> deaktiviert den CBlocker dauerhaft. Reaktiviert erfolgt in der config.yml und nach einem Neustart/Reload
    --> deine Einstellungen bleiben erhalten
    --> dieses Kommando kann in der config.yml deaktiviert werden
    --> Permission: cb.admin.disable
    /cbgui
    --> öffnet die CBlocker GUI
    --> alias: /cblockergui
    --> Permission: cb.gui
    /cb add [cmd] [args]
    --> fügt ein Kommando der commands.yml hinzu
    --> dieses Kommando kann in der config.yml deaktiviert werden
    --> Permission: cb.admin.add
    [cmd] -> das Kommando; Beipiel: "/deop" (das "/" ist sehr wichtig)
    [args] -> du kannst die Eigenschaften definieren:

    • "player:ProGamer" >> wird das Kommando für "ProGamer" blocken
    • "world:world_nether" >> wird das Kommando in der Welt "world_nether"
    • "op_override:false" >> wird das Kommando auch für Op's sperren
    • "perm:deine.permission" >> definiert "deine.permission" als Umgehungsberechtigung
    • confirm:deine Nachricht mit Leerzeichen >> definiert eine Bestätigungsnachricht
    • replace:ersatzcommand >> definiert ein Ersatzkommando, welches als Ersatz bei der Blockung ausgeführt wird.
    • msg:deine Nachricht mit Leerzeichen >> definiert die Blockungs-Nachricht
    • actionbar:deine Actionbar Nachricht mit Leerzeichen >> definiert eine Blockungsnachricht, die in der Actionbar angezeigt wird
    • title:dein Titel >> definiert einen Title als Blockungsbenachrichtigung, achte darauf, dass es kurz ist, da es sonst nicht auf den Bildschirm passt
    • subtitle:dein Untertitel >> definiert einen Untertitel als Blockungsbenachtichtigung, achte auch hier auf Kürze und dass du einen Titel definierst, denn ohne diesen wird der Untertitel nicht angezeigt.
    zum Beispiel: /cb add /gamemode world:world_the_end perm:pass.end.gamemode
    in der commands.yml wird es so aussehen:
    Code (YAML):

    cmd(number)
    :
      name
    : gamemode
      world
    : world_the_end
      perm
    : pass.end.gamemode
      op_override
    : true
     
    /cb remove [cmd]
    --> entfernt Kommando aus der Liste
    --> dieses Kommando kann in der config.yml deaktiviert werden
    --> Permission: cb.admin.remove

    /cw
    --> den Command-Watcher ein-/ausschalten
    --> diese Funktion kann in der config.yml deaktiviert werden
    --> Permission: cwatcher.user



    Wichtige Information:
    Das Bearbeiten der commands.yml sollte stattfinden, während der Server nicht läuft!


    Die Config:
    die voreingestellte config.yml:
    die Kommentare sind auf Englisch!

    Code (YAML):

    #for detailed information, visit spigotmc.org: https://www.spigotmc.org/resources/command-blocker.11052/
    #do not change this entry:
    version
    : 3

    #you can disable the command-blocker completely > set enabled to false
    enabled
    : true

    #message will be shown as default if a command is blocked
    message
    : '&7[&4&lC&cBlocker&7]&4 Command blocked.'

    #blacklist or whitelist
    mode
    : blacklist

    #language for messages; default: en
    #create your own: > language: yx < + > CommandBlocker/lang/lang_yx.yml
    language
    : en

    #set to true > metrics will be enabled
    metrics
    : true

    #confirmation timeout in seconds. default: 30 seconds
    timeout
    : 30

    #you can change the prefix for command response here; color code character: &
    prefix
    : '&7[&4&lC&cBlocker&7]&r'

    #security: protect your server by disabling commands
    #true > command is enabled
    #false > command is disabled
    #IMPORTANT: this settings does not (!) effect the permissions
    protect
    :
      commands
    :
      enable
    :
      add
    : true
      remove
    : true
      mode
    : false
      disable
    : false

    #enabling tab complete for everybody or for players with the userdefined permission
    tab_complete
    :
      enable
    : true
      permission
    :
      enable
    : false
      perm
    : here.your.permission

    #security for the CBlockerAPI. You can disable functions to protect your server
    api
    :
      enabled
    : true
      allowRead
    : true
      allowWrite
    : false
      allowReload
    : false
      enableEvents
    : true

    #you can enable/disable logging or some parts of it
    #console_msg is independent of logging.enabled (!)
    logging
    :
      enabled
    : false
      log_blocked
    : true
      log_not_blocked
    : false
      log_core
    : false
      log_console
    : true
      log_api
    : true
      low_space
    : true
      console_msg
    : true

    #core settings
    #sensitivity: LOW, MED, HIGH
    core
    :
      sensitivity
    : MED
      updateChecker
    : true

    #CommandWatcher settings, for watching players and their commands
    commandWatcher
    :
      enabled
    : true
      message
    : '&7[&8CBWatcher&7] &a&player&7 executed: >&a&cmd&7< in world >&a&world&7<'
      messageBlocked
    : '&7[&8CBWatcher&7] &a&player&7 tried to execute: >&a&cmd&7< in world >&a&world&7<'
      ignore
    :
      players
    :
     - Player1
      - AdminPlayer
      - Example
      cmds
    :
     - help
      - home
      - cb

    #commands.yml extra settings, for titles and subtitles of blocked/whitelisted commands
    #in_seconds = false --> 20 = 1 sec
    cmd
    :
      titles
    :
      fade_in
    : 20
      stay
    : 60
      fade_out
    : 20
      in_seconds
    : false

     
    Info:
    Sensitivity:
    LOW => Kommando muss identisch sein
    MED => Standardvergleich
    HIGH => Ähnlichkeit ist ausreichend

    die commands.yml:
    die voreingestellte commands.yml:
    die Kommentare oben sind im Original auf Englisch!

    Code (YAML):

    #maximale Kommando Anzahl;
    #du kannst das Maximum vergrößern, es muss lediglich größer sein, als die Anzahl der darunter aufgelisteten Kommandos!
    #das alte <blockedCMDs> wurde entfernt.
    #es ist wesentlich einfacher ein Maximum festzulegen als die genaue Anzahl jedes mal wenn man etwas verändert hat, neu festzulegen.
    max
    : 10
    cmd1
    :
      name
    : deop
      world
    : world
      opOverride
    : true
    cmd2
    :
      name
    : op
      world
    : world
      opOverride
    : true
     
    Optionen für jedes Kommando:
    Code (YAML):

    cmd[number]
    :
      name
    : stop     # notwendig
      world
    : world    # optional: eine Welt festlegen
      player
    : Juyas  # optional: definiere einen Spieler
      msg
    : '&4Kommando geblockt!'    # optional: definiere eine Nachricht, welche anstatt der Standardnachricht ausgegeben wird.
      op_override
    : false    # wichtig: lege fest ob ein Op die Blockung umgehen kann; schreibe hier, wenn: "er soll es umgehen können" --> "true"; wenn nicht: "false"
      perm
    : your.permission.here    # optional: lege eine Berechtigung/Permission fest, womit ein Spieler diese Blockung umgehen kann. Achtung: Op's haben alle Permissions/Berechtigungen --> setzt op_override außer Kraft
      replace
    : restart   # optional: ersetzt für einen Spieler das ausgeführt Kommando durch ein anderes. Zum Beispiel: wenn nun hier ein Spieler "/stop" eingeben möchte, führt er ohne es zunächst zu wissen eigentlich "/restart" aus.
      confirm
    : Deine Bestätigungsnachricht   # optional: schaltet vor das eingestellte Kommando eine Bestätigung vor. [COLOR=#0000ff]("/confirm")[/COLOR] ; das timeout dieser Bestätigung kann in Sekunden in der [COLOR=#0000b3]config.yml[/COLOR] angegeben werden.
     

    die Sprachdatein im Ordner "lang":


    1. du kannst die worte/sätze auf der rechten Seite ersetzen oder:
    2. du kannst eine Kopie einer Sprachdatei erstellen und es zu "lang_deineSprache.yml" umbennen. Hier kannst du nun deine Übersetzung anstatt derer auf der rechten Seite in der Datei reinschreiben. Nun musst du nur noch in der config.yml folgendes ändern:
      Code (YAML):
      language: deineSprache
      Achtung! Achte auf Groß und kleinschreibung!


    lang_en.yml:

    Code (YAML):

    help_info
    : show information
    help_help
    : show this help page
    help_reload
    : reload the CBlocker
    help_check
    : check if a command is available
    help_check_alias
    : alias for check
    help_add
    : add command list
    help_remove
    : remove command from list
    help_mode
    : to display or change mode
    help_disable
    : disable the CBlocker
    loaded
    : blocked commands loaded
    reload_complete
    : CBlocker reload complete
    blocked_list
    : List of blocked commands
    unavailable
    : unavailable
    available
    : available
    command_available
    : command is available
    wrong_args
    : wrong count of arguments
    blacklist
    : blacklist
    whitelist
    : whitelist
    command_blocked
    : command blocked
    the_word_is
    : is
    no_blocked
    : no commands blocked
    all_blocked
    : all commands blocked
    available_commands
    : available commands
    command_list
    : list all commands
    click_to_execute
    : click here to execute
    do_not_click
    : do not click here
    blocked_server
    : blocked on this server
    blocked_world
    : blocked in this world
    blocked_you
    : blocked for you
    blocked_no_reason
    : no specific reason
    free_server
    : free on this server
    free_world
    : free in this world
    free_you
    : free for you
    the_word_reason
    : reason
    no_perms
    : no permissions
    command_disabled
    : command is disabled
    c_add_error
    : command could not be added
    c_add_success
    : command added to list
    c_add_exists
    : list already contains this command
    c_remove_error
    : command could not be removed
    c_remove_success
    : command removed from list
    c_remove_exists
    : command does not exist
    mode_actual
    : actual mode
    mode_changed
    : mode has changed to
    disabled
    : CBlocker is now disabled
    confirm_already
    : you already have a request for confirmation
    confirm
    : Now you have %t seconds to confirm with /confirm
    confirm_time_over
    : Time to confirm is over
    no_confirm
    : Actually no confirmation needed
    check_will_replace
    : Command will be replaced
    check_need_confirm
    : Command needs confirmation
    cwatcher_enabled
    : CWatcher enabled
    cwatcher_disabled
    : CWatcher disabled
    nothing
    : nothing
    gui_main_settings
    : Settings
    gui_main_commands
    : Commands
    gui_main_logs
    : Logs
    gui_settings
    : Settings
    gui_commands
    : Commands
    gui_edit_cmd
    : Change Command
    gui_logs
    : Logging History
    gui_desc_settings
    : show settings of the CBlocker
    gui_desc_commands
    : show commands on the list
    gui_desc_logs
    : show log data
    gui_nextpage
    : Next Page
    gui_prevpage
    : Previous Page
    gui_go_to_page
    : go to page
    gui_edit_cmd_remove
    : Remove
    gui_edit_cmd_remove_desc
    : remove this command from the list
    gui_edit_cmd_toggle_op
    : toggle op_override
    gui_click_to_edit
    : click to edit
    gui_no_access
    : You have no access here
     

    lang_de.yml:

    Code (YAML):

    help_info
    : zeigt Informationen
    help_help
    : zeigt diese Hilfe
    help_reload
    : l<a>dt den CBlocker neu
    help_check
    : pr<u>ft Kommando Verf<u>gbarkeit
    help_check_alias
    : alias zu check
    help_add
    : Kommando der Liste hinzufügen
    help_remove
    : Kommando aus Liste entfernen
    help_mode
    : Modus zeigen oder <a>ndern
    help_disable
    : deaktiviert den CBlocker
    loaded
    : geblockte Kommandos geladen
    reload_complete
    : CBlocker erfolgreich neugeladen
    blocked_list
    : Liste geblockter Kommandos
    unavailable
    : nicht verf<u>gbar
    available
    : verf<u>gbar
    command_available
    : Kommando ist verf<u>gbar
    wrong_args
    : falsche Anzahl an Argumenten
    blacklist
    : blacklist
    whitelist
    : whitelist
    command_blocked
    : Kommando geblockt
    the_word_is
    : ist
    no_blocked
    : keine Kommandos geblockt
    all_blocked
    : alle Kommandos geblockt
    available_commands
    : verf<u>gbare Kommandos
    command_list
    : listet alle Kommandos auf
    click_to_execute
    : zum Ausf<u>hren klicken
    do_not_click
    : nur manuell ausf<u>hrbar
    blocked_server
    : auf diesem Server geblockt
    blocked_world
    : in dieser Welt geblockt
    blocked_you
    : für dich geblockt
    blocked_no_reason
    : kein besonderer Grund
    free_server
    : verf<u>gbar auf diesem Server
    free_world
    : verf<u>gbar in dieser Welt
    free_you
    : verf<u>gbar für dich
    the_word_reason
    : Grund
    no_perms
    : keine Rechte
    command_disabled
    : Kommando deaktiviert
    c_add_error
    : Kommando konnte nicht hinzugef<u>gt werden
    c_add_success
    : Kommando wurde der Liste hinzugef<u>gt
    c_add_exists
    : Liste enth<a>lt dieses Kommando bereits
    c_remove_error
    : Kommando konnte nicht entfernt werden
    c_remove_success
    : Kommando von der Liste entfernt
    c_remove_exists
    : Kommando steht nicht auf der Liste
    mode_actual
    : aktueller Modus
    mode_changed
    : Modus wurde ge<a>ndert zu
    disabled
    : CBlocker deaktiviert
    confirm_already
    : Du hast bereits eine Best<a>tigungsanfrage
    confirm
    : Du hast %t Sekunden Zeit um mit /confirm zu best<a>tigen
    confirm_time_over
    : Best<a>tigung abgelaufen
    no_confirm
    : Du hast aktuell keine laufende Best<a>tigungsanfrage
    check_will_replace
    : Dieses Kommando wird durch ein Anderes ersetzt werden
    check_need_confirm
    : Dieses Kommando erfordert eine Best<a>tigung
    cwatcher_enabled
    : CWatcher aktiviert
    cwatcher_disabled
    : CWatcher deaktiviert
    nothing
    : keine
    gui_main_settings
    : Einstellungen
    gui_main_commands
    : Befehle
    gui_main_logs
    : Verlauf
    gui_settings
    : Einstellungen
    gui_commands
    : Befehle
    gui_edit_cmd
    : Befehl <a>ndern
    gui_logs
    : Verlauf
    gui_desc_settings
    : Einstellungen anzeigen
    gui_desc_commands
    : Befehlsliste anzeigen
    gui_desc_logs
    : Verlaufsprotokolle anzeigen
    gui_nextpage
    : N<a>chste Seite
    gui_prevpage
    : Vorherige Seite
    gui_go_to_page
    : wechseln zu Seite
    gui_edit_cmd_remove
    : Entfernen
    gui_edit_cmd_remove_desc
    : entfernt diesen Befehl aus der Liste
    gui_edit_cmd_toggle_op
    : op_override umschalten
    gui_click_to_edit
    : klicke hier um zu bearbeiten
    gui_no_access
    : Darauf hast du keinen Zugriff
     

    The english page:
    You can use my ToolPack to unblock more functions and features, but its not needed!

    CommandBlocker to block user-defined commands.

    IF THERE ARE ANY BUGS, PLEASE TELL OR WRITE ME.

    State of development:

    [​IMG] available
    [​IMG] under heavy development
    [​IMG] soon/later
    • new directory system added [​IMG]
    • new config system added [​IMG]
    • language/messages can be changed [​IMG]
    • tab complete added [​IMG]
    • new commands added [​IMG]
    • metrics added [​IMG]
    • logging added [​IMG]
    • API added [​IMG] (will be changed maybe)
    • new blocking features... [​IMG]
    • Command-Watcher [​IMG]
    • CBlocker GUI [​IMG]
    • bug fixing [​IMG]
    • searching for new... [​IMG]
    actual found bugs:
    • no bugs :D

    if you have found a bug, please send me an email or tell me in discussion

    Main Command: /cb
    permission for all: cb.*
    permission for all alias: cb.admin

    Sub commands:
    /cb reload
    --> to reload the config.yml with the blocked commands
    --> permission: cb.admin.reload
    /cb list
    --> to list all blocked commands
    /cb help
    --> shows the help page
    /cb check [cmd]
    --> checks if a command is available
    ---> alias: /cb isblocked [cmd]
    /cb info

    --> shows information about the plugin
    /cb mode (newMode)
    --> shows the actual mode or change the mode
    --> permission: cb.admin.mode
    /cb disable
    --> disables the CBlocker permanently. reactivate it in the config.yml
    --> no data will be destroyed!
    --> permission: cb.admin.disable
    /cbgui
    --> to open the CBlocker GUI
    --> alias: /cbblockergui
    --> permission: cb.gui
    /cb add [cmd] [args]
    --> add a command to the list
    --> permission: cb.admin.add
    [cmd] -> the command. example: "/deop" (the "/" is really important)
    [args] -> you can define the attributes:

    • "player:ProGamer" >> will block this command for "ProGamer"
    • "world:world_nether" >> will block this command in the world "world_nether"
    • "op_override:false" >> will block this command for operators too
    • "perm:your.permission" >> will add the passthrough permission "your.permission"
    • confirm:your message with spaces >> defines a confirmation message for confirmation
    • replace:replacecommand >> defines a replacement-command for executing when blocking
    • msg:your message with spaces >> defines the command block-message
    • actionbar:your actionbar message with spaces >> defines an actionbar message
    • title:your title >> defines a title, be sure of title's shortness
    • subtitle:your subtitle >> defines a subtitle, only usable with a defined title
    e.g.: /cb add /gamemode world:world_the_end perm:pass.end.gamemode
    in the commands.yml will be:
    Code (YAML):

    cmd(number)
    :
      name
    : /gamemode
      world
    : world_the_end
      perm
    : pass.end.gamemode
      op_override
    : true
     
    /cb remove [cmd]
    --> remove command from the list
    --> permission: cb.admin.remove

    /cw
    --> toggle Command-Watcher's usage
    --> this function could be switched off in config.yml
    --> permission: cwatcher.user

    The config:
    this is the default config.yml:

    Code (YAML):

    #for detailed information, visit spigotmc.org: https://www.spigotmc.org/resources/command-blocker.11052/
    #do not change this entry:
    version
    : 3

    #you can disable the command-blocker completely > set enabled to false
    enabled
    : true

    #message will be shown as default if a command is blocked
    message
    : '&7[&4&lC&cBlocker&7]&4 Command blocked.'

    #blacklist or whitelist
    mode
    : blacklist

    #language for messages; default: en
    #create your own: > language: yx < + > CommandBlocker/lang/lang_yx.yml
    language
    : en

    #set to true > metrics will be enabled
    metrics
    : true

    #confirmation timeout in seconds. default: 30 seconds
    timeout
    : 30

    #you can change the prefix for command response here; color code character: &
    prefix
    : '&7[&4&lC&cBlocker&7]&r'

    #security: protect your server by disabling commands
    #true > command is enabled
    #false > command is disabled
    #IMPORTANT: this settings does not (!) effect the permissions
    protect
    :
      commands
    :
      enable
    :
      add
    : true
      remove
    : true
      mode
    : false
      disable
    : false

    #enabling tab complete for everybody or for players with the userdefined permission
    tab_complete
    :
      enable
    : true
      permission
    :
      enable
    : false
      perm
    : here.your.permission

    #security for the CBlockerAPI. You can disable functions to protect your server
    api
    :
      enabled
    : true
      allowRead
    : true
      allowWrite
    : false
      allowReload
    : false
      enableEvents
    : true

    #you can enable/disable logging or some parts of it
    #console_msg is independent of logging.enabled (!)
    logging
    :
      enabled
    : false
      log_blocked
    : true
      log_not_blocked
    : false
      log_core
    : false
      log_console
    : true
      log_api
    : true
      low_space
    : true
      console_msg
    : true

    #core settings
    #sensitivity: LOW, MED, HIGH
    core
    :
      sensitivity
    : MED
      updateChecker
    : true

    #CommandWatcher settings, for watching players and their commands
    commandWatcher
    :
      enabled
    : true
      message
    : '&7[&8CBWatcher&7] &a&player&7 executed: >&a&cmd&7< in world >&a&world&7<'
      messageBlocked
    : '&7[&8CBWatcher&7] &a&player&7 tried to execute: >&a&cmd&7< in world >&a&world&7<'
      ignore
    :
      players
    :
     - Player1
      - AdminPlayer
      - Example
      cmds
    :
     - help
      - home
      - cb

    #commands.yml extra settings, for titles and subtitles of blocked/whitelisted commands
    #in_seconds = false --> 20 = 1 sec
    cmd
    :
      titles
    :
      fade_in
    : 20
      stay
    : 60
      fade_out
    : 20
      in_seconds
    : false

     
    Info:
    sensitivity:
    LOW: command needs to be equal to defined one
    MED: basic comparison
    HIGH: command needs to be similar only

    the commands.yml:
    the default commands.yml:

    Code (YAML):

    #maximum of commands;
    #you can change it, but it has to be more than the real count of the defined blocked commands.
    #the old <blockedCMDs> has been removed.
    #it is more comfortable to set a maximum than setting everytime adding new commands the count
    max
    : 10
    cmd1
    :
      name
    : deop
      world
    : world
      opOverride
    : true
    cmd2
    :
      name
    : op
      world
    : world
      opOverride
    : true
     
    options for every command:
    Code (YAML):

    cmd[number]
    :
      name
    : stop     # required
      world
    : world    # optional: set a world
      player
    : Juyas  # optional: define a player
      msg
    : '&4Command blocked'    # optional: define a different message than the default.
      op_override
    : false    # important: sets if an op can pass this blocked. if it is set to false, op can't override it.
      perm
    : your.permission.here    # optional: define a passthrough permission, every player with this permission will be able to execute this command
      replace
    : restart   # optional: if a player executed the command /stop, he actually won't execute /stop -> he will execute /restart
      confirm
    : Your confirm message here    # optional: command will be executed if the player executed /confirm before. he has 30 seconds to type /confirm
     

    the message files in folder "lang":


    1. you could replace the right-side words with a translation or:
    2. you could create a copy of this file in the folder "lang" and rename it to "lang_yourLanguage.yml". Now you have change the key "language" in the config.yml to:
      Code (YAML):
      language: yourLanguage
      pay attention! it is case sensitive


    information: I am actually searching for a translation for France and other languages which might be used very often. If you are able to translate the lang_en.yml into your language, please send me a copy, I will make it available for all :)

    lang_en.yml:

    Code (YAML):

    help_info
    : show information
    help_help
    : show this help page
    help_reload
    : reload the CBlocker
    help_check
    : check if a command is available
    help_check_alias
    : alias for check
    help_add
    : add command list
    help_remove
    : remove command from list
    help_mode
    : to display or change mode
    help_disable
    : disable the CBlocker
    loaded
    : blocked commands loaded
    reload_complete
    : CBlocker reload complete
    blocked_list
    : List of blocked commands
    unavailable
    : unavailable
    available
    : available
    command_available
    : command is available
    wrong_args
    : wrong count of arguments
    blacklist
    : blacklist
    whitelist
    : whitelist
    command_blocked
    : command blocked
    the_word_is
    : is
    no_blocked
    : no commands blocked
    all_blocked
    : all commands blocked
    available_commands
    : available commands
    command_list
    : list all commands
    click_to_execute
    : click here to execute
    do_not_click
    : do not click here
    blocked_server
    : blocked on this server
    blocked_world
    : blocked in this world
    blocked_you
    : blocked for you
    blocked_no_reason
    : no specific reason
    free_server
    : free on this server
    free_world
    : free in this world
    free_you
    : free for you
    the_word_reason
    : reason
    no_perms
    : no permissions
    command_disabled
    : command is disabled
    c_add_error
    : command could not be added
    c_add_success
    : command added to list
    c_add_exists
    : list already contains this command
    c_remove_error
    : command could not be removed
    c_remove_success
    : command removed from list
    c_remove_exists
    : command does not exist
    mode_actual
    : actual mode
    mode_changed
    : mode has changed to
    disabled
    : CBlocker is now disabled
    confirm_already
    : you already have a request for confirmation
    confirm
    : Now you have %t seconds to confirm with /confirm
    confirm_time_over
    : Time to confirm is over
    no_confirm
    : Actually no confirmation needed
    check_will_replace
    : Command will be replaced
    check_need_confirm
    : Command needs confirmation
    cwatcher_enabled
    : CWatcher enabled
    cwatcher_disabled
    : CWatcher disabled
    nothing
    : nothing
    gui_main_settings
    : Settings
    gui_main_commands
    : Commands
    gui_main_logs
    : Logs
    gui_settings
    : Settings
    gui_commands
    : Commands
    gui_edit_cmd
    : Change Command
    gui_logs
    : Logging History
    gui_desc_settings
    : show settings of the CBlocker
    gui_desc_commands
    : show commands on the list
    gui_desc_logs
    : show log data
    gui_nextpage
    : Next Page
    gui_prevpage
    : Previous Page
    gui_go_to_page
    : go to page
    gui_edit_cmd_remove
    : Remove
    gui_edit_cmd_remove_desc
    : remove this command from the list
    gui_edit_cmd_toggle_op
    : toggle op_override
    gui_click_to_edit
    : click to edit
    gui_no_access
    : You have no access here
     

    lang_de.yml:

    Code (YAML):

    help_info
    : zeigt Informationen
    help_help
    : zeigt diese Hilfe
    help_reload
    : l<a>dt den CBlocker neu
    help_check
    : pr<u>ft Kommando Verf<u>gbarkeit
    help_check_alias
    : alias zu check
    help_add
    : Kommando der Liste hinzufügen
    help_remove
    : Kommando aus Liste entfernen
    help_mode
    : Modus zeigen oder <a>ndern
    help_disable
    : deaktiviert den CBlocker
    loaded
    : geblockte Kommandos geladen
    reload_complete
    : CBlocker erfolgreich neugeladen
    blocked_list
    : Liste geblockter Kommandos
    unavailable
    : nicht verf<u>gbar
    available
    : verf<u>gbar
    command_available
    : Kommando ist verf<u>gbar
    wrong_args
    : falsche Anzahl an Argumenten
    blacklist
    : blacklist
    whitelist
    : whitelist
    command_blocked
    : Kommando geblockt
    the_word_is
    : ist
    no_blocked
    : keine Kommandos geblockt
    all_blocked
    : alle Kommandos geblockt
    available_commands
    : verf<u>gbare Kommandos
    command_list
    : listet alle Kommandos auf
    click_to_execute
    : zum Ausf<u>hren klicken
    do_not_click
    : nur manuell ausf<u>hrbar
    blocked_server
    : auf diesem Server geblockt
    blocked_world
    : in dieser Welt geblockt
    blocked_you
    : für dich geblockt
    blocked_no_reason
    : kein besonderer Grund
    free_server
    : verf<u>gbar auf diesem Server
    free_world
    : verf<u>gbar in dieser Welt
    free_you
    : verf<u>gbar für dich
    the_word_reason
    : Grund
    no_perms
    : keine Rechte
    command_disabled
    : Kommando deaktiviert
    c_add_error
    : Kommando konnte nicht hinzugef<u>gt werden
    c_add_success
    : Kommando wurde der Liste hinzugef<u>gt
    c_add_exists
    : Liste enth<a>lt dieses Kommando bereits
    c_remove_error
    : Kommando konnte nicht entfernt werden
    c_remove_success
    : Kommando von der Liste entfernt
    c_remove_exists
    : Kommando steht nicht auf der Liste
    mode_actual
    : aktueller Modus
    mode_changed
    : Modus wurde ge<a>ndert zu
    disabled
    : CBlocker deaktiviert
    confirm_already
    : Du hast bereits eine Best<a>tigungsanfrage
    confirm
    : Du hast %t Sekunden Zeit um mit /confirm zu best<a>tigen
    confirm_time_over
    : Best<a>tigung abgelaufen
    no_confirm
    : Du hast aktuell keine laufende Best<a>tigungsanfrage
    check_will_replace
    : Dieses Kommando wird durch ein Anderes ersetzt werden
    check_need_confirm
    : Dieses Kommando erfordert eine Best<a>tigung
    cwatcher_enabled
    : CWatcher aktiviert
    cwatcher_disabled
    : CWatcher deaktiviert
    nothing
    : keine
    gui_main_settings
    : Einstellungen
    gui_main_commands
    : Befehle
    gui_main_logs
    : Verlauf
    gui_settings
    : Einstellungen
    gui_commands
    : Befehle
    gui_edit_cmd
    : Befehl <a>ndern
    gui_logs
    : Verlauf
    gui_desc_settings
    : Einstellungen anzeigen
    gui_desc_commands
    : Befehlsliste anzeigen
    gui_desc_logs
    : Verlaufsprotokolle anzeigen
    gui_nextpage
    : N<a>chste Seite
    gui_prevpage
    : Vorherige Seite
    gui_go_to_page
    : wechseln zu Seite
    gui_edit_cmd_remove
    : Entfernen
    gui_edit_cmd_remove_desc
    : entfernt diesen Befehl aus der Liste
    gui_edit_cmd_toggle_op
    : op_override umschalten
    gui_click_to_edit
    : klicke hier um zu bearbeiten
    gui_no_access
    : Darauf hast du keinen Zugriff
     

    Permissions:
    • cb.* (=cb.admin) >> all permissions for CBlocker
    • cb.cmd >> permission for executing /cb commands
    • cb.admin.update >> can see available updates
    • cb.admin.edit >> get permissions: cb.admin.add & cb.admin.remove
    • cb.admin.add >> you can add commands to the list if /cb add is enabled
    • cb.admin.remove >> you can remove commands from the list if /cb remove is enabled
    • cb.admin.reload >> you can reload the CBlocker
    • cb.admin.disable >> you can disabled the CBlocker completely if /cb disable is enabled
    • cb.admin.mode >> you can change the mode of CBlocker if /cb mode is enabled
    • cb.gui >> you can open the gui by typing /cbgui
    • cb.gui.cmd >> you have access to the CBlocker GUI - command-list
    • cb.gui.settings >> you have access to the CBlocker GUI - settings page
    • cb.gui.log >> you have access to the CBlocker GUI - log history
    • cb.gui.editcmd >> you can edit commands of the CBlocker GUI - command-list (pointless without cb.gui.cmd permission)

    API:
    ich arbeite daran...

    Die API Klasse ist CBlockerAPI.

    allgemeine Benutzung:

    zuerst ein Objekt der Klasse CBlockerAPI deklarieren.
    Code (Java):
    static CBlockerAPI api;
    dann solltest du prüfen ob die API aktiviert ist
    und wenn die API aktiviert ist, kannst du das Objekt generieren.
    Code (Java):
    if(CBlockerAPI.enabled())
    {
    //plugin muss ein Objekt deiner Hauptklasse sein
    api = new CBlockerAPI(plugin);
    }
    FAQ:
    Fehler beim Erzeugen eines API Objektes:
    • stelle sicher, dass du dieses API Objekt nur einmal erzeugst, mehrfaches Erzeugen wird als ungültiger Zugriff gewertet!
    Fehler beim Ausführen einer API Methode:
    • stelle sicher, dass du die benötigte Berechtigung dazu hast. Die Berechtigungen werden in der CBlocker Config festgelegt und können in der API mit folgenden Methoden überprüft werden.:
      Code (Text):
      //wenn dein API-Objekt "api" heißt:
      if(api.canRead())
      {
      //du darfst Daten auslesen (READ)
      }
      if(api.canWrite())
      {
      //du darfst Daten ändern und setzen (WRITE)
      }
      if(api.canReload())
      {
      //du darfst den CBlocker über die API reloaden
      }
      if(api.eventsEnabled())
      {
      //CBlocker wird die Events aktivieren, können mit normalem Listener abgefangen werden.
      }

    Funktionen und Methoden:

    • static boolean enabled()
    • Plugin getPlugin()
    • boolean isEnabled()
    • boolean canRead()
    • boolean canWrite()
    • boolean canReload()
    • boolean eventsEnabled()
    • boolean isBlocked(Player p, String command)
    • boolean isBlocked(Player p, World w, String command)
    • CBlockReason getBlockReason(Player p, String command)
    • CBlockReason getBlockReason(Player p, World w, String command)
    • Vector<CCommand> getBlocked()
    • Vector<CCommand> getBlocked(String command)
    • CCommand getBlocked(int number)
    • String getReasonMessage(CBlockReason reason)
    • String getBlockMessage(int number)
    • String getConfirmMessage(int number)
    • String getMessage(String key)
    • String getMessage(int number)
    • boolean containsCommand(int number)
    • boolean containsCommand(String command)
    • Vector<String> getBlockeMessages(String command)
    • boolean addRuntimeBlocked(CCommand command)
    • boolean removeRuntimeBlocked(int number)
    • CLanguage getLanguage()
    • Mode getMode()
    • boolean toolPackUsage()
    • boolean reloadCBlocker()
    • void log(String line)
    • CConfig getConfig()
    • boolean reloadConfig()
    • CVersion getCBlockerVersion()
    • boolean isCompatible(CVersion needed)
    • boolean hasNewUpdate()
    zusätzliche Klassen:
    enum Mode :
    • Blacklist
    • Whitelist
    enum CSensitivity :
    • LOW
    • MEDIUM
    • HIGH
    enum CBlockReason :
    • FREE_PERM (-4)
    • FREE_PLAYER (-3)
    • FREE_WORLD (-2)
    • FREE (-1)
    • NOT_BLOCKED (0)
    • BLOCKED (1)
    • WORLD_BLOCKED (2)
    • PLAYER_BLOCKED (3)
    • PERM_NEEDED (4)
    • int getID()
    • boolean isBlocked()
    • static CBlockReason blockReason(int ID)
    class CCommand :
    • boolean hasPlayer()
    • boolean hasWorld()
    • boolean hasPermission()
    • boolean hasMessage()
    • boolean opOverride()
    • boolean hasReplacement()
    • boolean needConfirm()
    • String name()
    • World world()
    • UUID worldUUID()
    • OfflinePlayer offlinePlayer()
    • Player player()
    • UUID playerUUID()
    • String permission()
    • String message()
    • int number()
    • String replacement()
    • String confirm()
    • HashMap<String, String> values()
    • boolean equals(CCommand bc)
    • static CCommand getInstance(String command, OfflinePlayer player, World world, String message, String permission, boolean opOverride, String replacement, String confirm)

    class CConfig (read-only):
    • boolean metrics
    • int version
    • String prefix
    • boolean cadd
    • boolean cremove
    • boolean cmode
    • boolean cable
    • boolean tabEnabled
    • boolean tabPerms
    • String tabPerm
    • boolean logging
    • boolean logBlocked
    • boolean logNotBlocked
    • boolean logCore
    • boolean logAPI
    • boolean logLowSpace
    • boolean logConsole
    • boolean consoleMessages
    • CSensitivity sensitivity
    class CLanguage :
    • String getLanguage()
    • File getLanguageFile()
    • boolean exists()
    class CVersion :
    • static CVersion getVersion(String version)
    • String toString()
    • int compareTo(CVersion version)
    Exceptions:
    • AccessDeniedException, wird bei einem verbotenen Zugriff geworfen. Wird zudem ggf geloggt.
    • AlreadyRegisteredException, wird geworfen, wenn du versuchst, mehr als eine API-Instanze zu erzeugen.
    • APIDisabledExcepion, will be thrown while accessing the disabled api
    • PluginNotRegisteredException, will be thrown if you try to access the api, without registering the plugin (the plugin will be automaticly registered when you create a new CBlockerAPI object)

    Events:
    ApiAccessEvent, will be called if a plugin accessed the api.
    methods:
    • Plugin getPlugin()
    • Access getAccess()
    • boolean wasAllowed()
    CommandBlockedEvent, will be called after a command was blocked.
    methods:
    • String getMessage()
    • CCommand getCommand()
    • Player getExecutor()
    • CBlockReason getReason()
    CommandReplacedEvent, will be called after a command was replaced by another.
    methods:
    • CBlockReason getReason()
    • String getReplacement()
    • Player getExecutor()
    • CCommand getCommand()
    PostConfirmationProcessedEvent, will be called after a command was confirmed.
    methods:
    • String getConfirmMessage()
    • Player getExecutor()
    • CCommand getCommand()
    PreCommandBlockedEvent, will be called before a command will be blocked by any reason.
    methods:
    • boolean willReplace()
    • String getReplacement()
    • void setReplacement(String replacement)
    • boolean needConfirm()
    • String getConfirmMessage()
    • void setConfirmation(String message)
    • World getWorld()
    • String getMessage()
    • CBlockReason getReason()
    • void setMessage(String message)
    • void setCancelled(boolean cancel)
    • boolean isCancelled()
    detailierte Benutzung einiger Methoden:
    ich arbeite daran...

    The API class is CBlockerAPI.

    general usage:

    you should declare a API object first:
    Code (Java):
    static CBlockerAPI api;
    then you should check whether the API is enabled
    and if the API is enabled you can create the api object.
    Code (Java):
    if(CBlockerAPI.enabled())
    {
    //plugin should be an instance of your JavaPlugin-mainclass
    api = new CBlockerAPI(plugin);
    }
    FAQ:
    Error when creating API object:
    • make sure that you did not create the api twice. it should be created only one time for every single plugin
    Error when executing API method:
    • make sure, that you can access that command, the access permissions are changeable in cblocker config and you can check your permission with the functions:
      Code (Text):
      //if you have created an CBlockerAPI object named "api"
      if(api.canRead())
      {
      //you have reading access
      }
      if(api.canWrite())
      {
      //you have writing access
      }
      if(api.canReload())
      {
      //you can reload cblocker
      }
      if(api.eventsEnabled())
      {
      //cblocker will use events
      }

    functions/methods:
    • static boolean enabled()
    • Plugin getPlugin()
    • boolean isEnabled()
    • boolean canRead()
    • boolean canWrite()
    • boolean canReload()
    • boolean eventsEnabled()
    • boolean isBlocked(Player p, String command)
    • boolean isBlocked(Player p, World w, String command)
    • CBlockReason getBlockReason(Player p, String command)
    • CBlockReason getBlockReason(Player p, World w, String command)
    • Vector<CCommand> getBlocked()
    • Vector<CCommand> getBlocked(String command)
    • CCommand getBlocked(int number)
    • String getReasonMessage(CBlockReason reason)
    • String getBlockMessage(int number)
    • String getConfirmMessage(int number)
    • String getMessage(String key)
    • String getMessage(int number)
    • boolean containsCommand(int number)
    • boolean containsCommand(String command)
    • Vector<String> getBlockeMessages(String command)
    • boolean addRuntimeBlocked(CCommand command)
    • boolean removeRuntimeBlocked(int number)
    • CLanguage getLanguage()
    • Mode getMode()
    • boolean toolPackUsage()
    • boolean reloadCBlocker()
    • void log(String line)
    • CConfig getConfig()
    • boolean reloadConfig()
    • CVersion getCBlockerVersion()
    • boolean isCompatible(CVersion needed)
    • boolean hasNewUpdate()
    additional classes:
    enum Mode :
    • Blacklist
    • Whitelist
    enum CSensitivity :
    • LOW
    • MEDIUM
    • HIGH
    enum CBlockReason :
    • FREE_PERM (-4)
    • FREE_PLAYER (-3)
    • FREE_WORLD (-2)
    • FREE (-1)
    • NOT_BLOCKED (0)
    • BLOCKED (1)
    • WORLD_BLOCKED (2)
    • PLAYER_BLOCKED (3)
    • PERM_NEEDED (4)
    • int getID()
    • boolean isBlocked()
    • static CBlockReason blockReason(int ID)
    class CCommand :
    • boolean hasPlayer()
    • boolean hasWorld()
    • boolean hasPermission()
    • boolean hasMessage()
    • boolean opOverride()
    • boolean hasReplacement()
    • boolean needConfirm()
    • String name()
    • World world()
    • UUID worldUUID()
    • OfflinePlayer offlinePlayer()
    • Player player()
    • UUID playerUUID()
    • String permission()
    • String message()
    • int number()
    • String replacement()
    • String confirm()
    • boolean equals(CCommand bc)
    • static CCommand getInstance(String command, OfflinePlayer player, World world, String message, String permission, boolean opOverride, String replacement, String confirm)

    class CConfig (read-only):
    • boolean metrics
    • int version
    • String prefix
    • boolean cadd
    • boolean cremove
    • boolean cmode
    • boolean cable
    • boolean tabEnabled
    • boolean tabPerms
    • String tabPerm
    • boolean logging
    • boolean logBlocked
    • boolean logNotBlocked
    • boolean logCore
    • boolean logAPI
    • boolean logLowSpace
    • boolean logConsole
    • boolean consoleMessages
    • CSensitivity sensitivity
    class CLanguage :
    • String getLanguage()
    • File getLanguageFile()
    • boolean exists()
    class CVersion :
    • static CVersion getVersion(String version)
    • String toString()
    • int compareTo(CVersion version)
    Exceptions:
    • AccessDeniedException, will be thrown if you try to access without permissions. it will be logged, if enabled.
    • AlreadyRegisteredException, will be thrown if you try to create more than one api instance
    • APIDisabledExcepion, will be thrown while accessing the disabled api
    • PluginNotRegisteredException, will be thrown if you try to access the api, without registering the plugin (the plugin will be automaticly registered when you create a new CBlockerAPI object)

    Events:

    ApiAccessEvent, will be called if a plugin accessed the api.
    methods:
    • Plugin getPlugin()
    • Access getAccess()
    • boolean wasAllowed()
    CommandBlockedEvent, will be called after a command was blocked.
    methods:
    • String getMessage()
    • CCommand getCommand()
    • Player getExecutor()
    • CBlockReason getReason()
    CommandReplacedEvent, will be called after a command was replaced by another.
    methods:
    • CBlockReason getReason()
    • String getReplacement()
    • Player getExecutor()
    • CCommand getCommand()
    PostConfirmationProcessedEvent, will be called after a command was confirmed.
    methods:
    • String getConfirmMessage()
    • Player getExecutor()
    • CCommand getCommand()
    PreCommandBlockedEvent, will be called before a command will be blocked by any reason.
    methods:
    • boolean willReplace()
    • String getReplacement()
    • void setReplacement(String replacement)
    • boolean needConfirm()
    • String getConfirmMessage()
    • void setConfirmation(String message)
    • World getWorld()
    • String getMessage()
    • CBlockReason getReason()
    • void setMessage(String message)
    • void setCancelled(boolean cancel)
    • boolean isCancelled()
    detailed usage for some methods:
    working...


    old info page (for versions 0.3.2.0 and lower):
    alte Informationsseite (für Versionen unter 0.3.2.0)

    Main Command: /cb
    permission for all: cb.*

    Sub commands:
    /cb reload
    --> to reload the config.yml with the blocked commands
    permission: cb.admin.reload
    /cb list
    --> to list all blocked commands
    /cb help
    --> show the help page
    /cb check [cmd]
    --> check if a command is available
    ---> alias: /cb isblocked [cmd]
    /cb info

    --> show information about the plugin

    Config:
    Code (Text):

    #the message will be shown if the command is blocked
    block_message: "\xa74[CMD-Blocker] Your default block message."
    #count of blocked commands
    blockedCMDs: '4'
    #default: de  all: en, de
    language: en
    #modes: blacklist and whitelist. you can choose.
    #default is:
    blacklist: true
    #blacklist: true == whitelist: false // both can be set to the other value for enabling the whitelist mode
    #blacklist: every listed command will be blocked
    #whitelist: every command except the listed commands will be blocked

    #will block the command /cmd for every player in this world
    cmd1:
      name: /cmd
      world: [UUID/name of the world]
    #will block the command /cmd2 for this player in every world
    cmd2:
      name: /cmd2
      player: [name]
    #will block the command /cmd3 for every player and operators in every world
    cmd3:
      name: /cmd3
      ignoreOp: false
      msg: 'This command has his own block message'
    #will block the command /cmd4 for every player except players who have the permission "pass.cmd4"; the permission could be freely chosen
    cmd4:
      name: /cmd4
      permission: pass.cmd4
     
    Every tag except the 'name' could be optional configurated.
    The tag 'msg' will overwrite the default block_message
    If the count of blocked commands is wrong, some commands won't be blocked or the plugin throw errors.

    Please rate if you like it and give feedback :D
    Bitte bewerten und Rückmeldung geben :D


    AddOn's available:

    WorldGuardFreeRegion (recommended: CBlocker 1.0.0.5 ; min: 1.0.0.4b)




    Coming soon:
    Kommt bald:

    I will create two tutorial videos:
    1. basic usage and configuration
    2. advanced usage and API
    both videos will be available in German first, in English later...
    TheNeXXus, WaxtzCraft and ferrinweb like this.

Recent Updates

  1. Updater updated ;)
  2. IMPORTANT UPDATE
  3. BIG UPDATE!!!

Recent Reviews

  1. definieren
    definieren
    5/5,
    Version: 3.0.0.2
    well, i like this plugin! its very good and your englsch is also very good! I probably will like your other resources too!!
    1. Juyas
      Author's Response
      Thank you! I hope you will do this ;)
  2. TheNeXXus
    TheNeXXus
    5/5,
    Version: 3.0.0.2
    top plugin ich denke du hast potential :D ich werde auch alle anderen plugins von dir downloaden!!!!!!!
    1. Juyas
      Author's Response
      Danke, ich hoffe mal das wirst du tun :D
  3. Drayke
    Drayke
    5/5,
    Version: 3.0.0.2
    This plugin does what it needs to do! Great job! And now. Smile! :))))))))))))))))))))))))))))))))))
    1. Juyas
      Author's Response
      Yes, nice, thank you. That was my intention xD
  4. TheClub-Network
    TheClub-Network
    5/5,
    Version: 1.0.0.3
    This is look really great and its useful things, a lot of feature included. Please keep good work. Thanks. :D
    1. Juyas
      Author's Response
      Thank you, I am hoping I will get new ideas... If you have any idea, tell me please. Juyas ;)
  5. marcellmit2l
    marcellmit2l
    5/5,
    Version: 1.0.0.2
    I Love It!

    :))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    1. Juyas
      Author's Response
      Thank you :D