Plugin-Erstellung/Java/Plugin-API Paket

Aus Rising World Wiki

In der Java Plugin-API bezeichnet der Begriff "Package" (Paket) eine Gruppierung von zusammengehörigen Klassen, Interfaces und anderen Paketen. Diese Strukturierung hilft dabei, den Code übersichtlich und wartbar zu halten. Packages in Java dienen auch dazu, Namenskonflikte zwischen Klassen zu vermeiden, die denselben Namen haben können, aber in unterschiedlichen Packages definiert sind.

Verwendung

Hier sind einige Punkte, wie Packages in der Rising World Plugin-API und allgemein in Java verwendet werden:

In der Java Plugin-API bezeichnet der Begriff "Package" (Paket) eine Gruppierung von zusammengehörigen Klassen, Interfaces und anderen Paketen. Diese Strukturierung hilft dabei, den Code übersichtlich und wartbar zu halten. Packages in Java dienen auch dazu, Namenskonflikte zwischen Klassen zu vermeiden, die denselben Namen haben können, aber in unterschiedlichen Packages definiert sind.

Hier sind einige Punkte, wie Packages in der Java Plugin-API und allgemein in Java verwendet werden:

  • Namensraum: Ein Package bietet einen eigenen Namensraum, was bedeutet, dass du innerhalb des Packages Klassen oder Interfaces mit Namen erstellen kannst, die möglicherweise in anderen Packages ebenfalls existieren, ohne Konflikte zu verursachen.
  • Zugriffskontrolle: Durch Packages kannst du Zugriffskontrollmechanismen nutzen, indem du Klassen oder Klassenmitglieder als public, protected, oder package-private (default, keine Modifikatoren) deklarierst. Nur Klassen innerhalb desselben Packages können auf package-private Mitglieder zugreifen.
  • Import-Anweisungen: Mit der import Anweisung kannst du in einer Java-Klasse auf Klassen und Interfaces aus anderen Packages zugreifen, ohne deren vollständig qualifizierten Namen verwenden zu müssen.
  • Organisation: Packages helfen bei der logischen Organisation von Code in einer größeren Anwendung oder einem Framework. Dies ist besonders nützlich in Umgebungen wie Server-Plugins, wo möglicherweise viele Komponenten interagieren.
  • Wiederverwendung: Durch den Einsatz von Packages kann Code leichter wiederverwendet werden, da du Bibliotheken als Packages organisieren und sie in verschiedenen Projekten einbinden kannst.


Pakete

Diese Pakete bieten Entwicklern eine umfassende Plugin-API, um benutzerdefinierte Plugins für Rising World zu erstellen und das Spielerlebnis auf vielfältige Weise zu erweitern. Durch die Kombination von verschiedenen Funktionen können Entwickler einzigartige Inhalte und Features erstellen, um die Spielwelt zu bereichern.
Im Folgenden geben wir einen Überblick über die Hauptpakete der Rising World Plugin-API:

Paket Namensraum Beschreibung Beispiel
Unterpakete, Klassen, Interface
net.risingworld.api Das Hauptpaket der Rising World API, das die grundlegenden Klassen und Schnittstellen für Plugin-Entwicklung bereitstellt. net.risingworld.api.assets, net.risingworld.api.collider, net.risingworld.api.database, net.risingworld.api.events, net.risingworld.api.sounds, net.risingworld.api.ui
...
net.risingworld.api.assets Enthält Klassen und Schnittstellen für die Verwaltung von Spielressourcen wie AssetBundle, ModelAsset, SoundAsset usw. Class: AssetBundle
net.risingworld.api.callbacks Enthält Klassen und Schnittstellen für Rückruffunktionen, die bei bestimmten Ereignissen im Spiel aufgerufen werden. public interface Callback<T>
nnet.risingworld.api.collider Enthält Klassen und Schnittstellen für die Kollisionsverarbeitung im Spiel. Class: BoxCollider,
Class: MeshCollider
...
net.risingworld.api.database Enthält Klassen und Schnittstellen für die Datenbankverwaltung und -zugriff im Spiel. public interface Database,
public interface WorldDatabase
...
net.risingworld.api.definitions Enthält Klassen und Schnittstellen für die Definition und Verwaltung von Spielobjekten, Kleidung, Blöcken, Items, Pflanzen, Wetter usw.
net.risingworld.api.events Enthält Klassen, Pakete und Schnittstellen für Ereignisbehandlung und -verarbeitung im Spiel.

Pakete:
net.risingworld.api.events.general net.risingworld.api.events.npc net.risingworld.api.events.player net.risingworld.api.events.player.ui
...
net.risingworld.api.events.world
...

net.risingworld.api.objects Enthält Klassen und Schnittstellen für die Erstellung und Verwaltung von Spielobjekten wie Entitäten, Item, NPCs, Vehicle usw.
net.risingworld.api.sounds Enthält Klassen und Schnittstellen für die Audiowiedergabe und -verarbeitung im Spiel. Class: Sound
...
net.risingworld.api.ui Enthält Klassen und Schnittstellen für die Benutzeroberflächengestaltung Class: UIElement
...
net.risingworld.api.utils Enthält Hilfsklassen und -funktionen für verschiedene Zwecke im Spiel. Class Bounds,
Class: Quaternion, Class Utils
...
net.risingworld.api.world Enthält Klassen und Schnittstellen für die Verwaltung und Interaktion mit der Spielwelt. net.risingworld.api.world.batch, net.risingworld.api.world.generator
...
net.risingworld.api.worldelements Enthält Klassen und Schnittstellen für die Definition und Verwaltung von Elementen in der Spielwelt Class; Area3D, Class; Light, Class; Text3D
...


Java-Paket importieren

Um ein Java-Paket in einem Java-Programm zu importieren, wird die import-Anweisung verwendet. Diese Anweisung wird am Anfang des Java-Quellcodes platziert, bevor Klassen oder Schnittstellen definiert werden.

Hier ist die allgemeine Syntax für das Importieren eines Java-Pakets:

import paketname.Klasse;

In dieser Syntax:

  • import ist das Schlüsselwort, das verwendet wird, um anzugeben, dass ein Paket importiert wird.
  • paketname ist der Name des Pakets, das importiert werden soll.
  • Klasse ist der Name der Klasse, die aus dem importierten Paket verwendet werden soll.

Beispiel:

import net.risingworld.api.Plugin;
import net.risingworld.api.objects.Player;


Wenn man alle Klassen aus einem Paket importieren möchte, kann der *-Operator verwendet werden:

import paketname.*;

Durch das Importieren eines Pakets stehen alle Klassen und Schnittstellen in diesem Paket zur Verfügung.

Es ist wichtig zu beachten, dass Java bereits einige Pakete standardmäßig importiert, wie z. B. java.lang, das grundlegende Klassen wie String und System enthält. Andere Pakete müssen explizit importiert werden, bevor ihre Klassen verwendet werden können.

Siehe auch