修改侏罗纪世界重生MOD恐龙生成刷新概率
mod开发进度缓慢,也并未提供配置文件调整恐龙刷新概率,想快速修改的话只能通过修改源码的方式。由于此mod非官方汉化,所以存在许多不同版本,直接修改官方源码编译也不怎么可行。(太麻烦),所以只能通过反编译暴力修改的方式。
Recaf
修改jar源码我一直比较喜欢使用Recaf这个软件,所以就拿他距离
分析源码
通过分析 reborn.server.dinosaur.Dinasour
的恐龙基类可以发现,不同恐龙类都有两个属性: spawnChance
和 maxHerdSize
,刷新主要通过这两个数值控制
spawnChance控制生成概率,maxHerdSize控制最大生成数量
使用Recaf修改数值
你可以选择修改某个单一恐龙的数值,也可以直接修改Dinosaur类所有的,方法都大同小异,这里就直接修改Dinosaur基类做演示
先打开Recaf,导入这个mod的jar包,找到 reborn.server.dinosaur
然后找到下面的Dinosaur基类(如果修改单一恐龙就修改你要修改的那个恐龙类):
找到 getSpawnChance()
方法
右键方法名,选择 Edit with Assembler
,然后可以看到如下窗口
删除其中的 GETFIELD
一行,然后替换成你想要的数值的字节码
一般来说这里是概率,所以填1-100
字节码有如下规则:
取值-1~5时,使用ICONST(例: -1为ICONST_M1,5为ICONST_5)
取值-128~127时,使用BIPUSH (例:BIPUSH 80)
取值-32768~32767时,使用SIPUSH(例:SIPUSH 1000)
取值-2147483648~2147483647时,使用LDC
修改后如图(我这里改为80):
修改完后按 Ctrl+S
保存,可以看到代码已经被修改:
如果你有强迫症可以把ALOAD那一行也删了,这样就没有前面这个无用的定义
然后对于maxHerdSize方法也大同小异,找到 getMaxHerdSize
方法再按照上面的方法修改就行,这里不多赘述
修改好之后选择左上角 File -> Export program
导出jar,就是你修改好的mod
至此,修改结束