diff --git a/patches/minecraft/net/minecraft/world/raid/Raid.java.patch b/patches/minecraft/net/minecraft/world/raid/Raid.java.patch new file mode 100644 index 0000000000..7d36acbaea --- /dev/null +++ b/patches/minecraft/net/minecraft/world/raid/Raid.java.patch @@ -0,0 +1,31 @@ +--- a/net/minecraft/world/raid/Raid.java ++++ b/net/minecraft/world/raid/Raid.java +@@ -768,7 +768,7 @@ + } + } + +- static enum WaveMember { ++ public static enum WaveMember implements net.minecraftforge.common.IExtensibleEnum { + VINDICATOR(EntityType.field_200758_ax, new int[]{0, 0, 2, 0, 1, 4, 2, 5}), + EVOKER(EntityType.field_200806_t, new int[]{0, 0, 0, 0, 0, 1, 1, 2}), + PILLAGER(EntityType.field_220350_aJ, new int[]{0, 4, 3, 3, 4, 4, 4, 2}), +@@ -783,5 +783,19 @@ + this.field_221285_g = p_i50602_3_; + this.field_221286_h = p_i50602_4_; + } ++ ++ /** ++ * The waveCountsIn integer decides how many entities of the EntityType defined in typeIn will spawn in each wave. ++ * For example, one ravager will always spawn in wave 3. ++ */ ++ public static WaveMember create(String name, EntityType typeIn, int[] waveCountsIn) { ++ throw new IllegalStateException("Enum not extended"); ++ } ++ ++ @Override ++ @Deprecated ++ public void init() { ++ field_221284_f = values(); ++ } + } + } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index c892f29542..39b45e546c 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -303,6 +303,7 @@ public net.minecraft.world.biome.FrozenOceanBiome func_180626_a(Lnet/minecraft/u public net.minecraft.world.biome.provider.BiomeProvider field_201540_a # BIOMES_TO_SPAWN_IN public net.minecraft.world.chunk.ChunkStatus (Ljava/lang/String;Lnet/minecraft/world/chunk/ChunkStatus;ILjava/util/EnumSet;Lnet/minecraft/world/chunk/ChunkStatus$Type;Lnet/minecraft/world/chunk/ChunkStatus$IGenerationWorker;Lnet/minecraft/world/chunk/ChunkStatus$ILoadingWorker;)V public net.minecraft.world.gen.layer.LayerUtil func_202829_a(JLnet/minecraft/world/gen/layer/traits/IAreaTransformer1;Lnet/minecraft/world/gen/area/IAreaFactory;ILjava/util/function/LongFunction;)Lnet/minecraft/world/gen/area/IAreaFactory; # repeat +private-f net.minecraft.world.raid.Raid$WaveMember field_221284_f # VALUES private-f net.minecraft.world.server.ChunkHolder field_219320_o # block update location public net.minecraft.world.server.ServerChunkProvider field_186029_c # chunkGenerator public net.minecraft.world.server.ServerChunkProvider field_73251_h # worldObj diff --git a/src/test/java/net/minecraftforge/debug/world/RaidEnumTest.java b/src/test/java/net/minecraftforge/debug/world/RaidEnumTest.java new file mode 100644 index 0000000000..dec6ba37c4 --- /dev/null +++ b/src/test/java/net/minecraftforge/debug/world/RaidEnumTest.java @@ -0,0 +1,17 @@ +package net.minecraftforge.debug.world; + +import net.minecraft.entity.EntityType; +import net.minecraft.world.raid.Raid; +import net.minecraftforge.fml.common.Mod; + +@Mod("raid_enum_test") +public class RaidEnumTest +{ + private static final boolean ENABLE = false; + + public RaidEnumTest() + { + if (ENABLE) + Raid.WaveMember.create("thebluemengroup", EntityType.ILLUSIONER, new int[]{0, 5, 0, 1, 0, 1, 0, 2}); + } +} diff --git a/src/test/resources/META-INF/mods.toml b/src/test/resources/META-INF/mods.toml index b65f3fdbae..230c9cf8b1 100644 --- a/src/test/resources/META-INF/mods.toml +++ b/src/test/resources/META-INF/mods.toml @@ -69,4 +69,6 @@ loaderVersion="[28,)" [[mods]] modId="create_entity_classification_test" [[mods]] - modId="ender_mask_test" \ No newline at end of file + modId="ender_mask_test" +[[mods]] + modId="raid_enum_test" \ No newline at end of file