Heyho,
Wie einige es dem Titel schon entnommen haben möchte ich ein Warp Plugin programmieren, bis jetzt funktioniert auch alles jedoch liegt mein Problem beim /Warp Befehl, ich möchte das der Spieler "/Warp <Name>" macht und dann zum entsprechenden Warp teleportiert wird. Ich habe es so gemacht das beim "/Setwarp <Name>" Befehl auch noch der angegebene Name in der Config gespeichert wird, jetzt meine Frage wie kann ich die Argumente Abfragen, also ob die vom Spieler angegebenen Argumente ein Warpname ist und das er dann auch nur zum angegebenen Warp geportet wird.
- Hier der /Warp <Name> Befehl -
- Hier der /Setwarp <Name> Befehl -
So sieht btw die Config aus:
Warp:
Name: zTrouble // Der Name steht btw für den Warpnamen und nicht für den Spielernarmen welcher den Befehl ausgeführt hat, habe den Warp nur zufällig "zTrouble" // genannt
World: world
X: -269.77740578977756
Y: 72.0
Z: 299.02737219807324
Yaw: 264.93585
Pitch: -3.5627093
Wer helfen möchte bitte KEINEN fertigen Code senden sondern versuchen zu erklären wie ich es selbst machen kann, Verbesserungen zu meinem Code sind auch gern gesehen.
LG
zTrouble
Wie einige es dem Titel schon entnommen haben möchte ich ein Warp Plugin programmieren, bis jetzt funktioniert auch alles jedoch liegt mein Problem beim /Warp Befehl, ich möchte das der Spieler "/Warp <Name>" macht und dann zum entsprechenden Warp teleportiert wird. Ich habe es so gemacht das beim "/Setwarp <Name>" Befehl auch noch der angegebene Name in der Config gespeichert wird, jetzt meine Frage wie kann ich die Argumente Abfragen, also ob die vom Spieler angegebenen Argumente ein Warpname ist und das er dann auch nur zum angegebenen Warp geportet wird.
- Hier der /Warp <Name> Befehl -
/Warp:
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(sender instanceof Player) {
Player p = (Player) sender;
if(args.length == 1) {
FileConfiguration config = Main.getPlugin().getConfig();
World world = Bukkit.getWorld(config.getString("Warp.World"));
// Meine Idee wäre hier irgendwie etwas wie: Warpname warpname = config.getString(Warp.Name) oder so etwas zu machen, nächster Codeblock ist der
// /Setwarp Befehl
double X = config.getDouble("Warp.X");
double Y = config.getDouble("Warp.Y");
double Z = config.getDouble("Warp.Z");
float yaw = (float) config.getDouble("Warp.Yaw");
float pitch = (float) config.getDouble("Warp.Pitch");
Location location = new Location(world, X, Y, Z, yaw, pitch);
p.teleport(location);
p.sendMessage("§6§lInto§f§lbuild §8» §7Du wurdest zum §7Warp §a" + args[0] + " §7teleportiert");
} else {
p.sendMessage("§6§lInto§f§lbuild §8» §7Bitte benutze §6/warp <Name>§7, mit §6/warps §7kannst du alle Warps sehen");
}
}
return false;
}
}
- Hier der /Setwarp <Name> Befehl -
/Setwarp:
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(sender instanceof Player) {
Player p = (Player) sender;
PermissionUser user = Permission***.getUser(p);
if(user.has("warp.set")) {
if(args.length == 1) {
FileConfiguration config = Main.getPlugin().getConfig();
config.set("Warp.Name", args[0]);
config.set("Warp.World", p.getWorld().getName());
config.set("Warp.X", p.getLocation().getX());
config.set("Warp.Y", p.getLocation().getY());
config.set("Warp.Z", p.getLocation().getZ());
config.set("Warp.Yaw", p.getLocation().getYaw());
config.set("Warp.Pitch", p.getLocation().getPitch());
Main.getPlugin().saveConfig();
p.sendMessage("§6§lInto§f§lbuild §8» §7Du hast den Warp §a" + args[0] + " §7gesetzt");
} else {
p.sendMessage("§6§lInto§f§lbuild §8» §7Bitte benutze §6/warp <Name>");
}
}
}
return false;
}
}
So sieht btw die Config aus:
Warp:
Name: zTrouble // Der Name steht btw für den Warpnamen und nicht für den Spielernarmen welcher den Befehl ausgeführt hat, habe den Warp nur zufällig "zTrouble" // genannt
World: world
X: -269.77740578977756
Y: 72.0
Z: 299.02737219807324
Yaw: 264.93585
Pitch: -3.5627093
Wer helfen möchte bitte KEINEN fertigen Code senden sondern versuchen zu erklären wie ich es selbst machen kann, Verbesserungen zu meinem Code sind auch gern gesehen.
LG
zTrouble