本萌新有几个问题想知道2333333

问题一
默认生物的行为怎么更改?
举例:我想修改僵尸可以在白天刷出,我想修改某个怪物的大小之类的,如何修改呢?听说修改addons(行为包)是可以的,不知道有没有大佬知道
问题二
如何获取模组中新定义的爆炸类型?
举例:原版TNT爆炸时minecraft:tnt,那么其他模组中的爆炸类型怎么获取呢

和我一样不会的小萌新就不要回复了23333水贴会被举报的

问题一
默认生物的行为怎么更改?
举例:我想修改僵尸可以在白天刷出,我想修改某个怪物的大小之类的,如何修改呢?听说修改addons(行为包)是可以的,不知道有没有大佬知道

问题二
如何获取模组中新定义的爆炸类型?
举例:原版TNT爆炸时minecraft:tnt,那么其他模组中的爆炸类型怎么获取呢

和我一样不会的小萌新就不要回复了23333水贴会被举报的
1.你可以在Entity类和它的派生类(EntityMobs,EntityAnimals)中找到相应方法,如果在白天生成个僵尸就直接getWorldTime<12000?spawnEntity():null(仅作演示)
2.你要根据模组而确定,还有的mod它的爆炸就不是爆炸,例如龙之进化的爆炸就是直接删除实体和方块的。
2.你要根据模组而确定,还有的mod它的爆炸就不是爆炸,例如龙之进化的爆炸就是直接删除实体和方块的。
本帖最后由 cuibingwei 于 2018-9-6 12:27 编辑
能具体解释一下第一个问题吗,第二个问题估计是没办法了(其实我是想知道科技枪和mcheli载具的爆炸类型,通过forge creeper heal达到恢复效果)
森林蝙蝠 发表于 2018-9-6 00:55
1.你可以在Entity类和它的派生类(EntityMobs,EntityAnimals)中找到相应方法,如果在白天生成个僵尸就直 ...
能具体解释一下第一个问题吗,第二个问题估计是没办法了(其实我是想知道科技枪和mcheli载具的爆炸类型,通过forge creeper heal达到恢复效果)
cuibingwei 发表于 2018-9-6 12:24
能具体解释一下第一个问题吗,第二个问题估计是没办法了(其实我是想知道科技枪和mcheli载具的爆炸类型,通 ...
第一个问题牵涉有些广,你想了解什么?
森林蝙蝠 发表于 2018-9-6 21:35
第一个问题牵涉有些广,你想了解什么?
就是关于修改生物的AI啊,属性啊什么的,怎么改,是修改json文件还是直接修改游戏jar文件里面的啊
cuibingwei 发表于 2018-9-6 22:43
就是关于修改生物的AI啊,属性啊什么的,怎么改,是修改json文件还是直接修改游戏jar文件里面的啊 ...
AI只能通过写Java mod的方式去改,json是行不通的,只能改一下僵尸的高度,血量这些参数。
森林蝙蝠 发表于 2018-9-6 23:19
AI只能通过写Java mod的方式去改,json是行不通的,只能改一下僵尸的高度,血量这些参数。 ...
那就我说那个僵尸可以在白天生成怎么改
怪物的生成是由WorldServer里的WorldEntitySpawner的findChunksForSpawning()方法决定的,生成前调用EntityMob的getCanSpawnHere()来判断是否允许生成。
getCanSpawnHere()的其中一个依据是isValidLightLevel()方法,就是判断当前亮度是否合适。
getCanSpawnHere()的其中一个依据是isValidLightLevel()方法,就是判断当前亮度是否合适。