Minecraft版本: 1.12.2
我想在有火焰方块生成时执行一个方法,就像原版地狱传送门生成一样。
原版是在火焰方块的onBlockAdded中执行的trySpawnPortal。
请问我有什么方法实现这个目的?
Minecraft版本: 1.12.2
我想在有火焰方块生成时执行一个方法,就像原版地狱传送门生成一样。
原版是在火焰方块的onBlockAdded中执行的trySpawnPortal。
请问我有什么方法实现这个目的?
首先火焰不是一个方块。
其次你应该去翻看Event
类的子类,看看有没有你需要的方法,mod 开发是事件驱动的。
火焰不是方块吗?我确实看到了Block类下的BlockFire子类。
对于Event子类来说,我只找到玩家放置方块的事件,没有找到自然生成方块的事件。所以我不知道该怎么监听。
那是我弄错了。
看上去没有直接的火焰生成的方法,那你只能hack原版的BlcokFire
类了。
好的。请问有什么方法能够操作原版源码?看起来我只需要在原版的方法后加一句话就行。
因为你要修改的是原版的方法,估计得用ASM了。
我去大致了解了一下ASM,并模仿一个范例MOD写好了这一段的代码部分。
但是。。我不太会配置它的环境。。不会将它变成依赖库。
我使用的是IDE是Eclipse。
请问您能提供一些帮助吗?
如果你要把它变成依赖库得修改build.gradle
。
你去看一眼默认的build.gradle
里有一个dependencies
按照注释填进去就好了。
非常感谢!
不过我想知道你在实现什么功能?
有火焰方块生成时能触发一个事件,检测周围的方块,就像地狱门生成一样。我不知道有什么简单方法。
如果周围的方块是你自己的,可以覆写neighborChanged方法
是原版的方块
确实用Mixin的Inject实现了我的目标。
不过我打算改成自己的方块了。总感觉改原版不是那么稳定,兼容性也会差一点。
谢谢提供覆写neighborChanged这个方法。
解决了的话,选个楼层作为答案吧。
该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。