• 游客, 欢迎您来到九域资源社区,如果您是新人,请前往 论坛公告 板块查看新人引导教程 或者 点我打开
    如果您发现没有下载许可, 请先验证邮箱再进行下载;金锭可通过每日登陆或资源出售获取,目前没有其他渠道可获取。
FIScript ---- 孵化提示 --- 名字可自定义[1.12.2]

插件配置 FIScript ---- 孵化提示 --- 名字可自定义[1.12.2]

◆ 依赖插件
FIScript
1705222646316.png

包名自己该,类名也可以改,提示消息也可以改,或者增加一点东西,宝可梦的消息直接翻PixelmonMod api中的Pokemon

代码:
package com.example.listener.egghatch

import com.pixelmonmod.pixelmon.api.events.EggHatchEvent
import me.fullidle.ficore.ficore.common.api.event.ForgeEvent
import me.fullidle.fiscript.fiscript.Main
import net.minecraft.entity.Entity
import net.minecraft.entity.player.EntityPlayerMP
import org.bukkit.Bukkit
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener

import java.lang.reflect.Field

class EggHatchSendMsg implements Listener{
    static void main(String[] args) {
        /*注册事件*/
        Bukkit.getPluginManager().registerEvents(new EggHatchSendMsg(), Main.plugin)
        Main.plugin.getLogger().info("EggHatchSendMsg 孵化提示脚本载入!")
    }

    @EventHandler
    def forge(ForgeEvent event){
        if (event.getForgeEvent() instanceof EggHatchEvent.Post) {
            EggHatchEvent.Post e = event.getForgeEvent() as EggHatchEvent.Post
            def player = getPlayer(e.player)
            player.sendMessage("§a宝可梦:"+e.pokemon.localizedName+"孵化了!")
        }
    }

    static def getPlayer(EntityPlayerMP mp){
        def field = Class.getDeclaredMethod("getDeclaredField",String.class)
                .invoke(Entity.class,"field_96093_i") as Field
        field.setAccessible(true)
        def uuid = field.get(mp) as UUID
        return Bukkit.getPlayer(uuid)
    }
}

FIScript配置
请将这个配置路径配置到fiscript的config.yml内的enable

其他:
发现一个问题有些类,比如EntityPlayerMP.class这种不管用什么调用什么方法都会报错,且报错就一句话"这不该有错误的!可是它发生了..."
不过上边的Pokemon类不会这样,我也不知道为什么
需要调用forge类中的一些方法,只能用mcp对照表内的混淆方法
作者
FullIdle
查看
413
首次发布
最后更新
评分
0.00 星 0 星

来自FullIdle的更多资源

分享资源