Skip to content

A Free, Open-Source Minecraft Non-Premium Launcher Built Entirely in Python

Notifications You must be signed in to change notification settings

Rozgaleziacz/bananalauncher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ Banana Launcher ๐ŸŒ

A Free, Open-Source Minecraft Non-Premium Launcher Built Entirely in Python

License Language Status


๐Ÿ“Œ Overview

Banana Launcher is a lightweight, feature-rich Minecraft launcher designed for players who want to play Minecraft without premium authentication. Built completely in Python with a modern GUI, it offers an intuitive and fun gaming experience with additional features like music controls and an animated interface.

Whether you're a casual player or a developer, Banana Launcher provides everything you need to download and launch multiple Minecraft versions effortlessly.


โญ Features

โœจ Easy Version Management

  • Automatically download Minecraft versions from 1.16.5 to 1.20.1
  • One-click version selection and installation
  • Automatic file management and caching

๐ŸŽต Built-in Music Player

  • Play your favorite bananas-themed playlist
  • Support for multiple audio files
  • Volume control and play/pause buttons

๐ŸŽจ Modern GUI Interface

  • Animated breathing logo (top center)
  • Clean, dark-themed Tkinter interface
  • Real-time console logging
  • Responsive and smooth animations

๐Ÿ‘ค Simple Username Authentication

  • Offline username-based authentication
  • Local storage of player credentials
  • One-click logout

๐ŸŒ™ Offline Mode Support

  • Play offline without internet authentication
  • Perfect for single-player adventures

๐Ÿ“‹ Console Logging

  • Real-time installation and launch logs
  • Copy and view detailed error messages
  • Full traceback support for debugging

๐ŸŒ Banana-Themed Design

  • Fun, banana-inspired UI elements
  • Animated logo with breathing effect
  • Playful color scheme (#FFD400 yellow theme)

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.11 or higher
  • Windows, macOS, or Linux
  • Internet connection (for downloading Minecraft versions)

Installation

  1. Clone the Repository

    git clone https://github.com/yourusername/BananaLauncher.git
    cd BananaLauncher
  2. Install Dependencies

    pip install -r requirements.txt

    Or manually install required packages:

    pip install pygame pillow minecraft-launcher-lib msal
  3. Run the Launcher

    python BananaLauncher.py

๐Ÿ“– Usage

Step 1: Set Your Username

Click the Login button (bottom left) and enter your Minecraft username.

Step 2: Select Version

Choose your desired Minecraft version (1.16.5 to 1.20.1) from the dropdown menu.

Step 3: Launch Minecraft

Click the PLAY button and the launcher will:

  • Automatically download the selected version (if not already cached)
  • Install all required files
  • Launch Minecraft with your username

Step 4: Enjoy!

Play Minecraft offline with your custom username!

Music Player

  • Click โ–ถ to play background music
  • Use โธ to pause and โญ to skip to the next track
  • Adjust volume with the slider

๐Ÿ“ Project Structure

BananaLauncher/
โ”œโ”€โ”€ BananaLauncher.py          # Main launcher application
โ”œโ”€โ”€ banana_launcher_logo.png    # Logo image (custom banana logo)
โ”œโ”€โ”€ join.png                    # Optional play button image
โ”œโ”€โ”€ banany.mp3                  # Soundtrack files
โ”œโ”€โ”€ banany2.mp3
โ”œโ”€โ”€ banany3.mp3
โ”œโ”€โ”€ minecraft/                  # Auto-created: Minecraft installations
โ”œโ”€โ”€ auth_cache.json             # Local: Stored username data
โ”œโ”€โ”€ README.md                   # This file
โ””โ”€โ”€ requirements.txt            # Python dependencies

๐Ÿ› ๏ธ Customization

Add Your Own Music

  1. Place MP3 files in the launcher directory
  2. Modify the PLAYLIST variable in BananaLauncher.py:
    PLAYLIST = [
        ("your_song.mp3", "Song Title"),
        ("another_song.mp3", "Another Title"),
    ]

Change the Logo

Replace banana_launcher_logo.png with your own image file (same name).

Custom Play Button

Add a join.png image (100x100 pixels) to replace the text PLAY button.

Modify Colors

Edit the color codes in BananaLauncher.py:

  • Main color: #FFD400 (banana yellow)
  • Background: #0f0f0f (dark black)
  • Accent: #90EE90 (light green)

๐Ÿ”ง Dependencies

  • tkinter โ€” GUI framework (built-in with Python)
  • pygame โ€” Audio playback and music control
  • pillow (PIL) โ€” Image processing and animation
  • minecraft-launcher-lib โ€” Minecraft version management and launching
  • msal โ€” Microsoft authentication (optional, for future updates)

Install all dependencies:

pip install pygame pillow minecraft-launcher-lib msal

๐Ÿ“‹ Supported Minecraft Versions

The launcher currently supports the following Minecraft Java Edition versions:

  • 1.20.1 โœ…
  • 1.20 โœ…
  • 1.19.2 โœ…
  • 1.18.2 โœ…
  • 1.17.1 โœ…
  • 1.16.5 โœ…

Additional versions can be easily added by modifying the versions list in the code.


๐Ÿ” Offline Mode & Authentication

This launcher operates in offline mode, meaning:

  • No premium Minecraft account required
  • Username-based authentication
  • Credentials stored locally (safe and private)
  • No internet connection needed after version download

โš ๏ธ Note: Online multiplayer servers may not accept offline mode players. Use single-player worlds or private servers.


๐Ÿ› Troubleshooting

"Minecraft not launching"

  • Check the console window for error messages
  • Ensure Java is installed and in your PATH
  • Try downloading the version again

"Song not found"

  • Place MP3 files in the launcher directory
  • Ensure filenames match exactly in the PLAYLIST

"Permission denied" (macOS/Linux)

chmod +x BananaLauncher.py

Launcher freezes during download

  • Check your internet connection
  • Large versions may take several minutes
  • Monitor the console for progress

๐ŸŽฎ How It Works

  1. Version Management: Uses minecraft-launcher-lib to manage Minecraft installations
  2. Downloading: Automatically fetches game files from official Mojang servers
  3. Launching: Generates launch commands with proper Java parameters
  4. Authentication: Offline username-based system (no premium account needed)
  5. Music: Pygame mixer for audio playback

๐Ÿš€ Future Updates

This project is actively maintained and planned improvements include:

  • โœจ Microsoft account integration (premium mode)
  • โœจ Fabric/Forge mod loader support
  • โœจ Custom theme and color selection
  • โœจ Launch options customization (RAM allocation, etc.)
  • โœจ More Minecraft versions support
  • โœจ Settings/configuration UI
  • โœจ Profile management (multiple players)
  • โœจ Built-in mod browser
  • โœจ Server browser integration
  • โœจ Crash report analyzer

Stay tuned for updates! ๐ŸŒ


๐Ÿ“„ License

This project is 100% Open Source and free to use, modify, and distribute.

Feel free to:

  • โœ… Fork the repository
  • โœ… Create pull requests
  • โœ… Report issues and suggest features
  • โœ… Modify and customize for your needs
  • โœ… Use for personal or educational purposes

โญ Support This Project

If you love Banana Launcher, please help us grow:

๐ŸŒŸ Star this repository โ€” It means a lot!

๐Ÿด Fork and contribute โ€” Submit pull requests

๐Ÿ› Report bugs โ€” Help us improve

๐Ÿ’ฌ Share feedback โ€” Tell us what you think


๐Ÿค Contributing

We welcome contributions from the community!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ž Support & Contact

  • Issues & Bugs: Open an issue on GitHub
  • Feature Requests: Suggest ideas in the discussions section
  • Questions: Check existing issues first

๐ŸŽฎ Screenshots

Banana Launcher in action:

  • Animated breathing logo at the top
  • Music player with volume control (top right)
  • Username login panel (bottom left)
  • Version selector and PLAY button (bottom center)
  • Real-time console logs
  • Dark theme with banana-yellow accents

๐ŸŒ Fun Fact

Why "Banana Launcher"? Because launching Minecraft should be as fun and delightful as a bunch of bananas! ๐ŸŒ


๐Ÿ“ Changelog

Version 1.0 (Current)

  • โœ… Full Minecraft launcher implementation
  • โœ… Offline username authentication
  • โœ… Automatic version downloading (1.16.5 - 1.20.1)
  • โœ… Music player integration
  • โœ… Real-time console logging
  • โœ… Animated GUI with breathing logo
  • โœ… Volume control and playlist support

๐Ÿ† Credits

Built with โค๏ธ using:

  • Python โ€” Core language
  • Tkinter โ€” GUI framework
  • Pygame โ€” Audio engine
  • minecraft-launcher-lib โ€” Game management
  • Pillow โ€” Image processing

โš–๏ธ Disclaimer

This is an unofficial Minecraft launcher. It is not affiliated with, endorsed by, or associated with Mojang Studios or Microsoft Corporation. Minecraft is a trademark of Microsoft Corporation.

This launcher is provided as-is for educational and personal use. Use at your own risk.


๐ŸŒŸ Let's Connect

Have you installed Banana Launcher?

  • โญ Star the repo
  • ๐Ÿด Fork it
  • ๐Ÿ“ข Share it with friends
  • ๐Ÿ’ฌ Give feedback

Happy Mining! ๐ŸŒโ›๏ธ

Made with passion by the Banana Launcher community (so Lajmonek x chatgpt โค)

About

A Free, Open-Source Minecraft Non-Premium Launcher Built Entirely in Python

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages