① 求生之路2反编译别人的枪械mod后枪动手不动
那是因为你下载的mod不包含W模和P模所以看起来会那样求生之路2枪械无后坐力MOD将游戏中的所有枪械武器的弹道轨迹都修改成了一条直线,不会有任何偏移,这样你就能轻松的按住鼠标左键指哪打哪了,真正做到随心突突突突突突,如果你这样还是打不到僵尸的话,那么你建议放弃这游戏。
【武器介绍】
1、微声冲锋枪-Silenced SMG:开局枪械之一,高射速但子弹伤害不高,所以要勤换弹应对突然出现的特感。不要觉得它是初级枪就弱,其近距离输出效率比后期M16(美国名枪b43)和SCAR(三连发)还高些,中后期弹药不足可以考虑换它。2、冲锋枪-Uzi:虽然Uzi没消声器,却比MAC-10单发伤害低,精准度更高。
② 如何反编译一个MOD
这样怎么能够放在一起运行呢:我们可以使用一套固定的名称索引起来,而另一些名称可能当时的猜测是错误的,后来进入Mojang参与Minecraft开发的Searge。
Minecraft Forge,一套主流的Minecraft Mod API,如果Mod开发者想要提供其他Mod的兼容支持,那么就需要链接其他Mod的类,包括默许反编译等行为。当然:毕竟这些名称是从无到有猜测出来的,总有一些名称当时猜不出来。
首先,Mojang并不为其开发的Minecraft游戏提供源代码,同时,而非混淆的代码(deobf和sources)是供开发者使用的。
详细说来,此时因为开发环境使用的是未混淆名,所以引入的其他Mod也必须使用未混淆名,也就是题主所看到的deobf(提供编译后的后缀名为.class的文件)和source(直接提供后缀名为.java的源代码)两个JAR,所以其实这个映射表,针对Minecraft的修改行为(也就是我们通常所说的Mod和插件)从Minecraft发布不久就有人着手去做了,后来Mojang在Minecraft的最终用户许可协议(EULA)中明确表示了对Mod的支持。半混淆名又名SRG Name,以纪念MCP的领导者,运行Minecraft的时候把混淆名同样变成半混淆名,这样Mod就可以使用半混淆名正常工作了。
所以正如题主所见。这个映射表就应该是这个样子的:
不过这样就出现了一个问题,打包Mod和运行Mod的时候都使用这套名称不就可以了?所以映射表就变成了这样:
半混淆名有着形如func_xxxxxx_x或者field_xxxxxx_x的形式,我们要从Minecraft这一游戏本身说起。然而在开发Mod的时候:编译并打包Mod的时候把其中的未混淆名变成半混淆名,在直接Mod文件并运行的时候,其中的代码已经使用的是半混淆名了,其提供的游戏文件也是混淆过的,其中的类没有包名,在运行的时候使用的正是这套方式,就把上面提到的一些无意义的字母组合(又称Notch Name),一般情况下不会发生变动,类名方法名等也全都是abcdef这种无意义的字母组合。
不过。但是,旧的Mod使用的是修改前的名称,而新制作的Mod使用的是修改后的名称,Minecraft的Mod数量也非常之多,目前至少有上万个Minecraft Mod活跃在各个论坛社区中。
在Minecraft发布不久就出现了专门反编译和反混淆Minecraft代码的组织,这一组织就是MCP(Mod Coder Pack),MCP提供的若干个映射表?机智的人民群众很快就想到了一个办法,变成了有意义的方法名类名(又称MCP Name)等,是经常修改和补充的简单来说,就是题主看到的混淆代码(universal)是供玩家使用的
③ 如何反编译一个MOD
第一部分 下载forge源码+建立MOD开发环境。
(1)下载forge源码
注意下载src链接的版本,不要搞错。比如,forge-1.7.10-10.13.2.1230-src.zip(以src.zip结尾)
注意到有很多下载地址,每一行是一个版本,选择适合自己的版本。
右边Downloads列有几个链接,其含义如下:
(a)Changelog——更改日志。
(b)Installer——jar格式的安装包,使用与所有平台(Win/Linux/Mac)
(c)installer-win——专属于Windows的安装包。
(d)javadoc——自动生成的java文档。
(e)src—forge源代码。
(f)universal——单纯的jar库,非安装包。
(g)userdev——面向开放者。
(2)下载之后加压缩到某个文件夹。
只留下五个东西:gradle和src文件夹,build.gradle,gradlew和gradlew.bat。
其它的东西没有用,可以删除。
打开 Windows命令行,cd定位到刚才的文件。
运行:gradlew.bat setupDecompWorkspace --refresh-dependencies
等待forge反编译完成。
第二部分,BON进行反混淆。
BON全名bearded-octo-nemesis,是由immibis开放的一个MOD反混淆工具。(immibis可是MOD届大名鼎鼎的人,比如redlogic,Liquid XP,Advanced Machines等都是非常好用的模组)。
新建一个BON文件夹。
(1)下载userdev版本的forge。还是刚才上面那个地址,只不过这次下载userdev版本。
把下载到的文件放到BON文件夹。
(2)找到forge反编译之后的文件。
这个文件在C:Users{username}目录下的
.gradlecachesminecraft
etminecraftforgeforge1.7.10-{forgeversion}
比如咱们这个例子就是,1.7.10-10.13.2.1230。把这个文件夹复制一份到BON文件夹。
(3)下载BON
下载到一个BON.jar文件,放到上面的文件夹内。
(4)运行。
双击BON.jar之后运行。
Forge userdev.jar:选择(1)下载的文件。
FG cache folder:选择(1)复制出来的文件夹。
然后在输入文件位置选择你想反混淆的代码,再选择要保持的输出。
操作(operation)注意选择:反混淆模组。
点击Go按钮,等待完成。
反混淆之后的代码一般以deobf结尾。
比如StevesFactoryManagerA93.jar,反混淆之后就是StevesFactoryManagerA93.deobf.jar。
这时候就可以用jd-gui无障碍的查看代码了。
第三步 反编译成源代码
如果觉得用jd-gui查看不方便的话,可以考虑用fernflower进行反编译。
fernflower是MCP官方用来发编译minecraft代码的神器,虽然没有jd-gui操作简便,但是它反编译代码的质量非常高。又是官方搭配minecraft使用,是用来反编译代码的不二之选。
如何获得fernflower?
fernflower的官方代码池,然而需要编译不方便使用。
这里提供另外两个方法:
(1)伴随MCP发布的版本。
去mcp官方网址下载,目前适用于1.7.10的是9.08版。
解压缩之后,runtime/bin目录下面,复制出来。
(2)forge提供的版本
去上面提到的.gradle/caches/minecraft目录下,有一个fernflower-fixed.jar文件。
目前尚不知道,mcp和forge版本的有啥差别。
复制到一个位置之后,打开命令行
java -jar fernflower.jar [要反编译的包] [保存位置]
反编译之后的代码,就可以用记事本直接查看。
④ 在我的世界里如何自制mod
你好,MOD制作器就是制作mod的专用软件,教程则是制作mod的具体方法。
MOD具体制作方法如下:
1、建立一个包(Package),Package的命名很随意,Forge建议的命名规范是"作者名.mod名”,Java建议的命名规范是Package的制作公司的网站的域名的倒写,例如"com.lofter"实际上无需在这个问题上纠结这个教程里使用了“作者名.mod名”的命名规范,毕竟不是谁都有一级域名的。右键项目中的minecraft,选择New->Package来创建一个Package。
2、此时你的Eclipse应该是这个样子的:
3、然后需要在public class mod_RPG {的上面加上@Mod(modid="rpg", name="RPG", version="0.0.1")@NetworkMod(clientSideRequired=true, serverSideRequired=false)(@Mod必须标注在类的上方,它的含义是告诉Forge”这是一个Mod主类”.它有3个字符串类型参数,modid是Mod的id号,它将用于内部识别,请确保它不包含特殊字符,并且不会经常变动.name是显示给玩家看的Mod名,version是版本号,对于联机Mod来说不要乱填.
Forge在这方面的做法很不强势,也就是说你不按照设定好的来配置服务端与客户端,它只会在你连接服务器时给出一个警告,然后依旧可以正常连进去,只有在...比如客户端使用mod里的物品时而服务端没有这个mod(数据不同步)时,才会强制吧你踢出 游戏 。)
我的世界自制模组一般有两种途径
1.通过代码制作模组,这个比较难,不但需要你对java编程语言有一定功底。同时需要你对mc的代码相当的熟悉。
2.可以通过MCR制作模组。
一、准备工作和需求
好了,废话这么多该开始了,首先讲下需求,要想制作MINECRAFT的MOD,以下四条一定要有:
1.Java Development Kit 6 (JDK6) 大概78MJDK下载地址
2.minecraft编码包,这里我下载了MCP2.9A版本的编码包,因为他是对应1.3.01BETA版本的对应编码包,如果大家有相应的版本请去MCP编码包汇总下载地址查找自己想要的软件包
3.EditPlus/Notepad++/Eclipse/Netbeans (文本编辑语法高亮)
4.编程知识,优秀的JAVA编程技术~呵呵,我看到这里就呆了,我知道我应该可以知难而退了
二、如何开始
1.1首先安装编码包MCP1.2解压缩ZIP文件包到你电脑上的目录比如C:\MCP
1.2解压缩压缩包到电脑,比如C:\MCP
1.3复制整个 .minecraft/bin 和 .minecraft/resources目录到C:\MCP\JAR下.
1.4运行decompile.bat
打开两个窗口,一个是 C:\MCP\sources\minecraft\net\minecraft\src the other to
另一个是 C:\MCP\
三、MODS的运行
要运行您的MODS的你首先需要编译,调试和测试。
1.首先编译运行'recompile.bat'所有的minecraft类文件。
2.转到C:C:\MCP\logs\minecraft_compile.log 和搜索 ^,如果没有找到这个字,则没有编译错误。如果有,你需要修复您的代码中的错误,并尝试重新编译。
3.如果没有错误,运行'test_game.bat'。
4.这将弹出一个已经安装了MOD的minecraft替代版本-用来测试你的mod。
一旦你的MOD编辑完毕,你需要代码混淆(Obfuscated code是:将电脑程式的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。
使之可以放入MINECRAFT.JAR里
四、使用Eclipse
你可以使用Eclipse来写你的MOD,调试编码,编译编码,运行编码,当你长时间调试时,它会跟你省下很多时间。
ECLIPSE使用视频地址稍后发上来……需要搬运
五、模糊编码(obfuscate暂时翻译为模糊编码好了,希望有人给我指点专业解释)
模糊编码允许你的MOD可以在MINECRAFT.JAR运行,并可以被任何人使用
1.打开C:\MCP\conf\client_conf.txt
2.删除文本里所有的东西
3.添加你的class(class是java编译好的类型文件)到文件里,举例如下:
BlockExample
Block
CraftingManager
复制代码
4.运行'reobf.bat'这个文件
5.你生成的class文件将全部放在C:\MCP\final_out\minecraft\目录下,你可以把这些做好的MOD放到MINECRAFT.JAR里面就可以玩自己的MOD了
下载MDK开发工具包,配置Gradle工具,配置JAVA环境(一般来说Oracle的JDK7,8就可以,OpenJDK也可以,看你开发环境是什么操作系统以及个人喜好),了解Java编程基础、C++ 编程基础,想要精通别想了,精通的话,工资可以过万的,没个几年经验想精通不可能。
然后开始写代码,开发工具有很多,目前常用的有Eclipse(免费),Intellij(社区版免费,个人版学生免费,非学生个人版我记得好像是有个2000/年的套餐,有很多他家的工具,目测这个最合适)
设计贴图,UI,插槽等,需要UI功底,配置热键等MOD需要的操作,然后导出Jar包,扔到Forge 的Mod目录下测试, 按照道理,你的Mod应该要有一些日志输出,保证用的人能够知道目前Mod 的状态。
最后,一个人能不能肝,我的答案是完全可以的,我记得有一些大型Mod的开发就是一个人。
如果要学习Java的话可以联系我,我可以给你一些建议。
熟悉cmd和java语言你自然就会开发mod了
修改代码或者找到 游戏 官网,会有开发者工具帮助你