Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.amitay.realwarp;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- 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.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- import net.md_5.bungee.api.ChatColor;
- public class Main extends JavaPlugin{
- public String mainArg="";
- public String warp="";
- @Override
- public void onEnable() {
- getConfig().options().copyDefaults(true);
- saveConfig();
- getServer().getPluginManager().registerEvents(new Inv(this), this);
- }
- public FileConfiguration mainGetConfig() {
- return getConfig();
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.DARK_RED + "Error");
- return true;
- }
- Player p = (Player) sender;
- Logger logger = Logger.getLogger(Main.class.getName());
- String arg = args[0].toLowerCase();
- if (label.equalsIgnoreCase("setwarp")) {
- if (args.length == 0) {
- p.sendMessage(ChatColor.RED + "please write a name of a warp");
- return true;
- }
- logger.log(Level.SEVERE,"label is setwarp");
- warp = arg;
- List<String> list = getConfig().getStringList("warpnames");
- if (list == null) {
- list = new ArrayList<>();
- }
- if (!list.contains(arg)) {
- list.add(arg);
- getConfig().set("warpnames", list);
- saveConfig();
- }
- getConfig().set("warps." + arg + ".world", p.getWorld().getName());
- getConfig().set("warps." + arg + ".x", p.getLocation().getX());
- getConfig().set("warps." + arg + ".y", p.getLocation().getY());
- getConfig().set("warps." + arg + ".z", p.getLocation().getZ());
- getConfig().set("warps." + arg + ".yaw", p.getLocation().getYaw());
- getConfig().set("warps." + arg + ".pitch", p.getLocation().getPitch());
- saveConfig();
- p.sendMessage(ChatColor.GREEN + "Successfuly aded a new warp: " + ChatColor.DARK_GREEN + arg + "!");
- return true;
- }else {
- logger.log(Level.SEVERE,"label is NOT setwarp - "+label);
- }
- if (label.equalsIgnoreCase("delwarp")) {
- if (args.length == 0) {
- p.sendMessage(ChatColor.RED + "please write a name of a warp");
- return true;
- }
- if (getConfig().getConfigurationSection("warps") == null) {
- p.sendMessage(ChatColor.RED + "Error, this warp does not exist");
- return true;
- }
- List<String> list = getConfig().getStringList("warpnames");
- if (list != null) {
- list = new ArrayList<>();
- }
- if (list.contains(args[0])) {
- list.remove(args[0]);
- getConfig().set("warpnames", list);
- saveConfig();
- return true;
- }
- getConfig().set("warps." + arg + ".world", null);
- getConfig().set("warps." + arg + ".x", null);
- getConfig().set("warps." + arg + ".y", null);
- getConfig().set("warps." + arg + ".z", null);
- getConfig().set("warps." + arg + ".yaw", null);
- getConfig().set("warps." + arg + ".pitch", null);
- getConfig().set("warps." + arg, null);
- saveConfig();
- p.sendMessage(ChatColor.GREEN + "Successfuly deleted warp: " + ChatColor.DARK_GREEN + arg + "!");
- return true;
- } else if (label.equalsIgnoreCase("warp")) {
- if (args.length == 0) {
- p.sendMessage(ChatColor.RED + "please write a name of a warp");
- return true;
- }
- if (getConfig().getConfigurationSection("warps." + arg) == null) {
- p.sendMessage(ChatColor.RED + "Error, this warp does not exist");
- return true;
- }
- World world = Bukkit.getWorld(getConfig().getString("warps." + arg + ".world"));
- double x =getConfig().getDouble("warps." + arg + ".x");
- double y =getConfig().getDouble("warps." + arg + ".y");
- double z =getConfig().getDouble("warps." + arg + ".z");
- float yaw = (float) getConfig().getDouble("warps." + arg + ".yaw");
- float pitch = (float) getConfig().getDouble("warps." + arg + ".pitch");
- p.teleport(new Location(world, x, y, z, yaw, pitch));
- p.sendMessage(ChatColor.GREEN + "You successfully teleported to the warp: " + ChatColor.DARK_GREEN + arg + ChatColor.GREEN + "!");
- return true;
- }
- if (cmd.getName().equalsIgnoreCase("warps")) {
- if (args.length == 1) {
- p.sendMessage(ChatColor.RED + "ERROR");
- return true;
- } else {
- List<String> list = getConfig().getStringList("warpnames");
- int size = 9 + list.size() - (list.size()%9);
- Inventory inventory = Bukkit.createInventory(null, size, "warps");
- if (list != null) {
- int slot = 0;
- for (String warp:list) {
- ItemStack stack = new ItemStack(Material.STONE);
- ItemMeta meta = stack.getItemMeta();
- meta.setDisplayName(warp);
- stack.setItemMeta(meta);
- inventory.setItem(slot, stack);
- slot++;
- }
- p.openInventory(inventory);
- }
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement