java - Nullpointer When Reading Enum -


it appears i'm having trouble. i'm attempting read random value in enum, though running nullpointers when trying execute this. i'm not entirely sure what's wrong here, teach me i'm doing wrong!

so, error get:

java.lang.nullpointerexception @ com.foxtrot.game.player.dialogues.impl.npcs.child.run(child.java:89) @ com.foxtrot.game.player.dialoguemanager.continuedialogue(dialoguemanager.java:31) @ com.foxtrot.net.decoders.worldpacketsdecoder.processpackets(worldpacketsdecoder.java:1127) @ com.foxtrot.net.decoders.worldpacketsdecoder.decode(worldpacketsdecoder.java:282) @ com.foxtrot.net.serverchannelhandler.messagereceived(serverchannelhandler.java:128) @ org.jboss.netty.channel.simplechannelhandler.handleupstream(simplechannelhandler.java:88) @ org.jboss.netty.channel.defaultchannelpipeline.sendupstream(defaultchannelpipeline.java:564) @ org.jboss.netty.channel.defaultchannelpipeline.sendupstream(defaultchannelpipeline.java:559) @ org.jboss.netty.channel.channels.firemessagereceived(channels.java:268) @ org.jboss.netty.channel.channels.firemessagereceived(channels.java:255) @ org.jboss.netty.channel.socket.nio.nioworker.read(nioworker.java:88) @ org.jboss.netty.channel.socket.nio.abstractnioworker.process(abstractnioworker.java:108) @ org.jboss.netty.channel.socket.nio.abstractnioselector.run(abstractnioselector.java:318) @ org.jboss.netty.channel.socket.nio.abstractnioworker.run(abstractnioworker.java:89) @ org.jboss.netty.channel.socket.nio.nioworker.run(nioworker.java:178) @ org.jboss.netty.util.threadrenamingrunnable.run(threadrenamingrunnable.java:108) @ org.jboss.netty.util.internal.deadlockproofworker$1.run(deadlockproofworker.java:42) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source)

this statement receiving error:

        if (player.getmonstertask() == null) {             player.getmonstertask().applytask();             int amount = monsterhandler.getamount();             int id = player.getmonstertask().getid();             string name = npcdefinitions.getnpcdefinitions(id).getname();             send("go, warrior! go , kill ", "x"+amount+" of "+name+"!");             return;         } 

player.getmonstertask().applytask(); line 89.

public enum tasks {      rock_crab(1265, 5, 50, 1, 7500),     magic_axe(127, 5, 15, 1, 3000),     chaos_druid(181, 5, 30, 1, 4000),     man(2, 2, 10, 1, 1000),     rock_golem(3027, 1, 3, 1, 10000),     giant_bat(78, 5, 20, 1, 5000),     ogre(3419, 5, 60, 20, 12000),     poison_spider(134, 10, 50, 25, 15000),     chaos_dwarf(119, 5, 60, 30, 15000),     cyclops(6081, 15, 40, 35, 18000),     ice_wolf(6052, 15, 40, 35, 19000),     giant_spider(2035, 15, 70, 40, 20000),     hill_giant(117, 15, 55, 45, 50000),     moss_giant(1681, 20, 50, 47, 25000),     giant_rock_crab(2885, 10, 90, 75, 75000);      private int id, minamount, maxamount, levelreq, reward;     private player player;     private monsterhandler monsterhandler;     public boolean completed = false;      private static final list<tasks> values = collections.unmodifiablelist(arrays.aslist(values()));     private static final int size = values.size();     private static final random random = new random();      tasks(int id, int minamount, int maxamount, int level, int reward) {         this.id = id;         this.minamount = minamount;         this.maxamount = maxamount;         this.levelreq = level;         this.reward = reward;     }      public int getreward() {         return reward;     }      public int getlevelreq() {         return levelreq;     }      public int getid() {         return id;     }      public int getminamount() {         return minamount;     }      public int getmaxamount() {         return maxamount;     }      public void getmonstertask() {         player.setmonstertask(values.get(random.nextint(size)));     }      public boolean iscomplete() {         return completed;     }      public void setcomplete(boolean b) {         this.completed = b;     }      public void setreward(int r) {         this.reward = r;     }      public void resetmonster(player player) {         player.getmonstertask().setcomplete(false);         player.getmonstertask().setnpcid(-1);         player.getmonstertask().setreward(-1);         monsterhandler.setamount(-1);         player.setmonstertask(null);     }      public void setnpcid(int id) {         this.id = id;     }             } 

that monstertasks class, applytask method being drawn from. let me know if need more information!

thank you.

if (player.getmonstertask() == null) mean player.getmonstertask() has returned null.
, in next line player.getmonstertask().applytask(); doing null.applytask(). hence exception.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -