Ok, been fooling around with this I added the override to spawn the custom hook, I am not sure how to change the theIcon variable or what to adjust with the Onupdate, func_146033 that you mentioned.
I'll show you what I've done so far, its not working atm, it crashes now when I right click with the rod, I assume that's because I haven't changed the things in the hook entity that need changing
The fishing rod-
And the custom hook
Under the Onupdate I see this line:
if (this.field_146042_b.isDead || !this.field_146042_b.isEntityAlive() || itemstack == null || itemstack.getItem() != Items.fishing_rod || this.getDistanceSqToEntity(this.field_146042_b) > 1024.0D)
Do I need to change the Items.fishing_rod to my custom rod item? If so, how do I do that, I tried and get an error I can't seem to fix.
Again, thanks to both of you for the help