Removed Dry Plains biome, moved Lush Swamp back to the Wet Temperate climate, renamed Glowstone Cavern to Glowstone Grotto (NOTE: This update will cause abrupt chunk borders in existing worlds! Update at your own risk!)

This commit is contained in:
Forstride 2019-08-10 23:31:08 -04:00
parent 552e3511aa
commit f5309bae51
8 changed files with 73 additions and 133 deletions

View File

@ -24,7 +24,6 @@ public class BOPBiomes
public static Optional<Biome> cold_desert = Optional.empty();
public static Optional<Biome> coniferous_forest = Optional.empty();
public static Optional<Biome> dead_forest = Optional.empty();
public static Optional<Biome> dry_plains = Optional.empty();
public static Optional<Biome> floodplain = Optional.empty();
public static Optional<Biome> flower_meadow = Optional.empty();
public static Optional<Biome> grassland = Optional.empty();
@ -76,7 +75,7 @@ public class BOPBiomes
public static Optional<Biome> ashen_inferno = Optional.empty();
public static Optional<Biome> fungi_forest = Optional.empty();
public static Optional<Biome> glowstone_cavern = Optional.empty();
public static Optional<Biome> glowstone_grotto = Optional.empty();
public static Optional<Biome> undergarden = Optional.empty();
public static Optional<Biome> visceral_heap = Optional.empty();

View File

@ -16,9 +16,9 @@ import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.placement.*;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
public class GlowstoneCavernBiome extends NetherBiomeBOP
public class GlowstoneGrottoBiome extends NetherBiomeBOP
{
public GlowstoneCavernBiome()
public GlowstoneGrottoBiome()
{
super((new Builder()).surfaceBuilder(SurfaceBuilder.NETHER, SurfaceBuilder.NETHERRACK_CONFIG).precipitation(RainType.NONE).category(Category.NETHER).depth(0.1F).scale(0.2F).temperature(2.0F).downfall(0.0F).waterColor(4159204).waterFogColor(329011).parent((String)null));

View File

@ -1,106 +0,0 @@
/*******************************************************************************
* Copyright 2014-2019, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.biome.overworld;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.biome.BiomeBOP;
import biomesoplenty.common.world.gen.feature.StandardGrassFeature;
import com.google.common.collect.Lists;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.fluid.Fluids;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.DefaultBiomeFeatures;
import net.minecraft.world.gen.GenerationStage;
import net.minecraft.world.gen.carver.WorldCarver;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.feature.structure.MineshaftConfig;
import net.minecraft.world.gen.feature.structure.MineshaftStructure;
import net.minecraft.world.gen.feature.structure.PillagerOutpostConfig;
import net.minecraft.world.gen.feature.structure.VillageConfig;
import net.minecraft.world.gen.placement.*;
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class DryPlainsBiome extends BiomeBOP
{
public DryPlainsBiome()
{
super((new Biome.Builder()).surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.GRASS_DIRT_GRAVEL_CONFIG)).precipitation(Biome.RainType.NONE).category(Biome.Category.SAVANNA).depth(0.0F).scale(-0.05F).temperature(1.2F).downfall(0.05F).waterColor(4159204).waterFogColor(329011).parent((String)null));
// Structures
this.addStructure(Feature.VILLAGE, new VillageConfig("village/savanna/town_centers", 6));
this.addStructure(Feature.PILLAGER_OUTPOST, new PillagerOutpostConfig(0.004D));
this.addStructure(Feature.MINESHAFT, new MineshaftConfig(0.004D, MineshaftStructure.Type.NORMAL));
this.addStructure(Feature.STRONGHOLD, IFeatureConfig.NO_FEATURE_CONFIG);
// Underground
DefaultBiomeFeatures.addCarvers(this);
DefaultBiomeFeatures.addStructures(this);
this.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Biome.createDecoratedFeature(Feature.LAKE, new LakesConfig(Blocks.LAVA.getDefaultState()), Placement.LAVA_LAKE, new LakeChanceConfig(80)));
DefaultBiomeFeatures.addMonsterRooms(this);
DefaultBiomeFeatures.addStoneVariants(this);
DefaultBiomeFeatures.addOres(this);
DefaultBiomeFeatures.addSedimentDisks(this);
////////////////////////////////////////////////////////////
// Vegetation
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(new StandardGrassFeature(NoFeatureConfig::deserialize), IFeatureConfig.NO_FEATURE_CONFIG, Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Biome.createDecoratedFeature(Feature.BUSH, new BushConfig(BOPBlocks.desert_grass.getDefaultState()), Placement.COUNT_HEIGHTMAP_DOUBLE, new FrequencyConfig(10)));
////////////////////////////////////////////////////////////
// Other Features
DefaultBiomeFeatures.addSprings(this);
DefaultBiomeFeatures.addFreezeTopLayer(this);
// Entities
this.addSpawn(EntityClassification.CREATURE, new Biome.SpawnListEntry(EntityType.RABBIT, 4, 2, 3));
this.addSpawn(EntityClassification.CREATURE, new Biome.SpawnListEntry(EntityType.SHEEP, 12, 4, 4));
this.addSpawn(EntityClassification.CREATURE, new Biome.SpawnListEntry(EntityType.PIG, 10, 4, 4));
this.addSpawn(EntityClassification.CREATURE, new Biome.SpawnListEntry(EntityType.CHICKEN, 10, 4, 4));
this.addSpawn(EntityClassification.CREATURE, new Biome.SpawnListEntry(EntityType.COW, 8, 4, 4));
this.addSpawn(EntityClassification.CREATURE, new Biome.SpawnListEntry(EntityType.HORSE, 5, 2, 6));
this.addSpawn(EntityClassification.CREATURE, new Biome.SpawnListEntry(EntityType.DONKEY, 1, 1, 3));
this.addSpawn(EntityClassification.AMBIENT, new Biome.SpawnListEntry(EntityType.BAT, 10, 8, 8));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SPIDER, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE, 95, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ZOMBIE_VILLAGER, 5, 1, 1));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SKELETON, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.CREEPER, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 100, 4, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.ENDERMAN, 10, 1, 4));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.addWeight(BOPClimates.SAVANNA, 3);
}
@OnlyIn(Dist.CLIENT)
@Override
public int getGrassColor(BlockPos pos)
{
return 0xBAAD64;
}
@OnlyIn(Dist.CLIENT)
@Override
public int getFoliageColor(BlockPos pos)
{
return 0xB7B763;
}
}

View File

@ -90,7 +90,7 @@ public class LushSwampBiome extends BiomeBOP
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.WITCH, 5, 1, 1));
this.addSpawn(EntityClassification.MONSTER, new Biome.SpawnListEntry(EntityType.SLIME, 1, 1, 1));
this.addWeight(BOPClimates.WARM_TEMPERATE, 3);
this.addWeight(BOPClimates.WET_TEMPERATE, 3);
this.setBeachBiome((Biome)null);
}
}

View File

@ -34,7 +34,6 @@ import biomesoplenty.common.biome.overworld.ColdDesertBiome;
import biomesoplenty.common.biome.overworld.ConiferousForestBiome;
import biomesoplenty.common.biome.overworld.BogBiome;
import biomesoplenty.common.biome.overworld.DeadForestBiome;
import biomesoplenty.common.biome.overworld.DryPlainsBiome;
import biomesoplenty.common.biome.overworld.FloodplainBiome;
import biomesoplenty.common.biome.overworld.FlowerMeadowBiome;
import biomesoplenty.common.biome.overworld.GrasslandBiome;
@ -83,7 +82,6 @@ import biomesoplenty.common.biome.overworld.WhiteBeachBiome;
import biomesoplenty.common.biome.overworld.WoodlandBiome;
import biomesoplenty.common.biome.overworld.XericShrublandBiome;
import biomesoplenty.common.world.WorldTypeBOP;
import net.minecraft.block.Block;
import net.minecraft.world.biome.Biomes;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biome;
@ -132,7 +130,6 @@ public class ModBiomes
cold_desert = registerBiome(new ColdDesertBiome(), "cold_desert");
coniferous_forest = registerBiome(new ConiferousForestBiome(), "coniferous_forest");
dead_forest = registerBiome(new DeadForestBiome(), "dead_forest");
dry_plains = registerBiome(new DryPlainsBiome(), "dry_plains");
floodplain = registerBiome(new FloodplainBiome(), "floodplain");
flower_meadow = registerBiome(new FlowerMeadowBiome(), "flower_meadow");
grassland = registerBiome(new GrasslandBiome(), "grassland");
@ -179,7 +176,7 @@ public class ModBiomes
//Nether Biomes
ashen_inferno = registerBiome(new AshenInfernoBiome(), "ashen_inferno");
fungi_forest = registerBiome(new FungiForestBiome(), "fungi_forest");
glowstone_cavern = registerBiome(new GlowstoneCavernBiome(), "glowstone_cavern");
glowstone_grotto = registerBiome(new GlowstoneGrottoBiome(), "glowstone_grotto");
undergarden = registerBiome(new UndergardenBiome(), "undergarden");
visceral_heap = registerBiome(new VisceralHeapBiome(), "visceral_heap");
@ -223,7 +220,6 @@ public class ModBiomes
registerBiomeToDictionary(cold_desert, Type.SNOWY, Type.DRY, Type.COLD);
registerBiomeToDictionary(coniferous_forest, Type.CONIFEROUS, Type.FOREST, Type.COLD, Type.DENSE);
registerBiomeToDictionary(dead_forest, Type.FOREST, Type.DEAD, Type.COLD, Type.DRY, Type.SPARSE);
registerBiomeToDictionary(dry_plains, Type.PLAINS, Type.SAVANNA, Type.HOT, Type.DRY);
registerBiomeToDictionary(floodplain, Type.JUNGLE, Type.WATER, Type.HOT, Type.WET);
registerBiomeToDictionary(flower_meadow, Type.PLAINS, Type.LUSH);
registerBiomeToDictionary(grassland, Type.PLAINS, Type.HILLS, Type.WET);
@ -276,7 +272,7 @@ public class ModBiomes
//Nether Biomes
registerBiomeToDictionary(ashen_inferno, Type.NETHER, Type.HOT);
registerBiomeToDictionary(fungi_forest, Type.NETHER, Type.HOT);
registerBiomeToDictionary(glowstone_cavern, Type.NETHER, Type.HOT);
registerBiomeToDictionary(glowstone_grotto, Type.NETHER, Type.HOT);
registerBiomeToDictionary(undergarden, Type.NETHER, Type.HOT);
registerBiomeToDictionary(visceral_heap, Type.NETHER, Type.HOT);

View File

@ -20,12 +20,11 @@
"biome.biomesoplenty.coniferous_forest": "Coniferous Forest",
"biome.biomesoplenty.dead_forest": "Dead Forest",
"biome.biomesoplenty.dead_reef": "Dead Reef",
"biome.biomesoplenty.dry_plains": "Dry Plains",
"biome.biomesoplenty.ethereal_forest": "Ethereal Forest",
"biome.biomesoplenty.floodplain": "Floodplain",
"biome.biomesoplenty.flower_meadow": "Flower Meadow",
"biome.biomesoplenty.fungi_forest": "Fungi Forest",
"biome.biomesoplenty.glowstone_cavern": "Glowstone Cavern",
"biome.biomesoplenty.glowstone_grotto": "Glowstone Grotto",
"biome.biomesoplenty.grassland": "Grassland",
"biome.biomesoplenty.gravel_beach": "Gravel Beach",
"biome.biomesoplenty.grove": "Grove",

View File

@ -80,12 +80,6 @@
"conditions": {
"biome": "biomesoplenty:dead_forest"
}
},
"dry_plains": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:dry_plains"
}
},
"floodplain": {
"trigger": "minecraft:location",
@ -374,6 +368,36 @@
"conditions": {
"biome": "biomesoplenty:xeric_shrubland"
}
},
"ashen_inferno": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:ashen_inferno"
}
},
"fungi_forest": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:fungi_forest"
}
},
"glowstone_grotto": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:glowstone_grotto"
}
},
"undergarden": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:undergarden"
}
},
"visceral_heap": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:visceral_heap"
}
}
},
"rewards": {

View File

@ -79,12 +79,6 @@
"conditions": {
"biome": "biomesoplenty:dead_forest"
}
},
"dry_plains": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:dry_plains"
}
},
"floodplain": {
"trigger": "minecraft:location",
@ -373,6 +367,36 @@
"conditions": {
"biome": "biomesoplenty:xeric_shrubland"
}
},
"ashen_inferno": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:ashen_inferno"
}
},
"fungi_forest": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:fungi_forest"
}
},
"glowstone_grotto": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:glowstone_grotto"
}
},
"undergarden": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:undergarden"
}
},
"visceral_heap": {
"trigger": "minecraft:location",
"conditions": {
"biome": "biomesoplenty:visceral_heap"
}
}
},
"requirements": [
@ -388,7 +412,6 @@
"cold_desert",
"coniferous_forest",
"dead_forest",
"dry_plains",
"floodplain",
"flower_meadow",
"grassland",
@ -436,7 +459,12 @@
"wetland",
"white_beach",
"woodland",
"xeric_shrubland"
"xeric_shrubland",
"ashen_inferno",
"fungi_forest",
"glowstone_grotto",
"undergarden",
"visceral_heap"
]
]
}