ForgePatch/patches/minecraft/net/minecraft/world/gen/feature/structure/Structure.java.patch

33 lines
1.6 KiB
Diff

--- a/net/minecraft/world/gen/feature/structure/Structure.java
+++ b/net/minecraft/world/gen/feature/structure/Structure.java
@@ -38,7 +38,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-public abstract class Structure<C extends IFeatureConfig> {
+public abstract class Structure<C extends IFeatureConfig> extends net.minecraftforge.registries.ForgeRegistryEntry<Structure<?>> implements net.minecraftforge.common.extensions.IForgeStructure {
public static final BiMap<String, Structure<?>> field_236365_a_ = HashBiMap.create();
private static final Map<Structure<?>, GenerationStage.Decoration> field_236385_u_ = Maps.newHashMap();
private static final Logger field_208204_b = LogManager.getLogger();
@@ -237,13 +237,18 @@
}
public List<MobSpawnInfo.Spawners> func_202279_e() {
- return ImmutableList.of();
+ return getSpawnList(net.minecraft.entity.EntityClassification.MONSTER);
}
public List<MobSpawnInfo.Spawners> func_214469_f() {
- return ImmutableList.of();
+ return getSpawnList(net.minecraft.entity.EntityClassification.CREATURE);
}
+ @Override
+ public final List<MobSpawnInfo.Spawners> getSpawnList(net.minecraft.entity.EntityClassification classification) {
+ return net.minecraftforge.common.world.StructureSpawnManager.getSpawnList(getStructure(), classification);
+ }
+
public interface IStartFactory<C extends IFeatureConfig> {
StructureStart<C> create(Structure<C> p_create_1_, int p_create_2_, int p_create_3_, MutableBoundingBox p_create_4_, int p_create_5_, long p_create_6_);
}