#!/bin/bash
# Alloc's Minecraft Installer:
# feel free to change, update, improve, and release this script
# suggestions of feedback? reach me at alloc@dr.com
# This script, in no way, is directly distributing any protected minecraft files
# all files are downloaded directly from minecraft.net. Don't worry, you won't be
# breaking the "one big rule"

# happy mining!
# latest update 4/20/2011
echo ""
echo "@-------------------------------------------@"
echo "@ Ñêðèïò äëÿ óñòàíîâêè Minecraft r @"
echo "@ Verion 1.8 @"
echo "@ @"
echo "@ Please feel free to improve @"
echo "@ this script however you desire. @"
echo "@ @"
echo "@ Alloc@dr.com ïåðåâîä: ubuntu-go.ru @"
echo "@-------------------------------------------@"
counter=1
#----------------------------------#
# DOTS FUNCTION #
#----------------------------------#
# this function simply prints three dots. It waits .1 seconds between each dot
function dots {
while [ $counter -le 3 ]
do
echo -ne "."
sleep .1
((counter++))
done
let counter=1
echo
}
## END DOTS
#----------------------------------#
# INSTALL FUNCTION #
#----------------------------------#
# This is the main install function, here all the files are downloaded/created and installed
function Install {
# the first thing it does is check to see if the .minecraft folder already exists
# if so, then we don't need to create a new one, if not, we do.
if [ -e /home/$(whoami)/.minecraft ]
then
echo ".minecraft folder exists"
if [ -e /home/$(whoami)/.minecraft/minecraft.jar ]
then
echo -ne "have you run this before?"
dots
fi
echo ""
else
echo -ne "creating /home/$(whoami)/.minecraft"
dots
cd /home/$(whoami)
mkdir .minecraft
fi
#--------------------------------------------
cd /home/$(whoami)/.minecraft
#--------------------------------------------
# after the .minecraft folder is created, the script checks for Sun-Java
# by checking to see if the installation folder is present, if so, then
# it will not download it, however it will still make sure that sun-java
# is default, just in case openjdk is already installed
echo -ne "looking for Sun-Java"
dots
if [ -e /usr/lib/jvm/java-6-sun ]
then
if [ -e /usr/lib/jvm/java-6-sun/bin ]
then
if [ -e /usr/lib/jvm/java-6-sun/bin/java ]
then
echo "Sun-Java is already Installed!"
echo -ne "We need to make sure that it is the default Java installation"
dots
echo "Don't worry if you see lots of errors"
echo "this requires root access"
# setting the default java creates alot of unneeded text, therefore it is done
# in a new terminal window, because people dont' really need to see it
sudo gnome-terminal -x sudo update-java-alternatives -s java-6-sun
echo "Sun Java set as Default."
fi
fi
echo ""
else
echo -ne "you'll need to install Sun-Java-JRE"
dots
echo "this will require root access!"
echo "prepare for lots of text!"
sudo apt-get install sun-java6-jre sun-java6-plugin
sudo update-java-alternatives -s java-6-sun
echo ""
echo ""
echo ""
echo " JAVA INSTALL SUCCESSFUL!"
echo "------------------------------------"
echo ""
echo ""
echo ""
fi
#--------------------------------------------
# the .jar file is simply downloaded to the .minecraft folder from minecraft.net
# it first checks to see if the user already has it, if so, it won't be downloaded
echo -ne downloading minecraft.jar
dots
if [ -e /home/$(whoami)/.minecraft/minecraft.jar ]
then
echo looks like you already downloaded it!
else
wget -q
www.minecraft.net/download/minecraft.jarecho "downloaded."
fi
echo""
echo -ne downloading icon
# the icon is also downloaded from minecraft.net, only if needed
dots
if [ -e /home/$(whoami)/.minecraft/icon.png ]
then
echo "you already have the icon!"
else
wget -q
http://www.minecraft.net/favicon.pngmv favicon.png icon.png
echo saved to /home/$(whoami)/.minecraft
fi
echo ""
#---------------------------------------------
echo -ne writing bin shell
# this writes a seperate shell script in the /usr/local/bin folder, this is what allows the user
# to run minecraft from terminal, just by typing minecraft.
dots
if [ ! -e /usr/local/bin/minecraft ]
then
touch minecraft
echo java -jar /home/$(whoami)/.minecraft/minecraft.jar >> minecraft
echo -ne saving to usr/local/bin
dots
echo this requires root access:
sudo cp minecraft /usr/local/bin/
cd /
cd /usr/local/bin
sudo chmod +x minecraft
echo "done"
else
echo excecutable already written
fi
echo ""
#--------------------------------------------
echo -ne writing desktop shortcut
dots
cd /home/$(whoami)/.minecraft/
if [ -e /home/$(whoami)/.minecraft/install_files ]
then
echo -ne previous version detected, updating
dots
rm -rf install_files
fi
mkdir install_files
cd install_files
touch alloc-installer.desktop
echo "[Desktop Entry]" >> alloc-installer.desktop
echo "Type=Application" >> alloc-installer.desktop
echo "Encoding=UTF-8" >> alloc-installer.desktop
echo "Name=Minecraft" >> alloc-installer.desktop
echo "Comment=awesome game" >> alloc-installer.desktop
echo Exec= java -jar /home/$(whoami)/.minecraft/minecraft.jar >> alloc-installer.desktop
echo Icon= /home/$(whoami)/.minecraft/icon.png >> alloc-installer.desktop
echo Categories=Game >> alloc-installer.desktop
echo "Terminal=false" >> alloc-installer.desktop
#----------------------------------------------------
echo -ne granting the shortcut excecution permissions
dots
echo this requires root access
cp alloc-installer.desktop /home/$(whoami)/Desktop
sudo chmod +x /home/$(whoami)/Desktop/alloc-installer.desktop
echo "done"
echo ""
#---------------------------------------------
echo -ne writing menu item
dots
touch alloc-menu.directory
echo [Desktop Entry] >> alloc-menu.directory
echo Value=1.0 >> alloc-menu.directory
echo Type=Directory >> alloc-menu.directory
echo Encoding=UTF-8 >> alloc-menu.directory
echo "done"
echo ""
echo -ne installing to Applications menu
dots
xdg-desktop-menu install alloc-menu.directory alloc-installer.desktop
xdg-desktop-menu forceupdate
echo installed
#--------------------------------------------
echo ""
echo "SUCCESS!"
echo ""
echo -e "Minecraft has been successfull Downloaded and Installed \nCheck your desktop and Applications menu for launchers! \nYou can also run it from terminal with a 'minecraft' command! \ncontact: alloc@dr.com"
echo "Happy Mining!"
echo""
}
## END INSTALL
#----------------------------------#
# UNINSTALL FUNCTION #
#----------------------------------#
function Uninstall {
echo -ne "Looking for Minecraft"
dots
if [ ! -e /home/$(whoami)/.minecraft/minecraft.jar ]
then
echo -ne " -folder not detected"
dots
if [ ! -e /usr/local/bin/minecraft ]
then
echo -ne " -bin launcher not detected"
dots
echo""
echo "Minecraft doesn't seem to be installed!"
Main
return
fi
fi
echo "Minecraft found!"
echo -ne "Uninstalling Minecraft"
dots
echo "NOTE: You're save files will be kept"
cd /home/$(whoami)/.minecraft
echo ""
echo -ne "Deleting files and folders"
dots
rm -rf bin
rm -rf texturepacks
rm minecraft.jar
if [ -e options.txt ]
then
rm options.txt
fi
if [ -e lastlogin ]
then
rm lastlogin
fi
rm minecraft
rm -rf resources
rm icon.png
cd install_files
echo "Removing Application Launcher"
xdg-desktop-menu uninstall alloc-menu.directory alloc-installer.desktop
echo "Removing Desktop Shortcut"
rm /home/$(whoami)/Desktop/alloc-installer.desktop
эрэм эрэф /home/$(whoami)/.minecraft/install_files
echo ""
echo -ne "Removing Binary Launcher"
dots
echo "this requires root access:"
sudo rm /usr/local/bin/minecraft
echo ""
echo "Minecraft has been uninstalled

"
}
## END UNINSTALL
#----------------------------------#
# TROUBLESHOOT FUNCTION #
#----------------------------------#
function TroubleShoot {
echo ""
echo ""
echo "#----------------------------------#"
echo "# Troubleshooting Menu #"
echo "#----------------------------------#"
echo "What would you like to do? (enter number of choice)"; echo "";
echo "1. óñòàíîâèòü/îáíîâèòü Sun-Java"
echo "2. óñòàíîâèòü/îáíîâèòü OpenJDK"
echo "3. èñïîëüçîâàòü Sun-Java äëÿ çàïóñêà minecraft"
echo "4. èñïîëüçîâàòü OpenJDK äëÿ çàïóñêà minecraft (Íå ðåêîìåíäóåòñÿ)"
echo "5. these options didn't fix it!"
echo "6. âåðíóòñÿ â ìåíþ"
TINPUT=0
read TINPUT
if [ $TINPUT -eq 1 ]
then
echo -ne "Installing/Updating Sun-Java"
dots
echo "this requires root access:"
sudo apt-get install sun-java6-jre
echo ""; echo ""; echo; echo "Finished!"; echo "";
TroubleShoot
else
if [ $TINPUT -eq 2 ]
then
echo -ne "Installing/Updating OpenJDK"
dots
echo "this requires root access:"
sudo apt-get install openjdk-6-jre
echo ""; echo ""; echo; echo "Finished!"; echo "";
TroubleShoot
else
if [ $TINPUT -eq 3 ]
then
echo -ne "Making Sun-Java the default"
dots
echo "Don't worry if you see lots of errors"
sudo gnome-terminal -x sudo update-java-alternatives -s java-6-sun
echo ""; echo ""; echo; echo "Finished!"; echo "";
else
if [ $TINPUT -eq 4 ]
then
echo -ne "Making OpenJDK the default"
dots
echo "Don't worry if you see lots of errors"
sudo gnome-terminal -x sudo update-java-alternatives -s java-6-openjdk
echo ""; echo ""; echo; echo "Finished!"; echo "";
else
if [ $TINPUT -eq 5 ]
then
echo "-------------------------------------------------"
echo "if these troubleshooting options didn't fix your,"
echo "problem, I'd be glad to help you out! "
echo "Alloc@dr.com"
echo "-------------------------------------------------"
read NOTHING
Main
else
if [ $TINPUT -eq 6 ]
then
return
else
echo invalid choice
TroubleShoot
fi
fi
fi
fi
fi
fi
}
## END TROUBLESHOOT
#----------------------------------#
# MAIN FUNCTION #
#----------------------------------#
function Main {
echo ""
echo "------------------------------------------------------"
echo "Âûáåðèòå äåéñòâèå (Ââåäèòå öèôðó è íàæìèòå Enter) "; echo "";
INPUT=0
while [ $INPUT != 1 ] && [ $INPUT != 2 ] && [ $INPUT != 3 ]
do
echo "1. Óñòàíîâèòü Minecraft"
echo "2. Óäàëèòü Minecraft"
echo "3. Äîïîëíèòåëüíî"
echo "4. Âûõîä"
if [ -e /usr/local/bin/minecraft ] && [ -e /home/$(whoami)/.minecraft/minecraft.jar ]
then
echo "5. Èãðàòü â Minecraft!"
fi
read INPUT
if [ $INPUT -eq 1 ]
then
Install
Main
return
else
if [ $INPUT -eq 2 ]
then
Uninstall
Main
return
else
if [ $INPUT -eq 3 ]
then
TroubleShoot
Main
return
else
if [ $INPUT -eq 4 ]
then
return
else
if [ $INPUT -eq 5 ] && [ -e /usr/local/bin/minecraft ] && [ -e /home/$(whoami)/.minecraft/minecraft.jar ]
then
minecraft
else
echo "invalid choice"
Main
fi
fi
fi
fi
fi
done
}
#----------------------------------#
# CALL THE MAIN FUNCTION #
#----------------------------------#
Main
# THE END