Recently I stumbled upon a book called “Adventures in Minecraft” written by Martin O’Hanlon, and David Whale. The book teaches you how to code in Minecraft with python, which is split up into chapters called “Adventures,” and basically, each “Adventure” is a short version of a “project” where you make a “mini-game” that runs in your own world. For example, the 2nd chapter teaches you how to make a short game called “rent” using geo-fencing, where the player has a certain amount of time to do tasks. What I love about the book is that you make your own twist to the game. You don’t always need to do only what it says to write, but it encourages you to add more of your own code in addition to what you learned from the previous adventures.
For example: After you’ve finished the second chapter, it encourages you to make another game if you want to be based on the code you have learned.
The book uses a bukkit server for setting up and coding. Since spigot is now better and updated for performance, I would recommend using a spigot server instead for better performance. The recourses offer a Linux version if you want to try, but they say it isn’t updated for every distro. I used the Linux version on my laptop (running Linux Mint) so far. Everything has been running extremely well.
(To note: this version is the updated version. There is an older one made in 2014. And which is no longer supported)