Princ
No reviews yet
Yet another cursed modding library! Its my nickyname tho...
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
📗 DESCRIPTION
A cursed and simple modding library used in my mods to make codes look polished and smaller. Only for me I guess? or if you can understand you can use it for sure! Ah, another thing… i used mojamps (Official Mojang Mappings) to make it.
📜 HOW TO USE?
In the build.gradle file:
repositories {
// ...
maven {
url = "https://api.modrinth.com/maven"
}
}
Check versions to get the correct version.
dependencies {
modImplementation "maven.modrinth:princ:version"
}
📝 TUTORIAL
I dont wanna explain so understand all yourself.
⌨️ Key Binding Registry
Register a new keybinding:
@Override
public void onInitialize() {
PrincKeyMappingHelper.registerKeyMapping(
"key.name",
InputConstants.Type.KEYSYM/SCANCODE/MOUSE,
GLFW.GLFW_KEY_RIGHT_SHIFT,
"category.mymod",
(client, thisKey) -> {
if (thisKey.consumeClick()){
// ...
}
}
);
}
Register an existing keybinding:
@Override
public void onInitialize() {
KeyMapping myKey = new KeyMapping(
"key.name",
InputConstants.Type.KEYSYM/SCANCODE/MOUSE,
GLFW.GLFW_KEY_RIGHT_SHIFT,
"category.mymod"
);
PrincKeyMappingHelper.registerExternalKeyMapping(myKey, client -> {
if (myKey.consumeClick()) {
// ...
}
});
}
Check a key press universally (While in any screen):
if (PrincKeyMappingHelper.isKeyDown(myKey)) {
// ...
}
Cursed
Unlimit any values in options:
@Mixin(OptionInstance.class)
public class OptionInstanceMixin<T> {
@Shadow
@Final
Component caption;
@Shadow
T value;
// Allow saving invalid vlaues (example with the gamma option. remove the if statement to apply for all).
@Inject(method = "codec", at = @At("HEAD"), cancellable = true)
private void codec(CallbackInfoReturnable<Codec<Double>> cir) {
if (caption.getString().equals(I18n.get("options.gamma"))) {
cir.setReturnValue(Codec.DOUBLE);
}
}
// Allow using invalid vlaues (example with the gamma option. remove the if statement to apply for all).
@Inject(method = "set", at = @At("HEAD"), cancellable = true)
private void set(T object, CallbackInfo ci) {
if (caption.getString().equals(I18n.get("options.gamma"))) {
this.value = object;
ci.cancel();
}
}
}
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers