McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
[API] ReflectionHelper

[API] ReflectionHelper - 反射助手库

通过反射轻松访问类、字段和方法的库
Bukkit / Spigot 作者 inventivetalent 支持版本 1.7 - 1.17
服务器使用量
未统计
服务玩家数
未统计
下载量
6,964
插件详细介绍

简介

此 API 允许你通过反射访问类、字段和方法。但与默认的反射方法不同,你可以指定多个名称,API 将自动解析到实际存在的类/字段/方法。这对于插件使用 net.minecraft.server 类并希望兼容多个版本(例如 1.8 和 1.9)尤其有用。它还提供了一些实用的 Minecraft 相关方法,例如一个适用于 1.9 和 1.8(/1.7)的 DataWatcher 类。

核心功能

  • 多版本兼容:通过指定多个可能的类名、字段名或方法名,自动适配不同版本的 Minecraft 或 Spigot,无需手动进行版本检查。
  • 便捷的解析器:提供 ClassResolverFieldResolverMethodResolverConstructorResolver 等工具,简化反射操作。
  • 内置实用工具:包含 DataWatcher 等类,帮助处理跨版本的 Minecraft 特定数据操作。

使用方法

以下是如何使用 NMSClassResolverClassResolver 来跨版本访问类的示例。

访问 NMS 类

假设你需要访问 NMS 的 ChatSerializer 类。在 1.8_R2 之前,它位于 net.minecraft.server.ChatSerializer,之后则被移至 net.minecraft.server.IChatBaseComponent$ChatSerializer。使用 NMSClassResolver 可以轻松处理:

Class<?> chatSerializer = new NMSClassResolver().resolveSilent(
    "ChatSerializer",
    "IChatBaseComponent$ChatSerializer"
);
  • NMSClassResolver 会自动添加 net.minecraft.server 前缀。
  • resolveSilent 方法会忽略所有抛出的异常。

访问非 NMS 或复杂类

对于像 Title 数据包这样在不同版本中位于多个不同类的情况,可以使用通用的 ClassResolver

ClassResolver resolver = new ClassResolver();
Class<?> packetTitle = resolver.resolveSilent(
    "net.minecraft.server." + Minecraft.getVersion() + "PacketPlayOutTitle", // > 1.8
    "org.spigotmc.ProtocolInjector$PacketTitle" // protocol-hack 版本
);
Class<?> packetAction = resolver.resolveSilent(
    "net.minecraft.server." + Minecraft.getVersion() + "PacketPlayOutTitle$EnumTitleAction", // > 1.8 R3
    "net.minecraft.server." + Minecraft.getVersion() + "EnumTitleAction", // < 1.8 R3
    "org.spigotmc.ProtocolInjector$PacketTitle$Action" // protocol-hack 版本
);

更多信息

  • 详细文档:请查阅 Javadoc 以获取关于 ClassResolverFieldResolverMethodResolverConstructorResolverDataWatcher 的完整详细信息。
  • Maven 支持:此项目可通过 Maven 依赖集成。

链接与支持

  • 源码:可在提供的链接查看源代码。
  • 问题追踪:通过 Issue Tracker 报告问题。
  • Javadoc:访问在线 API 文档。
  • 网站:访问插件官方网站。
  • 捐赠:作者免费提供所有插件,但欢迎捐赠以支持其持续开发和维护。
测试支持版本
1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17
版本分布
基本信息
插件名称 [API] ReflectionHelper
作者 inventivetalent
平台 Bukkit / Spigot
支持版本 1.7 - 1.17
点赞数 1
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:1,247,059  |  历史访问人次:1,549,068

今日访问人数:4,308  |  今日访问人次:4,509

昨日访问人数:27,770  |  昨日访问人次:30,933

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6