An easy-to-use base with base bridging already set up.
Before starting off, I highly suggest you read:
This article by Me and
This article by Decencies.
The Bridge is an inheritance based system which uses Interfaces to allow the client to work on multiple versions with minimal modification. (Decencies 1)
This is how most clients multi version. Our implementation is very similar to Lunar and other popular clients'
In our implementation, all the client code is stored in the Client module, which has no access to the Minecraft API. You have to create your own bridges and use them. In the target versions, you'd implement those bridges to access the Minecraft API.
Bridge Base is a framework designed to simplify the process of creating bridges for client developers. By providing an easy-to-use base with pre-configured bridging, developers can focus on the core functionality of their projects without dealing with the intricacies of bridging implementation.
Creating a bridge with Bridge Base involves a few straightforward steps. Follow this guide to seamlessly integrate your bridge into the framework.
Begin by adding your bridge to the bridge
module.
package your.package.bridge;
public interface ExampleBridge {
// Here is where you would add your bridges
}
IMPORTANT: Make sure to start your methods with bridge$
or sometimes they can clash with the existing methods in your target class.
Inside your ExampleBridge
interface, define the methods that you need. For example:
package your.package.bridge;
public interface ExampleBridge {
public void bridge$test();
}
To integrate your bridge, implement it either as a mixin or as an implementation in your target versions. Here's a basic example:
package your.package.plugin;
import bridge.your.package.bridge.ExampleBridge;
@Mixin(Example.class)
public abstract class MixinExample implements ExampleBridge {
public abstract void test();
@Override
public void bridge$test() {
test(); // This is the implementation
}
}
By following these steps, you seamlessly integrate your needed bridge into Bridge Base, allowing client developers to leverage its functionality effortlessly.
Feel free to explore the repository for additional details and updates.
🔥 Happy bridging, and star if you have found this useful!
Fork, and open a PR. If it's good, I'll merge it. Make sure to give your PRs proper descriptions
Bridge Base by Refactoring is licensed under Attribution 4.0 International
In short, you're allowed to:
- Modify this code
- Use it for commercial purposes
but you have to:
- Provide proper attribution to me.