例如改变拉弓的速度。
拉弓速度写死的改不了,除非上asm强行改。
至于原版大多数物品,有的物品具有setDurability()之类方法,调取就可以;
有的物品是public/private封死字段和方法,需要用accesstransformer改一下访问级别,然后重新构建MC开发环境,再去调取字段和方法。
至于原版大多数物品,有的物品具有setDurability()之类方法,调取就可以;
有的物品是public/private封死字段和方法,需要用accesstransformer改一下访问级别,然后重新构建MC开发环境,再去调取字段和方法。
本帖最后由 gooding300 于 2019-9-1 16:28 编辑
[1.3.2-1.13.2] 原版 / FML CoreMod 开发教程
https://www.mcbbs.net/thread-850737-1-1.html
修改net.minecraft.item.ItemBow中的getMaxItemUseDuration方法,删除所有指令以后加入如下指令:
复制代码
72000是原版的速度,对其进行修改即可。
LDC代表从常量池中加载一个数字,IRETURN表示返回一个int。
如果对您的问题有所帮助,请给我最高的评分!
[1.3.2-1.13.2] 原版 / FML CoreMod 开发教程
https://www.mcbbs.net/thread-850737-1-1.html
修改net.minecraft.item.ItemBow中的getMaxItemUseDuration方法,删除所有指令以后加入如下指令:
- LDC 72000
- IRETURN
72000是原版的速度,对其进行修改即可。
LDC代表从常量池中加载一个数字,IRETURN表示返回一个int。
如果对您的问题有所帮助,请给我最高的评分!
gooding300 发表于 2019-9-1 16:21
[1.3.2-1.13.2] 原版 / FML CoreMod 开发教程
https://www.mcbbs.net/thread-850737-1-1.html
奇怪的是,修改了那个数值后弓的速度并没有改变
几乎任何场合都不建议使用 Coremod,尤其是已有事件的情况下。
Forge 提供了 net.minecraftforge.event.entity.living.LivingEntityUseItemEvent。
监听 LivingEntityUseItemEvent 事件的某个子类事件并修改 duration 便是。
Forge 提供了 net.minecraftforge.event.entity.living.LivingEntityUseItemEvent。
监听 LivingEntityUseItemEvent 事件的某个子类事件并修改 duration 便是。