
When the spear first came out, it only made sense that it was paired with it's historical best friend. However, according to Mojang, fun isn't allowed so you aren't able to block and attack at the same time. This mod changes that and makes it so that you can utilize the spear and shield the way they were meant to be.
This mod changes the way spears can be played from a hit-and-run playstyle to a slow-and-steady playstyle. However for those who do enjoy the former, there is another quality of life.

Jousting! This took a lot of time to do because of several factors. But essentially, I created my own spear logic that allows the spear in the off-hand to charge while blocking in the main-hand. This is done by using left-click to charge and right-click to block.

Spear with Lunge III:

Would you agree that the trident is a spear? Well it is! Now the trident behaves and acts like a vanilla spear!

I made the trident maintain its vanilla attributes, such as damage and range. So while the trident will do more damage than all the spears, it will still have its normal attack range. Just like the spear, you can use its throw ability while its in the off-hand and shield in the main-hand.

DID YOU SEE THAT? The trident went back to the off-hand immediately instead of the inventory! This is for the trident enjoyers who love to keep distance. This happens when you are holding a shield in the main-hand which will automatically slot it into the off-hand (if it is empty of course).
For those who don't want these changes, they can be edited in the configurations. For 26.1.1+ versions, you can use Mod Menu. Alternatively, you can go into the game files and find the config folder, where you'll see the Spearwork config and edit it.
I've also tested this with mods (with how few there are for 1.21.11) and it seems to work with modded shields, however due to lack of modded spears I am unable to test. It should probably work (don't quote me).