Skip to content

Commit

Permalink
feat:
Browse files Browse the repository at this point in the history
兼容 1.20.5+
  • Loading branch information
0XPYEX0 committed Jun 9, 2024
1 parent 3a61795 commit 5f53dfb
Showing 1 changed file with 27 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import me.xpyex.module.cnusername.Logging;
import me.xpyex.module.cnusername.UpdateChecker;
import me.xpyex.module.cnusername.minecraft.ClassVisitorLoginListener;
import me.xpyex.module.cnusername.mojang.ClassVisitorStringUtil;
import me.xpyex.module.cnusername.paper.ClassVisitorCraftPlayerProfile;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
Expand Down Expand Up @@ -59,6 +60,7 @@ public void onLoad() {
Logging.info("如遇Bug,或需提出建议: QQ1723275529");

try {
// com.destroystokyo.paper.profile.CraftPlayerProfile
//碰运气修改CraftPlayerProfile类,万一成功了() 不过大概率不行
//这个类只在1.20.5+ ,旧版本出错无需考虑
ClassReader reader = new ClassReader(Bukkit.class.getClassLoader().getResourceAsStream(ClassVisitorCraftPlayerProfile.CLASS_PATH + ".class"));
Expand All @@ -77,12 +79,36 @@ public void onLoad() {
e.printStackTrace();
}
}
} catch (IOException e) {
} catch (Exception e) {
e.printStackTrace();
Logging.warning("修改CraftPlayerProfile类失败: " + e);
Logging.warning("1.20.5以下的版本忽略此条,无用");
}

try {
// net.minecraft.util.StringUtil
ClassReader reader = new ClassReader(Bukkit.class.getClassLoader().getResourceAsStream(ClassVisitorStringUtil.CLASS_PATH + ".class"));
String className = reader.getClassName().replace("/", ".");
Logging.info("开始修改类 " + className);
ClassWriter classWriter = new ClassWriter(reader, 0);
ClassVisitor classVisitor = new ClassVisitorStringUtil(className, classWriter, readPluginPattern());
reader.accept(classVisitor, 0);
loadClass(className, classWriter.toByteArray());
Logging.info("修改完成并保存");
if (CnUsername.DEBUG) {
try {
Logging.info("Debug模式开启,保存修改后的样本以供调试");
Logging.info("已保存 " + className + " 类的文件样本至: " + CnUsername.saveClassFile(classWriter, className).getPath());
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
Logging.warning("修改StringUtil类失败: " + e);
Logging.warning("1.20.5以下的版本忽略此条,无用");
}

try {
ClassReader classReader = null;
for (String classPath : new String[]{
Expand Down

0 comments on commit 5f53dfb

Please sign in to comment.