Jump to content

Befehl wird nicht ausgeführt, sondern das usage ausgegeben


Typ
 Share

Recommended Posts

Hallo,

ich programmiere schon ein wenig länger Bukkit Plugins, dieses Problem hatte ich aber noch nie, und ich habe auch keine Ahnung, wie ich es lösen soll...

Das Problem ist folgendes: Und zwar wird, wenn ich den Befehl /Sklave eingebe, statt einen neuen Villager zu spawnen das usage, also in dem Fall </commands> in der Konsole ausgegeben.

Hier der Code:

// main.java

package main;

import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin{
	@Override
	public void onEnable(){
		
	}
	@Override
	public void onDisable(){
		
	}
	
	public void loadConfig(){
		getConfig().options().copyDefaults(true);
		saveConfig();
	}
	public void registerEvents(){

	}
	public void registerCommands(){
		CommandSlave cSlaveCommand = new CommandSlave(this);
		getCommand("sklave").setExecutor(cSlaveCommand);
	}
}
// Sklave.java

package main;

import java.lang.annotation.Target;

import org.bukkit.Location;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Villager;

public class Slave {
	// variables
	private Player p;
	private Location loc;
	private Target t;
	public String name;
	public static boolean slaveSpawnIsAvaible = true;	// Player can have one slave
	
	Villager slave;
	
	// constructors
	public Slave(Player p) {
		// variables
		this.p = p;
		loc = p.getLocation();
		t = (Target) p;
		
		// create new villager
		Villager slave  = (Villager) p.getWorld().spawnEntity(loc, EntityType.VILLAGER);
		slave.setCustomName("§3" + p.getName() +"'s Sklave");
		slave.setCustomNameVisible(true);
		slave.setTarget((LivingEntity) t);
		// player is not allowed to create one more slave
		slaveSpawnIsAvaible = false;
		
		p.sendMessage("§2Ein Villager wurde erfolgreich versklavt!");
	}
	public Slave(Player p, String name) {
		// variables
		this.p = p;
		this.name = name;
		loc = p.getLocation();
		t = (Target) p;
		
		// create new villager
		slave  = (Villager) p.getWorld().spawnEntity(loc, EntityType.VILLAGER);
		slave.setCustomName(this.name);
		slave.setCustomNameVisible(true);
		slave.setTarget((LivingEntity) t);
		// player is not allowed to create one more slave
		slaveSpawnIsAvaible = false;
		
		p.sendMessage("§2Ein Villager wurde erfolgreich versklavt!");
	}

	// settings
	public void setTarget(Target t) {		// change target
		this.t= t;
		slave.setTarget((LivingEntity) t);
	}
}
// CommandSklave.java

package main;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class CommandSlave implements CommandExecutor {

	// variables
	private main plugin;

	// constructor
	public CommandSlave(main plugin) {
		this.plugin = plugin;
	}

	// methods
	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		Player p = (Player) sender;
		
		// create new slave
		// check, how many arguments the command has
		if(args.length == 0) {
			Slave cSlave = new Slave(p);
		}
		if(args.length == 1) {
			String name = args[0];
			Slave cSlave = new Slave(p, name);
		}
		return true;
	}

}
name: BewerbungsPlugin
author: OPT_developer
version: 1.0
main: main.main
commands:
     sklave:
          description: Spawnt neuen Sklaven
          usage: </commands>

 

Ich hab zusätzlich noch alles zusammen angehängt.

Ich hoffe, dass mir jemand helfen kann, da es darüber entscheidet, ob ich Dev bei einem Server werde, oder nicht.

 

Gruß

Typ

 

P.S. wieso gibt es in einem Minecraftforum kein Syntax-Highlighting für Java?

BewerbungsPlugin.zip

Link to comment
Share on other sites

  • 2 months later...
  • 7 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B