本库旨在配合我的一些需要更特定事件来实现效果的模组使用。此模组不添加任何物品,也不会以任何方式改变游戏内容。它对玩家没有直接益处,除非有其他模组需要并利用这些额外事件。
它添加了一个名为 MobEffectTickEvent 的事件,为模组开发者提供了一个接口,用于获取效果剩余持续时间的百分比,以及效果实例和实体(如果需要的话)。
// MobEffectTickEvent 示例
@SubscribeEvent
public static void onMobEffectTick(MobEffectTickEvent event) {
float percentageLeft = event.getPercentageLeft();
String entityName = event.getEntity().getName().getString();
String effectName = event.getEffectInstance().getEffect().value().toString();
System.out.println("实体: " + entityName
+ " 受到效果影响: " + effectName
+ " 剩余 " + percentageLeft + "% 持续时间。");
if (percentageLeft == 50.0f) {
System.out.println("实体 " + entityName + " 的效果 " + effectName + " 持续时间剩余 50%。");
}
if (percentageLeft == 20.0f) {
System.out.println("实体 " + entityName + " 的效果 " + effectName + " 持续时间剩余 20%。");
}
}
它还添加了一个在效果消失时运行一次的方法。在我的 Fargo's Talismans 模组中,我使用这个方法来移除由基座添加到玩家的属性,而不是通过运行 PlayerTick 方法。
// onEffectRemoved 示例(在扩展自 MobEffectEndEffect 的类中)
@Override
public void onEffectRemoved(LivingEntity entity, int amplifier) {
super.onEffectRemoved(entity, amplifier);
if (entity instanceof Player) {
System.out.println("效果已消失。");
}
} 友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:84,820 | 历史访问人次:173,662
今日访问人数:15,480 | 今日访问人次:16,825
昨日访问人数:20,761 | 昨日访问人次:24,774
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6