我是新的改装雷艇,我想知道如何改变暴徒产卵率。比如说,我们想产生很多恩德门。
到目前为止,我已经找到了代码,似乎设置产卵频率
net.minecraft.world.biome DefaultBiomeFeatures.java
:
public static void withHostileMobs(MobSpawnInfo.Builder builder) {
...
builder.withSpawner(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4));
...
}
这意味着安德曼在大多数生物群落中产卵,尽管很少(10是重量,爬行动物和蜘蛛有100)。
我知道这个 DefaultBiome
然后由 BiomeMaker.java
至 makeGiantTaigaBiome
, makeBirchForestBiome
我的结论是我需要改变生物群落来改变产卵率。
我可以用任何一种方法进入生物群落 BiomeRegistry
或者 ForgeRegistries.BIOMES
. 我在这里看到两种方法:
完全替换生物群落图。可悲的是 register
方法是 private
所以我不能添加新的生物群落来取代现有的生物群落。我在这里也读到,删除他们显然是不可能的。
修改现有的生物群落图。这将使用 biome.withMobSpawnSettings(MobSpawnInfo mobSpawnSettings)
改造生物群落。但是 MobSpawnInfo
类再次没有任何公共setter,所以我不知道如何获得修改的 MobSpawnInfo
不需要重新创建整个 MobSpawnInfo
用手拿东西。
大多数在线解决方案(1,2)似乎建议以下内容,但遗憾的是,这些内容在当前的1.16.4中不再适用:
ModLoader.addSpawn(YOURENTITY.class, 25, 1, 3);
EntityRegistry.addSpawn(...)
任何帮助都将不胜感激。
1条答案
按热度按时间gfttwv5a1#
不要试图用mixins修改现有的minecraft包——这被称为coremoding,出于各种原因不赞成。1.16的正确方法是订阅一个biomeloadingevent,然后在加载所有biome之后,对它们进行修补:
1.16
1.15(也可能适用于1.14、1.13、1.12…)