78 lines
3.2 KiB
Java
78 lines
3.2 KiB
Java
package eu.univento.teamvento.commands;
|
|
|
|
import eu.univento.commons.player.Rank;
|
|
import eu.univento.core.api.AutoCommand;
|
|
import eu.univento.core.api.languages.Messages;
|
|
import eu.univento.core.api.player.CustomPlayer;
|
|
import eu.univento.teamvento.TeamVento;
|
|
import eu.univento.teamvento.utils.VoidGenerator;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.World;
|
|
import org.bukkit.WorldCreator;
|
|
import org.bukkit.WorldType;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
|
|
import java.io.IOException;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 0.1
|
|
*/
|
|
public class WorldCreate extends AutoCommand<TeamVento>{
|
|
|
|
public WorldCreate(TeamVento plugin, String command, String description, String... aliases) {
|
|
super(plugin, command, description, aliases);
|
|
}
|
|
|
|
@Override
|
|
public boolean execute(CommandSender sender, String label, String[] args) {
|
|
if(sender instanceof Player) {
|
|
CustomPlayer p = CustomPlayer.getPlayer(sender.getName());
|
|
if(p.getDatabasePlayer().isAllowed(Rank.SrBuilder)) {
|
|
if(args.length == 2) {
|
|
if(Bukkit.getWorld(args[0]) == null && (args[1].equalsIgnoreCase("normal") || args[1].equalsIgnoreCase("flat") || args[1].equalsIgnoreCase("void"))) {
|
|
WorldCreator creator = new WorldCreator(args[0]);
|
|
if(args[1].equalsIgnoreCase("normal")) {
|
|
creator.environment(World.Environment.NORMAL);
|
|
creator.type(WorldType.NORMAL);
|
|
}
|
|
if(args[1].equalsIgnoreCase("flat")) {
|
|
creator.environment(World.Environment.NORMAL);
|
|
creator.type(WorldType.FLAT);
|
|
creator.generateStructures(false);
|
|
}
|
|
if(args[1].equalsIgnoreCase("void")) {
|
|
creator.generator(new VoidGenerator());
|
|
creator.type(WorldType.CUSTOMIZED);
|
|
creator.generateStructures(false);
|
|
}
|
|
Bukkit.createWorld(creator);
|
|
TeamVento.getCfg().set(args[0], args[1]);
|
|
try {
|
|
TeamVento.getCfg().save(TeamVento.getConfigFile());
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
p.sendMessage(p.getMessages().PREFIX() + "§aYour world has been created");
|
|
}else{
|
|
p.sendMessage(p.getMessages().PREFIX() + "§cPlease use /worldcreate <name> <normal, flat, void>");
|
|
}
|
|
}else{
|
|
p.sendMessage(p.getMessages().PREFIX() + "§cPlease use /worldcreate <name> <normal, flat, void>");
|
|
}
|
|
}else{
|
|
p.sendMessage(p.getMessages().PREFIX() + p.getMessages().NO_PERMS());
|
|
}
|
|
}else{
|
|
sender.sendMessage(Messages.Console.NOT_A_PLAYER);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
|
|
return null;
|
|
}
|
|
} |