Plugin-Erstellung/Java/Plugin-API Paket: Unterschied zwischen den Versionen
(→Pakete) |
|||
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
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. | 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. | ||
Zeile 25: | Zeile 23: | ||
! Paket Namensraum | ! Paket Namensraum | ||
! style="min-width:195px;" | Beschreibung | ! style="min-width:195px;" | Beschreibung | ||
! style="max-width: | ! style="max-width:320px;" | Beispiel<br/> Unterpakete, Klassen, Interface | ||
|- | |- | ||
| [https://javadoc.rising-world.net/latest/net/risingworld/api/package-summary.html net.risingworld.api] | | [https://javadoc.rising-world.net/latest/net/risingworld/api/package-summary.html net.risingworld.api] | ||
| Das Hauptpaket der Rising World API, das die grundlegenden Klassen und Schnittstellen für Plugin-Entwicklung bereitstellt. | | 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 <br/> ... | | style="max-width:320px;" | net.risingworld.api.assets, net.risingworld.api.collider, net.risingworld.api.database, net.risingworld.api.events, net.risingworld.api.sounds, net.risingworld.api.ui <br/> ... | ||
|- | |- | ||
| [https://javadoc.rising-world.net/latest/net/risingworld/api/assets/package-summary.html net.risingworld.api.assets] | | [https://javadoc.rising-world.net/latest/net/risingworld/api/assets/package-summary.html net.risingworld.api.assets] | ||
Zeile 41: | Zeile 39: | ||
| n[https://javadoc.rising-world.net/latest/net/risingworld/api/collider/package-summary.html net.risingworld.api.collider] | | n[https://javadoc.rising-world.net/latest/net/risingworld/api/collider/package-summary.html net.risingworld.api.collider] | ||
| Enthält Klassen und Schnittstellen für die Kollisionsverarbeitung im Spiel. | | Enthält Klassen und Schnittstellen für die Kollisionsverarbeitung im Spiel. | ||
| [https://javadoc.rising-world.net/latest/net/risingworld/api/collider/BoxCollider.html Class: BoxCollider], [https://javadoc.rising-world.net/latest/net/risingworld/api/collider/MeshCollider.html Class: MeshCollider] <br/> ... | | [https://javadoc.rising-world.net/latest/net/risingworld/api/collider/BoxCollider.html Class: BoxCollider], <br/> [https://javadoc.rising-world.net/latest/net/risingworld/api/collider/MeshCollider.html Class: MeshCollider] <br/> ... | ||
|- | |- | ||
| net.risingworld.api.database | | [https://javadoc.rising-world.net/latest/net/risingworld/api/database/package-summary.html net.risingworld.api.database] | ||
| Enthält Klassen und Schnittstellen für die Datenbankverwaltung und -zugriff im Spiel. | | Enthält Klassen und Schnittstellen für die Datenbankverwaltung und -zugriff im Spiel. | ||
| | | [https://javadoc.rising-world.net/latest/net/risingworld/api/database/Database.html public interface Database], <br/>[https://javadoc.rising-world.net/latest/net/risingworld/api/database/WorldDatabase.html public interface WorldDatabase] <br/> ... | ||
|- | |- | ||
| net.risingworld.api.definitions | | [https://javadoc.rising-world.net/latest/net/risingworld/api/definitions/package-summary.html net.risingworld.api.definitions] | ||
| Enthält Klassen und Schnittstellen für die Definition und Verwaltung von Spielobjekten, Blöcken usw. | | Enthält Klassen und Schnittstellen für die Definition und Verwaltung von Spielobjekten, Kleidung, Blöcken, Items, Pflanzen, Wetter usw. | ||
| | | | ||
|- | |- | ||
| net.risingworld.api.events | | [https://javadoc.rising-world.net/latest/net/risingworld/api/events/package-summary.html net.risingworld.api.events] | ||
| Enthält Klassen und Schnittstellen für Ereignisbehandlung und -verarbeitung im Spiel. | | Enthält Klassen, Pakete und Schnittstellen für Ereignisbehandlung und -verarbeitung im Spiel. | ||
| | | style="max-width:320px;" | | ||
Pakete: <br/> | |||
[https://javadoc.rising-world.net/latest/net/risingworld/api/events/general/package-summary.html net.risingworld.api.events.general] | |||
[https://javadoc.rising-world.net/latest/net/risingworld/api/events/npc/package-summary.html net.risingworld.api.events.npc] | |||
[https://javadoc.rising-world.net/latest/net/risingworld/api/events/player/package-summary.html net.risingworld.api.events.player] | |||
[https://javadoc.rising-world.net/latest/net/risingworld/api/events/player/ui/package-summary.html net.risingworld.api.events.player.ui] | |||
<br/>...<br/> | |||
[https://javadoc.rising-world.net/latest/net/risingworld/api/events/world/package-summary.html net.risingworld.api.events.world] | |||
<br/>... | |||
|- | |- | ||
| net.risingworld.api.objects | | [https://javadoc.rising-world.net/latest/net/risingworld/api/objects/package-summary.html net.risingworld.api.objects] | ||
| Enthält Klassen und Schnittstellen für die Erstellung und Verwaltung von Spielobjekten wie Entitäten, Item, NPCs usw. | | Enthält Klassen und Schnittstellen für die Erstellung und Verwaltung von Spielobjekten wie Entitäten, Item, NPCs, Vehicle usw. | ||
| | | | ||
|- | |- | ||
| net.risingworld.api.sounds | | [https://javadoc.rising-world.net/latest/net/risingworld/api/sounds/package-summary.html net.risingworld.api.sounds] | ||
| Enthält Klassen und Schnittstellen für die Audiowiedergabe und -verarbeitung im Spiel. | | Enthält Klassen und Schnittstellen für die Audiowiedergabe und -verarbeitung im Spiel. | ||
| | | [https://javadoc.rising-world.net/latest/net/risingworld/api/sounds/Sound.html Class: Sound] <br/> ... | ||
|- | |- | ||
| net.risingworld.api.ui | | [https://javadoc.rising-world.net/latest/net/risingworld/api/ui/package-summary.html net.risingworld.api.ui] | ||
| Enthält Klassen und Schnittstellen für die Benutzeroberflächengestaltung | | Enthält Klassen und Schnittstellen für die Benutzeroberflächengestaltung | ||
| | | [https://javadoc.rising-world.net/latest/net/risingworld/api/ui/UIElement.html Class: UIElement] <br/> ... | ||
|- | |- | ||
| net.risingworld.api.utils | | [https://javadoc.rising-world.net/latest/net/risingworld/api/utils/package-summary.html net.risingworld.api.utils] | ||
| Enthält Hilfsklassen und -funktionen für verschiedene Zwecke im Spiel. | | Enthält Hilfsklassen und -funktionen für verschiedene Zwecke im Spiel. | ||
| | | [https://javadoc.rising-world.net/latest/net/risingworld/api/utils/Bounds.html Class Bounds], <br/>[https://javadoc.rising-world.net/latest/net/risingworld/api/utils/Quaternion.html Class: Quaternion], [https://javadoc.rising-world.net/latest/net/risingworld/api/utils/Utils.html Class Utils] <br/> ... | ||
|- | |- | ||
| net.risingworld.api.world | | [https://javadoc.rising-world.net/latest/net/risingworld/api/world/package-summary.html net.risingworld.api.world] | ||
| Enthält Klassen und Schnittstellen für die Verwaltung und Interaktion mit der Spielwelt. | | Enthält Klassen und Schnittstellen für die Verwaltung und Interaktion mit der Spielwelt. | ||
| | | [https://javadoc.rising-world.net/latest/net/risingworld/api/world/batch/package-summary.html net.risingworld.api.world.batch], [https://javadoc.rising-world.net/latest/net/risingworld/api/world/generator/package-summary.html net.risingworld.api.world.generator] <br/> ... | ||
|- | |- | ||
| net.risingworld.api.worldelements | | [https://javadoc.rising-world.net/latest/net/risingworld/api/worldelements/package-summary.html net.risingworld.api.worldelements] | ||
| Enthält Klassen und Schnittstellen für die Definition und Verwaltung von Elementen in der Spielwelt | | Enthält Klassen und Schnittstellen für die Definition und Verwaltung von Elementen in der Spielwelt | ||
| | | [https://javadoc.rising-world.net/latest/net/risingworld/api/worldelements/Area3D.html Class; Area3D], [https://javadoc.rising-world.net/latest/net/risingworld/api/worldelements/Light.html Class; Light], [https://javadoc.rising-world.net/latest/net/risingworld/api/worldelements/Text3D.html Class; Text3D] <br/> ... | ||
|} | |} | ||
== 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: | |||
<syntaxhighlight lang="java"> | |||
import paketname.Klasse; | |||
</syntaxhighlight> | |||
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: | |||
<syntaxhighlight lang="java"> | |||
import net.risingworld.api.Plugin; | |||
import net.risingworld.api.objects.Player; | |||
</syntaxhighlight> | |||
Wenn man alle Klassen aus einem Paket importieren möchte, kann der *-Operator verwendet werden: | |||
<syntaxhighlight lang="java"> | |||
import paketname.*; | |||
</syntaxhighlight> | |||
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 == | == Siehe auch == | ||
* [https://javadoc.rising-world.net/latest/net/risingworld/api/package-summary.html JavaDoc RW: API | * [https://javadoc.rising-world.net/latest/net/risingworld/api/package-summary.html JavaDoc RW: API Packages summary] | ||
* [https://javadoc.rising-world.net/latest/ JavaDoc RW: API Packages Overview] | |||
* [[Plugin-Erstellung]] | * [[Plugin-Erstellung]] | ||
* [[:Kategorie:Java|Wiki Kategorie: "Java"]] | |||
* [[:Kategorie:Java-Codeschnipsel|Wiki Kategorie: "Java-Codeschnipsel"]] | |||
=== Forum === | |||
* [https://forum.rising-world.net/thread/12721-api-changelog-0-6-7/ Rising World Forum: API Changelog 0.6.7] | * [https://forum.rising-world.net/thread/12721-api-changelog-0-6-7/ Rising World Forum: API Changelog 0.6.7] | ||
* [https://forum.rising-world.net/thread/12494-update-0-6-5-plugin-api-de/ Rising World Forum: Update 0.6.5: Plugin API] | * [https://forum.rising-world.net/thread/12494-update-0-6-5-plugin-api-de/ Rising World Forum: Update 0.6.5: Plugin API] | ||
* [[: | * [https://forum.rising-world.net/thread/12493-getting-started/ Rising World Forum: Getting started] | ||
* [https://forum.rising-world.net/thread/4757-create-a-plugin/ Rising World Forum: Create a Plugin] | |||
=== Kategorien === | |||
{| style="margin:auto; width:100%;" class="nix_wikitable" | |||
|- style="vertical-align: top;" | |||
| style="width:50%" | '''Tutorial Kategorien''' | |||
<categorytree mode="categories" hideroot=off showcount=on>Plugin-API</categorytree> | |||
| style="width:50%" | '''Plugin-Erstellung''' | |||
<categorytree mode="categories" hideroot=off showcount=on>Plugin-Erstellung</categorytree> | |||
|} | |||
Aktuelle Version vom 1. November 2024, 11:25 Uhr
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.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
- JavaDoc RW: API Packages summary
- JavaDoc RW: API Packages Overview
- Plugin-Erstellung
- Wiki Kategorie: "Java"
- Wiki Kategorie: "Java-Codeschnipsel"
Forum
- Rising World Forum: API Changelog 0.6.7
- Rising World Forum: Update 0.6.5: Plugin API
- Rising World Forum: Getting started
- Rising World Forum: Create a Plugin
Kategorien
Tutorial Kategorien
Tutorial (2 S) |
Plugin-Erstellung
|