Apron: Classic Modding APIs on Babric

Overview

Apron

Apron adds a compatibility layer between Fabric and several legacy modding APIs. In essence, it is a complete reimplementation of the API mods of yesteryear.

Provided APIs

Apron provides the following APIs and mods, with more surely to come...

Common

  • Risugami's ModLoaderMP
    • Client
    • Server
  • Minecraft Forge
    • Client
    • Server
  • Reforged
    • Client
    • Server

Client:

  • Risugami's ModLoader
  • ShockAhPI
  • PlayerAPI
  • AudioMod (Works with MultiMC!)
  • GuiAPI
  • ModOptionsAPI

Setup

For setup instructions please see the Fabric wiki page that relates to the IDE that you are using.

License

This project and its code are available under the MIT License. Please see LICENSE for more information.

All Minecraft Forge and Reforged code included is available under the Minecraft Forge Public License. Please see FORGE_LICENSE for more information.

Comments
  • I'm new to b1.7.3 modding, and want to use Apron!

    I'm new to b1.7.3 modding, and want to use Apron!

    Hello! I need help in setting up workspace for modding

    I have installed vscode with few extensions for java developing, and tried to configure workspace with this guide, but hit a gradle build error

    opened by Bleb1k 3
  • ModOptionsAPI

    ModOptionsAPI

    ModOptionsAPI provides a way for mods to create config files and config screens, like an ancient predecessor to Cloth Config.

    ModOptionsAPI has its own mod list screen. It does not hook into a different mod like ModMenu.

    enhancement 
    opened by arthurbambou 1
  • ModLoaderMP Client Patches

    ModLoaderMP Client Patches

    Patches that help Risugami's ModLoaderMP function need to be converted to Mixins using injectors and interfaces.

    • [x] DisconnectPacket
    • [x] DisconnectingScreen
    • [x] ClientPlayPacketHandler
    enhancement 
    opened by halotroop2288 1
  • Mixin Overhaul Part 2: Package overhaul

    Mixin Overhaul Part 2: Package overhaul

    This moves all Forge patches and ModLoader patches to their own packages.

    • io.github.betterthanupdates.babricated for Babricated Forge original patches and code.
    • io.github.betterthanupdates.forge for Forge.
    • io.github.betterthanupdates.modloader for ModLoader.

    I also added license notices to all Forge files.

    enhancement 
    opened by halotroop2288 1
  • Mixin Overhaul

    Mixin Overhaul

    • Flatten Mixins to one package per module (babricated, forge, modloader)
    • Create separate Mixin files for each module
    • Replace Accessors with AWs
    • Accessors that were implemented in Mixins have been moved to normal interfaces
    • Simplify build workflow to only latest Ubuntu on Java 8 and 17.

    This keeps Mixins from becoming bloated and provides a way for mods to use some API calls from externally.

    Perhaps all accessors should have been implemented as interfaces if they were supposed to be patches?

    enhancement 
    opened by halotroop2288 1
  • My own stuff (unfinished mess rn)

    My own stuff (unfinished mess rn)

    • Crash fixes for AetherMP
    • Incorporated OverrideAPI & InfSprite
    • OverrideAPI: Cast issue with ClassLoaders
    • InfSprites: Most of the code are ported and converted to BTU mapping name, except ProxyTransformer, Utils & Tessellators (will include HMI compat later)
    • Some changes to a few mixin to fix mappings
    • Will load InfSprites before everything else
    opened by ClickNinYT 0
  • ShockAhPI

    ShockAhPI

    ShockAhPI is used by More Creeps and Wierdos and The Aether.

    It provides its own PlayerAPI which is distinct from PAPI itself. It also provides helper methods and a way to add pages to the achievements screen.

    enhancement 
    opened by halotroop2288 0
  • Add ShockAhPI

    Add ShockAhPI

    This adds ShockAhPI. An API that allows for adding pages to the achievement screen, intercepting certain calls, modifying the reach of tools, and modifying dungeon spawns and loot among other useful things (back in the day).

    I'm adding it mainly for getting More Creeps and Weirdos to work. It should also help with The Aether.

    THIS IS A DRAFT. DO NOT MERGE YET,

    enhancement 
    opened by halotroop2288 0
  • Unclear Licensing Terms

    Unclear Licensing Terms

    Hello, the Forge License has the following line: "As a prerequisite, a user of Minecraft Forge must own a legally acquired copy of Minecraft", which infringes upon Freedom 0.

    I recommend rewriting all the Forge code and releasing it under a license that is actually free.

    bug 
    opened by MCLx86 4
  • Convert all @Overwrite Mixins to @Inject

    Convert all @Overwrite Mixins to @Inject

    Compatibility is vastly reduced by using @Overwrite. The mod may not even be compatible with itself in some cases!

    All Mixins that use @Overwrite should be carefully rewritten to use @Inject instead.

    bug enhancement 
    opened by halotroop2288 0
Releases(1.0.0)
  • 1.0.0(Oct 31, 2022)

  • 1.7.3+build.1(Jul 3, 2022)

    I'm excited for this first release of Apron, the compatibility layer for legacy APIs in the Babric modding toolchain.

    We've worked hard on this one for a few weeks now, and it's finally ready.

    This release includes support for the following APIs:

    • Risugami's ModLoader
    • Risugami's ModLoaderMP
    • Minecraft Forge
    • Reforged
    • ShockAhPI
    • PlayerAPI
    • AudioMod

    Before version 1.0.0 is released, these APIs will be added:

    Source code(tar.gz)
    Source code(zip)
    apron-1.7.3+build.1.jar(1.97 MB)
Owner
Better Than Updates
Dedicated to maintaining Better Than Wolves for Minecraft beta 1.7.3
Better Than Updates
Mod development kit for the Tecknix Client Modding API

Tecknix Mod Loader API THIS API IS NOT COMPLETE AND WILL NOT YET ALLOW YOU TO MOD THE CLIENT What is this? This is our modding MDK for Tecknix Client.

Tecknix Client 6 Sep 12, 2022
A template for Mindustry modding.

Mindustry Mod Template A template for Mindustry modding. English | 中文 Requirements Java: Java 8 SDK Functions Auto-release Every commit started with "

Li Plum 8 Dec 21, 2022
Just some small utilities for sandbox/modding

Testing Utilities Just some small utilities for sandbox/modding Team Changer: Change teams easilty. (Disabled in campaign) Seppuku Button: Kill yourse

dead inside 27 Dec 12, 2022
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.

LWJGL - Lightweight Java Game Library 3 LWJGL (https://www.lwjgl.org) is a Java library that enables cross-platform access to popular native APIs usef

Lightweight Java Game Library 4k Dec 29, 2022
Java implementation in the console of the classic boardgame Battleship (Batalha Naval in Portuguese)

Batalha-Naval Projeto final do modulo Java-Básico do curso Full-Stack organizado pelo Grupo Santander em parceria com a Let's Code Status: Developing

Rafael Oliveira 3 Apr 11, 2022
An implementation of the classic board game.

General Information An implementation of the classic board game Monopoly. Made by five students at BTU Cottbus-Senftenberg (Chair of Software Engineer

Maximilian Bels 1 Mar 29, 2022
In the Developer - Platform of EdgeGallery, we have provided a lot of useful APIs, in this project, try to simulates APIs of the competence center to help develoers test API request and response online.

api-emulator api-emulator模块,为EdgeGallery提供了基本能力的模拟api,开发者可以调用该模拟器提供的api,不需要真实部署就可以查看平台已有的能力。目前该api-emulator集成了两种平台能力:位置服务和人脸识别能力。 平台能力简介 位置服务 提供用户位置,E

EdgeGallery 21 Dec 25, 2021
An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders.

Modding-IDE An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders. Trello: ht

null 11 Jul 16, 2022
An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders.

Railroad IDE Railroad IDE is an IDE that is made specifically for Minecraft Development including Forge Mods, and Fabric Mods! This IDE is made to hel

null 25 Dec 8, 2022
Mc-msa-token-getter - Scripts to retrieve MC authentication tokens for use in modding dev envs.

Minecraft MSA Token Getter Python and Java scripts to retrieve MC authentication tokens for use in modding dev envs. Requires a properly configured Az

Ryan 1 Jan 3, 2022
Mod development kit for the Tecknix Client Modding API

Tecknix Mod Loader API THIS API IS NOT COMPLETE AND WILL NOT YET ALLOW YOU TO MOD THE CLIENT What is this? This is our modding MDK for Tecknix Client.

Tecknix Client 6 Sep 12, 2022
A template for Mindustry modding.

Mindustry Mod Template A template for Mindustry modding. English | 中文 Requirements Java: Java 8 SDK Functions Auto-release Every commit started with "

Li Plum 8 Dec 21, 2022
Just some small utilities for sandbox/modding

Testing Utilities Just some small utilities for sandbox/modding Team Changer: Change teams easilty. (Disabled in campaign) Seppuku Button: Kill yourse

dead inside 27 Dec 12, 2022
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.

LWJGL - Lightweight Java Game Library 3 LWJGL (https://www.lwjgl.org) is a Java library that enables cross-platform access to popular native APIs usef

Lightweight Java Game Library 4k Dec 29, 2022
Detect uses of legacy Java APIs

Modernizer Maven Plugin Modernizer Maven Plugin detects uses of legacy APIs which modern Java versions supersede. These modern APIs are often more per

Andrew Gaul 325 Dec 12, 2022
Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs.

Rest.li is an open source REST framework for building robust, scalable RESTful architectures using type-safe bindings and asynchronous, non-blocking I

LinkedIn 2.3k Dec 29, 2022
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Cossack Labs 1.6k Dec 29, 2022
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

Tink A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. Ubuntu

Google 12.9k Jan 3, 2023
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.

LWJGL - Lightweight Java Game Library 3 LWJGL (https://www.lwjgl.org) is a Java library that enables cross-platform access to popular native APIs usef

Lightweight Java Game Library 4k Dec 29, 2022