Use @Override to check if you are actually overriding a method. You have to use that method's parameters. Look at the onEntityCollidedWithBlock method in Block or BlockCactus.
You could use IExtendedEntityProperties to add a boolean to the player's NBT (defaulting to false). When the player logs in, if the boolean is false for that player, open the GUI and set it to true.
I dont have access to the src at the minute, but i think what you do is check for some pattern of blocks that would only exist in a temple and set the blocks relative to that.
Yeah, the register() method in WorldGenRuby that you are calling is empty. How is it supposed to do anything if you arent telling it to? Use this to register the WorldGenerator:
GameRegistry.registerWorldGenerator(new WorldGenRuby(), 1);
There's a message from cpw at the top saying its no good and can cause memory leaks. You don't need to write a new system, FML already has one. Diesieben's tutorial is on how to use it.