Plugin Help Cant tell what I'm done wrong

Discussion in 'Plugin Help/Development/Requests' started by blondy2247, Dec 25, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    blondy2247

    So I was making a plugin sorta like the lobby compass plugin and I don't understand whats wrong. This is the error message I keep getting in the console:

    Code:
    [17:13:57 INFO]: blondy2247 issued server command: /compasst
    [17:13:57 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'compasst' in plugin CompassTeleport v1.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerConnection.java:956) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:817) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
    Caused by: java.lang.Error: Unresolved compilation problems:
        Type mismatch: cannot convert from element type Object to String
        Type mismatch: cannot convert from element type Object to String
    
        at de.blondy2247.CompassTeleport.CompassTeleportCommand.openCompassTeleportOnPlayer(CompassTeleportCommand.java:118) ~[?:?]
        at de.blondy2247.CompassTeleport.CompassTeleportCommand.onCommand(CompassTeleportCommand.java:49) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-1-ga6e0bfd-b3095jnks]
        ... 13 more
    
     
  2. Offline

    nverdier

    You're trying to convert an object to a String, when it isn't actually a String. Please provide code for further help.
     
  3. Offline

    blondy2247

    Ok here is the main code:

    Code:
    package de.blondy2247.CompassTeleport;
    
    import org.bukkit.Bukkit;
    import org.bukkit.command.PluginCommand;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.configuration.file.FileConfigurationOptions;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class CompassTeleport extends JavaPlugin
    {
      public static String prefix = "§f[§eCompass§f] ";
    
      public static String use_Permission = "CompassTeleport.use";
      public static String get_Permission = "CompassTeleport.get";
      public static String admin_Permission = "CompassTeleport.admin";
    
      public void onEnable()
      {
        getCommand("CompassTeleport").setExecutor(new CompassTeleportCommand(this));
        Bukkit.getPluginManager().registerEvents(new CompassTeleportCommand(this), this);
    
        getConfig().options().header(
          "#############################################\n#      - CompassTeleport by blondy2247 -        #\n#############################################\n# Option 'executedByPlayer' means:\n#    > true = Command is executed as the player typed it\n#    > false = Command is executed by console (%n% is player name)\n# There can be only at most 6 lines in one inventory!\n# If get-compass-on-join-slot is -1 it will add the compass in a free slot\n# NOTE: If you wish, you can disable auto-updating in -Updater/config.yml-\n#############################################\n");
    
        getConfig().addDefault("compass-name", "&f&lClick this to open warp menu!");
        getConfig().addDefault("compass-inventory-name", "&a&lAWESOME Warp-Compass Oo");
        getConfig().addDefault("get-compass-on-join", Boolean.valueOf(true));
        getConfig().addDefault("get-compass-on-join-slot", Integer.valueOf(4));
        getConfig().addDefault("get-compass-worlds", new String[] { "world", "world_nether", "world_the_end" });
        getConfig().addDefault("only-allow-command-lc_get-in-worlds", Boolean.valueOf(true));
        getConfig().addDefault("can-drop-compass", Boolean.valueOf(false));
        getConfig().addDefault("inventory-lines-amount", Integer.valueOf(4));
        getConfig().addDefault("sound-effect", Boolean.valueOf(true));
    
        getConfig().addDefault("options", new String[] { "spawn", "pvp" });
    
        getConfig().addDefault("data.spawn.name", "&e&lSpawn / Lobby");
        getConfig().addDefault("data.spawn.lore", new String[] { "&7Click this Item to execute command", "&8&l/warp spawn", "&7another line :D" });
        getConfig().addDefault("data.spawn.item", Integer.valueOf(2));
        getConfig().addDefault("data.spawn.cmd", "warp spawn");
        getConfig().addDefault("data.spawn.executedByPlayer", Boolean.valueOf(true));
        getConfig().addDefault("data.spawn.position-in-inventory", Integer.valueOf(10));
    
        getConfig().addDefault("data.pvp.name", "&c&lPvP Zone");
        getConfig().addDefault("data.pvp.lore", new String[] { "&cD&ei&as&bc&do", "&8&l/pvp <player> join" });
        getConfig().addDefault("data.pvp.item", Integer.valueOf(267));
        getConfig().addDefault("data.pvp.cmd", "pvp %n% join");
        getConfig().addDefault("data.pvp.executedByPlayer", Boolean.valueOf(false));
        getConfig().addDefault("data.pvp.position-in-inventory", Integer.valueOf(19));
    
        getConfig().options().copyHeader(true);
        getConfig().options().copyDefaults(true);
    
        saveConfig();
        reloadConfig(); }
    
    
      public void onDisable()
      {
      }
    }
    and here is the command code:

    Code:
    package de.blondy2247.CompassTeleport;
    
    import java.io.PrintStream;
    import java.util.ArrayList;
    import java.util.List;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    import org.bukkit.World;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Item;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerChangedWorldEvent;
    import org.bukkit.event.player.PlayerDropItemEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.PlayerInventory;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.Plugin;
    
    public class CompassTeleportCommand
      implements CommandExecutor, Listener
    {
      private Plugin pl;
    
      public CompassTeleportCommand(Plugin plugin)
      {
        this.pl = plugin;
      }
    
      public boolean onCommand(CommandSender cs, Command cmd, String label, String[] args)
      {
        if ((cs instanceof Player))
        {
          Player p = (Player)cs;
    
          if ((args.length == 0) && (p.hasPermission(CompassTeleport.use_Permission)))
          {
            openCompassTeleportOnPlayer(p);
          }
          else if ((args[0].equals("help")) || (args[0].equals("info")))
          {
            p.sendMessage(CompassTeleport.prefix + "§e---------- CompassTeleport ----------");
            p.sendMessage(CompassTeleport.prefix + "§e> Compass-Lobby-Teleport Plugin by §lblondy2247");
            p.sendMessage(CompassTeleport.prefix + "§e----------------------------------");
          }
          else if ((args[0].equals("get")) && ((p.hasPermission(CompassTeleport.get_Permission)) || (p.hasPermission(CompassTeleport.admin_Permission))))
          {
            if ((this.pl.getConfig().getBoolean("only-allow-command-lc_get-in-worlds")) && (!this.pl.getConfig().getStringList("get-compass-worlds").contains(p.getWorld().getName()))) {
              p.sendMessage(CompassTeleport.prefix + "§eThe Lobby-Compass is disabled for this world!");
              return true;
            }
    
            p.sendMessage(CompassTeleport.prefix + "§eGiving you your Lobby-Compass!");
    
            ItemStack compass = new ItemStack(Material.COMPASS);
            ItemMeta compassMeta = compass.getItemMeta();
            compassMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name")));
            compass.setItemMeta(compassMeta);
            p.getInventory().addItem(new ItemStack[] { compass });
          }
          else if ((args[0].equals("reload")) && ((p.hasPermission(CompassTeleport.get_Permission)) || (p.hasPermission(CompassTeleport.admin_Permission))))
          {
            p.sendMessage(CompassTeleport.prefix + "§aConfig reloaded!");
            this.pl.reloadConfig();
          }
          else
          {
            cs.sendMessage(CompassTeleport.prefix + "§cNot valid arguments or to few permissions.");
          }
        }
        else {
          cs.sendMessage(CompassTeleport.prefix + "§cYou're not a valid player.");
        }
    
        return true;
      }
    
      @EventHandler
      public void onClick(PlayerInteractEvent event)
      {
        if ((event.getAction() == Action.RIGHT_CLICK_BLOCK) || (event.getAction() == Action.RIGHT_CLICK_AIR))
        {
          Player p = event.getPlayer();
          try
          {
            if ((p.getItemInHand().getType() == Material.COMPASS) && (p.hasPermission(CompassTeleport.use_Permission)))
            {
              if (p.getItemInHand().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name"))))
              {
                event.setCancelled(true);
                openCompassTeleportOnPlayer(p);
              }
            }
          }
          catch (Exception localException)
          {
          }
        }
      }
    
      public void openCompassTeleportOnPlayer(Player p)
      {
        Inventory inv = Bukkit.createInventory(null, this.pl.getConfig().getInt("inventory-lines-amount") * 9, ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-inventory-name")));
    
        List options = this.pl.getConfig().getStringList("options");
    
        for (String option : options)
        {
          ItemStack istack = new ItemStack(Material.getMaterial(this.pl.getConfig().getInt("data." + option + ".item")));
          ItemMeta imeta = istack.getItemMeta();
          imeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("data." + option + ".name")));
          List lores = this.pl.getConfig().getStringList("data." + option + ".lore");
          List newLores = new ArrayList();
          for (String lore : lores) {
            newLores.add(ChatColor.translateAlternateColorCodes('&', lore));
          }
          imeta.setLore(newLores);
          istack.setItemMeta(imeta);
    
          inv.setItem(this.pl.getConfig().getInt("data." + option + ".position-in-inventory"), istack);
        }
    
        p.openInventory(inv);
      }
    
      @EventHandler
      public void onClickOnItem(InventoryClickEvent event)
      {
        if ((event.getWhoClicked() instanceof Player))
        {
          Player p = (Player)event.getWhoClicked();
    
          if ((event.getInventory().getName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-inventory-name")))) && (event.getSlot() == event.getRawSlot()))
          {
            event.setCancelled(true);
            try
            {
              if ((event.getCurrentItem().getType() != Material.AIR) && (event.getCurrentItem().hasItemMeta()))
              {
                ItemStack invstack = event.getCurrentItem();
    
                List options = this.pl.getConfig().getStringList("options");
    
                for (String option : options)
                {
                  if ((invstack.getType() == Material.getMaterial(this.pl.getConfig().getInt("data." + option + ".item"))) &&
                    (invstack.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("data." + option + ".name")))))
                  {
                    String cmd = this.pl.getConfig().getString("data." + option + ".cmd");
    
                    if (this.pl.getConfig().getBoolean("sound-effect"))
                    {
                      p.playSound(p.getLocation(), Sound.LEVEL_UP, 7.0F, 1.0F);
                    }
    
                    if (this.pl.getConfig().getBoolean("data." + option + ".executedByPlayer"))
                    {
                      Bukkit.dispatchCommand(p, cmd);
    
                      break;
                    }
                    System.out.println(CompassTeleport.prefix + "Next command executed by CompassTeleportPlugin of Player " + p.getName());
                    Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd.replace("%n%", p.getName()));
    
                    break;
                  }
    
                }
    
                p.closeInventory();
              }
            }
            catch (Exception localException)
            {
            }
          }
        }
      }
    
      @EventHandler
      public void onDrop(PlayerDropItemEvent event)
      {
        ItemStack compass = event.getItemDrop().getItemStack();
    
        if ((compass.getType() == Material.COMPASS) && (compass.hasItemMeta()) && (compass.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name")))))
        {
          if (!this.pl.getConfig().getBoolean("can-drop-compass"))
          {
            event.setCancelled(true);
          }
        }
      }
    
      @EventHandler
      public void onJoin(PlayerJoinEvent event)
      {
        Player p = event.getPlayer();
    
        if (this.pl.getConfig().getBoolean("get-compass-on-join"))
        {
          ItemStack compass = configuratedCompass();
    
          if (!p.getInventory().contains(compass))
          {
            if (this.pl.getConfig().getInt("get-compass-on-join-slot") >= 0)
            {
              p.getInventory().setItem(this.pl.getConfig().getInt("get-compass-on-join-slot"), compass);
            }
            else
            {
              p.getInventory().addItem(new ItemStack[] { compass });
            }
          }
        }
      }
    
      @EventHandler
      public void onChangeWorld(PlayerChangedWorldEvent event)
      {
        Player p = event.getPlayer();
    
        if (this.pl.getConfig().getStringList("get-compass-worlds").contains(p.getWorld().getName()))
        {
          if (!p.getInventory().contains(configuratedCompass()))
          {
            p.getInventory().addItem(new ItemStack[] { configuratedCompass() });
          }
    
        }
        else
        {
          p.getInventory().remove(Material.COMPASS);
        }
      }
    
      public ItemStack configuratedCompass()
      {
        ItemStack compass = new ItemStack(Material.COMPASS);
        ItemMeta compassMeta = compass.getItemMeta();
        compassMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name")));
        compass.setItemMeta(compassMeta);
    
        return compass;
      }
    }
     
  4. Offline

    nverdier

    @blondy2247 On line 118 in the command class, You are doing
    Code:
    for (String option : options)
    You can't do this, because options isn't a list of Strings.
     
  5. Offline

    blondy2247

    Oh, well how do I fix this then?
     
  6. Offline

    nverdier

    Well getStringList() returns a List<String> not a List.
     
  7. Offline

    blondy2247

    Can you please type up the code I need to put for this plugin to work? I really need this and you seem like the person who can help me.
     
  8. Offline

    nverdier

    @blondy2247 List<String> = getConfig.getStringsList();
     
  9. Offline

    blondy2247

    Pretty sure I did something wrong can edit this code for everything that I need please?

    Code:
    package de.blondy2247.CompassTeleport;
    
    import java.io.PrintStream;
    import java.util.ArrayList;
    import java.util.List;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    import org.bukkit.World;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Item;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerChangedWorldEvent;
    import org.bukkit.event.player.PlayerDropItemEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.PlayerInventory;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.Plugin;
    
    public class CompassTeleportCommand
      implements CommandExecutor, Listener
    {
      private Plugin pl;
    
      public CompassTeleportCommand(Plugin plugin)
      {
        this.pl = plugin;
      }
    
      public boolean onCommand(CommandSender cs, Command cmd, String label, String[] args)
      {
        if ((cs instanceof Player))
        {
          Player p = (Player)cs;
    
          if ((args.length == 0) && (p.hasPermission(CompassTeleport.use_Permission)))
          {
            openCompassTeleportOnPlayer(p);
          }
          else if ((args[0].equals("help")) || (args[0].equals("info")))
          {
            p.sendMessage(CompassTeleport.prefix + "§e---------- CompassTeleport ----------");
            p.sendMessage(CompassTeleport.prefix + "§e> Compass-Lobby-Teleport Plugin by §lblondy2247");
            p.sendMessage(CompassTeleport.prefix + "§e----------------------------------");
          }
          else if ((args[0].equals("get")) && ((p.hasPermission(CompassTeleport.get_Permission)) || (p.hasPermission(CompassTeleport.admin_Permission))))
          {
            if ((this.pl.getConfig().getBoolean("only-allow-command-lc_get-in-worlds")) && (!this.pl.getConfig().getStringList("get-compass-worlds").contains(p.getWorld().getName()))) {
              p.sendMessage(CompassTeleport.prefix + "§eThe Lobby-Compass is disabled for this world!");
              return true;
            }
    
            p.sendMessage(CompassTeleport.prefix + "§eGiving you your Lobby-Compass!");
    
            ItemStack compass = new ItemStack(Material.COMPASS);
            ItemMeta compassMeta = compass.getItemMeta();
            compassMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name")));
            compass.setItemMeta(compassMeta);
            p.getInventory().addItem(new ItemStack[] { compass });
          }
          else if ((args[0].equals("reload")) && ((p.hasPermission(CompassTeleport.get_Permission)) || (p.hasPermission(CompassTeleport.admin_Permission))))
          {
            p.sendMessage(CompassTeleport.prefix + "§aConfig reloaded!");
            this.pl.reloadConfig();
          }
          else
          {
            cs.sendMessage(CompassTeleport.prefix + "§cNot valid arguments or to few permissions.");
          }
        }
        else {
          cs.sendMessage(CompassTeleport.prefix + "§cYou're not a valid player.");
        }
    
        return true;
      }
    
      @EventHandler
      public void onClick(PlayerInteractEvent event)
      {
        if ((event.getAction() == Action.RIGHT_CLICK_BLOCK) || (event.getAction() == Action.RIGHT_CLICK_AIR))
        {
          Player p = event.getPlayer();
          try
          {
            if ((p.getItemInHand().getType() == Material.COMPASS) && (p.hasPermission(CompassTeleport.use_Permission)))
            {
              if (p.getItemInHand().getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name"))))
              {
                event.setCancelled(true);
                openCompassTeleportOnPlayer(p);
              }
            }
          }
          catch (Exception localException)
          {
          }
        }
      }
    
      public void openCompassTeleportOnPlayer(Player p)
      {
        Inventory inv = Bukkit.createInventory(null, this.pl.getConfig().getInt("inventory-lines-amount") * 9, ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-inventory-name")));
    
        List options = this.pl.getConfig().getStringList("options");
    
        List<String> = getConfig.getStringsList();
        {
          ItemStack istack = new ItemStack(Material.getMaterial(this.pl.getConfig().getInt("data." + option + ".item")));
          ItemMeta imeta = istack.getItemMeta();
          imeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("data." + option + ".name")));
          List lores = this.pl.getConfig().getStringList("data." + option + ".lore");
          List newLores = new ArrayList();
          for (String lore : lores) {
            newLores.add(ChatColor.translateAlternateColorCodes('&', lore));
          }
          imeta.setLore(newLores);
          istack.setItemMeta(imeta);
    
          inv.setItem(this.pl.getConfig().getInt("data." + option + ".position-in-inventory"), istack);
        }
    
        p.openInventory(inv);
      }
    
      @EventHandler
      public void onClickOnItem(InventoryClickEvent event)
      {
        if ((event.getWhoClicked() instanceof Player))
        {
          Player p = (Player)event.getWhoClicked();
    
          if ((event.getInventory().getName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-inventory-name")))) && (event.getSlot() == event.getRawSlot()))
          {
            event.setCancelled(true);
            try
            {
              if ((event.getCurrentItem().getType() != Material.AIR) && (event.getCurrentItem().hasItemMeta()))
              {
                ItemStack invstack = event.getCurrentItem();
    
                List options = this.pl.getConfig().getStringList("options");
    
                for (String option : options)
                {
                  if ((invstack.getType() == Material.getMaterial(this.pl.getConfig().getInt("data." + option + ".item"))) &&
                    (invstack.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("data." + option + ".name")))))
                  {
                    String cmd = this.pl.getConfig().getString("data." + option + ".cmd");
    
                    if (this.pl.getConfig().getBoolean("sound-effect"))
                    {
                      p.playSound(p.getLocation(), Sound.LEVEL_UP, 7.0F, 1.0F);
                    }
    
                    if (this.pl.getConfig().getBoolean("data." + option + ".executedByPlayer"))
                    {
                      Bukkit.dispatchCommand(p, cmd);
    
                      break;
                    }
                    System.out.println(CompassTeleport.prefix + "Next command executed by CompassTeleportPlugin of Player " + p.getName());
                    Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd.replace("%n%", p.getName()));
    
                    break;
                  }
    
                }
    
                p.closeInventory();
              }
            }
            catch (Exception localException)
            {
            }
          }
        }
      }
    
      @EventHandler
      public void onDrop(PlayerDropItemEvent event)
      {
        ItemStack compass = event.getItemDrop().getItemStack();
    
        if ((compass.getType() == Material.COMPASS) && (compass.hasItemMeta()) && (compass.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name")))))
        {
          if (!this.pl.getConfig().getBoolean("can-drop-compass"))
          {
            event.setCancelled(true);
          }
        }
      }
    
      @EventHandler
      public void onJoin(PlayerJoinEvent event)
      {
        Player p = event.getPlayer();
    
        if (this.pl.getConfig().getBoolean("get-compass-on-join"))
        {
          ItemStack compass = configuratedCompass();
    
          if (!p.getInventory().contains(compass))
          {
            if (this.pl.getConfig().getInt("get-compass-on-join-slot") >= 0)
            {
              p.getInventory().setItem(this.pl.getConfig().getInt("get-compass-on-join-slot"), compass);
            }
            else
            {
              p.getInventory().addItem(new ItemStack[] { compass });
            }
          }
        }
      }
    
      @EventHandler
      public void onChangeWorld(PlayerChangedWorldEvent event)
      {
        Player p = event.getPlayer();
    
        if (this.pl.getConfig().getStringList("get-compass-worlds").contains(p.getWorld().getName()))
        {
          if (!p.getInventory().contains(configuratedCompass()))
          {
            p.getInventory().addItem(new ItemStack[] { configuratedCompass() });
          }
    
        }
        else
        {
          p.getInventory().remove(Material.COMPASS);
        }
      }
    
      public ItemStack configuratedCompass()
      {
        ItemStack compass = new ItemStack(Material.COMPASS);
        ItemMeta compassMeta = compass.getItemMeta();
        compassMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.pl.getConfig().getString("compass-name")));
        compass.setItemMeta(compassMeta);
    
        return compass;
      }
    }
     
  10. Offline

    nverdier

    @blondy2247 You have
    Code:
    List options = this.pl/getConfig().getStringList("option")
    as well as
    Code:
    List<String> = getConfig.getStringsList()
    Replace all of that with
    Code:
    List<String> options = this.pl.getConfig().getStringList("options")
    I don't like to spoonfeed, so please don't ask for it. This is, in fact, the development section.
     
Thread Status:
Not open for further replies.

Share This Page