#!/bin/sh set -e # Ensure Features Are Selected if [ -z "${MCPI_SUBSHELL}" ]; then MCPI_FEATURES="$(zenity --class 'Minecraft - Pi edition' --list --checklist --column 'Enabled' --column 'Feature' TRUE 'Touch GUI' FALSE 'Survival Mode' TRUE 'Fix Bow & Arrow' TRUE 'Fix Attacking' TRUE 'Mob Spawning' TRUE 'Fancy Graphics' TRUE 'Disable Autojump By Default' TRUE 'Fix Sign Placement' TRUE 'Show Block Outlines')" MCPI_USERNAME="$(zenity --class 'Minecraft - Pi edition' --entry --text 'Minecraft Username:' --entry-text 'StevePi')" fi export MCPI_FEATURES export MCPI_USERNAME # Start VirGL virgl_test_server & VIRGL_PID="$!" # Ensure Groups Are Correct if [ -z "${MCPI_SUBSHELL}" ]; then if ! id -Gn "$(whoami)" | grep '\bdocker\b' > /dev/null; then pkexec adduser "$(whoami)" docker fi exec sg docker "env MCPI_SUBSHELL=1 \"$(realpath -e "$0")\"" fi # Allow X11 Connections From Root xhost local:root # Launch Minecraft DOCKER_COMPOSE="docker-compose -f /usr/share/minecraft-pi/client/docker-compose.yml" (${DOCKER_COMPOSE} pull || :) | zenity --class 'Minecraft - Pi edition' --progress --pulsate --no-cancel --auto-close --text 'Updating Minecraft...' ${DOCKER_COMPOSE} run --rm minecraft-pi || : # Kill VirGL kill "${VIRGL_PID}"