• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Fehler bei starten

combo

Miner
Registriert
16 Juli 2012
Beiträge
175
Diamanten
0
Minecraft
combo5
Hallo,
Ich habe angefangen ein Plugin zu Programmieren!
Ich nutze die Entwicklungsumgebung Eclipse!
Fehler: Wenn ich das Plugin exportiert habe und den server starte ist das Plugin nicht im serverLog es wir nichts zu diesem Programm angezeigt!
Programiercode:
Code:
package me.combo5.CodMC;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class CodMC extends JavaPlugin {

	@Override
	public void onEnable() {
		System.out.println("CodMC ist gestartet!");
		System.out.println("CodMC Devlooper: combo5!");
	}


	public final  boolean onCommand(CommandSender sender,Command cmd, String cmdlabel, String[] args) {
	   boolean Test = false;


	Player p = (Player)sender;


	if(cmd.getName().equalsIgnoreCase("test")) {
		if(args.length == 0){
			p.sendMessage(ChatColor.RED + "CodMC:" + ChatColor.WHITE + "Test erfolgreich!"); 
			
		}
			
			Test = false;

		  }

	return Test;

	}

	public void OnDisable() {
		System.out.println(ChatColor.RED + "CodMC:" + ChatColor.WHITE + "schaltet sich aus");
		
	}
	}
Plugin.yml:
Code:
name: CodMC
main: me.combo.C-o-d-MC.CodMC
version: 1.5.2

Ich hoffe ihr könnt mir helfen
 
C

Chrisliebaer

Guest
1. Verwende den Bukkit Logger
http://wiki.bukkit.org/Plugin_Tutorial#Logging_a_message

2. Formatier deinen Code ordentlich (Strg + Shift + F hilft dir dabei)

3. Lern bitte nicht bei DeBukkit

Wenn du das gemacht hast, kannst du dein Post updaten mit dem formatieren Code und dann sehen wir auch, ob die Nachricht nicht vielleicht doch kommt.

Edit: Und poste bitte das vollständige Serverlog. Vielleicht steht da ja doch ein Fehler, warum das Plugin nicht geladen werden konnte.
 
G

games6471

Guest
Package + Klassenname:

me.combo5.CodMC.CodMC

Außerdem definierst du eine neue OnDisable Methode und überschreibst nicht die von der Oberklasse.

Auch die Java Konventionen sollten beachtetet werden:

Package names are written in all lower case to avoid conflict with the names of classes or interfaces.
 
Zuletzt bearbeitet von einem Moderator:

combo

Miner
Registriert
16 Juli 2012
Beiträge
175
Diamanten
0
Minecraft
combo5
Habs jetzt beides abgeändert

Java-Code:
Code:
package me.combo5.CodMC;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class CodMC extends JavaPlugin {

	@Override
	public void onEnable() {
		getLogger().info("Enable");
		
	}


	public final  boolean onCommand(CommandSender sender,Command cmd, String cmdlabel, String[] args) {
	   boolean Test = false;


	Player p = (Player)sender;


	if(cmd.getName().equalsIgnoreCase("test")) {
		if(args.length == 0){
			p.sendMessage(ChatColor.RED + "CodMC:" + ChatColor.WHITE + "Test erfolgreich!"); 
			
		}
			
			Test = false;

		  }

	return Test;

	}

	public void OnDisable() {
		getLogger().info("disable");
		
	}
		public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
			if(cmd.getName().equalsIgnoreCase("test")){ // If the player typed /basic then do the following...
				// doSomething
				return true;
			} else if (cmd.getName().equalsIgnoreCase("test 2")) {
				if (!(sender instanceof Player)) {
					sender.sendMessage("Test erfolgreich.");
				} else {
					Player player = (Player) sender;
					// do something
				}
				return true;
			}
			return false;
		}
			} //If this has happened the function will return true. 
		        // If this hasn't happened the a value of false will be returned.
			return false; 
			
			public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
			    if(cmd.getName().equalsIgnoreCase("codmc Killall")){
			        Player target = sender.getServer().getPlayer(args[0]);
			        target.setHealth(0); 
			    }
			    return false;
			}
		
	}
	}

Plugin.yml:

Code:
name: CodMC
main: me.combo.CodMC.CodMC
version: 1.5.2
commands:
   basic:
      description: Plugin test command
      usage: /<command> [player]
      permission: CodMC.test
      permission-message: Du darfst nicht  <permission>
permissions:
    CodMC.*:
        description: Alle Cod befehle
        children:
            codmc.test: true
            codmc.test2: true
            codmc.vote: true
            codmc.killall: false
    codmc.test:
        description: Test
        default: op
    codmc.test2:
        description: test2
        default: op
    codmc.vote:
        description: vote
        default: true
    codmc.killall:
        description: Killall
 
G

games6471

Guest
Ich gebe mal nur die Hinweise drauf.

Du hast drei onCommand Methoden

OnDisable überschreibt immer noch nicht von der Oberklasse. (Das O ist gross, aber muss klein sein)

Deine Klammern sind falsch gesetzt.

EDIT: Und der Code ist immer noch nicht formatiert worden.
 
Oben