Groupmanager API not working

Discussion in 'Plugin Development' started by iClaw, May 12, 2015.

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

    iClaw

    So what I'm trying to do is when a player says something in the chat, it checks the player's group and sets the correct format, this is the code i've got
    Code:
    @EventHandler
        public void onChat(AsyncPlayerChatEvent e){
            Player p = e.getPlayer();
            if(getGroup(p) != null
                    && getGroup(p).equalsIgnoreCase("Member")){
                if(getFaction(p.getName()) == null){
                    setFormat(e, "§7§o%player% §7» §7%msg%", p, e.getMessage());
                }else{
                    setFormat(e, "§b[§c%faction%§b] §7§o%player% §7» §7%msg%", p, e.getMessage(), getFaction(p.getName()));
                }
            }
        }
    I get an error to console at "if(getGroup(p) != null && getGrou(p).equalsIgnoreCase("Member")){"
    Console:
    Code:
    [21:58:29] [Netty Server IO #1/ERROR]: Could not pass event AsyncPlayerChatEvent to bFactions v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:297) ~[craftbukkit.jar:git-Bukkit-33d5de3]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:483) [craftbukkit.jar:git-Bukkit-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerConnection.chat(PlayerConnection.java:983) [craftbukkit.jar:git-Bukkit-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:933) [craftbukkit.jar:git-Bukkit-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(SourceFile:37) [craftbukkit.jar:git-Bukkit-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(SourceFile:9) [craftbukkit.jar:git-Bukkit-33d5de3]
        at net.minecraft.server.v1_8_R1.NetworkManager.a(NetworkManager.java:75) [craftbukkit.jar:git-Bukkit-33d5de3]
        at net.minecraft.server.v1_8_R1.NetworkManager.channelRead0(NetworkManager.java:236) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.handler.timeout.ReadTimeoutHandler.channelRead(ReadTimeoutHandler.java:150) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [craftbukkit.jar:git-Bukkit-33d5de3]
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [craftbukkit.jar:git-Bukkit-33d5de3]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_40]
    Caused by: java.lang.NullPointerException
        at com.rushing.hcf.FactionsHCF.getGroup(FactionsHCF.java:57) ~[?:?]
        at com.rushing.hcf.FactionsHCF.onChat(FactionsHCF.java:188) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_40]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_40]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_40]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_40]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:295) ~[craftbukkit.jar:git-Bukkit-33d5de3]
        ... 35 more
    getGroup
    Code:
    public String getGroup(final Player base)
       {
         final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
         if (handler == null)
         {
           return null;
         }
         return handler.getGroup(base.getName());
       }
    
     
  2. Offline

    mythbusterma

    @iClaw

    This is made extremely difficult when we can't see the line numbers, post the entire class.
     
  3. Offline

    iClaw

    @mythbusterma
    Code:
    package com.rushing.hcf;
    
    import java.util.Arrays;
    import java.util.List;
    
    import org.anjocaido.groupmanager.GroupManager;
    import org.anjocaido.groupmanager.dataholder.OverloadedWorldHolder;
    import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.block.CreatureSpawner;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.CreatureType;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockBreakEvent;
    import org.bukkit.event.block.BlockPlaceEvent;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerLoginEvent;
    import org.bukkit.event.player.PlayerLoginEvent.Result;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    @SuppressWarnings("deprecation")
    public class FactionsHCF extends JavaPlugin implements Listener{
        GroupManager groupManager;
        FileConfiguration c = getConfig();
        String prefix = "§cbFactions§8: §7";
        String error = "§cbFactions§8: §c";
        String perm = error + "You are not allowed to use this command.";
        String usage = error + "Correct usage: §7";
        String console = error + "You can't execute this command from console.";
        @Override
        public void onEnable(){
            Bukkit.getPluginManager().registerEvents(this, this);
        }
      
        @Override
        public void onDisable(){
            saveConfig();
        }
      
        public boolean isNull(String s){
            if(c.get(s) == null){
                return true;
            }
            return false;
        }
        public String getGroup(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return handler.getGroup(base.getName());
        }
        public boolean setGroup(final Player base, final String group)
        {
            final OverloadedWorldHolder handler = groupManager.getWorldsHolder().getWorldData(base);
            if (handler == null)
            {
                return false;
            }
            handler.getUser(base.getName()).setGroup(handler.getGroup(group));
            return true;
        }
        public List<String> getGroups(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return Arrays.asList(handler.getGroups(base.getName()));
        }
        public String getPrefix(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return handler.getUserPrefix(base.getName());
        }
        public String getSuffix(final Player base)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return null;
            }
            return handler.getUserSuffix(base.getName());
        }
        public boolean hasPermission(final Player base, final String node)
        {
            final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(base);
            if (handler == null)
            {
                return false;
            }
            return handler.has(base, node);
        }
        public int getBalance(String player){
            return c.getInt("players." + player.toLowerCase() + ".balance");
        }
        public void setBalance(String player, int amt){
            c.set("players." + player.toLowerCase() + ".balance", amt);
            saveConfig();
        }
        public void addBalance(String player, int amt){
            c.set("players." + player.toLowerCase() + ".balance", getBalance(player) + amt);
            saveConfig();
        }
        public void delBalance(String player, int amt){
            if((getBalance(player) - amt) < 0){
                c.set("players." + player.toLowerCase() + ".balance", 0);
                saveConfig();
                return;
            }
            c.set("players." + player.toLowerCase() + ".balance", getBalance(player) - amt);
            saveConfig();
        }
        public int getLevel(String player){
            return c.getInt("players." + player.toLowerCase() + ".level");
        }
        public void setLevel(String player, int amt){
            c.set("players." + player.toLowerCase() + ".level", amt);
            saveConfig();
        }
        public int getLives(String player){
            return c.getInt("players." + player.toLowerCase() + ".lives");
        }
        public void setLives(String player, int lives){
            c.set("players." + player.toLowerCase() + ".lives", lives);
            saveConfig();
        }
        public long getDeathbanTime(String player){
            if(!isDeathbanned(player)){
                return 0;
            }
            if(c.getLong("players." + player.toLowerCase() + ".deathban") <= System.currentTimeMillis()){
                c.set("players." + player.toLowerCase() + ".deathban", 0);
                saveConfig();
                return 0;
            }
            return  c.getLong("players." + player.toLowerCase() + ".deathban") - System.currentTimeMillis();
        }
        public boolean isDeathbanned(String player){
            if(c.getLong("players." + player.toLowerCase() + ".deathban") <= System.currentTimeMillis()){
                c.set("players." + player.toLowerCase() + ".deathban", 0);
                saveConfig();
                return false;
            }
            if(c.getLong("players." + player.toLowerCase() + ".deathban") > 0){
                return true;
            }
            return false;
        }
        public void setFormat(AsyncPlayerChatEvent e, String format, Player p, String msg){
            format.replaceAll("%player%", p.getName());
            format.replaceAll("%msg%", msg);
            e.setFormat(format);
        }
        public void setFormat(AsyncPlayerChatEvent e, String format, Player p, String msg, String faction){
            format.replaceAll("%player%", p.getName());
            format.replaceAll("%msg%", msg);
            format.replaceAll("%faction%", faction);
            e.setFormat(format);
        }
        public String getFaction(String player){
            return c.getString("players." + player.toLowerCase() + ".faction.name");
        }
        @EventHandler
        public void onChat(AsyncPlayerChatEvent e){
            Player p = e.getPlayer();
            if(getGroup(p) != null
                    && getGroup(p).equalsIgnoreCase("Member")){
                if(getFaction(p.getName()) == null){
                    setFormat(e, "§7§o%player% §7» §7%msg%", p, e.getMessage());
                }else{
                    setFormat(e, "§b[§c%faction%§b] §7§o%player% §7» §7%msg%", p, e.getMessage(), getFaction(p.getName()));
                }
            }
        }
        @EventHandler
        public void onJoin(PlayerJoinEvent e){
            Player p = e.getPlayer();
            e.setJoinMessage(null);
            if(isNull("players." + p.getName().toLowerCase())){
                Bukkit.broadcastMessage("§cWelcome §7" + p.getName() + " §cto §7§lbFactions§c.");
                p.getInventory().clear();
                setBalance(p.getName(), 0);
                setLevel(p.getName(), 1);
                p.sendMessage("§7§l§m=-=-=-=-=-=-=-=-=§r §c§lbFactions §7§l§m=-=-=-=-=-=-=-=-=");
                p.sendMessage("§7» §cWelcome to bFactions, " + p.getName());
                p.sendMessage("§7» §cPlayers online: §a" + Bukkit.getOnlinePlayers().size());
                p.sendMessage("§7» §c20% Sale at store.bfactions.eu");
                p.sendMessage("§7§l§m=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
                saveConfig();
                ItemStack i1 = new ItemStack(Material.STONE_SWORD);
                ItemStack i2 = new ItemStack(Material.STONE_PICKAXE);
                ItemStack i3 = new ItemStack(Material.STONE_AXE);
                ItemStack i4 = new ItemStack(Material.STONE_SPADE);
                ItemStack i5 = new ItemStack(Material.BAKED_POTATO, 24);
                p.getInventory().addItem(i1);
                p.getInventory().addItem(i2);
                p.getInventory().addItem(i3);
                p.getInventory().addItem(i4);
                p.getInventory().addItem(i5);
                p.updateInventory();
            }else{
                Bukkit.broadcastMessage("§7" + p.getName() + " §cjoined the game.");
                p.sendMessage("§7§l§m=-=-=-=-=-=-=-=-=§r §c§lbFactions §7§l§m=-=-=-=-=-=-=-=-=");
                p.sendMessage("§7» §cWelcome to bFactions, " + p.getName());
                p.sendMessage("§7» §cPlayers online: §a" + Bukkit.getOnlinePlayers().size());
                p.sendMessage("§7» §c20% Sale at store.bfactions.eu");
                p.sendMessage("§7§l§m=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
            }
        }
        @EventHandler
        public void onPlayerDeath(PlayerDeathEvent e){
            e.setDeathMessage(null);
        }
        @EventHandler
        public void onDeath(EntityDeathEvent e){
            if(e.getEntity() instanceof Player){
                Player p =(Player) e.getEntity();
                if(getLives(p.getName()) == 0){
                    if(p.hasPermission("deathban.god")){
                        c.set("players." + p.getName().toLowerCase() + ".deathban",(System.currentTimeMillis()) + (1800 * 1000));
                        saveConfig();
                        p.kickPlayer("§cYou have been deathbanned.\nExpires in: §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false));
                        Bukkit.broadcastMessage("§7" + p.getName()+ " §cdied and was deathbanned for §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false) + "§c.");
                    }else if(p.hasPermission("deathban.hero")){
                        c.set("players." + p.getName().toLowerCase() + ".deathban",(System.currentTimeMillis()) + (5400 * 1000));
                        saveConfig();
                        p.kickPlayer("§cYou have been deathbanned.\nExpires in: §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false));
                        Bukkit.broadcastMessage("§7" + p.getName()+ " §cdied and was deathbanned for §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false) + "§c.");
                    }else if(p.hasPermission("deathban.vip")){
                        c.set("players." + p.getName().toLowerCase() + ".deathban",(System.currentTimeMillis()) + (7200 * 1000));
                        saveConfig();
                        p.kickPlayer("§cYou have been deathbanned.\nExpires in: §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false));
                        Bukkit.broadcastMessage("§7" + p.getName()+ " §cdied and was deathbanned for §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false) + "§c.");
                    }else{
                        c.set("players." + p.getName().toLowerCase() + ".deathban",(System.currentTimeMillis()) + (10800 * 1000));
                        saveConfig();
                        p.kickPlayer("§cYou have been deathbanned.\nExpires in: §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false));
                        Bukkit.broadcastMessage("§7" + p.getName()+ " §cdied and was deathbanned for §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false) + "§c.");
                    }
                    c.set(p.getName() + ".lives", 0);
                    saveConfig();
                }else{
                    setLives(p.getName(), getLives(p.getName()) - 1);
                    Bukkit.broadcastMessage("§7" + p.getName()+ " §cdied.");
                }
                return;
            }
        }
        @EventHandler
        public void onLogin(PlayerLoginEvent e){
            Player p = e.getPlayer();
            if(isDeathbanned(p.getName())){
                e.disallow(Result.KICK_OTHER, "§cYou are deathbanned.\nExpires in: §7" + TimeParser.parseLong(getDeathbanTime(p.getName()), false));
                return;
            }
        }
        @EventHandler
        public void onBlockBreak(BlockBreakEvent e){
            Player p = e.getPlayer();
            if(e.getBlock().getType() == Material.EMERALD_ORE){
                if(getLevel(p.getName()) < 5){
                    e.setCancelled(true);
                    p.sendMessage(error + "You need to be level §75 §cto break this block.");
                    return;
                }
            }else if(e.getBlock().getType() == Material.DIAMOND_ORE){
                if(getLevel(p.getName()) < 4){
                    e.setCancelled(true);
                    p.sendMessage(error + "You need to be level §74 §cto break this block.");
                    return;
                }
            }else if(e.getBlock().getType() == Material.GOLD_ORE){
                if(getLevel(p.getName()) < 3){
                    e.setCancelled(true);
                    p.sendMessage(error + "You need to be level §73 §cto break this block.");
                    return;
                }
            }else if(e.getBlock().getType() == Material.IRON_ORE){
                if(getLevel(p.getName()) < 2){
                    e.setCancelled(true);
                    p.sendMessage(error + "You need to be level §72 §cto break this block.");
                    return;
                }
            }else if(e.getBlock().getType()== Material.MOB_SPAWNER){
                CreatureSpawner s = (CreatureSpawner) e.getBlock().getState();
                if(s.getCreatureType() == CreatureType.COW){
                    if(getLevel(p.getName()) < 2){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §72 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.SHEEP){
                    if(getLevel(p.getName()) < 2){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §72 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.ZOMBIE){
                    if(getLevel(p.getName()) < 3){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §73 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.SKELETON){
                    if(getLevel(p.getName()) < 3){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §73 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.SPIDER){
                    if(getLevel(p.getName()) < 4){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §74 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.CAVE_SPIDER){
                    if(getLevel(p.getName()) < 4){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §74 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.CREEPER){
                    if(getLevel(p.getName()) < 6){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §76 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.BLAZE){
                    if(getLevel(p.getName()) < 6){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §76 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.ENDERMAN){
                    if(getLevel(p.getName()) < 5){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §75 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.PIG_ZOMBIE){
                    if(getLevel(p.getName()) < 7){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §77 §cto break this block.");
                        return;
                    }
                }else if(s.getCreatureType() == CreatureType.fromEntityType(EntityType.IRON_GOLEM)){
                    if(getLevel(p.getName()) < 7){
                        e.setCancelled(true);
                        p.sendMessage(error + "You need to be level §77 §cto break this block.");
                        return;
                    }
                }
            }
        }
        @EventHandler
        public void onBlockPlace(BlockPlaceEvent e){
            Player p = e.getPlayer();
            if(e.getBlock().getType() == Material.MOB_SPAWNER){
                    CreatureSpawner s = (CreatureSpawner) e.getBlock().getState();
                    if(s.getCreatureType() == CreatureType.COW){
                        if(getLevel(p.getName()) < 2){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §72 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.SHEEP){
                        if(getLevel(p.getName()) < 2){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §72 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.ZOMBIE){
                        if(getLevel(p.getName()) < 3){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §73 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.SKELETON){
                        if(getLevel(p.getName()) < 3){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §73 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.SPIDER){
                        if(getLevel(p.getName()) < 4){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §74 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.CAVE_SPIDER){
                        if(getLevel(p.getName()) < 4){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §74 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.CREEPER){
                        if(getLevel(p.getName()) < 6){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §76 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.BLAZE){
                        if(getLevel(p.getName()) < 6){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §76 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.ENDERMAN){
                        if(getLevel(p.getName()) < 5){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §75 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.PIG_ZOMBIE){
                        if(getLevel(p.getName()) < 7){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §77 §cto place this block.");
                            return;
                        }
                    }else if(s.getCreatureType() == CreatureType.fromEntityType(EntityType.IRON_GOLEM)){
                        if(getLevel(p.getName()) < 8){
                            e.setCancelled(true);
                            p.sendMessage(error + "You need to be level §78 §cto place this block.");
                            return;
                    }
                }
            }
        }
        public void command(String cmd){
            Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd);
        }
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
            if(cmd.getName().equalsIgnoreCase("levelup")){
                if(!(sender instanceof Player)){
                    sender.sendMessage(console);
                    return true;
                }
                Player p = (Player)sender;
                if(getLevel(p.getName()) == 1){
                    int cost = 12500;
                    if(getBalance(p.getName()) < cost){
                        p.sendMessage(error + "You need §7$" + cost + " §cto level up.");
                        return true;
                    }
                    setLevel(p.getName(), getLevel(p.getName()) + 1);
                    p.sendMessage(prefix + "Congratulations!");
                    p.sendMessage(prefix + "Leveled up to level §c2§7.");
                    Bukkit.broadcastMessage("§7" + p.getName() + " §3ranked up to level §72§b.");
                }else if(getLevel(p.getName()) == 2){
                    int cost = 40000;
                    if(getBalance(p.getName()) < cost){
                        p.sendMessage(error + "You need §7$" + cost + " §cto level up.");
                        return true;
                    }
                    setLevel(p.getName(), getLevel(p.getName()) + 1);
                    p.sendMessage(prefix + "Congratulations!");
                    p.sendMessage(prefix + "Leveled up to level §c3§7.");
                    Bukkit.broadcastMessage("§7" + p.getName() + " §3ranked up to level §73§b.");
                }else if(getLevel(p.getName()) == 3){
                    int cost = 100000;
                    if(getBalance(p.getName()) < cost){
                        p.sendMessage(error + "You need §7$" + cost + " §cto level up.");
                        return true;
                    }
                    setLevel(p.getName(), getLevel(p.getName()) + 1);
                    p.sendMessage(prefix + "Congratulations!");
                    p.sendMessage(prefix + "Leveled up to level §c4§7.");
                    Bukkit.broadcastMessage("§7" + p.getName() + " §3ranked up to level §74§b.");
                }else if(getLevel(p.getName()) == 4){
                    int cost = 250000;
                    if(getBalance(p.getName()) < cost){
                        p.sendMessage(error + "You need §7$" + cost + " §cto level up.");
                        return true;
                    }
                    setLevel(p.getName(), getLevel(p.getName()) + 1);
                    p.sendMessage(prefix + "Congratulations!");
                    p.sendMessage(prefix + "Leveled up to level §c5§7.");
                    Bukkit.broadcastMessage("§7" + p.getName() + " §3ranked up to level §75§b.");
                }else if(getLevel(p.getName()) == 5){
                    int cost = 400000;
                    if(getBalance(p.getName()) < cost){
                        p.sendMessage(error + "You need §7$" + cost + " §cto level up.");
                        return true;
                    }
                    setLevel(p.getName(), getLevel(p.getName()) + 1);
                    p.sendMessage(prefix + "Congratulations!");
                    p.sendMessage(prefix + "Leveled up to level §c6§7.");
                    Bukkit.broadcastMessage("§7" + p.getName() + " §3ranked up to level §76§b.");
                }else if(getLevel(p.getName()) == 6){
                    int cost = 800000;
                    if(getBalance(p.getName()) < cost){
                        p.sendMessage(error + "You need §7$" + cost + " §cto level up.");
                        return true;
                    }
                    setLevel(p.getName(), getLevel(p.getName()) + 1);
                    p.sendMessage(prefix + "Congratulations!");
                    p.sendMessage(prefix + "Leveled up to level §c7§7.");
                    Bukkit.broadcastMessage("§7" + p.getName() + " §3ranked up to level §77§b.");
                }else if(getLevel(p.getName()) == 7){
                    int cost = 1000000;
                    if(getBalance(p.getName()) < cost){
                        p.sendMessage(error + "You need §7$" + cost + " §cto level up.");
                        return true;
                    }
                    setLevel(p.getName(), getLevel(p.getName()) + 1);
                    p.sendMessage(prefix + "Congratulations!");
                    p.sendMessage(prefix + "Leveled up to level §c8§7.");
                    Bukkit.broadcastMessage("§7" + p.getName() + " §3ranked up to level §78§b.");
                }else if(getLevel(p.getName()) == 8){
                    p.sendMessage(error+  "You already have the max level.");
                }
            }
            return false;
        }
    }
    
     
  4. Offline

    Zombie_Striker

    Is groupManager null? Is the WorldsHolder null? Also, why is it final.
     
  5. Offline

    iClaw

    @Zombie_Striker
    Groupmanager and worldsholder are not null.
    I removed the 'final', but it still doesn't work
     
Thread Status:
Not open for further replies.

Share This Page