I'm just saying that the @ObjectHolder annotation is not required for that, I didn't clarify. All Items and Blocks can be overridden without it. Via the same methods, reflection. The only bonus @ObjectHolder would add is not being required to have the mod in which you are overriding, but then overriding that block/item wouldn't make sense. Plus you would have to depend on the mod in the first place because your Block/Item should extend the same parents to allow for the inheritance to stay the same for compatibility. And if you didn't want to depend on the mod you could just use a system similar to the @SidedProxy which you would have to anyways due to the inheritance thing.