<commit_before>[![Build Status](https://travis-ci.org/ImpactDevelopment/ClientAPI.svg?branch=master)](https://travis-ci.org/ImpactDevelopment/ClientAPI)
[![License](https://img.shields.io/github/license/ImpactDevelopment/ClientAPI.svg)](https://github.com/ImpactDevelopment/ClientAPI/blob/master/LICENSE)
[![Release](https://img.shields.io/github/release/ImpactDevelopment/ClientAPI.svg)](https://github.com/ImpactDevelopment/ClientAPI/releases)

# ClientAPI
ClientAPI is a modding API/Framework just like Forge, Sponge and Liteloader, it is designed to provide a shared base for large client-rewrite style mods.

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

## Development Kit
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.

## Concept
* Clients will install into `.minecraft/versions` and `.minecraft/libraries` if they are published to a maven repo
  * An installer could be used to configure stacking on top of other tweakers (e.g. Forge)
  * If an installer is used, it could also add a profile to the launcher
* The client will inherit from a vanilla minecraft version
  * This means the client doesn't need to include actual minecraft code
* The client will list ClientAPI as a maven dependency
  * The minecraft launcher will automatically download the ClientAPI lib to the `.minecraft/libraries` folder

## Usage
Refer to the [Example](src/test) to view how clients using the ClientAPI are structured.

<commit_msg>Fix example href<commit_after>[![Build Status](https://travis-ci.org/ImpactDevelopment/ClientAPI.svg?branch=master)](https://travis-ci.org/ImpactDevelopment/ClientAPI)
[![License](https://img.shields.io/github/license/ImpactDevelopment/ClientAPI.svg)](https://github.com/ImpactDevelopment/ClientAPI/blob/master/LICENSE)
[![Release](https://img.shields.io/github/release/ImpactDevelopment/ClientAPI.svg)](https://github.com/ImpactDevelopment/ClientAPI/releases)

# ClientAPI
ClientAPI is a modding API/Framework just like Forge, Sponge and Liteloader, it is designed to provide a shared base for large client-rewrite style mods.

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

## Development Kit
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.

## Concept
* Clients will install into `.minecraft/versions` and `.minecraft/libraries` if they are published to a maven repo
  * An installer could be used to configure stacking on top of other tweakers (e.g. Forge)
  * If an installer is used, it could also add a profile to the launcher
* The client will inherit from a vanilla minecraft version
  * This means the client doesn't need to include actual minecraft code
* The client will list ClientAPI as a maven dependency
  * The minecraft launcher will automatically download the ClientAPI lib to the `.minecraft/libraries` folder

## Usage
Refer to the [Example](src/example) to view how clients using the ClientAPI are structured.


{'fraction_non_alphanumeric': 0.07357512953367876, 'fraction_numerical': 0.0, 'mean_word_length': 4.823529411764706, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 18, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1103605', 'n_tokens_mistral': 1093, 'n_tokens_neox': 1013, 'n_words': 484}