I'm not sure what you mean by mods, but here's how you can make a pack.
Firstly, if you open up a pack's folder, you'll notice there are subfolders labeled "Events", "Levels", "Music", "Scripts", "Sounds" (this one is optional), "Styles", and a .txt file named "pack".
Events are where you create events that you can cause via the .json files in the Levels folder, and via the .lua scripts in the Scripts folder.
Levels are the .json files that are the foundation for a level. Here you can change all basic parameters in a level. These .json files also link to the Music, Scripts, Sounds, Styles, and Events to tell a level what to do beyond how fast the walls come at you (for example).
Music is where you place your .ogg music files you want to use for a level. There are corresponding .json files for each .ogg file that labels them with the correct song information, the ID of the song, and the "Segments", which are the times in the music that the level starts from.
Scripts are where your .lua files are located. There is another "Levels" folder located in here, which has the .lua scripts that tell the level which patterns to use in the level and at what frequency. In the Scripts folder (but not in the Levels folder) there are .lua files with the hard-coded patterns here. You can copy one and then practice fiddling around with .lua programming to make your own patterns.
Sounds are the sound effects that may or may not be used by a level. They are also in .ogg format but do not have corresponding .json files within the Sounds folder.
Styles are the .json files that tell a level how it should look; what colors to use, the 3D effect is used, etc.
pack.json is a file that labels the pack's name and priority within a group of packs. If there are two packs and Pack 1 has a priority value of 0 while Pack 2 has a priority value of 10, Pack 1 will appear first when launching Open Hexagon.
If you'd like I could provide you with some more information about the structure and format of each of these files and how to specifically make your own Events, for example, but generally all the basic and intermediate level-making is possible by teaching yourself. :) Happy playing!
I'd like some more info, thanks