Heya!
If you're reading this, the base Constructs SHOULD have extracted succesfully.

As you may or may not know, Smarter than Copper allows your custom models and companions!
So let me walk you through on what you'll probably need:

-Blockbench + Geckolib plugin.
-Audacity or any audio exporting software with mono .ogg support.
-A neat idea.

You can always check out the base construct for reference in case something isn't working.

# config_info.json
For starters, you'll want to create your construct_info.json file to
fill some info about the construct you're making and giving it your authorship.
Feel free to copy the config files on the base constructs!

# config.json
Here you'll be assigning some data to your construct (like hitbox and sound settings).

-Width and Height are meant for your construct's hitbox (it's a cube, of course).
-Idle Frequency works as a multiplier, the close to 0 the less often your construct
will play it's idle sounds.
-Idle Volume / Frequency are independant settings that will affect your construct sound's
volume (capped at 1.0)
-Custom Farm Animations is a boolean settings that will look for harvesting, bone_meal
and storing animations on the animations.json file. If set to false, will mostly use
the "mine" animation as a fallback
-Sounds works as a system to list all the custom sounds you want to give your construct,
this way it can have more than 1 sound per action (multiple attack sounds, idling sounds,
harvesting sounds, etc).

# Sounds
As previously mentioned, you'll want to use a software that can export .ogg files in Mono.
Don't export them in Stereo, your constructs will play their sounds as global sounds if you do
that, and if you're making a "loud" one you'll probably regret it.

There's no naming requiremente for these files as far as I know, so you may name them whatever you
want as long as you listed said name on the config.json file on the category you want to use.

The categories are:
-idle
-walk
-mining 
-harvest (when harvesting crops)
-bone_meal (when using bone_meal)
-store (when storing on chests/containers. may play as idle when in storing state)
-attack
-downed (when hit down to 0 HP)
-healed (when healed with redstone)
-rez (when healed back from downed state)
-spawn (when carved on living copper block)
-break (when completely destroyed)
-ore_found (also for composter full)
-full (full inventory or no chests nearby)

# Model (Blockbench)
As for the model, you can pretty much build whatever you want! The only requiremente will
be a "Head" bone/folder. It'll be used as a normal entity head, so it'll point towards
players, other mobs and even goals (crops, ores, chests, etc.).

Remember to use the Geckolib plugin "Export" function and name your model like this:
"model.geo.json"

# Animations (Blockbench)
After creating your model, you'll want to cover as many animations as possible! You can
pretty much go crazy on what they'll do, but I recommend trying to work around certain
length durations so they don't overlap or cancel each other. Here's a list of animations
and recommended settings!

-idle (loop)
-idle_sit (loop) used for "idle" state
-walk (loop)
-downed (hold on last frame) used the construct is being downed
-incapped (loop) used while the construct is down
-rez (play once) used after repairing the construct
-attack (play once)
-mining (loop)
-climbing (loop) used when climbing blocks
-storing (play once) OPTIONAL 1 second rec. used when storing on chest
-bone_meal (play once) OPTIONAL 1 second rec. used on composters and applying bone meal on crops
-harvesting (play once) OPTIONAL 1 second rec.

Once you're done, you should save 1 file that has all the animations as:
"animations.json"

# Closing
After that, there ain't much more to say. Be creative with what you make! I'll try to
create something where people can publish their own constructs.

And of course, thanks for downloading this mod! Had this idea for quite a long time, so it means
a lot to receive support and feedback. Love ya!

ALSO, please check this file every once in a while when I'm updating things. I'll most probably
let y'all know in-game or on a post if any additions happen to move or add things over here.
Expect some variety of movement and attacks for your constructs sooner or later.
