我对改装《我的世界》是新手,我想知道如何改变暴民产卵率。例如,假设我们想产生大量的Enderman。
到目前为止,我已经在net中找到了设置繁殖频率的代码。我的世界。世界生物群落
默认生物景观。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
等。我的结论是,我需要改变生物群落以改变产卵率。
我可以使用生物注册
或伪造注册来访问生物群落。生物群落
。我在这里看到两种方法:
注册
方法是私有
,因此我无法添加新的生物群落来取代现有的生物群落。我在这里还读到,移除它们显然是不可能的
大多数在线解决方案(1,2)似乎建议以下方案,可悲的是,这些方案在当前的1.16.4中不再有效:
ModLoader.addSpawn(YOURENTITY.class, 25, 1, 3);
EntityRegistry.addSpawn(...)
任何帮助将不胜感激。
不要试图使用mixin修改现有的Minecraft包——这被称为coremoding,并且由于各种原因而不被接受。1.16的正确方法是订阅BiomeLoadingEvent,然后在加载所有BioMe后对其进行修补:
1.16
@Mod("example")
public class ExampleMod
{
public ExampleMod() {
MinecraftForge.EVENT_BUS.register(this);
}
@SubscribeEvent(priority = EventPriority.HIGH)
public void onBiomeLoadingEvent(BiomeLoadingEvent event) {
List<MobSpawnInfo.Spawners> spawns =
event.getSpawns().getSpawner(EntityClassification.MONSTER);
// Remove existing Enderman spawn information
spawns.removeIf(e -> e.type == EntityType.ENDERMAN);
// Make Enderman spawns more frequent and add Blaze spawns in all biomes
spawns.add(new MobSpawnInfo.Spawners(EntityType.BLAZE, 200, 1, 4));
spawns.add(new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 200, 1, 4));
}
}
1.15(可能也适用于1.14、1.13、1.12等)
@Mod("example")
public class ExampleMod
{
public ExampleMod() {
ForgeRegistries.BIOMES.forEach(biome -> {
List<Biome.SpawnListEntry> spawns = biome.getSpawns(EntityClassification.MONSTER);
spawns.removeIf(e -> e.entityType == EntityType.ENDERMAN);
spawns.add(new Biome.SpawnListEntry(EntityType.BLAZE, 200, 1, 4));
spawns.add(new Biome.SpawnListEntry(EntityType.ENDERMAN, 200, 1, 4));
});
}
}
编辑:请注意,InControl智能驭享可用于实现类似效果,无需编码。
我正在创建一个带有自定义项目的mod,我想让该项目可穿戴,但我不知道如何。这是我的Mod项目代码。
我编码了一个伪造的minecraft 1.12 mod,但是当试图游戏制作物品时,它不起作用。 以下是JSON文件: 你能帮助我吗?谢谢;)
所以我试图安装锻造api(Minecraft 1.10.2)来开发一个mod,我在使用锻造格拉德尔时遇到了问题。每次我用"bash gradlew setupDecompWorkspace"运行它,我都会得到这个错误: 失败:生成失败,出现异常。 > 无法解析de.oceanlabs。mcp:mcp:1.10。2.要求:com。你的名字。modid:forge-1:1.0无法解析de.oceanl
问题内容: 因为我通常不会在Django项目中进行模型的前期设计,所以最终会大量修改模型,从而每次都删除测试数据库(因为“ syncdb”永远不会为您自动更改表)。我的工作流程位于下面,很想听听您的工作流程。任何想法欢迎。 修改模型。 删除测试数据库。(对我来说总是一个简单的sqlite数据库。) 运行“ syncdb”。 通过代码生成一些测试数据。 转到1。 有关此问题的第二个问题。如果您的工作
我的问题是,当我开始游戏时,我的资源都没有加载。我使用IntelliJ版本2021.2.2和1.12.2 Minecraft锻造MDK版本14.23.5.2855,我知道IntelliJ是问题所在,但我发现这个问题就是这个解决方案 但是这个解决方案已经不起作用了,因为在Gradle 4.9版中,已经被弃用了,我不知道该怎么办了。我的源代码可以在我的GitHub上找到。注意:问题不在于我是如何添加资
我遇到了一个项目块渲染问题,因为当我放置块时,它会正确渲染,但当我拿着它时,它缺少纹理/模型。 我看到的图片在链接中:http://i.stack.imgur.com/atq1L.png 我已经检查了很多次,控制台中没有错误消息,JSON格式似乎没有任何问题,代码中似乎也没有问题。 *顺便说一下,block类的代码并不太重要,因为它只是一个扩展*block的类。类,然后给super添加材料。石 以