That's the ambiguity in the way we use some words like "server". If I say I'm going to "build a web server", you don't know if I'm developing software to compete with nginx, or building an x86 box and installing nginx on it.
Once you have the Raspberry Pis, pre-installing an operating system to run the standard Minecraft server should be the easy part.
Unless, of course, it really was a case of "reverse engineer and reimplement Minecraft to make my own server." Not strictly impossible, but a completely unreasonable goal.
Hasn't that already been done several times? There's feather-rs (fairly mature but reduced set of features) and Pumpkin and FerrumC. And, for that matter, Paper - that one is Java and I haven't checked to what degree it's just borrowing from the original implementation, but I do know that Paper is actually used for real servers.