引言

Minecraft中文叫“我的世界”,没怎么深入玩过,来试试把它源代码反编译出来吧。

我用的是最新的mcp940,对应版本是1.12。

遇到问题及解决

因为我的是Mac系统,遇到一些坑,下面简要说明一下。

客户端下载

因为官方客户端需要mojang账号才能登陆,而mojang账号注册点击没反应,因此怎么也进行不下去。

解决办法:网上找!还好,被我在百度贴吧找到了:https://tieba.baidu.com/p/5235025666

感谢楼主。

下载下来,解压到~/.minecraft目录

服务端下载

运行一次:java -jar minecraft_server.1.12.jar

python命令

mcp的runtime目录的python脚本中,都指定由python2运行,现改为python。

text2speech库没有osx版本

此问题导致反编译时检查脚本出错。

解决办法:修改1.12.json,借用linux的,把“linux”改为“osx”,如下:

{"extract":{"exclude":["META-INF/"]},"name":"com.mojang:text2speech:1.10.3","natives":{"osx":"natives-linux","windows":"natives-windows"}

提示找不到库

如果反编译时提示类似“Copying library java-objc-bridge... Error copying library java-objc-bridge"的错误,那么就打开1.12.json文件,找到相关的库的下载链接,自行下载放到相应目录中即可。

结论

至此,可以成功反编译了。后续就可以尝试eclipse打开,研究分析源代码了。

后续:Eclipse打开项目

Eclipse中,把workspace指定到目录mcp940/eclipse目录下,启动Eclipse后自动就打开Client和Server项目了。

Server能正常运行,没问题。

客户端错误

Java Build Path中重新加入jar包,修正红叉错误。

因为用到了与text2speech相关的osx特性的代码需要注释掉,否则客户端会提示类没找到,没办法运行,例如:

GuiIngame.java中GuiIngame函数中NarratorChatListener相关的注释掉:

// IChatListener ichatlistener = NarratorChatListener.field_193643_a;

(this.field_191743_I.get(ChatType.CHAT)).add(new NormalChatListener(mcIn));

// (this.field_191743_I.get(ChatType.CHAT)).add(ichatlistener);

(this.field_191743_I.get(ChatType.SYSTEM)).add(new NormalChatListener(mcIn));

// (this.field_191743_I.get(ChatType.SYSTEM)).add(ichatlistener);

(this.field_191743_I.get(ChatType.GAME_INFO)).add(new OverlayChatListener(mcIn));

this.setDefaultTitlesTimes();

Minecraft.java中loadWorld函数的NarratorChatListener相关代码注释掉:

// NarratorChatListener.field_193643_a.func_193642_b();

好了,Eclipse可以正常运行Client了~

java 我的世界 反编译_基于mcp940反编译Minecraft源代码相关推荐

  1. scrapy微博反爬虫_基于Scrapy的微博爬虫设计

    Data Base Technique • 数据库技术 Electronic Technology & Software Engineering 电子技术与软件工程 • 187 [关键词]Sc ...

  2. moses 编译_手把手教你编译MOSES机器翻译系统 | 学步园

    摩西是一个由英国爱丁堡大学的SMT先锋团队[科恩等人,2007 ]开发的翻译系统.摩西的最新版本支持许多特征和功能.例如,它支持基于短语和基于语法基础的模型(从短语/规则提取解码).同时,它提供的因素 ...

  3. 依赖编译_开源项目的编译优化实践

    Zilliz 公司以 "重新定义数据科学" (Reinvent Data Science)为愿景,专注于研发利用新一代异构计算的开源数据科学软件.随着各项目的蓬勃发展,我们对于持续 ...

  4. php在windows编译_在Windows上编译PHP

    php在windows编译 Compiling PHP from source code is more commonly done on Unix-type systems. Those worki ...

  5. vue.js反编译_基于electron-vue开发的微信小程序反编译客户端

    开源一个小程序反编译客户端 咨询小程序反编译的同学比较多,虽然有开源库但是还是有同学不清楚如何去操作,所以索性做了一个客户端方便进行小程序的反编译 # 技术选型 网上已经有大佬实现了C#版的反编译工具 ...

  6. 基于mcp940反编译Minecraft源代码

    引言 Minecraft中文叫"我的世界",没怎么深入玩过,来试试把它源代码反编译出来吧. 参考教程: https://minecraft.gamepedia.com/Mods/C ...

  7. java动漫网站开题报告_基于java的校园论坛网站的开发与设计开题报告.doc

    基于java的校园论坛网站的开发与设计开题报告 太 原 科 技 大 学 华 科 学 院 毕业设计开题报告 学 生 姓 名:学 号:学 院.系:专 业:论 文 题 目:指导教师: 2015 年 3 月1 ...

  8. java jni编译_从源码编译Android系统的Java类库和JNI动态库的方法

    利用源码编译Android系统Java类库 1.编写Java项目和Android.mk文件 ├── Android.mk └── src └── com └── lhw └── framework └ ...

  9. npm run build 打包 之后怎么用_基于createreactapp打包编译自己的第三方UI组件库

    这篇文章主要是总结一下我们在工作中如何为公司开发内部的第三方UI组件,并通过npm install的方式安装的一些步骤和思路.在学习完这套发布方法后大家也可以快速的发布自己的UI库到npm,供他人使用 ...

  10. java接口自动化Excel占位符_基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport的接口自动化测试框架...

    接口自动化框架 项目说明 本框架是一套基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport而设计的数据驱动接口自动化测试框架,TestNG ...

最新文章

  1. 时间段为查询条件时的日期边界查询不到问题
  2. linux禁用锁定和解除解锁用户账号的方法
  3. 编写CGI小结(Java)
  4. 待遇 新时达机器人_践行中国制造2025:工业机器人企业突围之路
  5. idea中自动deployment的步骤
  6. REVERSE-COMPETITION-NEPCTF
  7. SpringCloud feign、hystrix、zuul超时配置
  8. 使用Rich Edit控件
  9. 串口通信中ReadFile和WriteFile的超时详解!
  10. Mybatis(2)——Mapper映射文件
  11. Python 简单函数入门之“计算器“
  12. 工程学导论1---3章习题与思考题
  13. 使用Altium Designer绘制电路原理图
  14. 安装虚拟机遇到和小红帽遇到的问题
  15. mysql建考勤信息代码_基于Java+JSP+Servlet+Mysql的考勤管理系统
  16. Http GET 请求参数中文乱码
  17. html-菜鸟--书架仿饿了么首页—Html学习(1)
  18. 采用QT进行OpenGL开发(三)着色器编程
  19. Excel表头怎么设计?这里有超全面的表头设计方法!一分钟可学会
  20. win 10 桌面路径还原到C盘拒绝访问

热门文章

  1. [NLP论文阅读]A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SENTENCE EMBEDDINGS
  2. Excel在spring cloud项目中乱码
  3. 软考数据库系统工程师教程知识点总结
  4. 01-hadoop学习环境准备
  5. 抖音txt表白html,抖音vbs表白代码的技巧分享
  6. php磁力链播放源码,Bt种子转磁力链 PHP源码
  7. 软件工程需求分析方法
  8. 一款基于matlab的图像处理软件
  9. 阿里云矢量图html页面引入,使用阿里矢量图标库的三种方法
  10. Java程序调用linux脚本-简单版