Plugin-Erstellung/Java/Plugin-API Paket: Unterschied zwischen den Versionen

Aus Rising World Wiki
(Die Seite wurde neu angelegt: „{{Seite in Bearbeitung}} 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. == Siehe auch == * [https://javadoc.r…“)
 
 
(21 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Seite in Bearbeitung}}
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.
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. <br/>
Im Folgenden geben wir einen Überblick über die Hauptpakete der Rising World Plugin-API:
{| class="wikitable sortable"  style="margin-left:1px;"
|-
! Paket Namensraum
! style="min-width:195px;" | Beschreibung
! style="max-width:320px;" | Beispiel<br/> Unterpakete, Klassen, Interface
|-
| [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.
| 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]
| Enthält Klassen und Schnittstellen für die Verwaltung von Spielressourcen wie AssetBundle, ModelAsset, SoundAsset usw.
| [https://javadoc.rising-world.net/latest/net/risingworld/api/assets/AssetBundle.html Class: AssetBundle]
|-
| [https://javadoc.rising-world.net/latest/net/risingworld/api/callbacks/package-summary.html net.risingworld.api.callbacks]
| Enthält Klassen und Schnittstellen für Rückruffunktionen, die bei bestimmten Ereignissen im Spiel aufgerufen werden.
| [https://javadoc.rising-world.net/latest/net/risingworld/api/callbacks/Callback.html public interface Callback<T>]
|-
| 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.
| [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/> ...
|-
| [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.
| [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/> ...
|-
| [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, Kleidung, Blöcken, Items, Pflanzen, Wetter usw.
|
|-
| [https://javadoc.rising-world.net/latest/net/risingworld/api/events/package-summary.html net.risingworld.api.events]
| 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/>...
|-
| [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, Vehicle usw.
|
|-
| [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.
| [https://javadoc.rising-world.net/latest/net/risingworld/api/sounds/Sound.html Class: Sound] <br/> ...
|-
| [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
| [https://javadoc.rising-world.net/latest/net/risingworld/api/ui/UIElement.html Class: UIElement] <br/> ...
|-
| [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.
| [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/> ...
|-
| [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.
| [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/> ...
|-
| [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
| [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 Package summary]
* [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]
* [[:Kategorie:Java|Wiki Kategorie: "Java"]]
* [https://forum.rising-world.net/thread/12493-getting-started/ Rising World Forum: Getting started]
* [[:Kategorie:Java-Codeschnipsel|Wiki Kategorie: "Java-Codeschnipsel"]]
* [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.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

Forum

Kategorien

Tutorial Kategorien
Plugin-API(1 K, 5 S)
Tutorial(2 S)
Plugin-Erstellung
Java(2 K, 6 S)
Unity(3 S)