░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░
             ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ 
  ╔═════╗   ██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██
  ║     ║  ▐█▌ ▀█▀ █▀▄ █▀█ ▀█▀ █▀▀   █▀█  █▀▀ ▐█▌
  ║     ║  ▐█   █  █ █ █ █  █  █     █ █  █    █▌
 ═╩╤═══╤╩═ █▌   █  █ █ ██   █  ███   █ █  ███  ▐█
   │○─○│   ▐█   █  █ █ █ █  █    █   █ █  █    █▌
   │...│   ▐█▌ ▄█▄ █▄█ █ █ ▄█▄ ▄▄█   ███  █▄▄ ▐█▌
   └───┘    ██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▀ ▄▄▄▄██
             ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░▒▒▓▓▒▒░░

Hello!


If you're reading this, welcome to the innards of this pack!
In case you're looking through this pack to figure out how on 
Earth you're meant to edit the clock in any meaningful way, 
I'm glad to provide!
...Or you're wondering how to install this, in which case just 
drag the .zip file (or more likely unzipped folder if you're 
reading this) into your resourcepacks folder! Don't delete any 
files either, the pack.mcmeta in particular is important!

Now back to development stuff, since I would have found this 
stuff helpful when I was making my pack!

If you're wondering how the heck I made all the model JSON 
files, about 6 hours straight of Python coding and debugging 
to automatically generate them correctly.

If you're wondering how long it took to make the images, 
quite a while...
I exported each individual piece into folders:
+MAIN_FOLDER
--ClockBackground
--GlassOverlay
++HOUR_HAND_FOLDER
---hrHand0000
---hrHand0030
---hrHand0100
---hrHand0130
--- (etc.)
++MINUTE_HAND_FOLDER
---mnHand0000
---mnHand0025
---mnHand0050
---mnHand0075
---mnHand0100
--- (etc.)
++COLOR_DISPLAY_FOLDER
---dspDDD
---dspDDS
---dspDSS
---dspSSS
---dspSSN
---dspSNN
---dspNNN
---dspNNR
--- (etc.)
And then wrote a script (not the file script, this one took 
easily another whole 6 hours to write and debug because I'm 
rusty at coding) using Python's "Pillow" library extension to 
layer the correct images together in sequence and export them 
as a single merged image over and over.

I won't provide these scripts because I really didn't make 
them at all legible or customizable, I mostly just made them 
to brute-force my specific situation, and even that took a lot 
of trial and error to get right. Also I doubt wherever I host 
this publicly would be happy to have Python code located in what 
is supposed to be a texture pack.

*** Some extra tips for Clock resource packs!: ***

-The "time predicate" for clocks is between 0 and 1, though 1 
and 0 are actually the same value, because it's a circle.

-To get the time predicate value for a specific frame, you use 
the following formula, starting at Frame 0 (NOT Frame 1!):
(2 * current_frame) / (2 * total_frames)
So if you had 64 frames like the default clock, labelled 0-63, 
and wanted the 24th frame's predicate...
(2 * 23) / (2 * 64) = 0.359375

-The time predicate starts and loops at NOON!
Predicate 0 is the same as /time set 6000, or 12:00 PM (12:00)
Predicate 0.5 is the same as /time set 18000, or 12:00 AM (00:00)
Predicate 0.75 is the same as /time set 0, or 6:00 AM (06:00)
Predicate 0.25 is the same as /time set 12000, or 6:00 PM (18:00)

Special Thanks:
emilyxfox on Curseforge for notifying me about the folder format problem in 1.19.3 and above!