GithubHelp home page GithubHelp logo

turtiustrek / minosoft Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bixilon/minosoft

0.0 1.0 0.0 178.46 MB

An open source Minecraft reimplementation written from scratch. Mirror of https://gitlab.bixilon.de/bixilon/minosoft

Home Page: https://gitlab.bixilon.de/bixilon/minosoft

License: GNU General Public License v3.0

Python 0.15% Java 0.20% Kotlin 98.50% CSS 0.17% GLSL 0.93% GSC 0.04%

minosoft's Introduction

Minosoft

Minosoft is an open source minecraft client, written from scratch in kotlin (and java). It aims to bring more functionality and stability.
(To be clear: This is not clone of minecraft, it is a reimplementation)
(This software is not affiliated with Mojang AB, the original developer of Minecraft)

Notice: I am *not* responsible for anti cheat banned accounts, this project is heavily in development!

Feature overview

  • Rendering
  • Connect with any version to any server (1.7 - 1.19.3)
  • Bleeding edge performance (e.g. incredible start time)
  • Free (as far as we consider original minecraft as free) and open source
  • Easy use of multiple accounts
  • Multiple connections to servers in 1 process
  • Multithreading and asynchronous loading
  • Original physics
  • Debugging on protocol layer
  • LAN servers
  • Multiple profiles (i.e. settings for servers or minosoft in general)
  • Modding
  • Independent, I will probably accept almost all patches
  • Headless mode
  • Way more stuff

(some technical explanation about the render system is here). You can find information about the architecture design here

System requirements

  • CPU: Multiple (4+) cores, high clock speed (2+ GHz)
  • RAM: Minimum 500 MiB, 1 GiB recommended
  • Disk space: 80 MiB + assets (~ 300 MiB per version)
  • GPU: OpenGL 3.3+. Every modern GPU works and is recommended.
  • Java 11+, 16+ recommended (Java 8 is not supported).
  • A minecraft server (local or online)

Rendering

Features

  • Blocks
  • Entities (hitboxes and players for now)
  • Block entities (e.g. signs, chests)
  • HUD and GUI (inventory, menus, ...)
  • Particles
  • Basic block and skylight (custom light engine)
  • Block and item interactions (e.g. place, break, mining)
  • A lot more, only listing major things here, see the screenshots:

Rendering
A world, with a ton of hud features exposed

Rendering
The Hypixel skyblock hub (don't try to make such a screenshot)

Rendering
AFK Pooling, Hit boxes, particles, ...

Rendering
Lighting demo.

Rendering A beautiful sunset

Eros
Eros is the main gui. You can select your account/favorite server and then connect to it. Once everything is prepared, the rendering will start.

Version support

I always try to add support for the newest version of minecraft. Mostly it is pretty easy, just declaring it and generate all data. After pushing it, it is supported. Some versions are more complicated and need a bit of coding. I always try it as fast as possible, but sometimes I just need time.

Supported versions

Almost all versions (and snapshots!) between 1.7 and the latest one (1.19.3 as of writing this) are supported.
I plan to maintain Minosoft to at least version 1.20, so stay tuned, also support for older protocols will not be dropped as newer protocols are added. It is still recommended using the latest stable version.
See Version support for more details.

Modding

Works, still missing some features to make modding super easy (see e.g. #12)

Botting

Will be improved in the future.

Contribution or helping out

Please do it. I am completely busy with the development. Grab pretty much whatever you want and start developing. (But before please take a look at Contributing.md)

Credits and thanking words

See Credits.

Releases and beta

No clue. Don't wait for it :)

Background: I invested thousands of hours in this project to make it work. It is currently not really playable yet, but I am hardly working on it. A release normally means, that it is stable, has few (known) bugs and won't change that much in the near future. All those "requirements" are currently not fulfilled at all. There are a ton of bugs, issues, part of the core code changes frequently and Minosoft is still missing soooo many features. The current goal is to be able to play bedwars with this client, you can find the tracking issue here.

If you want to get notified when cool new features arrive or other interesting stuff happens were, feel free to subscribe to @MinosoftDevNews.

Downloads / Installation

Linux, Windows, macOS

The latest x64 build gets uploaded to github actions. See github actions

(macOS support is not fully done yet, see #29)

Arch

Thanks to @jugendhacker you can get minosoft directly from the arch user repository (AUR): https://aur.archlinux.org/packages/minosoft-git/

Building

  1. Install Java 11+ (e.g. sudo apt install openjdk-11-jdk). For Windows users, download and install java.
  2. Clone this repository (git clone --depth=1 https://gitlab.bixilon.de/bixilon/minosoft.git) or click on download master and extract the archive.
  3. Change directory (cd minosoft)
  4. Optional: Checkout a current feature branch (Warning: might be unstable; might not even build) (git checkout <branch>)
  5. Build and run Minosoft with ./gradlew run (or on windows ./gradlew.bat run). If any errors occur, feel free to open an issue

Code mirrors

This project/readme is work in progress, things may change over time.

minosoft's People

Contributors

bixilon avatar biosfood avatar mrgeotech avatar deinberater avatar stay1444 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.