麻花awa
例如改变拉弓的速度。

森林蝙蝠
拉弓速度写死的改不了,除非上asm强行改。
至于原版大多数物品,有的物品具有setDurability()之类方法,调取就可以;
有的物品是public/private封死字段和方法,需要用accesstransformer改一下访问级别,然后重新构建MC开发环境,再去调取字段和方法。

gooding300
本帖最后由 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方法,删除所有指令以后加入如下指令:
  1. LDC 72000
  2. IRETURN
复制代码

72000是原版的速度,对其进行修改即可。
LDC代表从常量池中加载一个数字,IRETURN表示返回一个int。

如果对您的问题有所帮助,请给我最高的评分!

麻花awa
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 便是。