|
QωQ Library (QωQ Library)Github |相关wiki |源站链接支持: fabricThis is a library that simplifies event subscription and customization for Fabric mods.
QωQ Library 是一个为 Fabric 创建的模组,它提供了一种简单的方式来订阅和自定义事件!
___QωQ Library___
这是一个简化事件订阅的库。
它提供了一种注册对象的方式,比如物品,下面是一个示例:
java
public static final RegistrationITEMS = new Registration<>(Registry.ITEM, MOD_ID);public static final Item EXAMPLE_ITEM = ITEMS.register(\"example_item\", () -> new Item(new Item.Settings()));
不要忘记将其添加到你的主类中:
java
@Override
public void onInitialize() {
ItemInit.ITEMS.register();
}
如果你想订阅一个事件,可以这样做:
java
@ModEvent
public class OnEventHandle {
@SubscribeEvent
public static void onEvent(IEvent event){
//todo
}
}
然而,你必须告诉程序你把类放在了哪里。
在这个示例中,就像这样:
java
@Override
public void onInitialize() {
ItemInit.ITEMS.register();
EventLoader.initEvent(\"org.abstruck.qwq.init.event\");
}
但是,如果你把你的类放在 ___std.init.event___ 中,它将直接被订阅。
___警告:不要把带有 @Mixin 的类放在这个文件夹中!!!___
也许有时你在库中找不到想要的事件,你可以自定义一个:
java
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;
}
}
并且不要忘记 mixin:
java
@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));
}
}
截图:
来自Modrinth所有游戏版本1.18.2所有类型fabricQωQ Library 1.2QwQ-Fabric-1.18.2-1.2.jar下载1.2#ReleaseImplements __CommandEvent.RegisterEvent__ and can be used to register directives.Implemented __LivingEntityEvent.TickEvent__ to monitor the activity of each tick of a living entity.__WorldEvent.BreakBlockEvent__ is implemented to monitor block destruction.展开版本: 1.2支持游戏: 1.18.2类型:FabricRelease下载次数: 136QωQ Library 1.1QwQ-Fabric-1.18.2-1.1.jar下载1.1#ReleaseAdded some methods for __Registration__.Implemented __LivingEntityEvent.OnDeathEvent__ and __LivingEntityEvent.OnKilledByEvent__ two entity events.__ItemEvent.UseOnBlockEvent__, __ItemEvent.UseOnEntityEvent__, and __ItemEvent.AppendTooltipEvent__ are implemented.Modify __PlayerEvent.PlayerWakeUpEvent__ to __PlayerEvent.WakeUpEvent__.展开版本: 1.1支持游戏: 1.18.2类型:FabricRelease下载次数: 81QωQ Library 1.0QwQ-Fabric-1.18.2-1.0.jar下载1.0#Beta__Registration__ is implemented and can be used to easily register objects such as items.__BlockEvent.OnBreakEvent__, __BlockEvent.OnBrokenEvent__, __BlockEvent.AfterBreakEvent__ are implemented.Implemented two item events: __ItemEvent.OnUseEvent__ and __ItemEvent.FinishUsingEvent__.Implemented __MinecraftEvent.JoinWorldEvent__ A Join World event.Implemented __PlayerEvent.PlayerWakeUpEvent__ A player behavior event.展开版本: 1.0支持游戏: 1.18.2类型:FabricBeta下载次数: 97全部版本
markdown_parsed
文章类型:收录
layui.use([\'form\'], function(){
var form = layui.form;
});
QωQ Library |
楼主
2025-8-10 19:00:30
回复(0)
收起回复
|