2019-06-11 07:05:05 +02:00
|
|
|
package de.steamwar.bausystem.commands;
|
2019-03-27 13:27:05 +01:00
|
|
|
|
|
|
|
public class CommandBau {
|
|
|
|
|
2019-06-11 07:05:05 +02:00
|
|
|
//TODO: Move to BungeeCore
|
|
|
|
|
|
|
|
/*
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau", aliases = {"bau.help", "gs", "gs.help"}, inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onHelp(CommandArgs args) {
|
|
|
|
Player p = args.getPlayer();
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "Hilfeseite 1 von 2:");
|
|
|
|
p.sendMessage("§6/bau help §7- Zeigt dir diese Hilfe");
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6/bau help 2 §7- Zeigt dir die Hilfe zum Member-System");
|
|
|
|
p.sendMessage("§6/home §7- Teleportiert dich auf deine Welt");
|
|
|
|
p.sendMessage("§6/tnt §7- (de)aktiviert Explosionsschaden");
|
|
|
|
p.sendMessage("§6/fire §7- (de)aktiviert Feuerschaden");
|
|
|
|
p.sendMessage("§6/testblock §7- Erneuert den nächsten Testblock");
|
|
|
|
p.sendMessage("§6/reset §7- Setzt die derzeitige Region zurück");
|
2019-03-27 13:27:05 +01:00
|
|
|
p.sendMessage("§6/bau resetall §7- Setzt deine Welt zurück");
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6/speed §7- Ändert deine Fluggeschwindigkeit");
|
|
|
|
p.sendMessage("§6/nv §7- (de)aktiviert Nachtsicht");
|
|
|
|
p.sendMessage("§6/trace §7- Gibt einen Überblick über den TNT-Tracer");
|
2019-03-27 18:19:32 +01:00
|
|
|
//p.sendMessage("§6/bau gui §7- Öffnet eine GUI");
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.help.2", aliases = {"gs.help.2", "bau.2", "gs.2"}, inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onHelp2(CommandArgs args) {
|
|
|
|
Player p = args.getPlayer();
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "Hilfeseite 2 von 2:");
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6/bau addmember §7- Fügt zu deiner Welt einen Spieler hinzu");
|
|
|
|
p.sendMessage("§6/bau delmember §7- Entfernt einen Spieler von deiner Welt");
|
|
|
|
p.sendMessage("§6/bau togglebuild §7- Berechtigung zum Bauen, Spielmodus wechseln, /tp");
|
|
|
|
p.sendMessage("§6/bau togglewe §7- Berechtigung für: WorldEdit, /bau replace, /bau testblock");
|
|
|
|
p.sendMessage("§6/bau toggleworld §7- Berechtigung für: /bau reset, /trace, /fire, /tnt");
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.home", aliases = {"gs.home", "home"}, inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onHome(CommandArgs args) {
|
|
|
|
Player p = args.getPlayer();
|
|
|
|
if (Bauwelt.getBauwelt(p.getUniqueId()) == null) {
|
|
|
|
new Bauwelt(p.getUniqueId(), false, false);
|
|
|
|
}
|
2019-04-20 19:39:15 +02:00
|
|
|
if (Bukkit.getWorld(p.getUniqueId().toString()) == null){
|
2019-03-27 13:27:05 +01:00
|
|
|
p.sendMessage(BauSystem.PREFIX + "§aEinen Moment bitte... Deine Welt wird vorbereitet");
|
|
|
|
try {
|
|
|
|
BauWorld.loadWorld(p.getUniqueId());
|
|
|
|
} catch (IOException e) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cBeim Laden der Welt ist ein Fehler aufgetreten");
|
|
|
|
e.printStackTrace();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
2019-04-20 19:39:15 +02:00
|
|
|
|
2019-03-27 13:27:05 +01:00
|
|
|
p.teleport(Bukkit.getWorld(p.getUniqueId().toString()).getSpawnLocation());
|
|
|
|
Bukkit.getScheduler().scheduleSyncDelayedTask(BauSystem.getInstance(), () -> p.setGameMode(GameMode.CREATIVE),20L);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Command(name = "bau.tp", aliases = "gs.tp", inGameOnly = true)
|
|
|
|
public void onTp(CommandArgs args) {
|
|
|
|
Player p = args.getPlayer();
|
|
|
|
if (args.length() == 0) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "/bau tp <Spieler>");
|
|
|
|
return;
|
|
|
|
}
|
2019-04-20 19:39:15 +02:00
|
|
|
|
|
|
|
UUID worldOwner = WarkingUser.get(args.getArgs(0)).getUUID();
|
|
|
|
if (!BauWorld.hasPermission(worldOwner, p, Permission.member)){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDu darfst dich nicht auf diese Welt teleportieren");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
if (Bukkit.getWorld(worldOwner.toString()) == null){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§aEinen Moment bitte... Die Welt wird vorbereitet");
|
2019-03-27 13:27:05 +01:00
|
|
|
try {
|
2019-04-20 19:39:15 +02:00
|
|
|
BauWorld.loadWorld(worldOwner);
|
2019-03-27 13:27:05 +01:00
|
|
|
} catch (IOException e) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cBeim Laden der Welt ist ein Fehler aufgetreten");
|
|
|
|
e.printStackTrace();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
p.teleport(Bukkit.getWorld(worldOwner.toString()).getSpawnLocation());
|
2019-03-27 13:27:05 +01:00
|
|
|
Bukkit.getScheduler().scheduleSyncDelayedTask(BauSystem.getInstance(), () -> p.setGameMode(GameMode.CREATIVE), 20);
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.addmember", aliases = "gs.addmember", inGameOnly = true)
|
|
|
|
public void onAdd(CommandArgs args) {
|
2019-03-27 13:27:05 +01:00
|
|
|
Player p = args.getPlayer();
|
2019-04-20 19:39:15 +02:00
|
|
|
if (!hasWorld(p)){
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}else if (args.length() == 0) {
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage(BauSystem.PREFIX + "/bau addmember <Spieler>");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
UUID id = WarkingUser.get(args.getArgs(0)).getUUID();
|
|
|
|
if (id == null) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cUnbekannter Spieler");
|
|
|
|
return;
|
2019-04-20 19:39:15 +02:00
|
|
|
}else if (BauweltMember.getBauMember(p.getUniqueId(), id) != null) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDieser Spieler ist bereits Mitglied auf deiner Welt");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
2019-04-20 19:39:15 +02:00
|
|
|
|
|
|
|
new BauweltMember(p.getUniqueId(), id, true, false, false, false, false);
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§aDer Spieler wurde zu deiner Welt hinzugefügt");
|
|
|
|
|
|
|
|
Player z = Bukkit.getPlayer(id);
|
|
|
|
if(z != null)
|
|
|
|
z.sendMessage(BauSystem.PREFIX + "§aDu wurdest zu der Welt von §6" + p.getName() + " §ahinzugefügt");
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.delmember", aliases = "gs.delmember", inGameOnly = true)
|
|
|
|
public void onDel(CommandArgs args) {
|
2019-03-27 13:27:05 +01:00
|
|
|
Player p = args.getPlayer();
|
2019-04-20 19:39:15 +02:00
|
|
|
if (args.length() == 0) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "/bau delmember <Spieler>");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
UUID id = WarkingUser.get(args.getArgs(0)).getUUID();
|
2019-04-20 19:39:15 +02:00
|
|
|
if(!toggleCheck(args, p, id)){
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
BauweltMember target = BauweltMember.getBauMember(p.getUniqueId(), id);
|
2019-04-20 19:39:15 +02:00
|
|
|
BauWorld.removePlayer(p, target);
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Command(name = "bau.togglebuild", aliases = "gs.togglebuild", inGameOnly = true)
|
|
|
|
public void onToggleBD(CommandArgs args) {
|
|
|
|
Player p = args.getPlayer();
|
2019-04-20 19:39:15 +02:00
|
|
|
if (args.length() == 0) {
|
2019-03-27 13:27:05 +01:00
|
|
|
p.sendMessage(BauSystem.PREFIX + "/bau togglebuild <Spieler>");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
UUID id = WarkingUser.get(args.getArgs(0)).getUUID();
|
2019-04-20 19:39:15 +02:00
|
|
|
if(!toggleCheck(args, p, id)){
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
BauweltMember target = BauweltMember.getBauMember(p.getUniqueId(), id);
|
|
|
|
BauWorld.toggleBuild(p, target);
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.togglewe", aliases = "gs.togglewe", inGameOnly = true)
|
|
|
|
public void onToggleWE(CommandArgs args) {
|
2019-03-27 13:27:05 +01:00
|
|
|
Player p = args.getPlayer();
|
2019-04-20 19:39:15 +02:00
|
|
|
if (args.length() == 0) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "/bau togglewe <Spieler>");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
UUID id = WarkingUser.get(args.getArgs(0)).getUUID();
|
2019-04-20 19:39:15 +02:00
|
|
|
if(!toggleCheck(args, p, id)){
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
BauweltMember target = BauweltMember.getBauMember(p.getUniqueId(), id);
|
2019-04-20 19:39:15 +02:00
|
|
|
BauWorld.toggleWE(p, target);
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.toggleworld", aliases = "gs.toggleworld", inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onToggleTestblock(CommandArgs args) {
|
|
|
|
Player p = args.getPlayer();
|
2019-04-20 19:39:15 +02:00
|
|
|
if (args.length() == 0) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "/bau toggleworld <Spieler>");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
UUID id = WarkingUser.get(args.getArgs(0)).getUUID();
|
2019-04-20 19:39:15 +02:00
|
|
|
if(!toggleCheck(args, p, id)){
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
BauweltMember target = BauweltMember.getBauMember(p.getUniqueId(), id);
|
|
|
|
BauWorld.toggleTestblock(p, target);
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.testblock", aliases = {"gs.testblock", "testblock"}, inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onTestblock(CommandArgs args) {
|
|
|
|
final Player p = args.getPlayer();
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
UUID worldOwner = BauWorld.getWorldUUID(p.getWorld());
|
|
|
|
if (!BauWorld.hasPermission(worldOwner, p, Permission.worldedit)){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht den Testblock erneuern");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
Location playerLocation = p.getLocation();
|
|
|
|
World playerWorld = p.getWorld();
|
|
|
|
|
|
|
|
for (ProtectedRegion rg : BauSystem.getWorldGuard().getRegionManager(playerWorld).getApplicableRegions(playerLocation)) {
|
|
|
|
|
|
|
|
String rgID = rg.getId();
|
|
|
|
|
|
|
|
if(rgID.equalsIgnoreCase("resetall"))
|
|
|
|
continue;
|
|
|
|
|
|
|
|
Vector position = new Vector(Integer.parseInt(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".position.X")), Integer.parseInt(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".position.Y")), Integer.parseInt(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".position.Z")));
|
|
|
|
File file = new File(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".schematic.testblock"));
|
|
|
|
|
|
|
|
pasteSchematic(p, file, position);
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§aTestblock erneuert");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.reset", aliases = {"gs.reset", "reset"}, inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onReset(CommandArgs args) {
|
|
|
|
final Player p = args.getPlayer();
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
UUID worldOwner = BauWorld.getWorldUUID(p.getWorld());
|
|
|
|
if (!BauWorld.hasPermission(worldOwner, p, Permission.world)){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDu darfst hier keine Regionen erneuern");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
Location playerLocation = p.getLocation();
|
|
|
|
World playerWorld = p.getWorld();
|
|
|
|
|
|
|
|
for (ProtectedRegion rg : BauSystem.getWorldGuard().getRegionManager(playerWorld).getApplicableRegions(playerLocation)) {
|
|
|
|
String rgID = rg.getId();
|
|
|
|
|
|
|
|
if(rgID.equalsIgnoreCase("resetall"))
|
|
|
|
continue;
|
|
|
|
|
|
|
|
Vector position = new Vector(Integer.parseInt(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".position.X")), Integer.parseInt(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".position.Y")), Integer.parseInt(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".position.Z")));
|
|
|
|
File file = new File(BauSystem.getPlugin().getRegionData.getString("regions." + rgID + ".schematic.reset"));
|
|
|
|
|
|
|
|
pasteSchematic(p, file, position);
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§aRegion " + rgID + " wurde erneuert");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Command(name = "bau.resetall", aliases = "gs.resetall", inGameOnly = true)
|
|
|
|
public void onResetAll(CommandArgs args) {
|
|
|
|
final Player p = args.getPlayer();
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§aDeine Welt wird zurückgesetzt. Einen Moment bitte");
|
|
|
|
BauWorld.unloadWorld(p.getUniqueId());
|
2019-03-27 18:19:32 +01:00
|
|
|
File directory = new File("plugins/BauSystem/worlds/" + p.getUniqueId().toString());
|
2019-03-27 13:27:05 +01:00
|
|
|
del(directory);
|
|
|
|
File directory1 = new File("plugins/WorldGuard/worlds/" + p.getUniqueId().toString());
|
|
|
|
del(directory1);
|
2019-03-27 18:19:32 +01:00
|
|
|
Bukkit.getScheduler().scheduleSyncDelayedTask(BauSystem.getInstance(), () -> onHome(args),20L);
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Command(name = "bau.replace", aliases = "gs.replace", inGameOnly = true)
|
|
|
|
public void onReplace(CommandArgs args) {
|
|
|
|
final Player p = args.getPlayer();
|
2019-04-20 19:39:15 +02:00
|
|
|
UUID worldOwner = BauWorld.getWorldUUID(p.getWorld());
|
|
|
|
if (!BauWorld.hasPermission(worldOwner, p, Permission.worldedit)){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht Obsidian und Grundgestein ersetzen");
|
2019-03-27 13:27:05 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
World world = p.getWorld();
|
|
|
|
for(ProtectedRegion rg : BauSystem.getWorldGuard().getRegionManager(world).getApplicableRegions(p.getLocation())) {
|
|
|
|
String rgID = rg.getId();
|
|
|
|
|
|
|
|
if(rgID.equalsIgnoreCase("resetall"))
|
|
|
|
continue;
|
|
|
|
|
|
|
|
EditSession editSession = BauSystem.getWorldEdit().getWorldEdit().getEditSessionFactory().getEditSession(new BukkitWorld(p.getWorld()), Integer.MAX_VALUE);
|
|
|
|
CuboidSelection selection = new CuboidSelection(p.getWorld(), new Location(p.getWorld(), rg.getMinimumPoint().getBlockX(), rg.getMinimumPoint().getBlockY(), rg.getMinimumPoint().getBlockZ()), new Location(p.getWorld(), rg.getMaximumPoint().getBlockX(), rg.getMaximumPoint().getBlockY(), rg.getMaximumPoint().getBlockZ()));
|
|
|
|
|
|
|
|
Set<BaseBlock> targetObsidian = new HashSet<>();
|
|
|
|
targetObsidian.add(new BaseBlock(49));
|
|
|
|
Set<BaseBlock> targetBedrock = new HashSet<>();
|
|
|
|
targetBedrock.add(new BaseBlock(7));
|
|
|
|
try {
|
|
|
|
|
|
|
|
int tnt = editSession.replaceBlocks(selection.getRegionSelector().getRegion(), targetObsidian, new BaseBlock(46));
|
|
|
|
int slime = editSession.replaceBlocks(selection.getRegionSelector().getRegion(), targetBedrock, new BaseBlock(165));
|
|
|
|
editSession.flushQueue();
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage(BauSystem.PREFIX + "§aEs wurden " + (tnt + slime) + " Obsidian und Grundgestein ersetzt");
|
2019-03-27 13:27:05 +01:00
|
|
|
|
|
|
|
} catch(Exception ex) { ex.printStackTrace(); }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Command(name = "bau.info", aliases = "gs.info", inGameOnly = true)
|
|
|
|
public void onInfo(CommandArgs args) {
|
|
|
|
final Player p = args.getPlayer();
|
2019-04-20 19:39:15 +02:00
|
|
|
UUID worldOwner = BauWorld.getWorldUUID(p.getWorld());
|
2019-03-27 13:27:05 +01:00
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
if(worldOwner == null){
|
2019-03-27 13:27:05 +01:00
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDu bist auf keiner Bauwelt");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
Bukkit.getScheduler().runTaskAsynchronously(BauSystem.getInstance(), () -> {
|
|
|
|
Bauwelt welt = Bauwelt.getBauwelt(worldOwner);
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6Besitzer§8: §6" + WarkingUser.get(welt.getUserID()).getUserName());
|
2019-03-27 13:27:05 +01:00
|
|
|
|
|
|
|
if(welt.isTNTDmg())
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6TNT-Schaden§8: §aerlaubt");
|
2019-03-27 13:27:05 +01:00
|
|
|
else
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6TNT-Schaden§8: §cverboten");
|
2019-03-27 13:27:05 +01:00
|
|
|
if(welt.isFireDmg())
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6Feuer-Schaden§8: §aerlaubt");
|
2019-03-27 13:27:05 +01:00
|
|
|
else
|
2019-04-20 19:39:15 +02:00
|
|
|
p.sendMessage("§6Feuer-Schaden§8: §cverboten");
|
2019-03-27 13:27:05 +01:00
|
|
|
|
|
|
|
List<BauweltMember> memberList = BauweltMember.getMembers(worldOwner);
|
2019-04-20 19:39:15 +02:00
|
|
|
if(!memberList.isEmpty()){
|
|
|
|
StringBuilder members = new StringBuilder();
|
|
|
|
members.append("Mitglieder§8: ");
|
|
|
|
|
|
|
|
for(BauweltMember member : memberList){
|
|
|
|
members.append("§6");
|
|
|
|
members.append(WarkingUser.get(member.getMemberID()).getUserName());
|
|
|
|
members.append("§8, ");
|
|
|
|
}
|
|
|
|
p.sendMessage(members.toString());
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.tntdmg", aliases = {"gs.tntdmg", "bau.tnt", "gs.tnt", "tnt"}, inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onTntdmg(CommandArgs args){
|
|
|
|
BauWorld.switchTNT(args.getPlayer());
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.firedmg", aliases = {"gs.firedmg", "bau.fire", "gs.fire", "fire"}, inGameOnly = true)
|
2019-03-27 13:27:05 +01:00
|
|
|
public void onFiredmg(CommandArgs args) {
|
|
|
|
BauWorld.switchFire(args.getPlayer());
|
|
|
|
}
|
|
|
|
|
2019-04-20 19:39:15 +02:00
|
|
|
@Command(name = "bau.speed", aliases = {"gs.speed", "speed"}, inGameOnly = true)
|
|
|
|
public void onSpeed(CommandArgs args){
|
|
|
|
final Player player = args.getPlayer();
|
|
|
|
if (args.length() == 0){
|
|
|
|
player.sendMessage(BauSystem.PREFIX + "/speed [Geschwindigkeit]");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
float speed;
|
|
|
|
try{
|
|
|
|
speed = Float.valueOf(args.getArgs(0));
|
|
|
|
}catch(NumberFormatException e){
|
|
|
|
player.sendMessage(BauSystem.PREFIX + "§cBitte gib eine Zahl zwischen 0 und 10 an");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (speed < 0 || speed > 10) {
|
|
|
|
player.sendMessage(BauSystem.PREFIX + "§cBitte gib eine Zahl zwischen 0 und 10 an");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
player.sendMessage("§aGeschwindigkeit wurde auf §6" + speed + " §agesetzt");
|
|
|
|
if(speed == 1.0f){
|
|
|
|
speed = 1.25f;
|
|
|
|
}
|
|
|
|
player.setFlySpeed(speed / 10);
|
|
|
|
player.setWalkSpeed(speed / 10);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Command(name = "bau.time", inGameOnly = true)
|
|
|
|
public void onTime(CommandArgs args){
|
|
|
|
Player p = args.getPlayer();
|
|
|
|
if(args.length() == 0){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "/time <Zeit 0=Morgen, 6000=Mittag, 18000=Mitternacht>");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
UUID worldOwner = BauWorld.getWorldUUID(p.getWorld());
|
|
|
|
if (!BauWorld.hasPermission(worldOwner, p, Permission.world)){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht die Zeit ändern");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
int time;
|
|
|
|
try{
|
|
|
|
time = Integer.valueOf(args.getArgs(0));
|
|
|
|
}catch(NumberFormatException e){
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cBitte gib eine Zahl zwischen 0 und 24000 an");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (time < 0 || time > 24000) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cBitte gib eine Zahl zwischen 0 und 24000 an");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
p.getWorld().setTime(time);
|
|
|
|
}
|
|
|
|
|
2019-03-27 13:27:05 +01:00
|
|
|
private void pasteSchematic(Player player, File schematic, Vector position) {
|
|
|
|
|
|
|
|
int count = 0;
|
|
|
|
|
|
|
|
World world = player.getWorld();
|
|
|
|
|
|
|
|
for(ProtectedRegion rg: BauSystem.getWorldGuard().getRegionManager(world).getApplicableRegions(player.getLocation())) {
|
|
|
|
count++;
|
|
|
|
if(count != 0) {
|
|
|
|
|
|
|
|
EditSession session = BauSystem.getWorldEdit().getWorldEdit().getEditSessionFactory().getEditSession(new BukkitWorld(world), Integer.MAX_VALUE);
|
|
|
|
try {
|
|
|
|
|
|
|
|
CuboidClipboard format = MCEditSchematicFormat.getFormat(schematic).load(schematic);
|
|
|
|
format.paste(session, position, false);
|
|
|
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
player.sendMessage(ex.getMessage());
|
|
|
|
ex.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void del(File dir){
|
|
|
|
if (dir.isDirectory()){
|
|
|
|
String[] entries = dir.list();
|
|
|
|
for (String entry : entries) {
|
|
|
|
File aktFile = new File(dir.getPath(), entry);
|
|
|
|
del(aktFile);
|
|
|
|
}
|
|
|
|
dir.delete();
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
dir.delete();
|
|
|
|
}
|
|
|
|
}
|
2019-04-20 19:39:15 +02:00
|
|
|
|
|
|
|
private boolean hasWorld(Player p){
|
|
|
|
if (Bauwelt.getBauwelt(p.getUniqueId()).getUUID() == null) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDu hast keine Bauwelt");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private boolean toggleCheck(CommandArgs args, Player p, UUID id){
|
|
|
|
if (!hasWorld(p)) {
|
|
|
|
//p.sendMessage(BauSystem.PREFIX + "§cDu hast noch keine Bauwelt");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (id == null) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cUnbekannter Spieler");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
BauweltMember target = BauweltMember.getBauMember(p.getUniqueId(), id);
|
|
|
|
if (target == null) {
|
|
|
|
p.sendMessage(BauSystem.PREFIX + "§cDer Spieler ist kein Mitglied deiner Welt");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
return true;
|
2019-06-11 07:05:05 +02:00
|
|
|
}*/
|
2019-03-27 13:27:05 +01:00
|
|
|
}
|