an internal error occoured???

Discussion in 'Plugin Development' started by vhbob, May 17, 2015.

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

    vhbob

    Hey, i have this code but when i use my command it says internal error occoured please help
    Code:
    package me.vhbob.pp;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Cow;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Pig;
    import org.bukkit.entity.Player;
    import org.bukkit.entity.Sheep;
    import org.bukkit.metadata.FixedMetadataValue;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class pp extends JavaPlugin {
    
        public boolean onCommand(CommandSender sender, Command cmd, String label,
                String[] args) {
            if (cmd.getName().equalsIgnoreCase("pets")) {
                Player p = (Player) sender;
                if (args.length == 0) {
                    p.sendMessage(ChatColor.RED + "Cow, pig, sheep");
                } else if (args.length == 1) {
                    String name = getConfig().getString(p.getName() + "pet name");
                    name.replace("&", "§");
                    for (Entity en : p.getNearbyEntities(100, 100, 100)) {
                        if (en.hasMetadata(p.getName() + "pet")) {
                            en.remove();
                        }
                    }
                    if (args[0].equalsIgnoreCase("cow")) {
                        Cow c = (Cow) p.getWorld().spawnEntity(p.getLocation(),
                                EntityType.COW);
                        c.setTarget(p);
                        c.setMetadata(p.getName() + "pet", new FixedMetadataValue(
                                this, 1));
                        p.sendMessage(ChatColor.GREEN + "Your cow pet was spawned!");
                    }
                    if (args[0].equalsIgnoreCase("pig")) {
                        Pig pi = (Pig) p.getWorld().spawnEntity(p.getLocation(),
                                EntityType.PIG);
                        pi.setTarget(p);
                        pi.setMetadata(p.getName() + "pet", new FixedMetadataValue(
                                this, 1));
                        p.sendMessage(ChatColor.GREEN + "Your pig pet was spawned!");
                    }
                    if (args[0].equalsIgnoreCase("sheep")) {
                        Sheep sh = (Sheep) p.getWorld().spawnEntity(
                                p.getLocation(), EntityType.SHEEP);
                        sh.setTarget(p);
                        sh.setMetadata(p.getName() + "pet", new FixedMetadataValue(
                                this, 1));
                        p.sendMessage(ChatColor.GREEN
                                + "Your sheep pet was spawned!");
                    }
                    if (args[0].equalsIgnoreCase("name")) {
                    }
                }
            }
            return true;
        }
    
    }
     
  2. Offline

    timtower Administrator Administrator Moderator

    @vhbob And what is the error? Tried debugging? What line is the error on?
     
  3. Offline

    BrickBoy55

    @vhbob Check if sender is a player before casting.
     
  4. *Offtopic*
    Did you stole my signature @vhbob :confused:
    *Ontopic*
    Will do nothing because Strings are immutable.
    Use
    Code:
    name = ChatColor.translateAlternateColorCodes('&', name);
     
  5. Offline

    vhbob

    yea i stole your signature ;) @FisheyLP and my code still doesnt work, here's the code :

    Code:
    package me.vhbob.pp;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Cow;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Pig;
    import org.bukkit.entity.Player;
    import org.bukkit.entity.Sheep;
    import org.bukkit.metadata.FixedMetadataValue;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class pp extends JavaPlugin {
    
        public boolean onCommand(CommandSender sender, Command cmd, String label,
                String[] args) {
            if (cmd.getName().equalsIgnoreCase("pets")) {
                if (sender instanceof Player) {
                    Player p = (Player) sender;
                    if (args.length == 0) {
                        p.sendMessage(ChatColor.RED + "Cow, pig, sheep");
                    } else if (args.length == 1) {
                        String name = getConfig().getString(
                                p.getName() + "pet name");
                        name = ChatColor.translateAlternateColorCodes('&', name);
                        for (Entity en : p.getNearbyEntities(100, 100, 100)) {
                            if (en.hasMetadata(p.getName() + "pet")) {
                                en.remove();
                            }
                        }
                        if (args[0].equalsIgnoreCase("cow")) {
                            Cow c = (Cow) p.getWorld().spawnEntity(p.getLocation(),
                                    EntityType.COW);
                            c.setTarget(p);
                            c.setMetadata(p.getName() + "pet",
                                    new FixedMetadataValue(this, 1));
                            p.sendMessage(ChatColor.GREEN
                                    + "Your cow pet was spawned!");
                        }
                        if (args[0].equalsIgnoreCase("pig")) {
                            Pig pi = (Pig) p.getWorld().spawnEntity(
                                    p.getLocation(), EntityType.PIG);
                            pi.setTarget(p);
                            pi.setMetadata(p.getName() + "pet",
                                    new FixedMetadataValue(this, 1));
                            p.sendMessage(ChatColor.GREEN
                                    + "Your pig pet was spawned!");
                        }
                        if (args[0].equalsIgnoreCase("sheep")) {
                            Sheep sh = (Sheep) p.getWorld().spawnEntity(
                                    p.getLocation(), EntityType.SHEEP);
                            sh.setTarget(p);
                            sh.setMetadata(p.getName() + "pet",
                                    new FixedMetadataValue(this, 1));
                            p.sendMessage(ChatColor.GREEN
                                    + "Your sheep pet was spawned!");
                        }
                        if (args[0].equalsIgnoreCase("name")) {
                            String s = args[1];
                            getConfig().set(p.getName() + "pet name", s);
                        }
                    }
                } else {
                sender.sendMessage(ChatColor.RED + "this is for players only");  
                }          
            }
            return true;
        }
    
    }
    
     
  6. Offline

    TheDiamond06

Thread Status:
Not open for further replies.

Share This Page