@Override public void update(GameContainer container, int delta) throws SlickException { Projectile proj; playerNextPos = inputHandler.playerInput(player, container.getInput(), delta, sound); entity.update(delta, sound); if (!isBlocked(playerNextPos, player.getWidth(), player.getHeight())) { player.setCoord(playerNextPos); } player.logic(); for (int i = 0; i < projectiles.size(); i++) { proj = projectiles.get(i); proj.update(delta); if (isBlocked(proj.pos, proj.getWidth(), proj.getHeight())) { projectiles.remove(i); sound.playSound(collisionSound); } else if (proj.collidesWith(entity) && proj.getOwner() == player) { proj.damage(entity); projectiles.remove(i); } else if (proj.collidesWith(player) && proj.getOwner() == entity) { proj.damage(player); projectiles.remove(i); } } }