Und zwar habe ich bei meinem Plugin das Problem, dass sich die config.yml immer automatisch leert!
Hier der Code von dem Plugin:
Code:
package tk.bukkit.gorok;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Gorok extends JavaPlugin {
public void onEnable()
{
loadConfig();
}
public void onDisable()
{
saveConfig();
}
@Override
public boolean onCommand(CommandSender sender, Command cmd,
String label, String[] args) {
Player p=null;
//Umwandlung Sender --> Player
if(sender instanceof Player)
{
p = (Player) sender;
}
FileConfiguration cfg=this.getConfig();
if(cmd.getName().equalsIgnoreCase("lobby"))
{
if(p!=null&&p.hasPermission("gorok.lobby"))
{
float x=cfg.getInt("lobby.x");
float y=cfg.getInt("lobby.y");
float z=cfg.getInt("lobby.z");
World welt = p.getWorld();
Location ziel = new Location(welt, x,y,z);
p.teleport(ziel);
return true;
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("leave"))
{
if(p!=null&&p.hasPermission("gorok.leave"))
{
float x=cfg.getInt("leave.x");
float y=cfg.getInt("leave.y");
float z=cfg.getInt("leave.z");
World welt = p.getWorld();
Location ziel = new Location(welt, x,y,z);
p.teleport(ziel);
return true;
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("hub"))
{
if(p!=null&&p.hasPermission("gorok.hub"))
{
float x=cfg.getInt("hub.x");
float y=cfg.getInt("hub.y");
float z=cfg.getInt("hub.z");
World welt = p.getWorld();
Location ziel = new Location(welt, x,y,z);
p.teleport(ziel);
return true;
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("setlobby"))
{
if(p!=null&&p.hasPermission("gorok.setlobby"))
{
if(args.length==3)
{
float x = Float.parseFloat(args[0]);
float y = Float.parseFloat(args[1]);
float z = Float.parseFloat(args[2]);
p.sendMessage("x="+x+", y="+y+", z="+z);
getConfig().set("lobby.x", x);
getConfig().set("lobby.y", y);
getConfig().set("lobby.z", z);
saveConfig();
p.sendMessage("Lobby-Point gesetzt!");
saveConfig();
return true;
}
else
{
p.sendMessage("/setlobby <x> <y> <z>");
return true;
}
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("sethub"))
{
if(p!=null&&p.hasPermission("gorok.sethub"))
{
if(args.length==3)
{
float x = Float.parseFloat(args[0]);
float y = Float.parseFloat(args[1]);
float z = Float.parseFloat(args[2]);
p.sendMessage("x="+x+", y="+y+", z="+z);
getConfig().set("hub.x", x);
getConfig().set("hub.y", y);
getConfig().set("hub.z", z);
saveConfig();
p.sendMessage("Hub-Point gesetzt!");
this.saveConfig();
return true;
}
else
{
p.sendMessage("/sethub <x> <y> <z>");
return true;
}
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("setleave"))
{
if(p!=null&&p.hasPermission("gorok.setleave"))
{
if(args.length==3)
{
float x = Float.parseFloat(args[0]);
float y = Float.parseFloat(args[1]);
float z = Float.parseFloat(args[2]);
p.sendMessage("x="+x+", y="+y+", z="+z);
getConfig().set("leave.x", x);
getConfig().set("leave.y", y);
getConfig().set("leave.z", z);
saveConfig();
p.sendMessage("Leave-Point gesetzt!");
this.saveConfig();
return true;
}
else
{
p.sendMessage("/setleave <x> <y> <z>");
return true;
}
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("setpaintball"))
{
if(p!=null&&p.hasPermission("gorok.setpaintball"))
{
if(args.length==3)
{
float x = Float.parseFloat(args[0]);
float y = Float.parseFloat(args[1]);
float z = Float.parseFloat(args[2]);
p.sendMessage("x="+x+", y="+y+", z="+z);
getConfig().set("paintball.x", x);
getConfig().set("paintball.y", y);
getConfig().set("paintball.z", z);
saveConfig();
p.sendMessage("Paintball-Point gesetzt!");
this.saveConfig();
return true;
}
else
{
p.sendMessage("/setpaintball <x> <y> <z>");
return true;
}
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("setsplegg"))
{
if(p!=null&&p.hasPermission("gorok.setsplegg"))
{
if(args.length==3)
{
float x = Float.parseFloat(args[0]);
float y = Float.parseFloat(args[1]);
float z = Float.parseFloat(args[2]);
p.sendMessage("x="+x+", y="+y+", z="+z);
getConfig().set("splegg.x", x);
getConfig().set("splegg.y", y);
getConfig().set("splegg.z", z);
saveConfig();
p.sendMessage("Splegg-Point gesetzt!");
this.saveConfig();
return true;
}
else
{
p.sendMessage("/setsplegg <x> <y> <z>");
return true;
}
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("setspeedbattle"))
{
if(p!=null&&p.hasPermission("gorok.setspeedbattle"))
{
if(args.length==3)
{
float x = Float.parseFloat(args[0]);
float y = Float.parseFloat(args[1]);
float z = Float.parseFloat(args[2]);
p.sendMessage("x="+x+", y="+y+", z="+z);
getConfig().set("speedbattle.x", x);
getConfig().set("speedbattle.y", y);
getConfig().set("speedbattle.z", z);
saveConfig();
p.sendMessage("Speedbattle-Point gesetzt!");
this.saveConfig();
return true;
}
else
{
p.sendMessage("/setsplegg <x> <y> <z>");
return true;
}
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("paintball"))
{
if(p!=null&&p.hasPermission("gorok.paintball"))
{
float x=cfg.getInt("paintball.x");
float y=cfg.getInt("paintball.y");
float z=cfg.getInt("paintball.z");
World welt = p.getWorld();
Location ziel = new Location(welt, x,y,z);
p.teleport(ziel);
return true;
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("splegg"))
{
if(p!=null&&p.hasPermission("gorok.splegg"))
{
float x=cfg.getInt("splegg.x");
float y=cfg.getInt("splegg.y");
float z=cfg.getInt("splegg.z");
World welt = p.getWorld();
Location ziel = new Location(welt, x,y,z);
p.teleport(ziel);
return true;
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
if(cmd.getName().equalsIgnoreCase("speedbattle"))
{
if(p!=null&&p.hasPermission("gorok.speedbattle"))
{
float x=cfg.getInt("speedbattle.x");
float y=cfg.getInt("speedbattle.y");
float z=cfg.getInt("speedbattle.z");
World welt = p.getWorld();
Location ziel = new Location(welt, x,y,z);
p.teleport(ziel);
return true;
}
else
{
sender.sendMessage("Du hast keine Rechte oder der Befehl ist nur In-Game verfügbar");
return true;
}
}
return false;
}
public void loadConfig()
{
this.getConfig().options().copyDefaults();
this.saveConfig();
}
}
Code:
lobby: x: 0 y: 0 z: 0 leave: x: 0 y: 0 z: 0 hub: x: 0 y: 0 z: 0 paintball: x: 0 y: 0 z: 0 splegg: x: 0 y: 0 z: 0 speedbattle: x: 0 y: 0 z: 0
Code:
name: Gorok
main: tk.bukkit.gorok.Gorok
version: 1.0
author: Stjubit
commands:
lobby:
usage: /lobby
description: Teleportiert dich zur Lobby
permission: gorok.lobby
leave:
usage: /leave
description: Verlaesst das Spiel und teleportiert dich zum Spawn
permission: gorok.leave
hub:
usage: /hub
description: Teleportiert dich zum Hub
permission: gorok.hub
paintball:
usage: /paintball
description: Teleportiert dich zum Paintball
permission: gorok.paintball
splegg:
usage: /splegg
description: Teleportiert dich zum Splegg
permission: gorok.splegg
speedbattle:
usage: /speedbattle
description: Teleportiert dich zum Speedbattle
permission: gorok.speedbattle
setlobby:
usage: /setlobby <x> <y> <z>
description: Setzt den Punkt fuer /lobby
permission: gorok.setlobby
sethub:
usage: /sethub <x> <y> <z>
description: Setzt den Punkt fuer /hub
permission: gorok.sethub
setleave:
usage: /setleave <x> <y> <z>
description: Setzt den Punkt fuer /leave
permission: gorok.setleave
setpaintball:
usage: /setpaintball <x> <y> <z>
description: Setzt den Punkt fuer /paintball
permission: gorok.setpaintball
setsplegg:
usage: /setsplegg <x> <y> <z>
description: Setzt den Punkt fuer /splegg
permission: gorok.setsplegg
setspeedbattle:
usage: /setspeedbattle <x> <y> <z>
description: Setzt den Punkt fuer /speedbattle
permission: gorok.setspeedbattle
permissions:
gorok.*:
description: Alle Commands zu Gorok
children:
gorok.lobby: true
gorok.leave: true
gorok.hub: true
gorok.paintball: true
gorok.speedbattle: true
gorok.splegg: true
gorok.setlobby: true
gorok.setleave: true
gorok.sethub: true
gorok.setpaintball: true
gorok.setspeedbattle: true
gorok.setsplegg: true
gorok.standard:
description: Normale Commands wie /lobby
children:
gorok.lobby: true
gorok.leave: true
gorok.hub: true
gorok.paintball: true
gorok.speedbattle: true
gorok.splegg: true
gorok.setlobby: false
gorok.setleave: false
gorok.sethub: false
gorok.setpaintball: false
gorok.setspeedbattle: false
gorok.setsplegg: false
Mfg,
Stjubit






