Mod
QωQ Library
No reviews yet
This is a mod for Fabric which add a simply way to subscribe and custom events!
Provides a framework or library for other mods to use.
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
Compatibility
Supported Environments
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
QωQ Library
This is a library which can subscribe events simply.
It offers a way to Register Objects like items, the following example shows:
public static final Registration<Item> ITEMS = new Registration<>(Registry.ITEM, MOD_ID);
public static final Item EXAMPLE_ITEM = ITEMS.register("example_item", () -> new Item(new Item.Settings()));
Don't forget to add it into your Main Class:
@Override
public void onInitialize() {
ItemInit.ITEMS.register();
}
If you want to Subscribe an event, do it like this:
@ModEvent
public class OnEventHandle {
@SubscribeEvent
public static void onEvent(IEvent event){
//todo
}
}
However, you must tell the program where did you put the class.
In this example, it just like this:
@Override
public void onInitialize() {
ItemInit.ITEMS.register();
EventLoader.initEvent("org.abstruck.qwq.init.event");
}
But, if you put your classes in std.init.event, it will be subscribed directly.
WARNING: DO NOT PUT CLASSES WITH @Mixin IN THIS FLODER!!!
Maybe sometimes you can't find an event you want in the library, you can custom a one:
public class AfterBreakEvent implements IEvent{
private final World world;
private final PlayerEntity player;
private final BlockPos pos;
private final BlockState state;
private final BlockEntity blockEntity;
private final ItemStack stack;
public AfterBreakEvent(World world, PlayerEntity player, BlockPos pos, BlockState state, @Nullable BlockEntity blockEntity, ItemStack stack) {
this.world = world;
this.player = player;
this.pos = pos;
this.state = state;
this.blockEntity = blockEntity;
this.stack = stack;
}
public PlayerEntity getPlayer() {
return player;
}
public BlockPos getPos() {
return pos;
}
public BlockState getState(){
reutrn state;
}
public World getWorld() {
return world;
}
public BlockEntity getBlockEntity() {
return blockEntity;
}
public ItemStack getStack() {
return stack;
}
}
And don't forget to mixin:
@Mixin(Block.class)
public abstract class BlockMixin {
@Inject(method = "afterBreak", at = @At("RETURN"))
public void afterBreak(World world, PlayerEntity player, BlockPos pos, BlockState state, BlockEntity blockEntity, ItemStack stack, CallbackInfo ci){
EventManager.onEventAction(() -> new AfterBreakEvent(world, player, pos, state, blockEntity, stack));
}
}
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