2013-12-02 19:29:18 -07:00
|
|
|
MINECRAFT_SERVER=/etc/init.d/minecraft_server
|
|
|
|
|
2013-11-15 19:49:01 -07:00
|
|
|
_minecraft_server() {
|
2013-12-02 14:13:18 -07:00
|
|
|
local CUR PREV OPTS WORLDS
|
|
|
|
COMPREPLY=()
|
|
|
|
CUR=${COMP_WORDS[COMP_CWORD]}
|
|
|
|
PREV=${COMP_WORDS[COMP_CWORD-1]}
|
2013-11-14 20:25:01 -07:00
|
|
|
|
2013-12-02 14:13:18 -07:00
|
|
|
OPTS="start stop force-stop restart force-restart create new delete remove
|
|
|
|
disable enable status show sync send screen watch logrotate backup update
|
|
|
|
map overviewer"
|
2013-11-14 20:25:01 -07:00
|
|
|
|
2013-12-02 14:13:18 -07:00
|
|
|
if [ $COMP_CWORD -eq 1 ]; then
|
|
|
|
COMPREPLY=($(compgen -W "$OPTS" -- $CUR))
|
|
|
|
else
|
|
|
|
case $PREV in
|
|
|
|
start|stop|force-stop|restart|force-restart|create|new|delete|remove| \
|
|
|
|
disable|enable|status|show|sync|send|screen|watch|logrotate|backup| \
|
|
|
|
map|overviewer)
|
2013-12-02 19:29:18 -07:00
|
|
|
WORLDS=$($MINECRAFT_SERVER list)
|
2013-12-02 14:13:18 -07:00
|
|
|
COMPREPLY=($(compgen -W "$WORLDS" -- $CUR))
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
return 0
|
2013-11-14 20:25:01 -07:00
|
|
|
}
|
2013-12-02 19:29:18 -07:00
|
|
|
complete -F _minecraft_server $MINECRAFT_SERVER
|