Plugin-Erstellung/Java/SoundAsset: Unterschied zwischen den Versionen

Aus Rising World Wiki
 
(6 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/>
Zeile 4: Zeile 7:


Erstellt ein SoundAsset und spielt es für jeden Spieler nach dem Beitritt ab. <br/>
Erstellt ein SoundAsset und spielt es für jeden Spieler nach dem Beitritt ab. <br/>
Die Klasse '''MyPlugin''' erbt von  '''Plugin'''.
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 47: Zeile 56:
* [[: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

Kategorien

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