Dumping my working code into a git repo.
Standardized term for lens modules as 'lens' rather than 'focus'.
Added horrible programmer art lens textures.
Renamed lens textures.
Added lens classes.
Modified the way the gun firing works and added (snowball-firing) beam
implementations for the Precise and Wide lenses.
Revert "Modified the way the gun firing works and added (snowball-firing) beam implementations for the Precise and Wide lenses."

This reverts commit 20dc09e79b9a3013a5090b9b3cb03f4d572be979.
Removed the defaultKey function, as it would break when the code is
obfuscated again.
Merge branch 'bugfix-setModuleKey'
Moved gun bench code to separate package.
Refactored common code out of the GunBench block.
Revert "Revert "Modified the way the gun firing works and added (snowball-firing) beam implementations for the Precise and Wide lenses.""

This reverts commit ec93b9d1eea8cad854a89bde1b3f1d354d13b3e7.
Merge branch 'develop'
Refactored more common inventory-block functionality out into base
classes.
Added basic block and tile entity and associated machinery for the Lens
Grinder. Currently does not do anything, but the block is there.
Fixed bug where closing a world would delete all items in a
BaseInventoryTileEntity.
Implemented lens grinder code. Does not currently render anything on the
GUI to show that grinding is in progress, but it does work.
Added completion display to lens grinder GUI.
Merge branch 'feature-lensgrinder'
Fixed bug where a gun with an Ultimate battery wouldn't save the charge
correctly.