ConditionalCommands 1.5

Execute commands only if certain conditions are met.

  1. konsolas
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    Source Code:
    https://github.com/konsolas/ConditionalCommands
    Contributors:
    Janmm14
    ConditionalCommands
    Only execute a command if a condition is met.

    ConditionalCommands is intended to be used when plugins have automatic commands that should only be executed if certain conditions are met. It is able to execute multiple commands, with customisable delays on each command.

    Usage
    /cc <player> unless <condition> do <command>
    /cc <player> if <condition> do <command>
    /cc help
    /cc reload
    /cc cooldown <arbitrarykey>

    Alias: /ccmd

    Conditions
    Grammar of conditions:

    <expression>::=<term>{<or><term>}
    <term>::=<factor>{<and><factor>}
    <factor>::=<comparison>|<not><factor>|(<expression>)
    <comparison>::=<constant><comparator><constant>
    <constant>::=floating point number or integer
    <and>::='&'
    <or>::='|'
    <not>::='!'
    <comparator>::='>'|'='|'<'

    As shown above, only numbers can be compared, and placeholders can only consist of numbers. In case of multiple comparison operators in a group, i.e. 3>=<2, only the first operator will be used. Comparisons cannot include spaces. Inequality may be checked with !(value=value).

    Examples:

    /cc konsolas unless -ping->200 do kick konsolas
    /cc konsolas if (-ping-<300&-ping->100)&-tps->15.0 do msg konsolas Your ping is between 300 and 100, and the TPS is greater than 15.

    Placeholders
    Placeholders are delimited by '-'. Since they're applied with a replace, errors will probably be detected during parsing if they are typed incorrectly.

    • ping - The latency of the tested player.
    • tps - Server TPS average over the last 2 seconds
    • time_online - Player's online time in milliseconds
    • uptime - Server uptime in ticks
    • player_count - Number of players on the server
    • perm:<permission> - 1.0 if the player has the permission, 0.0 otherwise. e.g. -perm:essentials.home-
    • perm_count:<permission> - number of players online who have <permission>
    • aacvl:<check> - AAC violation level of the given check (internal name). e.g. -aacvl:speed-
    • chance:<percentage>% - Will be 1.0 percentage% of the time. e.g. -chance:34.5%-
    • cooldown:<arbitrarykey> - Returns time in seconds since the last execution of the /cc cooldown <arbitrarykey> command. Returns 43200 if /cc cooldown has never been executed for the given <arbitrarykey>.

      Never returns a value < 0.

      e.g. /cc if -cooldown:some_key->59 do /0/ cc cooldown some_key /0/ broadcast sent up to once every 60 seconds

      Maximum supported cooldown is 12 Hours aka 43200 seconds. Cooldowns are not saved to file, so they reset on server reload/restart. Use for example the player placeholder inside aac's configuration as part of the arbitrarykey.
    Multi command / delayed commands
    In the 'do' clause of the statement, multiple commands can be executed at once, and selected commands can be delayed if desired. The command delimiter is /<delay>/, where the integer between / and / denotes the delay before the command should be executed in ticks. Here are some examples:

    /cc konsolas if -aacvl:heuristics->0 do /1200/ ban konsolas 1 minute delayed ban for killaura
    /cc konsolas if -perm:some.permission-=1 do /0/ broadcast konsolas has some.permission! /0/ broadcast second broadcast! /20/ broadcast 1 second later!

    Developer mode
    By default, ConditionalCommands will suppress details behind parsing errors, etc. to be more user friendly. It will also swallow exceptions generated by executing a command. This behaviour can be changed by changing the dev option in plugins/ConditionalCommands/config.yml to true.

Recent Reviews

  1. ducky_yt
    ducky_yt
    5/5,
    Version: 1.5
    wish it can hook with placeholderapi like: /cc <player> %money% do <cmd>, hope you will update on next version
  2. leop2
    leop2
    5/5,
    Version: 1.5
    Awesome plugin. Many features and very useful for anticheats like AAC or AACAdditionPro!
  3. KeplerLabs
    KeplerLabs
    5/5,
    Version: 1.4
    Very useful and unique plugin that allows to do a lot of specific things, works perfectly.
  4. Willi
    Willi
    5/5,
    Version: 1.4
    Great Plugin! I didn't know it was so useful before i started using it! It is so easy to use and yet so powerful! Keep it up! ^-^ (And maybe write up there more supported Versions, I tested it with 1.15.2 and 1.16.3 without any Problems)
  5. JasperWorld
    JasperWorld
    5/5,
    Version: 1.4
    i posted my old review when I was fucking stupid so here's a new one.

    this plugin is actually really nice lol.
  6. SladeHazard
    SladeHazard
    5/5,
    Version: 1.4
    idiot below me. i thought it was atleast 80 chracters................ how old is his post? delete it any mod btw plugin is awesome
  7. Cisnet
    Cisnet
    5/5,
    Version: 1.4
    idiot below me .
  8. oneaddictions
    oneaddictions
    1/5,
    Version: 1.4
    Theress No 1.7 / 1.7.10 support, I need this for my anticheat which is 1.7 and 1.8! but my server is 1.7!
    1. konsolas
      Author's Response
      It's open source, feel free to PR 1.7 support.
  9. millmilla
    millmilla
    5/5,
    Version: 1.4
    Great plug-in for my use, the dev is also really helpful and it's perfect if paired with EventCmds
  10. HexedHero
    HexedHero
    5/5,
    Version: 1.4
    Great plugin that works for many things, especially along side AAC! Highly Recommend!