Fixed placement check for giant trees in the Mystic Grove

This commit is contained in:
Forstride 2019-06-08 00:57:14 -04:00
parent 55f9e9a1ee
commit dbfe3a5c74
2 changed files with 12 additions and 8 deletions

View File

@ -60,7 +60,7 @@ public class MysticGroveBiome extends BiomeBOP
this.addStructureFeatures();
// Lakes
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createCompositeFeature(Feature.LAKES, new LakesConfig(Blocks.WATER), LAKE_WATER, new LakeChanceConfig(4)));
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, createCompositeFeature(Feature.LAKES, new LakesConfig(Blocks.WATER), LAKE_WATER, new LakeChanceConfig(3)));
// Underground
this.addFeature(GenerationStage.Decoration.UNDERGROUND_STRUCTURES, createCompositeFeature(Feature.DUNGEONS, IFeatureConfig.NO_FEATURE_CONFIG, DUNGEON_ROOM, new DungeonRoomConfig(8)));
@ -94,11 +94,6 @@ public class MysticGroveBiome extends BiomeBOP
// Entity spawning
this.addSpawn(EnumCreatureType.CREATURE, new Biome.SpawnListEntry(EntityType.RABBIT, 4, 2, 3));
this.addSpawn(EnumCreatureType.AMBIENT, new Biome.SpawnListEntry(EntityType.BAT, 10, 8, 8));
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SPIDER, 100, 4, 4));
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE, 95, 4, 4));
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE_VILLAGER, 5, 1, 1));
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SKELETON, 100, 4, 4));
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.CREEPER, 100, 4, 4));
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 100, 4, 4));
this.addSpawn(EnumCreatureType.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 15, 1, 1));

View File

@ -490,9 +490,18 @@ public class BigTreeFeature extends TreeFeatureBase
{
BlockPos startPos = this.origin.down();
for (int x = 0; x <= trunkWidth - 1; x++)
int start = 0;
int end = trunkWidth - 1;
if (trunkWidth == 4)
{
for (int z = 0; z <= trunkWidth - 1; z++)
start = -1;
end = trunkWidth - 2;
}
for (int x = start; x <= end; x++)
{
for (int z = start; z <= end; z++)
{
if (!this.placeOn.matches(world, startPos.add(x,0,z)))
{