--- a/net/minecraft/world/gen/NoiseChunkGenerator.java +++ b/net/minecraft/world/gen/NoiseChunkGenerator.java @@ -525,8 +525,8 @@ objectlistiterator1.back(objectlist1.size()); BlockState blockstate = this.func_236086_a_(d18, i2); if (blockstate != field_222562_i) { - if (blockstate.func_185906_d() != 0) { - blockpos$mutable.func_181079_c(i3, i2, l3); + blockpos$mutable.func_181079_c(i3, i2, l3); + if (blockstate.getLightValue(chunkprimer, blockpos$mutable) != 0) { chunkprimer.func_201637_h(blockpos$mutable); } @@ -582,6 +582,9 @@ } public List func_230353_a_(Biome p_230353_1_, StructureManager p_230353_2_, EntityClassification p_230353_3_, BlockPos p_230353_4_) { + List spawns = net.minecraftforge.common.world.StructureSpawnManager.getStructureSpawns(p_230353_2_, p_230353_3_, p_230353_4_); + if (spawns != null) return spawns; + if (false) {//Forge: We handle these hardcoded cases above in StructureSpawnManager#getStructureSpawns, but allow for insideOnly to be changed and allow for creatures to be spawned in ones other than just the witch hut if (p_230353_2_.func_235010_a_(p_230353_4_, true, Structure.field_236374_j_).func_75069_d()) { if (p_230353_3_ == EntityClassification.MONSTER) { return Structure.field_236374_j_.func_202279_e(); @@ -605,6 +608,7 @@ return Structure.field_236378_n_.func_202279_e(); } } + } return super.func_230353_a_(p_230353_1_, p_230353_2_, p_230353_3_, p_230353_4_); }