You don't need the language registry. It is deprecated for a reason.
Server doesn't need to have any language related thing.
Use StatCollector.translateToLocal(String) on client side and make a .lang file for each language.
There is no PlaceEvent probably because block placing occurs from a lot of places. Player, enderman, piston, falling sand/gravel, dispenser...
If you only care about player placed blocks, stashing the coordinates and checking later on is a perfectly valid solution.
Also, your full container has a reference to the empty container in its constructor.
Which doesn't work because you make the empty container after the full one.
I don't think the "Independent" setup requires any groovy knowledge.
That is the default setup that forge invites you to use.
Obviously, the further you go from the default, the more you'll need to understand and change.
I only needed to refer to the gradle docs to make this tutorial.
Maybe try with a NetBeans plugin for Gradle ?
http://plugins.netbeans.org/plugin/44510/gradle-support
It generally works better to just import the build.gradle file.
I don't see what is going on in the texture you posted, so i'll assume this is a rendering issue.
You should override "shouldSideBeRendered" method, there is hardcoded wooden slabs and stone slabs in BlockSlab.
@SidedProxy(clientSide="blfngl.fallout.proxy.ClientProxy", serverSide="blfngl.fallout.proxy.CommonProxy")
public static CommonProxy proxy;
public static ClientProxy cproxy;
Be careful, cproxy is going to be null here.
GameRegistry.registerItem(cellEnergy, "cellEnergy");
Should be inside FMLPreInit event too.