Basics of Spigot Server Plugin Development - nsporillo/GlobalWarming GitHub Wiki

Note: This is not an exhaustive guide, only a small collection of things I think are most relevant to this project's development.

Resources

Event Based

  • Plugins use EventListeners to interface with in-game player/entity/world actions

Main Thread

  • As noted in Common Mistakes, you should not execute non-threadsafe methods in non-main threads.
  • This creates real limitations for what is reasonably possible in Minecraft. Creativity is required to distribute the load of expensive tasks so the server performance does not tank.

Performance

  • Server performance is mission critical. The server main thread must not be blocked for a long period of time.
  • Performance is measured by Ticks Per Second (TPS). There should be 20 ticks for every 1 second.
  • Whenever the TPS dips below 20, the players will notice server lag and complain.

Important Classes