Frage von gerlochi, 41

Warum läd das Plugin nicht?

Hallo, es gibt ein kleines Problem, ich wollte (ganz einfach) ein Plugin erschaffen das den Spieler beim Joinen auf GM 0 setzt... Der Syntax ist (meiner meinung nach) richtig :

package de.armised.main;  

import org.bukkit.ChatColor;  
import org.bukkit.GameMode;
import org.bukkit.entity.Player; 
import org.bukkit.event.EventHandler;  
import org.bukkit.event.Listener;  
import org.bukkit.event.player.PlayerJoinEvent;  
import org.bukkit.plugin.java.JavaPlugin;  

class GM0 extends JavaPlugin implements Listener  
{
    @Override  
    public void onEnable() {  
    
    this.getServer().getPluginManager().registerEvents(this, this);  
    System.out.println("GM0 hat erfolgreich geladen!");  
    super.onEnable();
}

@Override
public void onDisable()
{
    System.out.println("GM0 wurde erfolgreich deaktiviert!");
}

@EventHandler
public static void onJoin(PlayerJoinEvent e)
{
    Player p = e.getPlayer();
    e.setJoinMessage("§0["+"§a+"+"§0]§b " + p.getDisplayName());
    p.setGameMode(GameMode.SURVIVAL);
}


}

Was könnte der Fehler sein?

PS: Bevor jemand sagt - "Quelltext läd man auf Pastebin hoch!" - der Text ist so klein da sieht auch jeder ohne Quelltexthervorhebung durch.

Antwort
von ArianoKoslowski, 4

Hay,

ich geb mir müge dir zu helfen:

1. super.onEnable(); entfernen. Das brauchst du nicht.

2. Das 'static' in bei dem Event entfernen ('public static void onJoin' zu 'public void onJoin'

3. Benutze lieber die Java version 1.6 . Die version 1.7 und 1.8 wird von dem meisten Servern nicht geladen. Hab viel Erfahrung damit machen dürfen. Due änderst die Version so:

  I. Das Projekt aufklappen

  II. Rechtsklick auf 'JRE System Library [JavaSE 1.8(oder JavaSE 1.7)'

  III. -> Properties

  III. Beim 'Execution enviroment:' Stellst du das, was daneben, rechst, ist, um auf 'JavaSE-1.6 ...'

  IIII. 'OK'

4. Schaue ob du die 'plugin.yml' Datei direkt im 'src' Ordner vom Projekt abgespeichert hast

5. Schaue ob du in der 'plugin.yml' Datei ein Sonderzeichen(ä,ö,ü, etc) zu stehen hast.

6. Schaue ob du die Mainklasse richtig registriert hast in der 'plugin.yml'

Meine 'plugin.yml' Datein sehen meist so aus:

   name: TestPlugin

   author: xXFreakDevxX

   version: 1.0

   main: me.xxfreakdevxx.de.testplugin.TestKlasse

   commands:

   testcommand:

     description: Das ist ein Testcommand

Wenn du diese 6 Schritte positiv beschreitest, müsste es eigentlich klappen mit deinem Plugin.

Ich hoffe ich konnte dir helfen, auch wenn es etwas spät ist ^^ :)

Kommentar von gerlochi ,

Danke, aber warum schreiben das alle 2016 :D!? Ich meine Ja nur, habe inzwischen viel gelernt und hab damit begonnen meine eigene Programiersprwche zu schreiben, von daher nützt mir das jetzt nicht mehr so viel. Plugins schreib ich gar nicht mehr, was sich so alles in einem Jahr ändert :D. Trotzdem vielen dank!

Kommentar von leumasme ,

xD

Antwort
von itzr3ckt, 19

Hey!

1. mach mal das "super.enable();" weg. Das bringt garnix. :D
Ich würde dich dann noch bitten, deine Plugin.yml Datei hier irgendwo rein zu senden.

Lg

Kommentar von gerlochi ,

Ist leider etwas zu spät, ich mach aber immer was in der YML falsch :D. Außerdem wende ich mich jetzt eher C++ und C# zu, trotzdem danke ;)

Kommentar von itzr3ckt ,

Bitte gern. ;)

Antwort
von TopicsLP, 41

Ich bin kein experte aber warum ist deine JoinEvent methode statisch ("static") ich sehe darin keinen nutzen mach das weg vllt funktioniert es dann.

Kommentar von gerlochi ,

Ich kann es versuchen.

Antwort
von Lexus1997, 34

Scheint das Plugin denn auf wenn du /plugins machst?


Kommentar von gerlochi ,

Nein

Kommentar von Lexus1997 ,

Nunja, dann kann dein Code da oben durchaus richtig sein, wirft der Server denn irgendwelche Errors?
Spontan fallen mir diese Fehler ein:

  • Plugin.jar falsch plaziert
  • fehler in der plugin.yml --> ziemlich wahrscheinlich

poste doch mal die plugin.yml und wo diese liegt

Keine passende Antwort gefunden?

Fragen Sie die Community