mc源码
获取方式
注意,请阅读eula。请勿发布获得的源码。
mc反编译github项目:mcp-Reborn
获取时注意事项
如果报错请按照具体错误去修改配置等。可百度。
常见错误:
- jdk版本不对,见mcp-Reborn。高版本1.18+要用jdk17。
- gradle没配置好。
- idea版本不对(踩坑记录。导入gradle时,报Unable to find the .. method ‘java.lang.String……()’。我是2019报这个错,2021.3.3版本的idea没有错误了。)
自己整理的源码API,其中:分析记录用*标识
从启动类分析。
启动时传入游戏相关参数,是否启用优化。
通过参数配置,生成玩家、游戏对象。
通过多线程渲染、启动游戏。
重要游戏特性在net.minecraft包内,.world包内有实体、食物、效果、伤害、物品、背包、地形等。
world包下的实体(entity)-动物(animal)有猪(pig)。
猪的代码中有声音、交互( mobInteract(参数:玩家、交互手) )等方法。
判定1.手中非食物、猪身上放置了鞍、非交通工具-在此处代码逻辑为没有人在骑行、玩家非潜行右键、非客户端则骑行。
2.否则,如果是食物,则喂食。
学到的开发知识点
ImmutableList:不可变、元素不允许为null、高效、线程安全。–实体的乘客属性类型即为此。