Well, I guess the phrase “cant find where its coming from” isn’t exactly right, but I just dont know why im getting this error.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at net.sauce.block.BlockStone.renderBlock(BlockStone.java:23)
at net.sauce.game.Chunk.renderChunk(Chunk.java:57)
at net.sauce.game.World.render(World.java:21)
at net.sauce.game.GameCanvas.paint(GameCanvas.java:33)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5124)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
at javax.swing.JComponent._paintImmediately(JComponent.java:5072)
at javax.swing.JComponent.paintImmediately(JComponent.java:4882)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:785)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
My render block method:
(Line 23 is the if(e.getType…) )
public void renderBlock(Graphics2D g) {
if(willRender()){
if(!getAdjacentBlocks().isEmpty()){
for(Block e: getAdjacentBlocks()){
if(e.getType().equals(Material.AIR)){
g.setColor(Color.gray);
g.fillRect(getRenderX(), getRenderY(), 32, 32);
}
}
}
}
}
getAdjacentBlocks() method:
public List<Block> getAdjacentBlocks(){
List<Block> ret = new ArrayList<Block>();
Block[][] blocks = getChunk().getBlocks();
//UP-LEFT
if(getGridX() != 0 && getGridY() != 0)
ret.add(blocks[getGridX()-1][getGridY()-1]);
//UP
if(getGridY() != 0)
ret.add(blocks[getGridX()][getGridY()-1]);
//UP-RIGHT
if(getGridY() != 0 && getGridX() != getChunk().width)
ret.add(blocks[getGridX()+1][getGridY()-1]);
//DOWN-LEFT
if(getGridY() != getChunk().height && getGridX() != 0)
ret.add(blocks[getGridX()-1][getGridY()+1]);
//DOWN
if(getGridY() != getChunk().height)
ret.add(blocks[getGridX()][getGridY()+1]);
//DOWN-RIGHT
if(getGridX() != getChunk().width && getGridY() != getChunk().height)
ret.add(blocks[getGridX()+1][getGridY()+1]);
//LEFT
if(getGridX() != 0)
ret.add(blocks[getGridX()-1][getGridY()]);
//RIGHT
if(getGridX() != getChunk().width)
ret.add(blocks[getGridX()+1][getGridY()]);
return ret;
}
From this code, I dont see how I can get this error.