Klassen - tresonic/Terrafying GitHub Wiki

Packages

entities

  • Entity: Objekt im Spiel, das Position, Geschwindigkeit, Name, Lebenspunkte und eine Textur besitzt. Von EntityManager verwaltet.
  • EntityManager: Enthält und verwaltet alle Entities, bis auf den lokalen Spieler.
  • Player: Erbt von Entity, wird nur als lokaler Spieler verwendet, enthält den Code für die Bewegung und Kollision und ein Inventar.

gui

  • BaseGui: Abstrakte Klasse als Grundlage für alle anderern Guis.
  • ChestGui: Zusatz-Gui zur InventoryGui, die beim Öffnen von Kisten verwendet wird.
  • CraftGui: Zusatz-Gui zur InventoryGui, die beim Craften verwendet wird.
  • GuiManager: Enthält und verwaltet die Guis und die Hotbar, und leitet die Benutzereingaben zur derzeit aktiven Gui um.
  • Hotbar: Zeigt die ersten 10 ItemStacks des Inventar, die der Spieler benutzen kann.
  • InventoryGui: Zeigt das Inventar des Spielers mithilfe vieler ItemStackGuis und lässt ihn je nach aktueller Aktion craften oder Kisten anzeigen.
  • ItemStackGui: Zeigt einen einzelnen ItemStack, mit Item-Textur und -Anzahl

items

  • Inventory: Enthält mehrere ItemStacks und Funktionen um ItemStacks hinzuzufügen, herauszunehmen und zu tauschen.
  • Item: Enthält die Attribute eines Items und statisch alle Items.
  • ItemStack: Enthält ein Item und eine Anzahl und Funktionen um Items hinzuzufügen und wegzunehmen.
  • Recipe: Enthält die Definition eines Rezepts und statisch alle Rezepte.

net

  • Network: Enthält die Klassen der Netzwerk-Pakete und registriert sie für Kryonet.
  • OfflinePlayers: Enthält die Spieler, die auf einem Server gespeichert sind, aber offline sind.
  • TerrafyingClient: Für die Netzwerk-Kommunikation zum Server mithilfe der Bibliothek Kryonet zuständig.
  • TerrafyingServer: Enthält eine serverseitige Welt mit allen Spielern und kommuniziert mit den Clients.

screens

  • DeathScreen: Wird angezeigt wenn ein Spieler stirbt, erlaubt das Respawnen und Verlassen des Spiels.
  • GameScreen: Zeigt das eigentliche Spiel, enthält alles, was zum Spiel gehört.
  • LoadingScreen: Wird beim Verbindungsaufbau gezeigt.
  • MainMenuScreen: WIrd als Hauptmenü am Anfang gezeigt und erlaubt das Beitreten zu und Hosten von Servern, das Erstellen neuer Welten und das Verlassen des Spiels.
  • NewMapScreen: Wird während dem Erstellvorgang einer neuen Map angezeigt, wobei der Benutzer die Größe und den Namen wählen kann.
  • OptionsScreen: Kann aus dem PauseScreen heraus aufgerufen werden, erlaubt das Einstellen des FOV und der Tasten.
  • PauseScreen: Kann aus dem GameScreen mit Escape aufgerufen werden.

util

  • Log: Hilfsfunktionen zum Loggen mit Unterscheidung Server/Client.
  • Options: Enthält die Einstellungen.
  • SimplexNoise: Noise-Bibliothek zur Map-Erstellung.
  • Vector2i: 2d-Vektor für Integer.

world

  • Block: Definition und Attribute von Blöcken, enthält statisch alle Blöcke.
  • Chunk: Enthält ein 2d-Array aus 32 Block-Ids, bildet einen Teil der Map.
  • LoaderSaver: Statische Funktionen um Welten zu speichern und zu laden.
  • Map: Enhält die Chunks in einer Hashmap und Funktionen um auf die Blöcke zuzugreifen und sie zu verändern.
  • MapGenerator: Statische Funktionen, um die Welt mit Landschaft zu erzeugen.
  • ServerWorld: Server-Version der World, in der zusätzlich noch die OfflinePlayers gespeichert werden.
  • World: Enthält die Map, einen EntityManager und den Player, also alles was in der Spielwelt vorkommt.