This is a semi-esoteric program written entirely in Java. You will already need an understanding of how logic gates work, or at least the theory of what they do, to be able to use this program well. An included explanation of logic gates is added and located in the README.md file.
The problem with this program is that it is strictly 1 dimensional but simulates a normally 2D concept, so I had to get a bit creative with how to allow that to happen. Hence the whole funkiness with creating gates.