A child class of a base class can always access the protected members of that base class.
Reflection can access other protected vars, but has a speed cost.
If you ever need to do it in a speed sensitive area of code (hundreds of times in a tight loop for example), then submit a patch to have forge change it to public.
There are a few other things, but that is the gist.
The http://files.minecraftforge.net/ link is where people *should* always be going for download links. Only check out http://jenkins.minecraftforge.net/ if you need to see a changelog or so.
Why use MCPC? Forge runs quite well as its own server. You should update.
And if you have an install.cmd, you got the source package, for modders, not the universal package, which is for users like you.
Do not link to jenkins directly. For a stable link to any of the downloads, including an automatically updating link, always look at: http://files.minecraftforge.net/
That is because the vanilla boat/pig and such do it on the server side, not the client side. Player position set on the server side is automatically translated to the client.
For interpolation reasons you might want to set it on both though.
I would suggest a few things:
Make sure to use the *latest* forge (298 as of this moment).
Use NEI instead, it can create mob spawners for any livingentity's without needing to edit anything.
And always be sure to post a log, it might have something useful.
...no
If you notice, it is for 1.2.5.
Things 'might' work between 1.3.2 on up, but nothing could work between 1.2.5 and 1.3.2 due to the *huge* structural changes in MC.
I am unable to test right now, but just to note, my server is running 294 and it has mushrooms spawning fine. About to start a 297 test server so might be able to test that soon as well.
"java.lang.ClassNotFoundException: SanAndreasP.mods.ClaySoldiersMod.CSM_ModRegistry" means that the CSM_ModRegistry.java file is missing from the package. Bad download or bad mod package seems likely.