you can add a command for chat like '/professionbag'
add 2 fucking code snippets, 1 ( to register the command ) in yaml, 1 ( actual bag logic ) in java, and a couple others i guess for listening for the command and storing player items in custom inventory.
and every time you type the command a normal looking inventory screen will popup with how you want it to work, the server will tie that inventory to you only, and you can move shit between it no fucking problem, all the heavy lifting is on the server, and when you're harvesting you dont need to be holding jackshit, the server will treat it as if you're holding the proper tool from your /professionbag and reduce its durability.
also another thing you can do even with client side ui limitations in vanilla, you can make items do things, like open up the next 'inventory page' so lets say you want multiple pages and to be for different professions, well the 2 items on the bottom right are previous page and next page for your profession inventory ( can have 2 paper items in the physical inventory ui renamed "Prev"/"Next", with page swapping logic, ALL SERVER SIDE ).
you could probably 2 shot this in claude, this by itself i think should be proof this guy is not a hackermans, guys way too unimaginative saying "UH OH IMPOSSIBLE & TOO HARD".
ok there we go, just did more design theory work than mald on his shitty kickstarter flagship game and blockgame combined