I'm *not* doing anything with its rotation... and it's just not rotating at all...
As for the lighting, I *didn't* disable lighting at first, and it was black; that's why I tried disabling lighting, but it's still black. Either way I tried that, it still turns out black.
*EDIT* A little bit of debug output shows me that the age of the EntityItem is *not* ticking up. I'm going to look into that more, but I assume that's because it's not spawned in the world? At the same time, I don't *want* it spawned in the world as an entity, I'm only using it for rendering, so... how do I get its age to tick up without spawning it?
*EDIT 2* Problem 1 is solved! Turns out that the age is ticked up in the onUpdate() method, and that's only called naturally for entities spawned in a world. So I just manually call onUpdate() now, immediately after setting the entity's world, and it spins perfectly normally!
Now I just need to figure out how to get the colors/lighting correct.... any ideas?
*EDIT 3* AHA! Solved it! I stumbled upon the solution completely accidentally, really I was going to remove the super.render() call, since I didn't want the nameplate to render, and I figured I should check that method to make sure it's not doing anything else important that I might need to keep. It's not, but in that method, before rendering the nameplate, it calls the setLightmapDisabled method. That method doesn't use GlStateManager.disableLighting() at all -- instead, it disables a lighting map texture.
So I removed the super.render() call and tried using setLightmapDisabled in my rendering code instead... and it worked! The item now renders perfectly fine
Thank you for your help, Draco!