Code Monkey home page Code Monkey logo

clientapi's Introduction

ClientAPI

Build Status License Release Codacy Badge Discord

ClientAPI is a modding API/Framework for Minecraft just like Forge, Sponge and Liteloader, it is designed to provide a shared base for client-side mods for minecraft.

Like other modding APIs it is a tweaker and has the potential to be stacked with other tweakers, so long as they do not both entirely overwrite the same methods.

Unlike most other modding APIs it is designed to be used by a single "client" mod. It is this "client" that is installed, not ClientAPI, so the "client" mod has full control over all modifications to the vanilla code, unless of course the installation is stacked on top of other modding APIs.

Developing ClientAPI mods

Downloading the CDK

To use the Client API, you must download the CDK from the Releases page. Instructions on how to set it up are included in the README.

Developing a ClientAPI Mod

An example ClientAPI mod is provided with the CDK, however if you choose to start from scratch, an overview of how to setup the core functionalities can be found here.

Creating a Launcher Profile

In order to create a Minecraft Launcher Profile for a ClientAPI based mod, you need to...

  • Create a copy of the vanilla Minecraft JSON for the game version that is being used by your ClientAPI version.
  • Open the JSON file in a text editor like Notepad++
  • Add the ClientAPI dependencies as well as ClientAPI itself into the libraries array.
    {
        "name": "project-group:project-id:project-version",
        "url": "https://dependency.repository.url/"
    }
    
  • Add Mojang's launchwrapper as a dependency
    {
        "name": "net.minecraft:launchwrapper:1.12"
    }
    
  • Add a launch argument to load ClientAPI's tweaker
    --tweakClass clientapi.load.ClientTweaker
    
    If you are planning on using Minecraft Forge or OptiFine in parallel with ClientAPI, you should use their respective tweakers found here.
  • Add your client mod's dependency. This follows the same format as normal dependencies. If your client mod is not on a maven repository then the URL should not be defined, and the jar file should be installed into the libraries directory of minecraft.

Contributing to ClientAPI

This section is incomplete.

clientapi's People

Contributors

zeromemes avatar leafhacker avatar 0-x-2-2 avatar w-o-a-h avatar nanitanuki avatar babbaj 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.