If you send SIGTERM to the minecraft server process it exits with a status code of 143.
It should exit with a status code of 0 if stops gracefully.
Steps to reproduce the issue:
root@minecraft:/var/minecraft# java -jar /opt/minecraft/minecraft_server.1.10.2.jar nogui
[ ...wait until server has started, then CTRL-Z to issue an SIGTSTP to suspend the process ]
root@minecraft:/var/minecraft# kill -SIGTERM $(pgrep java)
root@minecraft:/var/minecraft# fg
java -jar /opt/minecraft/minecraft_server.1.10.2.jar nogui
root@minecraft:/var/minecraft# echo $?
143
As far as I know the behaviour you describe has nothing to do with minecraft. The exit code is the result of the application being terminated by an external source, which is clearly documented with standard bash exit codes. Regardless what process you're killing, using SIGTERM will result in a status of 143, which is a result of 128 + SIGTERM (15). This will hold true regardless if the process has terminated gracefully.