o
odin.langpkg.dev
packages / library / thor

thor

056f918library

No description provided.

No license · updated 1 year ago

Thor - Odin Minecraft Server Implementation

Todo

Some threads

Need to define how things will be threaded and layed out.

  • Main thread - Just to initialize every other thread and connect things
  • Console thread - To handle console input and control the server
  • RCON thread (later) - To handle RCON connections
  • Each dimension - Each dimension (world) will have its own thread to tick and update
  • Each client - Each client will have its own thread to handle incoming packets
  • Client write thread - One thread to handle all outgoing packets to all clients idk if this is a good idea

Notchian server tick order:

  • world border
  • weather (not sure why most of this is included in weather)
    • advanceWeatherCycle
    • sleep
    • updateSkyBrightness
    • time
  • tickPending (!isDebug)
    • blockTicks
    • fluidTicks
  • raids
  • chunkSource
  • blockEvents (len(players) > 0) - ticks for 299 ticks after every player leaves
    • entities
      • dragonFight (if one is going on)
      • each entity (some conditions and lists and stuff, look into it)
        • checkDespawn
        • stopRiding (if applicable)
        • tickNonPassenger (with conditions)
          • tick
          • tickPassenger recursively
    • tickBlockEntities
  • entityManager