要在 Minecraft 1.12.2 Forge 中等待目前手上的武器蓄力完毕,您可以使用 Minecraft Forge 的事件系统和 TickEvent。

首先,您需要创建一个新的事件处理器类,该类将处理玩家使用武器的事件。在这个处理器类中,您可以使用 TickEvent.PlayerTickEvent 事件来检查玩家是否在蓄力:

import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;

public class WeaponChargeHandler {

    @SubscribeEvent
    public void onPlayerTick(TickEvent.PlayerTickEvent event) {
        if (event.phase == TickEvent.Phase.START) {
            if (event.player.getActiveItemStack().getItem() == YourWeaponItem) {
                // 检查武器是否蓄力完毕
                if (isWeaponCharged(event.player)) {
                    // 武器蓄力完毕的逻辑
                }
            }
        }
    }

    private boolean isWeaponCharged(EntityPlayer player) {
        // 在这里检查武器是否蓄力完毕
        // 如果蓄力完毕,返回 true;否则返回 false
    }
}

请注意,您需要将 'YourWeaponItem' 替换为您在游戏中创建的武器物品的实例。isWeaponCharged() 方法是一个示例方法,您可以根据您的具体需求来实现。

接下来,您需要将事件处理器注册到 Forge 的事件总线上。在您的 Mod 主类的 @Mod 注解中,添加一个 mod 事件的订阅者:

import net.minecraftforge.common.MinecraftForge;

@Mod(modid = "your_mod_id", name = "Your Mod Name", version = "1.0")
public class YourModClass {

    @Mod.EventHandler
    public void init(FMLInitializationEvent event) {
        MinecraftForge.EVENT_BUS.register(new WeaponChargeHandler());
    }
}

这样,您的事件处理器将被注册到 Forge 的事件总线上,并且在玩家每次进行 tick 时被调用。在事件处理器的 onPlayerTick() 方法中,您可以检查玩家手上的物品是否是您的武器,并且是否蓄力完毕。

请注意,以上代码只是一个示例,您可能需要根据您的具体需求进行修改和调整。希望对您有帮助!


原文地址: https://www.cveoy.top/t/topic/qBKw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录