Giter VIP home page Giter VIP logo

dracoloader's Introduction

DracoLoader

The DracoLoader is the core of Draco, it is responsible for loading mods and providing a backend for SpongePowered's Mixins. It is built to be version independent and can run with Java version 8 or higher (though 17 or higher is recommended), and will work from late beta versions of Minecraft all the way up to the latest snapshots.

Warning

DracoLoader and the DracoStandardLibrary are not stable yet, things are still subject to change as the mod loader and its APIs continue to expand and grow over time, expect changes or bugs to occur

How does it work?

LaunchWrapper

LaunchWrapper is the essential part of DracoLoader, it provides the ability to add URLs to the Java classpaths as well as providing class transformation functionality. This provides the absolute essential functionality of the loader

DracoLoader

DracoLoader is essentially a frontend for LaunchWrapper, this program discovers and loads the mod's jar into it's classpath saving it's config and classpaths, it then initializes Mixins and MixinExtras, afterwards, all of the assigned Listener classes are initialized (the <init> function is called, the game is in a state we call PRELOAD, meaning Mixins are applied but the game hasn't ran yet). The Listeners are then saved so they can be indexed later by the DracoStandardLibrary. Afterwards, LaunchWrapper will pass control to the game, from there the DracoStandardLibrary will use it's hooks to load the game and other mods.

dracoloader's People

Contributors

talonfloof avatar

Stargazers

 avatar  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.