GithubHelp home page GithubHelp logo

megapiggy / guuframework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iricthecoder/guuframework

0.0 0.0 0.0 394 KB

The Guu Framework is a Library and Mod Loader for Slime Rancher to allow players to create mods. Guu brings the ability to not only write code and add it to the game easily through a easy to use yet powerful API, but it also allows modders to patch the game's code to add their own as well as use Untiy directly when making content for each mod.

License: MIT License

C# 100.00%

guuframework's Introduction

Guu Framework

The Guu Framework is a Library and Mod Loader for Slime Rancher to allow players to create mods. Different from the current mod loaders for the game, Guu does not require any patching done to the game to be able to inject itself into the game.

Using a sort-of loader called UnityDoorstop and by having it load Guu's entry point the game recognizes it without having to be patched, making it easier to use and remove.

Guu brings the ability to not only write code and add it to the game easily through a easy to use yet powerful API, but it also allows modders to patch the game's code to add their own as well as use Untiy directly when making content for each mod.

PLEASE NOTE that Guu can be used as a Library (to make your mods) even if you are loading your mod using another Loader. But some features might not be available if you do so. You do not need to worry about assemblies being available when your mod loads with a different loader as Guu loads before Unity itself.

Guu's Dev Kit (For Unity)

Along side the framework itself, you will also find a .unitypackage file that will install the Dev Kit directly into Unity. This Dev Kit will allow the creation of content from normal Assets to Prefabs directly in the Editor.

External Libraries

Besides itself, Guu also brings some Third Party libraries into the game that can be used by Modders. Those libraries are required for the framework to function and cannot be removed. And they are:

Harmony 2.0

Harmony is used to make runtime patches to the code. When loading this library, it will try to favor versions that are already loaded into the game (for compatibility with other loaders). Modders can use this to make their patches but it's highly discourage as there is a better system in place.

Eden Framework

Eden is a framework developed by me (RicTheCoder) mainly for game development, however it does serve a lot of purposes and contains an extensive and powerful library of code. Examples of this would be EdenHarmony an improved version of the Harmony's original system and the Event Handling system that allows better handling of C# events. A lot of useful tools are provided by this and modders can access it to use said tools.

Only the required files are shipped with Guu, as Eden works in modules and not all is required if not used. If you wish to use a module from Eden not available with Guu, you can add it as an addon library to Guu (the 'how to' coming soon).

TO PATCH THE GAME EdenHarmony is the go to system, it is easier to use, makes patch classes easier to read and has new functionality that the original Harmony does not provide.

PLEASE NOTE that Eden is also in constant development, so sometimes Guu will wait for an update to release or fix a feature dependent of Eden

guuframework's People

Contributors

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