Plugin-Erstellung/Java/SoundAsset: Unterschied zwischen den Versionen
Aus Rising World Wiki
K (Link zu Wiki Kategorie hinzugefügt) |
|||
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{DISPLAYTITLE:{{SUBPAGENAME}}}} | |||
{{SUBPAGENAME}} | |||
Stellt eine benutzerdefinierte Audiodatei dar (dies kann entweder ein Soundeffekt oder ein Musiktitel sein). | Stellt eine benutzerdefinierte Audiodatei dar (dies kann entweder ein Soundeffekt oder ein Musiktitel sein). | ||
<br/> | <br/> | ||
Unterstützte Dateiformate: ogg, mp2, mp3, midi/mid, wav, flac | Unterstützte Dateiformate: ogg, mp2, mp3, midi/mid, wav, flac | ||
Erstellt ein SoundAsset und spielt es für jeden Spieler nach dem Beitritt ab. | Erstellt ein SoundAsset und spielt es für jeden Spieler nach dem Beitritt ab. <br/> | ||
Die Klasse '''MyPlugin''' erbt von '''[https://javadoc.rising-world.net/latest/net/risingworld/api/Plugin.html Plugin]'''. | |||
<syntaxhighlight lang="java" line start="1"> | <syntaxhighlight lang="java" line start="1"> | ||
import net.risingworld.api.Plugin; | |||
import net.risingworld.api.events.EventMethod; | |||
import net.risingworld.api.events.Listener; | |||
import net.risingworld.api.assets.SoundAsset; | |||
import net.risingworld.api.objects.Player; | |||
public class MyPlugin extends Plugin implements Listener | public class MyPlugin extends Plugin implements Listener | ||
{ | { | ||
Zeile 35: | Zeile 45: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Methoden der Oberklasse == | |||
Unsere Klasse erbt von der '''[https://javadoc.rising-world.net/latest/net/risingworld/api/Plugin.html Plugin]''' Oberklasse die zu API gehört. <br/> | |||
Die Methode <code>onEnable() </code> wird aufgerufen, wenn das Plugin aktiviert wird. Zu diesem Zeitpunkt sind alle anderen Plugins bereits geladen. | |||
Die Methode <code>onDisable() </code> wird aufgerufen, wenn das Plugin deaktiviert und entladen wird. | |||
== Java Override Annotation == | |||
Mit der Java <code> @Override </code> Annotation können wir dem Compiler mitteilen das wir absichtlich die Methode der '''[https://javadoc.rising-world.net/latest/net/risingworld/api/Plugin.html Plugin]''' Oberklasse überschreiben wollen. | |||
== Siehe auch == | == Siehe auch == | ||
* [[:Kategorie:Java|Wiki Kategorie: "Java"]] | * [[:Kategorie:Java|Wiki Kategorie: "Java"]] | ||
* [https://javadoc.rising-world.net/latest/net/risingworld/api/assets/SoundAsset.html javadoc RW: Class SoundAsset] | * [https://javadoc.rising-world.net/latest/net/risingworld/api/assets/SoundAsset.html javadoc RW: Class SoundAsset] | ||
=== Forum === | |||
* [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] | |||
* [https://forum.rising-world.net/thread/12581-code-schnipsel/ Rising World Forum: Code Schnipsel] | * [https://forum.rising-world.net/thread/12581-code-schnipsel/ Rising World Forum: Code Schnipsel] | ||
=== 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> | |||
|} | |||
[[Kategorie:Java-Codeschnipsel]] | [[Kategorie:Plugin-API|SoundAsset]] | ||
[[Kategorie:Java-Codeschnipsel|SoundAsset]] |
Aktuelle Version vom 1. November 2024, 11:20 Uhr
SoundAsset
Stellt eine benutzerdefinierte Audiodatei dar (dies kann entweder ein Soundeffekt oder ein Musiktitel sein).
Unterstützte Dateiformate: ogg, mp2, mp3, midi/mid, wav, flac
Erstellt ein SoundAsset und spielt es für jeden Spieler nach dem Beitritt ab.
Die Klasse MyPlugin erbt von Plugin.
import net.risingworld.api.Plugin;
import net.risingworld.api.events.EventMethod;
import net.risingworld.api.events.Listener;
import net.risingworld.api.assets.SoundAsset;
import net.risingworld.api.objects.Player;
public class MyPlugin extends Plugin implements Listener
{
//Our reusable sound asset
public SoundAsset welcomeSound;
@Override
public void onEnable()
{
//Create a SoundAsset once and reuse it for every player (not necessary)
welcomeSound = SoundAsset.loadFromFile(getPath() + "/welcome.ogg");
//Remember to register the event listener
registerEventListener(this);
}
@Override
public void onDisable()
{
//...
}
@EventMethod
public void onPlayerSpawn(PlayerSpawnEvent event)
{
Player player = event.getPlayer();
player.playSound(welcomeSound, player.getPosition());
}
}
Methoden der Oberklasse
Unsere Klasse erbt von der Plugin Oberklasse die zu API gehört.
Die Methode onEnable()
wird aufgerufen, wenn das Plugin aktiviert wird. Zu diesem Zeitpunkt sind alle anderen Plugins bereits geladen.
Die Methode onDisable()
wird aufgerufen, wenn das Plugin deaktiviert und entladen wird.
Java Override Annotation
Mit der Java @Override
Annotation können wir dem Compiler mitteilen das wir absichtlich die Methode der Plugin Oberklasse überschreiben wollen.
Siehe auch
Forum
- Rising World Forum: Getting started
- Rising World Forum: Create a Plugin
- Rising World Forum: Code Schnipsel
Kategorien
Tutorial Kategorien
Tutorial (2 S) |
Plugin-Erstellung
|