TheClock 2.0.1

Execute task or maintenance at different times (real or tick) or replace a commandBlock.

  1. Patfreeze
    Tested Minecraft Versions:
    • 1.17
    • 1.18
    Source Code:
    https://www.amedacier.com
    THE CLOCK 2.0.1
    For MC 1.13 and up only

    For under MC 1.12.2 to 1.10
    https://www.spigotmc.org/resources/theclock.46953/download?version=227705

    This mod (plugin) are for Spigot minecraft servers and it's very simple. It give you the server time in game. It can also be used to execute task at different times in real life or in game time (tick).:cool:

    You're in a hurry and want to take a note on the fly. The addNote function will even teleport you to where you took that note.

    I've not tested all commands from other plugin (I will die before the end of test :p) but you can use command from other mod. The limit here is your imagination.
    Exemple: 'Eco give * 200' from vault I thing not sure. Give money to all player online.

    *** You dont like to place all commandBlock around your map! You can just add a line for it. ***
    Code (Text):

    # This will remove the block at this position.
    0:
        - 'minecraft:setblock 188 63 -159 minecraft:air replace'
    # This will create a chest with a custom name and add items in
     101:
        - 'minecraft:setblock 188 63 -159 chest[facing=south]{CustomName:"\"ChestNAME!\"",Items:[{Slot:0,id:birch_boat,Count:1},{Slot:1,id:birch_boat,Count:1},{Slot:2,id:birch_boat,Count:1},{Slot:3,id:birch_boat,Count:1},{Slot:4,id:birch_boat,Count:1},{Slot:5,id:birch_boat,Count:1},{Slot:6,id:birch_boat,Count:1},{Slot:7,id:birch_boat,Count:1},{Slot:8,id:birch_boat,Count:1},{Slot:9,id:birch_boat,Count:1},{Slot:10,id:birch_boat,Count:1},{Slot:11,id:birch_boat,Count:1},{Slot:12,id:birch_boat,Count:1},{Slot:13,id:birch_boat,Count:1},{Slot:14,id:birch_boat,Count:1},{Slot:15,id:birch_boat,Count:1},{Slot:16,id:birch_boat,Count:1},{Slot:17,id:birch_boat,Count:1},{Slot:18,id:birch_boat,Count:1},{Slot:19,id:birch_boat,Count:1},{Slot:20,id:birch_boat,Count:1},{Slot:21,id:birch_boat,Count:1},{Slot:22,id:birch_boat,Count:1},{Slot:23,id:birch_boat,Count:1},{Slot:24,id:birch_boat,Count:1},{Slot:25,id:birch_boat,Count:1},{Slot:26,id:birch_boat,Count:1}]} replace'
     

    [NEW in 1.3.4]
    - Update for 1.18.1

    [NEW in 1.3.1]
    - theclock start [NameOfGroupEvents]
    - theclock stop [NameOfGroupEvents]
    - theclock groupevents [add|remove] [groupEventName]
    ** Note that is only create a node in ticker.yml. You will need to edit them in the file directly.
    Command to show GUI to start/stop on the fly group of events
    - theclock groupevents list

    upload_2021-6-6_12-29-2.png

    [NEW in 1.3.0]
    - The config file, when you update the plugin will be updated it self so no need anymore to compare old and new config.yml file.

    [NEW in 1.2.0 - 1.2.1]
    - Added to display the IngameTime in the boss bar (enable/disable in config file)
    - Correction minor bugs when a player name is displaying in chat like Patfreeze! concidering not equal to Patfreeze
    - Added a command to add/get/delete note* (Admin only)
    - Added sign to retrieve notes* (Admin only)
    - Added sign the get eventBook
    - *When get note, able to click to tp where note was enter
    - Correction of minor bugs

    [NEW in 1.1.9]
    - Optimized Sign task and if server is restart all signs will updated itself also
    - Added theclock.admin, theclock.mod, for some command (Red for Admin, Orange for mod, green Normal player) OP have all access no need permission
    - Added scoreboard info Weather time remain... Like Raining 3minutes left
    - Added in the tabs menu Sign to help what put on sign (moderator or up only)
    - Added clickable command on help chat
    - More details in discussion.

    [NEW in 1.1.8] Updated for 1.15.1 No change
    [NEW in 1.1.7] Updated for 1.14.4 due to New Sign object.


    [NEW in 1.1.6] for Minecraft 1.13 only
    • added new command /TheClock getEvents give all events in written in a book (OP get a special book to delete event on the fly)
    • added new command /TheClock addEvent [EventName][Date][Hour][ColorTitle][ColorSubTitle][Message] add an events in file
    • added new command /TheClock deleteEvent [EventName] Straight forward delete an event
    • added permission theclock.mod for some command (Red for OP, Orange for Mod, green Normal player

    [NEW in 1.1.5] for Minecraft 1.13 only
    - Added tabs completion
    - Updated for Minecraft 1.13

    [NEW in 1.1.3]
    - Added command RocketStar:LOL:

    [NEW in 1.1.2]
    ## This is display the Event message on login with title and subtitle.
    ## If false this will be shown one time to player at login in the chat
    showEventMessageTitle: true

    ## Number of minutes between broadcast event. if 0 this will not be shown in broadcast
    minutesEventToDisplay: 10

    [NEW in 1.1.1]
    - Added command /broadcastWorld [WORLDNAME] [YOUR MESSAGE]
    - I also add an eventMessage.yml for furure event. You will be add more than just one event.
    Beware:
    Only one event at the time will be shown.
    Also the closer one of the current date
    .

    [NEW in 1.0.1 to 1.1.0]
    Sign :oops:
    - added
    Sign TimeReal
    • This will display on a Sign the time server
    Sign TimeIngame
    • This will display on a Sign the time Ingame
    Sign TimeRemain
    • This will display your event remain time
    Check the screen shot How it work.
    For exemple :
    Line 1 : [theClock]
    Line 2 : TimeReal

    When you restart or reload your server just right click on Sign to update the clock or remain Sign.
    - added
    Code (Text):

    @o # All Offline players
    @al # List with comma online players
    @ol # List with comma offline players
     

    - You can use @r in command to take a random player online.
    - Now you can excute task at in game time (tick)
    - Add @a in command to take all player online
    - With a simple date it give you the remain time before this date with a simple message configurable in config.yml.


    For exemple:
    • At 7h00am you can send a message to all online player say "Good morning everyone!"
    • At 12h00pm you can give to all online player a tasty steak with this message "Bon appetit!"
    In tick time :
    • At 0 ticks (morning in game) send a message to all player online say "An other day in Minecraft"


    Command :
    • /theclock help
      Give you the list of command

    Goals for this mod :
    • Program a request from a user -- DONE from a friend
    • Get 10 downloads -- DONE thx guys
    • Get 50 downloads -- DONE but is the total o_O
    • Get 100 downloads -- DONE :eek:
    • Get 500 downloads -- DONE :cool:
    • Get 50,000 downloads (Ok I'm dreaming now) :p
    • Rock around the clock -- DONE stupid goal lol ;)

    Code (Text):

    # EXAMPLE HELPER PAGE
    #tasks:
    #  # TASK NAME
    #  throllingPlayer:
    #    # WARNING: DO NOT TOUCH THIS ID. This will be used to cancel the task. Leave it a 0
    #    id: 0
    #    # number of tick repeatable or execute after tick times (20 tick = 1 second)
    #    tick: 20
    #    # This will stop after tick times. if 0 mean never stop until your server stop or you stop it
    #    tickStop: 1200
    #    # The target world
    #    world: world
    #    # Repeatable will excute now then every tick
    #    repeatable: true
    #    events:
    #        # Create a variable to focus a random single player
    #        - minecraft:tag @r add randomPlayer
    #        # This execute at the single player choosen in randomPlayer to run a sound near him
    #        - minecraft:execute at @a[tag=randomPlayer] run playsound minecraft:ambient.crimson_forest.mood ambient @a[tag=randomPlayer] 0 0 1 1 1 0.9
    #        # This give the the player choosen in randomPlayer to levitation of 2 sec
    #        - minecraft:effect give @a[tag=randomPlayer] levitation 2
    #        # This clean the variable if we need to excute again
    #        - minecraft:tag @r remove randomPlayer
    #  alwaysDayNight:
    #    id: 0
    #    tick: 1200
    #    tickStop: 0
    #    world: world
    #    repeatable: true
    #    events:
    #    - time set night
    #  speedUp:
    #    id: 0
    #    tick: 1
    #    tickStop: 0
    #    world: world
    #    repeatable: true
    #    events:
    #    - minecraft:effect give @a[team=yellow] speed 1 1 true
    #    - minecraft:execute at @a[team=yellow] run particle minecraft:campfire_cosy_smoke ~ ~-1 ~ -2 -2 -2 1 10
    tasks:

     

    Code (Text):

    ## This is telling a player how many times left for this date
    ## if showWelcomeMessage is true it will display after the first message
    ## To disable it just put a date before now.
    ## The first date find after today will be display.

    ## Colors available:
    ## black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray,
    ## blue, green, aqua, red, light_purple, yellow, white

    events:
      event1:
        eventDate: '2018-12-25 00:00:00'
        colorEventTitle: 'yellow'
        colorEventSubtitle: 'gold'
        eventMessageSubtitle: 'until Christmas'
      event2:
        eventDate: '2019-01-01 00:00:00'
        colorEventTitle: 'gold'
        colorEventSubtitle: 'aqua'
        eventMessageSubtitle: 'until New Year'
     

    Code (Text):

    ###################################################
    ##
    ## IF THIS FILE NAMED 'config_info_Useless.yml'
    ## Just a reference with comments for config.yml.
    ## We remove comments to speed up the
    ## reading file.
    ##
    ###################################################

    ## CONFIG FOR THECLOCK
    version: '1.3.0'

    ## Number of Offline player display in the chat. If 0 mean no limit (all)
    iLimit: 0

    ## Send a Sound on player name id display. Exemple : <Patfreeze> Hello Bob!
    ## If Bob is online he will ear a sound
    bPlayerEarSound: true

    ## Number of the limit to reach when trying to find a random player per world
    ## A higher number can cause you server slowers. If so reduce this number.
    iLimitRandowSearch: 100

    ## This is the time Zone Server. If not found will take America/New_York by default
    timeZone: 'America/New_York'

    ## This display the clock or not on screen (Every Minutes it will popUp)
    showBossBarClock: true

    ## This display the clock or not on screen (Every Minutes it will popUp 30sec after showbossbarClock is enabled)
    showBossBarIngameClock: true

    ## This display the welcome message and clock or not on login
    showWelcomeMessage: true

    ## If true this will display the Event message on login with title and subtitle to the player.
    ## If false this will be show one time to player at login in chat
    showEventMessageTitle: true

    ## Number of minutes between broadcast event after today. If 0 this will not be shown in chat.
    minutesEventToDisplay: 10

    ## Title Message at login %s it's the name of the player
    MessageLoginTitle: 'Hi %s!'

    ## SubTitle Message at login %s it's the time server
    MessageLoginSubTitle: '%s'

    ## Title Sign for realTime, TimeIngame
    SignTitleRealTime: 'Real Time'
    SignTitleTimeIngame: 'Time In Game'

    ## Colors available:
    ## black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray,
    ## blue, green, aqua, red, light_purple, yellow, white
    colorMessageLoginTitle: 'gold'
    colorMessageLoginSubtitle: 'dark_blue'

    ####################
    ## LANGUAGE HERE
    ####################

    ## This is for the remain... I put years but hopes nobody will need century =P
    ## %s is used for the plurial in french the month is "Mois" so no need "%s"

    sYears: 'year%s'
    sMonths: 'month%s'
    sDays: 'day%s'
    sHours: 'hour%s'
    sMinutes: 'minute%s'
    sSeconds: 'second%s'
    noEventMessage: 'No event for now'
    currentEvent: 'Current Event'
    titleInfo: '&6[&9TheClock&6]&r INFOS'
     

    Code (Text):

    WORLD: world
    ## SOME COMMAND TO BE DONE IN GAME
    # The @a is for all player online if you want to use TheClock otherwise you can use the default command of an other plugin.
    # The @r it take a random player online. WARNING : You can't use at twice @a and @r and @o in the same line.
    # The @o it take all player offline. WARNING : You can't use at twice @a and @r and @o in the same line.
    # So if you need to take all player online and offline, just double the line.
    # @a, @r or @o is the name of the player. It mean if you use 'broadcast @o is offline' if you have 100 offline players you will
    # spam the chat with 100 broadcast for all players offline. Use @al of @ol to make a list.
    # So for 'broadcast @ol are offline' it will write in chat 'Bob, Marty, Patfreeze are offline'
    #
    # EXEMPLE : At 12:00 in real world (mean real life not in game) it will give money to all online player (online and offline **)
    # This is an exemple for Economy plugin.
    # 12:
    #   - 'Eco give * 200'
    #
    # BEWARE : Now that is per World so the command /broadcast will always display message in all worlds
    # use /theclock broadcastWorld [WORLD] [MESSAGE] instead to display only in the world world =)
    hourly:
      0:
        - 'broadcast Another day in real life...'
      1:
      2:
      3:
      4:
      5:
      6:
      7:
        - 'broadcast Time to wake up'
      8:
      9:
      10:
        - 'broadcast Hey! Welcome to 10 oClock'
        - 'broadcast DWBH : Dont Worry Be Happy!'
      11:
      12:
      13:
      14:
      15:
        - 'broadcast DWBH : Dont Worry Be Happy!'
      16:
      17:
      18:
        - 'broadcast Time to diner'
        - 'give @r steak 1' #Random player online
      19:
      20:
      21:
      22:
        - 'broadcast Stars a great tonight'
      23:
        - 'broadcast Last hour before tomorrow'

    #####################################################
    ## SOME COMMAND TO BE DONE IN GAME
    ## Based on tick time in game 24000 ticks = 1 day game
    ## Exemple 0 = 0ticks = the sun is now up for morning
    ## Exemple 14000 = 14000ticks = the night is there
    ## Exemple 23999 = 23999ticks = the last ticks in the game day
    ## Same as Hour all @a will be player online only.
    # The @a is for all player online if you want to use TheClock otherwise you can use the default command of an other plugin.
    # The @r it take a random player online. WARNING : You can't use at twice @a and @r and @o in the same line.
    # The @o it take all player offline. WARNING : You can't use at twice @a and @r and @o in the same line.
    # @a, @r or @o is the name of the player. It mean if you use 'broadcast @o is offline' if you have 100 offline players you will
    # spam the chat with 100 broadcast for all players offline. Use @al of @ol to make a list.
    # So for 'broadcast @ol are offline' it will write in chat 'Bob, Marty, Patfreeze are offline'
    #
    # BEWARE : Now that is per World so the command /broadcast will always display message in all worlds
    # use /theclock broadcastWorld [WORLD] [MESSAGE] instead =)
    timeInGame:
      0:
        - 'broadcastWorld world Other day in Minecraft world'
        - 'broadcastWorld world Dont forget to brush your teeth'
      200:
        - 'give @r cobblestone 1' #Random player online
        - 'broadcastWorld world @al are online now'
        - 'broadcastWorld world @ol are offline now'
      14500:
        - 'broadcastWorld world Good Night!'
        - 'broadcastWorld world Herobrine is watching you!'
        - 'give @a torch 1' # All player online
     
    Hope this will help a lot of server. ;)

    Images

    1. TheClock96x96.png
    2. theclock.jpg
    3. theclock2.jpg
    4. theclock3.jpg
    5. 2017-11-03_19.37.05.png
    6. Sign_theclock.png
    Lambsauce and Rhander like this.

Recent Updates

  1. Update for 1.18.2
  2. update for 1.18
  3. Update for 1.17.1

Recent Reviews

  1. spr_no
    spr_no
    5/5,
    Version: 1.3.1
    Also how many hours are there in a day? I don't know exactly how many there are?
    1. Patfreeze
      Author's Response
  2. Kitmi
    Kitmi
    4/5,
    Version: 1.3.0
    Very impressive, for the command to happen every tick do i just set the time to 0?
    1. Patfreeze
      Author's Response
      Thx for the review. I just PM you to make sure what are you looking for. But every ticks is very fast. 20 ticks per second... Houlala! XD
  3. Nicodemusss
    Nicodemusss
    4/5,
    Version: 1.3.0
    Like already said, simple but useful and pretty rare.
    I remove one star because of all the broadcast et /give commands already comfigured in the plugin and that are not the main purpose of the thing. Even for exemples, it shouldn't be in it.
    1. Patfreeze
      Author's Response
      Thx for the review and nice point for all this broadcast. I will but in comments sorry about that.
  4. Itzack
    Itzack
    5/5,
    Version: 1.1.4
    Nice, but how i can disable per world broadcast? i don't need that. Sorry for my bad english xd
    1. Patfreeze
      Author's Response
      Thanks for the review!

      Just remove for worlds file the broadcast

      the command for broadcast a specific world is
      /theclock broadcastWorld [world] [message]

      the command /broadcast it self is for all world.

      Sorry English is not my first language too! =)
  5. ScuroK
    ScuroK
    5/5,
    Version: 1.0.2
    Very good to have! there are not so many plugins out there like this! thx and i hope u keen up the good work
    1. Patfreeze
      Author's Response
      Thanks! If you have any questions just ask.