diff --git a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java index 4e4d1274d..bb110597b 100644 --- a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java +++ b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java @@ -34,16 +34,20 @@ public class BOPBiomes public static RegistryKey gravel_beach = register("gravel_beach"); public static RegistryKey grove = register("grove"); public static RegistryKey highland = register("highland"); + public static RegistryKey highland_crag = register("highland_crag"); public static RegistryKey highland_moor = register("highland_moor"); public static RegistryKey jade_cliffs = register("jade_cliffs"); + public static RegistryKey jade_grassland = register("jade_grassland"); public static RegistryKey lavender_field = register("lavender_field"); public static RegistryKey lush_desert = register("lush_desert"); public static RegistryKey lush_savanna = register("lush_savanna"); public static RegistryKey meadow = register("meadow"); + public static RegistryKey meadow_forest = register("meadow_forest"); public static RegistryKey muskeg = register("muskeg"); public static RegistryKey mystic_grove = register("mystic_grove"); public static RegistryKey mystic_plains = register("mystic_plains"); public static RegistryKey ominous_woods = register("ominous_woods"); + public static RegistryKey ominous_mire = register("ominous_mire"); public static RegistryKey orchard = register("orchard"); public static RegistryKey origin_valley = register("origin_valley"); public static RegistryKey overgrown_fungal_jungle = register("overgrown_fungal_jungle"); @@ -54,12 +58,14 @@ public class BOPBiomes public static RegistryKey rainforest_cliffs = register("rainforest_cliffs"); public static RegistryKey redwood_forest = register("redwood_forest"); public static RegistryKey redwood_forest_edge = register("redwood_forest_edge"); + public static RegistryKey redwood_hills = register("redwood_hills"); public static RegistryKey seasonal_forest = register("seasonal_forest"); public static RegistryKey seasonal_pumpkin_patch = register("seasonal_pumpkin_patch"); public static RegistryKey shroomy_wetland = register("shroomy_wetland"); public static RegistryKey shrubland = register("shrubland"); public static RegistryKey shrubland_hills = register("shrubland_hills"); public static RegistryKey silkglade = register("silkglade"); + public static RegistryKey silkglade_nest = register("silkglade_nest"); public static RegistryKey snowy_coniferous_forest = register("snowy_coniferous_forest"); public static RegistryKey snowy_fir_clearing = register("snowy_fir_clearing"); public static RegistryKey snowy_maple_forest = register("snowy_maple_forest"); diff --git a/src/main/java/biomesoplenty/api/item/BOPItems.java b/src/main/java/biomesoplenty/api/item/BOPItems.java index dec34b553..5aa98461a 100644 --- a/src/main/java/biomesoplenty/api/item/BOPItems.java +++ b/src/main/java/biomesoplenty/api/item/BOPItems.java @@ -28,10 +28,5 @@ public class BOPItems public static Item umbran_boat; public static Item hellbark_boat; - public static Item venison; - public static Item cooked_venison; - public static Item turkey_leg; - public static Item cooked_turkey_leg; - public static Item music_disc_wanderer; } diff --git a/src/main/java/biomesoplenty/api/sound/BOPSounds.java b/src/main/java/biomesoplenty/api/sound/BOPSounds.java index 4c2b729b6..793e0a811 100644 --- a/src/main/java/biomesoplenty/api/sound/BOPSounds.java +++ b/src/main/java/biomesoplenty/api/sound/BOPSounds.java @@ -12,11 +12,4 @@ import net.minecraft.util.SoundEvent; public class BOPSounds { public static SoundEvent music_disc_wanderer; - public static SoundEvent deer_hurt; - public static SoundEvent deer_dead; - public static SoundEvent deer_step; - public static SoundEvent turkey_ambient; - public static SoundEvent turkey_hurt; - public static SoundEvent turkey_dead; - public static SoundEvent turkey_step; } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java index b2d8cc26b..f06835bf2 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java @@ -84,8 +84,6 @@ public class ConiferousForestBiome extends BiomeTemplate protected void configureMobSpawns(MobSpawnInfo.Builder builder) { // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.turkey, 10, 4, 4)); - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousLakesBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousLakesBiome.java index ae7f16f48..893dd2c69 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousLakesBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousLakesBiome.java @@ -84,7 +84,6 @@ public class ConiferousLakesBiome extends BiomeTemplate protected void configureMobSpawns(MobSpawnInfo.Builder builder) { // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java index c8d090791..a41aa697e 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java @@ -78,8 +78,6 @@ public class FirClearingBiome extends BiomeTemplate protected void configureMobSpawns(MobSpawnInfo.Builder builder) { // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.turkey, 10, 4, 4)); - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/HighlandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/HighlandBiome.java index c1cd34338..fa66fc9fa 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/HighlandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/HighlandBiome.java @@ -22,7 +22,7 @@ public class HighlandBiome extends BiomeTemplate { public HighlandBiome() { - this.addWeight(BOPClimates.COOL_TEMPERATE, 3); + this.addWeight(BOPClimates.COOL_TEMPERATE, 5); this.setBeachBiome(null); } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/HighlandCragBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/HighlandCragBiome.java new file mode 100644 index 000000000..09ee84141 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/overworld/HighlandCragBiome.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * 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.enums.BOPClimates; +import biomesoplenty.common.biome.BiomeTemplate; +import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders; +import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.*; +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.structure.StructureFeatures; +import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; + +public class HighlandCragBiome extends BiomeTemplate +{ + public HighlandCragBiome() + { + this.setBeachBiome(null); + } + + @Override + protected void configureBiome(Biome.Builder builder) + { + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.EXTREME_HILLS).depth(3.0F).scale(0.7F).temperature(0.6F).downfall(0.6F); + + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.6F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + } + + @Override + protected void configureGeneration(BiomeGenerationSettings.Builder builder) + { + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.HIGHLAND_CRAG, SurfaceBuilder.CONFIG_STONE)); + + // Structures + DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_MOUNTAIN); + + // Underground + DefaultBiomeFeatures.addDefaultCarvers(builder); + DefaultBiomeFeatures.addDefaultLakes(builder); + DefaultBiomeFeatures.addDefaultMonsterRoom(builder); + DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); + DefaultBiomeFeatures.addDefaultOres(builder); + DefaultBiomeFeatures.addDefaultSoftDisks(builder); + + //////////////////////////////////////////////////////////// + + // Vegetation + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.CRAG_SPLATTER); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_24); + + //////////////////////////////////////////////////////////// + + // Other Features + DefaultBiomeFeatures.addDefaultSprings(builder); + DefaultBiomeFeatures.addExtraEmeralds(builder); + DefaultBiomeFeatures.addInfestedStone(builder); + DefaultBiomeFeatures.addSurfaceFreezing(builder); + } + + @Override + protected void configureMobSpawns(MobSpawnInfo.Builder builder) + { + // Entities + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.LLAMA, 5, 4, 6)); + builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE_VILLAGER, 5, 1, 1)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SKELETON, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CREEPER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1)); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/JadeCliffsBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/JadeCliffsBiome.java index d42f73912..456aaf671 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/JadeCliffsBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/JadeCliffsBiome.java @@ -31,7 +31,7 @@ public class JadeCliffsBiome extends BiomeTemplate @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(2.0F).scale(1.15F).temperature(0.75F).downfall(0.85F); + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(2.0F).scale(1.15F).temperature(0.8F).downfall(0.85F); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0xBBD1D5).skyColor(0xB7CCAD).grassColorOverride(0x7CA568).foliageColorOverride(0x8BB76E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/JadeGrasslandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/JadeGrasslandBiome.java new file mode 100644 index 000000000..4bd564615 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/overworld/JadeGrasslandBiome.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * 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.enums.BOPClimates; +import biomesoplenty.common.biome.BiomeTemplate; +import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders; +import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.*; +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.Features; +import net.minecraft.world.gen.feature.structure.StructureFeatures; +import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; + +public class JadeGrasslandBiome extends BiomeTemplate +{ + public JadeGrasslandBiome() + { + this.setBeachBiome(null); + } + + @Override + protected void configureBiome(Biome.Builder builder) + { + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.PLAINS).depth(0.3F).scale(0.2F).temperature(0.8F).downfall(0.85F); + + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0xBBD1D5).skyColor(0xB7CCAD).grassColorOverride(0x7CA568).foliageColorOverride(0x8BB76E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + } + + @Override + protected void configureGeneration(BiomeGenerationSettings.Builder builder) + { + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.DEEP_TOP_LAYER, SurfaceBuilder.CONFIG_GRASS)); + + // Structures + DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_MOUNTAIN); + + // Underground + DefaultBiomeFeatures.addDefaultCarvers(builder); + DefaultBiomeFeatures.addDefaultMonsterRoom(builder); + DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); + DefaultBiomeFeatures.addDefaultOres(builder); + DefaultBiomeFeatures.addDefaultSoftDisks(builder); + + //////////////////////////////////////////////////////////// + + // Vegetation + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_24); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_SUGAR_CANE); + + //////////////////////////////////////////////////////////// + + // Other Features + DefaultBiomeFeatures.addDefaultSprings(builder); + DefaultBiomeFeatures.addSurfaceFreezing(builder); + } + + @Override + protected void configureMobSpawns(MobSpawnInfo.Builder builder) + { + // Entities + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.SHEEP, 12, 4, 4)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PIG, 10, 4, 4)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.CHICKEN, 10, 4, 4)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.COW, 8, 4, 4)); + builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE_VILLAGER, 5, 1, 1)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SKELETON, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CREEPER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1)); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/LushDesertBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/LushDesertBiome.java index 297954cf6..053d9c215 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/LushDesertBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/LushDesertBiome.java @@ -32,9 +32,9 @@ public class LushDesertBiome extends BiomeTemplate @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.6F).scale(0.6F).temperature(1.8F).downfall(0.15F); + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.6F).scale(0.6F).temperature(0.9F).downfall(0.5F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(1.8F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(0.9F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override diff --git a/src/main/java/biomesoplenty/common/biome/overworld/LushSavannaBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/LushSavannaBiome.java index 7bb547b6e..d417ea224 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/LushSavannaBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/LushSavannaBiome.java @@ -18,6 +18,7 @@ import net.minecraft.world.gen.GenerationStage; import net.minecraft.world.gen.feature.Features; import net.minecraft.world.gen.feature.structure.StructureFeatures; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; public class LushSavannaBiome extends BiomeTemplate { @@ -29,15 +30,15 @@ public class LushSavannaBiome extends BiomeTemplate @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.1F).scale(0.01F).temperature(1.8F).downfall(0.15F); + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.1F).scale(0.01F).temperature(0.9F).downfall(0.5F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(1.8F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(0.9F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override protected void configureGeneration(BiomeGenerationSettings.Builder builder) { - builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.LUSH_SAVANNA, BOPSurfaceBuilders.ORANGE_SAND_SURFACE)); + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.LUSH_SAVANNA, SurfaceBuilder.CONFIG_GRASS)); // Structures DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); @@ -66,6 +67,9 @@ public class LushSavannaBiome extends BiomeTemplate // Other Features DefaultBiomeFeatures.addDefaultSprings(builder); + + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.WATER_SPRING_EXTRA); + DefaultBiomeFeatures.addSurfaceFreezing(builder); } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/MeadowForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MeadowForestBiome.java new file mode 100644 index 000000000..8a89312ed --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/overworld/MeadowForestBiome.java @@ -0,0 +1,99 @@ +/******************************************************************************* + * 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.biome.BOPBiomes; +import biomesoplenty.api.enums.BOPClimates; +import biomesoplenty.common.biome.BiomeTemplate; +import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.*; +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.Features; +import net.minecraft.world.gen.feature.structure.StructureFeatures; +import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; + +public class MeadowForestBiome extends BiomeTemplate +{ + public MeadowForestBiome() + { + this.setBeachBiome(BOPBiomes.gravel_beach); + } + + @Override + protected void configureBiome(Biome.Builder builder) + { + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(0.0F).scale(0.05F).temperature(0.4F).downfall(0.7F); + + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.4F)).grassColorOverride(0x63B26D).foliageColorOverride(0x63B26D).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + } + + @Override + protected void configureGeneration(BiomeGenerationSettings.Builder builder) + { + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)); + + // Structures + builder.addStructureStart(StructureFeatures.VILLAGE_TAIGA); + builder.addStructureStart(StructureFeatures.PILLAGER_OUTPOST); + DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD); + + // Underground + DefaultBiomeFeatures.addDefaultCarvers(builder); + DefaultBiomeFeatures.addDefaultLakes(builder); + DefaultBiomeFeatures.addDefaultMonsterRoom(builder); + DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); + DefaultBiomeFeatures.addDefaultOres(builder); + DefaultBiomeFeatures.addDefaultSoftDisks(builder); + + //////////////////////////////////////////////////////////// + + // Vegetation + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.MEADOW_FOREST_TREES); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.MEADOW_FLOWERS); + + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LILAC_1); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.ROSE_BUSH_1); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SPROUTS_15); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_BERRY_SPARSE); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_PUMPKIN); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL); + + //////////////////////////////////////////////////////////// + + // Other Features + DefaultBiomeFeatures.addDefaultSprings(builder); + DefaultBiomeFeatures.addSurfaceFreezing(builder); + } + + @Override + protected void configureMobSpawns(MobSpawnInfo.Builder builder) + { + // Entities + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.SHEEP, 12, 4, 4)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.PIG, 10, 4, 4)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.CHICKEN, 10, 4, 4)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.COW, 8, 4, 4)); + builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); + builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE_VILLAGER, 5, 1, 1)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SKELETON, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CREEPER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1)); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/OminousMireBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/OminousMireBiome.java new file mode 100644 index 000000000..6bc59ef86 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/overworld/OminousMireBiome.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * 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.enums.BOPClimates; +import biomesoplenty.common.biome.BiomeTemplate; +import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders; +import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.*; +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.Features; +import net.minecraft.world.gen.feature.structure.StructureFeatures; +import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; + +public class OminousMireBiome extends BiomeTemplate +{ + public OminousMireBiome() + { + this.setBeachBiome(null); + this.setRiverBiome(null); + } + + @Override + protected void configureBiome(Biome.Builder builder) + { + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.TAIGA).depth(-0.215F).scale(-0.05F).temperature(0.6F).downfall(0.6F); + + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x312346).waterFogColor(0x0A030C).fogColor(0x7881A5).skyColor(0x84A1CC).grassColorOverride(0x4C4A70).foliageColorOverride(0x6B487C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + } + + @Override + protected void configureGeneration(BiomeGenerationSettings.Builder builder) + { + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.MARSH, SurfaceBuilder.CONFIG_GRASS)); + + // Structures + builder.addStructureStart(StructureFeatures.SWAMP_HUT); + DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD); + + // Underground + DefaultBiomeFeatures.addDefaultCarvers(builder); + + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); + + DefaultBiomeFeatures.addDefaultMonsterRoom(builder); + DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); + DefaultBiomeFeatures.addDefaultOres(builder); + + builder.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, BOPConfiguredFeatures.BLACK_SAND_DISK); + + //////////////////////////////////////////////////////////// + + // Vegetation + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.OMINOUS_MIRE_TREES); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.OMINOUS_WOODS_FLOWERS); + + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BRAMBLE_EXTRA); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_5); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.WATERGRASS_5); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_PUMPKIN); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL); + + //////////////////////////////////////////////////////////// + + // Other Features + DefaultBiomeFeatures.addDefaultSprings(builder); + DefaultBiomeFeatures.addSurfaceFreezing(builder); + } + + @Override + protected void configureMobSpawns(MobSpawnInfo.Builder builder) + { + // Entities + builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.EVOKER, 50, 2, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 50, 1, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 25, 1, 1)); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RainforestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RainforestBiome.java index 6d3ef7555..be0c8a0ac 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RainforestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RainforestBiome.java @@ -31,9 +31,9 @@ public class RainforestBiome extends BiomeTemplate @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.JUNGLE).depth(0.15F).scale(0.35F).temperature(1.0F).downfall(1.0F); + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.JUNGLE).depth(0.15F).scale(0.35F).temperature(1.2F).downfall(2.0F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x3FDF99).waterFogColor(0x042F26).fogColor(12638463).skyColor(calculateSkyColor(1.0F)).grassColorOverride(0xA7E140).foliageColorOverride(0x88E140).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x3FDF99).waterFogColor(0x042F26).fogColor(12638463).skyColor(calculateSkyColor(1.2F)).grassColorOverride(0xA7E140).foliageColorOverride(0x88E140).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RainforestClearingBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RainforestClearingBiome.java index 40b35e784..d375d1330 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RainforestClearingBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RainforestClearingBiome.java @@ -29,9 +29,9 @@ public class RainforestClearingBiome extends BiomeTemplate @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.JUNGLE).depth(-0.125F).scale(-0.05F).temperature(1.0F).downfall(1.0F); + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.JUNGLE).depth(-0.125F).scale(-0.05F).temperature(1.2F).downfall(2.0F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x3FDF99).waterFogColor(0x042F26).fogColor(12638463).skyColor(calculateSkyColor(1.0F)).grassColorOverride(0xA7E140).foliageColorOverride(0x88E140).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x3FDF99).waterFogColor(0x042F26).fogColor(12638463).skyColor(calculateSkyColor(1.2F)).grassColorOverride(0xA7E140).foliageColorOverride(0x88E140).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RainforestCliffsBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RainforestCliffsBiome.java index c69c6f937..961d58394 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RainforestCliffsBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RainforestCliffsBiome.java @@ -30,9 +30,9 @@ public class RainforestCliffsBiome extends BiomeTemplate @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.JUNGLE).depth(2.9F).scale(0.6F).temperature(1.0F).downfall(1.0F); + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.JUNGLE).depth(2.9F).scale(0.6F).temperature(1.2F).downfall(2.0F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x3FDF99).waterFogColor(0x042F26).fogColor(12638463).skyColor(calculateSkyColor(1.0F)).grassColorOverride(0xA7E140).foliageColorOverride(0x88E140).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x3FDF99).waterFogColor(0x042F26).fogColor(12638463).skyColor(calculateSkyColor(1.2F)).grassColorOverride(0xA7E140).foliageColorOverride(0x88E140).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java index 5f814e46c..900d6feb5 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java @@ -23,7 +23,7 @@ public class RedwoodForestBiome extends BiomeTemplate { public RedwoodForestBiome() { - this.addWeight(BOPClimates.WARM_TEMPERATE, 3); + this.addWeight(BOPClimates.WARM_TEMPERATE, 7); } @Override @@ -31,7 +31,7 @@ public class RedwoodForestBiome extends BiomeTemplate { builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.25F).scale(0.05F).temperature(0.8F).downfall(0.6F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB6D367).foliageColorOverride(0x97BF4E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override @@ -59,6 +59,7 @@ public class RedwoodForestBiome extends BiomeTemplate builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.REDWOOD_FOREST_TREES); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.FERN_GRASS_16); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LARGE_FERN_14); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java index 13646396d..90ea7717d 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java @@ -28,7 +28,7 @@ public class RedwoodForestEdgeBiome extends BiomeTemplate { builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.25F).scale(0.05F).temperature(0.8F).downfall(0.6F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB6D367).foliageColorOverride(0x97BF4E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override @@ -56,6 +56,7 @@ public class RedwoodForestEdgeBiome extends BiomeTemplate builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.REDWOOD_FOREST_EDGE_TREES); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.FERN_GRASS_8); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LARGE_FERN_7); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodHillsBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodHillsBiome.java new file mode 100644 index 000000000..d7265449c --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodHillsBiome.java @@ -0,0 +1,87 @@ +/******************************************************************************* + * 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.enums.BOPClimates; +import biomesoplenty.common.biome.BiomeTemplate; +import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.*; +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.Features; +import net.minecraft.world.gen.feature.structure.StructureFeatures; +import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; + +public class RedwoodHillsBiome extends BiomeTemplate +{ + public RedwoodHillsBiome() + { + } + + @Override + protected void configureBiome(Biome.Builder builder) + { + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(1.5F).scale(0.2F).temperature(0.8F).downfall(0.6F); + + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(0.8F)).grassColorOverride(0xB6D367).foliageColorOverride(0x97BF4E).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + } + + @Override + protected void configureGeneration(BiomeGenerationSettings.Builder builder) + { + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_PODZOL)); + + // Structures + DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD); + + // Underground + DefaultBiomeFeatures.addDefaultCarvers(builder); + + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); + + DefaultBiomeFeatures.addDefaultMonsterRoom(builder); + DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); + DefaultBiomeFeatures.addDefaultOres(builder); + DefaultBiomeFeatures.addDefaultSoftDisks(builder); + + //////////////////////////////////////////////////////////// + + // Vegetation + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.REDWOOD_HILLS_TREES); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.FLOWER_DEFAULT); + + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.FERN_GRASS_16); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LARGE_FERN_14); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL); + + //////////////////////////////////////////////////////////// + + // Other Features + DefaultBiomeFeatures.addDefaultSprings(builder); + DefaultBiomeFeatures.addSurfaceFreezing(builder); + } + + @Override + protected void configureMobSpawns(MobSpawnInfo.Builder builder) + { + // Entities + builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE_VILLAGER, 5, 1, 1)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SKELETON, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CREEPER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1)); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java index 0609935fc..1d8120287 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SeasonalForestBiome.java @@ -81,8 +81,6 @@ public class SeasonalForestBiome extends BiomeTemplate protected void configureMobSpawns(MobSpawnInfo.Builder builder) { // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.turkey, 10, 4, 4)); - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SilkgladeNestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SilkgladeNestBiome.java new file mode 100644 index 000000000..4e3ba0d42 --- /dev/null +++ b/src/main/java/biomesoplenty/common/biome/overworld/SilkgladeNestBiome.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * 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.enums.BOPClimates; +import biomesoplenty.common.biome.BiomeTemplate; +import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import net.minecraft.entity.EntityClassification; +import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.*; +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.Features; +import net.minecraft.world.gen.feature.structure.StructureFeatures; +import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; + +public class SilkgladeNestBiome extends BiomeTemplate +{ + public SilkgladeNestBiome() + { + this.setBeachBiome(null); + this.setRiverBiome(null); + } + + @Override + protected void configureBiome(Biome.Builder builder) + { + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.FOREST).depth(0.5F).scale(0.2F).temperature(0.75F).downfall(0.2F); + + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x82826A).waterFogColor(0x0D0F09).fogColor(12638463).skyColor(calculateSkyColor(0.75F)).grassColorOverride(0xB2B39F).foliageColorOverride(0xDEE1C6).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + } + + @Override + protected void configureGeneration(BiomeGenerationSettings.Builder builder) + { + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)); + + // Structures + builder.addStructureStart(StructureFeatures.SWAMP_HUT); + DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_SWAMP); + + // Underground + DefaultBiomeFeatures.addDefaultCarvers(builder); + DefaultBiomeFeatures.addDefaultLakes(builder); + DefaultBiomeFeatures.addDefaultMonsterRoom(builder); + DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); + DefaultBiomeFeatures.addDefaultOres(builder); + DefaultBiomeFeatures.addDefaultSoftDisks(builder); + + //////////////////////////////////////////////////////////// + + // Vegetation + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SILKGLADE_NEST_TREES); + + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TOADSTOOL_NORMAL); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.BROWN_MUSHROOM_NORMAL); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_PUMPKIN); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.RED_MUSHROOM_NORMAL); + + //////////////////////////////////////////////////////////// + + // Other Features + DefaultBiomeFeatures.addDefaultSprings(builder); + DefaultBiomeFeatures.addSurfaceFreezing(builder); + } + + @Override + protected void configureMobSpawns(MobSpawnInfo.Builder builder) + { + // Entities + builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CAVE_SPIDER, 50, 4, 4)); + builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); + } +} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java index 04c8cba8a..5ba2908be 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java @@ -78,7 +78,6 @@ public class SnowyConiferousForestBiome extends BiomeTemplate protected void configureMobSpawns(MobSpawnInfo.Builder builder) { // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java index 0179e7425..64e0b928b 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java @@ -72,7 +72,6 @@ public class SnowyFirClearingBiome extends BiomeTemplate protected void configureMobSpawns(MobSpawnInfo.Builder builder) { // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SnowyMapleForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SnowyMapleForestBiome.java index 1476cd1e7..eb0a0a7a0 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SnowyMapleForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SnowyMapleForestBiome.java @@ -77,7 +77,6 @@ public class SnowyMapleForestBiome extends BiomeTemplate protected void configureMobSpawns(MobSpawnInfo.Builder builder) { // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(ModEntities.deer, 8, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.WOLF, 5, 4, 4)); builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.FOX, 8, 2, 4)); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/TundraBasinBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/TundraBasinBiome.java index 1b4db1148..b5c708b0d 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/TundraBasinBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/TundraBasinBiome.java @@ -54,11 +54,6 @@ public class TundraBasinBiome extends BiomeTemplate //////////////////////////////////////////////////////////// - // Vegetation - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.WASTELAND_GRASS_1); - - //////////////////////////////////////////////////////////// - // Other Features DefaultBiomeFeatures.addDefaultSprings(builder); DefaultBiomeFeatures.addSurfaceFreezing(builder); diff --git a/src/main/java/biomesoplenty/common/entity/DeerEntity.java b/src/main/java/biomesoplenty/common/entity/DeerEntity.java deleted file mode 100644 index dffa0542a..000000000 --- a/src/main/java/biomesoplenty/common/entity/DeerEntity.java +++ /dev/null @@ -1,91 +0,0 @@ -package biomesoplenty.common.entity; - -import biomesoplenty.api.sound.BOPSounds; -import biomesoplenty.init.ModEntities; -import net.minecraft.block.BlockState; -import net.minecraft.entity.*; -import net.minecraft.entity.ai.attributes.AttributeModifierMap; -import net.minecraft.entity.ai.attributes.Attributes; -import net.minecraft.entity.ai.goal.*; -import net.minecraft.entity.passive.AnimalEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.DamageSource; -import net.minecraft.util.SoundEvent; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.server.ServerWorld; - -public class DeerEntity extends AnimalEntity { - public DeerEntity(EntityType type, World worldIn) - { - super(type, worldIn); - } - - private static final Ingredient FOOD_ITEMS = Ingredient.of(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS); - - @Override - protected void registerGoals() { - this.goalSelector.addGoal(0, new SwimGoal(this)); - this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D)); - this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); - this.goalSelector.addGoal(3, new TemptGoal(this, 0.8D, false, FOOD_ITEMS)); - this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D)); - this.goalSelector.addGoal(5, new WaterAvoidingRandomWalkingGoal(this, 1.0D)); - this.goalSelector.addGoal(6, new LookAtGoal(this, PlayerEntity.class, 6.0F)); - this.goalSelector.addGoal(7, new LookRandomlyGoal(this)); - } - - public static AttributeModifierMap.MutableAttribute createAttributes() { - return MobEntity.createMobAttributes().add(Attributes.MAX_HEALTH, 9.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); - } - - @Override - protected SoundEvent getAmbientSound() { - return null; - } - - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return BOPSounds.deer_hurt; - } - - @Override - protected SoundEvent getDeathSound() { - return BOPSounds.deer_dead; - } - - @Override - protected void playStepSound(BlockPos pos, BlockState blockIn) { - this.playSound(BOPSounds.deer_step, 0.15F, 1.0F); - } - - /** - * Returns the volume for the sounds this mob makes. - */ - @Override - protected float getSoundVolume() { - return 0.4F; - } - - @Override - public DeerEntity getBreedOffspring(ServerWorld p_241840_1_, AgeableEntity p_241840_2_) { - return ModEntities.deer.create(p_241840_1_); - } - - @Override - protected float getStandingEyeHeight(Pose poseIn, EntitySize sizeIn) { - return this.isBaby() ? sizeIn.height * 0.95F : 1.3F; - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - @Override - public boolean isFood(ItemStack stack) { - return FOOD_ITEMS.test(stack); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entity/DeerModel.java b/src/main/java/biomesoplenty/common/entity/DeerModel.java deleted file mode 100644 index b63014ec6..000000000 --- a/src/main/java/biomesoplenty/common/entity/DeerModel.java +++ /dev/null @@ -1,159 +0,0 @@ -package biomesoplenty.common.entity; - -import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.matrix.MatrixStack; -import com.mojang.blaze3d.vertex.IVertexBuilder; -import net.minecraft.client.renderer.entity.model.AgeableModel; -import net.minecraft.client.renderer.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.math.MathHelper; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - -@OnlyIn(Dist.CLIENT) -public class DeerModel extends AgeableModel -{ - private final ModelRenderer head; - private final ModelRenderer snout; - private final ModelRenderer neck; - private final ModelRenderer body; - private final ModelRenderer tail; - private final ModelRenderer ear0; - private final ModelRenderer ear1; - private final ModelRenderer leg0; - private final ModelRenderer leg1; - private final ModelRenderer leg2; - private final ModelRenderer leg3; - private final ModelRenderer antler0; - private final ModelRenderer antler1; - private boolean scaleHead = true; - private float yHeadOffset = 14.0F; - private float zHeadOffset = 3.0F; - private float babyHeadScale = 2.0F; - private float babyBodyScale = 2.0F; - private float bodyYOffset = 24.0F; - - public DeerModel() - { - this.texWidth = 128; - this.texHeight = 32; - - this.head = new ModelRenderer(this, 0, 0); - this.head.addBox(-3F, -3F, -6F, 6, 6, 6); - this.head.setPos(0F, 3F, -9F); - - this.snout = new ModelRenderer(this, 24, 0); - this.snout.addBox(-2F, -1F, -10F, 4, 4, 4); - - this.ear0 = new ModelRenderer(this, 32, 16); - this.ear0.addBox(-1F, -8F, -2F, 3, 6, 1); - this.ear0.zRot = -1.047198F; - - this.ear1 = new ModelRenderer(this, 32, 23); - this.ear1.addBox(-2F, -8F, -2F, 3, 6, 1); - this.ear1.zRot = 1.047198F; - - this.antler0 = new ModelRenderer(this, 70, 18); - this.antler0.addBox(-7F, -14F, -2F, 8, 12, 1); - this.antler0.xRot = -0.5235988F; - this.antler0.yRot = -1.047198F; - - this.antler1 = new ModelRenderer(this, 88, 18); - this.antler1.addBox(-1F, -14F, -2F, 8, 12, 1); - this.antler1.xRot = -0.5235988F; - this.antler1.yRot = 1.047198F; - - this.head.addChild(snout); - this.head.addChild(ear0); - this.head.addChild(ear1); - this.head.addChild(antler0); - this.head.addChild(antler1); - - this.neck = new ModelRenderer(this, 0, 12); - this.neck.addBox(-2F, 0F, -9F, 4, 6, 9); - this.neck.setPos(0F, 6F, -2F); - this.neck.xRot = -0.6283185F; - - this.body = new ModelRenderer(this, 40, 0); - this.body.addBox(-4F, -9F, -7F, 8, 18, 7); - this.body.setPos(0F, 5F, 1F); - this.body.xRot = 1.570796F; - - this.leg0 = new ModelRenderer(this, 70, 0); - this.leg0.addBox(0F, 0F, 0F, 3, 12, 3); - this.leg0.setPos(-4F, 12F, 6F); - - this.leg1 = new ModelRenderer(this, 82, 0); - this.leg1.addBox(-3F, 0F, 0F, 3, 12, 3); - this.leg1.setPos(4F, 12F, 6F); - - this.leg2 = new ModelRenderer(this, 94, 0); - this.leg2.addBox(0F, 0F, 0F, 3, 12, 3); - this.leg2.setPos(-4F, 12F, -7F); - - this.leg3 = new ModelRenderer(this, 106, 0); - this.leg3.addBox(-3F, 0F, 0F, 3, 12, 3); - this.leg3.setPos(4F, 12F, -7F); - - this.tail = new ModelRenderer(this, 32, 8); - this.tail.addBox(0F, 0F, 0F, 2, 6, 2); - this.tail.setPos(-1F, 7F, 8F); - this.tail.xRot = 0.4363323F; - } - - @Override - protected Iterable headParts() { - return ImmutableList.of(this.head); - } - - @Override - protected Iterable bodyParts() { - return ImmutableList.of(this.body, this.neck, this.leg0, this.leg1, this.leg2, this.leg3, this.tail); - } - - @Override - public void setupAnim(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.head.xRot = headPitch * ((float)Math.PI / 180F); - this.head.yRot = netHeadYaw * ((float)Math.PI / 180F); - this.leg0.xRot = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leg1.xRot = MathHelper.cos(limbSwing * 0.6662F + (float)Math.PI) * 1.4F * limbSwingAmount; - this.leg2.xRot = MathHelper.cos(limbSwing * 0.6662F + (float)Math.PI) * 1.4F * limbSwingAmount; - this.leg3.xRot = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - } - - @Override - public void renderToBuffer(MatrixStack matrixStackIn, IVertexBuilder bufferIn, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) { - if (this.young) - { - matrixStackIn.pushPose(); - if (this.scaleHead) - { - float f = 1.5F / this.babyHeadScale; - matrixStackIn.scale(f, f, f); - } - - matrixStackIn.translate(0.0D, (double)(this.yHeadOffset / 16.0F), (double)(this.zHeadOffset / 16.0F)); - this.headParts().forEach((p_228230_8_) -> { - p_228230_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); - }); - matrixStackIn.popPose(); - matrixStackIn.pushPose(); - float f1 = 1.0F / this.babyBodyScale; - matrixStackIn.scale(f1, f1, f1); - matrixStackIn.translate(0.0D, (double)(this.bodyYOffset / 16.0F), 0.0D); - this.bodyParts().forEach((p_228229_8_) -> { - p_228229_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); - }); - matrixStackIn.popPose(); - } - else - { - this.headParts().forEach((p_228228_8_) -> { - p_228228_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); - }); - this.bodyParts().forEach((p_228227_8_) -> { - p_228227_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); - }); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entity/DeerRenderer.java b/src/main/java/biomesoplenty/common/entity/DeerRenderer.java deleted file mode 100644 index add2f3e7c..000000000 --- a/src/main/java/biomesoplenty/common/entity/DeerRenderer.java +++ /dev/null @@ -1,28 +0,0 @@ -package biomesoplenty.common.entity; - -import net.minecraft.client.renderer.entity.EntityRendererManager; -import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - -@OnlyIn(Dist.CLIENT) -public class DeerRenderer extends MobRenderer> { - private static final ResourceLocation DEER_LOCATION = new ResourceLocation("biomesoplenty:textures/entity/deer.png"); - private static final ResourceLocation FAWN_LOCATION = new ResourceLocation("biomesoplenty:textures/entity/fawn.png"); - - public DeerRenderer(EntityRendererManager renderManagerIn) { - super(renderManagerIn, new DeerModel<>(), 0.7F); - } - - public ResourceLocation getTextureLocation(DeerEntity entity) { - if (entity.getAge() < 0) - { - return FAWN_LOCATION; - } - else - { - return DEER_LOCATION; - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entity/TurkeyEntity.java b/src/main/java/biomesoplenty/common/entity/TurkeyEntity.java deleted file mode 100644 index 4a8cc61a0..000000000 --- a/src/main/java/biomesoplenty/common/entity/TurkeyEntity.java +++ /dev/null @@ -1,120 +0,0 @@ -package biomesoplenty.common.entity; - -import biomesoplenty.api.sound.BOPSounds; -import biomesoplenty.init.ModEntities; -import net.minecraft.block.BlockState; -import net.minecraft.entity.*; -import net.minecraft.entity.ai.attributes.AttributeModifierMap; -import net.minecraft.entity.ai.attributes.Attributes; -import net.minecraft.entity.ai.goal.*; -import net.minecraft.entity.passive.AnimalEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.item.crafting.Ingredient; -import net.minecraft.pathfinding.PathNodeType; -import net.minecraft.util.DamageSource; -import net.minecraft.util.SoundEvent; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.vector.Vector3d; -import net.minecraft.world.World; -import net.minecraft.world.server.ServerWorld; - -public class TurkeyEntity extends AnimalEntity { - private static final Ingredient FOOD_ITEMS = Ingredient.of(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS); - public float flap; - public float flapSpeed; - public float oFlapSpeed; - public float oFlap; - public float flapping = 1.0F; - - public TurkeyEntity(EntityType type, World worldIn) { - super(type, worldIn); - this.setPathfindingMalus(PathNodeType.WATER, 0.0F); - } - - @Override - protected void registerGoals() { - this.goalSelector.addGoal(0, new SwimGoal(this)); - this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); - this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); - this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, false, FOOD_ITEMS)); - this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.1D)); - this.goalSelector.addGoal(5, new WaterAvoidingRandomWalkingGoal(this, 1.0D)); - this.goalSelector.addGoal(6, new LookAtGoal(this, PlayerEntity.class, 6.0F)); - this.goalSelector.addGoal(7, new LookRandomlyGoal(this)); - } - - @Override - protected float getStandingEyeHeight(Pose poseIn, EntitySize sizeIn) { - return this.isBaby() ? sizeIn.height * 0.85F : sizeIn.height * 0.92F; - } - - public static AttributeModifierMap.MutableAttribute createAttributes() { - return MobEntity.createMobAttributes().add(Attributes.MAX_HEALTH, 7.0D).add(Attributes.MOVEMENT_SPEED, (double)0.25F); - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - @Override - public void aiStep() { - super.aiStep(); - this.oFlap = this.flap; - this.oFlapSpeed = this.flapSpeed; - this.flapSpeed = (float)((double)this.flapSpeed + (double)(this.onGround ? -1 : 4) * 0.3D); - this.flapSpeed = MathHelper.clamp(this.flapSpeed, 0.0F, 1.0F); - if (!this.onGround && this.flapping < 1.0F) { - this.flapping = 1.0F; - } - - this.flapping = (float)((double)this.flapping * 0.9D); - Vector3d vec3d = this.getDeltaMovement(); - if (!this.onGround && vec3d.y < 0.0D) { - this.setDeltaMovement(vec3d.multiply(1.0D, 0.6D, 1.0D)); - } - - this.flap += this.flapping * 2.0F; - } - - @Override - public boolean causeFallDamage(float distance, float damageMultiplier) { - return false; - } - - @Override - protected SoundEvent getAmbientSound() { - return BOPSounds.turkey_ambient; - } - - @Override - protected SoundEvent getHurtSound(DamageSource damageSourceIn) { - return BOPSounds.turkey_hurt; - } - - @Override - protected SoundEvent getDeathSound() { - return BOPSounds.turkey_dead; - } - - @Override - protected void playStepSound(BlockPos pos, BlockState blockIn) { - this.playSound(BOPSounds.turkey_step, 0.15F, 1.0F); - } - - @Override - public TurkeyEntity getBreedOffspring(ServerWorld p_241840_1_, AgeableEntity p_241840_2_) { - return ModEntities.turkey.create(p_241840_1_); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - @Override - public boolean isFood(ItemStack stack) { - return FOOD_ITEMS.test(stack); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entity/TurkeyModel.java b/src/main/java/biomesoplenty/common/entity/TurkeyModel.java deleted file mode 100644 index 66a98c461..000000000 --- a/src/main/java/biomesoplenty/common/entity/TurkeyModel.java +++ /dev/null @@ -1,137 +0,0 @@ -package biomesoplenty.common.entity; - -import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.matrix.MatrixStack; -import com.mojang.blaze3d.vertex.IVertexBuilder; -import net.minecraft.client.renderer.entity.model.AgeableModel; -import net.minecraft.client.renderer.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.math.MathHelper; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - -@OnlyIn(Dist.CLIENT) -public class TurkeyModel extends AgeableModel -{ - private final ModelRenderer head; - private final ModelRenderer chest; - private final ModelRenderer body; - private final ModelRenderer leg0; - private final ModelRenderer leg1; - private final ModelRenderer wing0; - private final ModelRenderer wing1; - private final ModelRenderer beak; - private final ModelRenderer wattle; - private final ModelRenderer plume; - private boolean scaleHead = true; - private float yHeadOffset = 12.0F; - private float zHeadOffset = 3.0F; - private float babyHeadScale = 2.0F; - private float babyBodyScale = 2.0F; - private float bodyYOffset = 24.0F; - - public TurkeyModel() - { - this.texWidth = 128; - this.texHeight = 64; - - this.chest = new ModelRenderer(this, 0, 22); - this.chest.addBox(-4F, -4F, -4F, 8, 5, 5); - this.chest.setPos(0F, 14F, -3F); - - this.head = new ModelRenderer(this, 0, 32); - this.head.addBox(-2F, -10F, -5F, 4, 10, 3); - this.head.setPos(0F, 14F, -3F); - - this.beak = new ModelRenderer(this, 0, 45); - this.beak.addBox(-1F, -8F, -7F, 2, 1, 2); - this.beak.setPos(0F, 14F, -3F); - - this.wattle = new ModelRenderer(this, 14, 32); - this.wattle.addBox(-1F, -7F, -6F, 2, 7, 1); - this.wattle.setPos(0F, 14F, -3F); - - this.body = new ModelRenderer(this, 0, 0); - this.body.addBox(-6F, 0F, -6F, 12, 8, 14); - this.body.setPos(0F, 10F, 0F); - - this.wing0 = new ModelRenderer(this, 26, 22); - this.wing0.addBox(-1F, 0F, 0F, 1, 6, 8); - this.wing0.setPos(-6F, 11F, -4F); - - this.wing1 = new ModelRenderer(this, 26, 22); - this.wing1.addBox(0F, 0F, 0F, 1, 6, 8); - this.wing1.setPos(6F, 11F, -4F); - - this.plume = new ModelRenderer(this, 52, 0); - this.plume.addBox(-11F, -13F, 6F, 22, 14, 0); - this.plume.setPos(0F, 12F, 0F); - this.plume.xRot = -0.2617994F; - - this.leg0 = new ModelRenderer(this, 44, 22); - this.leg0.addBox(-5F, 0F, -5F, 5, 6, 4); - this.leg0.setPos(0F, 18F, 4F); - - this.leg1 = new ModelRenderer(this, 44, 22); - this.leg1.addBox(0F, 0F, -5F, 5, 6, 4); - this.leg1.setPos(0F, 18F, 4F); - } - - @Override - protected Iterable headParts() { - return ImmutableList.of(this.head, this.beak, this.wattle); - } - - @Override - protected Iterable bodyParts() { - return ImmutableList.of(this.body, this.chest, this.leg0, this.leg1, this.wing0, this.wing1, this.plume); - } - - @Override - public void setupAnim(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - this.chest.xRot = (headPitch * ((float)Math.PI / 180F)) + 0.7853982F; - this.chest.yRot = netHeadYaw * ((float)Math.PI / 180F); - this.head.xRot = this.chest.xRot - 0.7853982F; - this.head.yRot = this.chest.yRot; - this.beak.xRot = this.chest.xRot - 0.7853982F; - this.beak.yRot = this.chest.yRot; - this.wattle.xRot = this.chest.xRot - 0.7853982F; - this.wattle.yRot = this.chest.yRot; - this.leg0.xRot = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; - this.leg1.xRot = MathHelper.cos(limbSwing * 0.6662F + (float)Math.PI) * 1.4F * limbSwingAmount; - this.wing0.zRot = ageInTicks; - this.wing1.zRot = -ageInTicks; - } - - @Override - public void renderToBuffer(MatrixStack matrixStackIn, IVertexBuilder bufferIn, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) { - if (this.young) { - matrixStackIn.pushPose(); - if (this.scaleHead) { - float f = 1.5F / this.babyHeadScale; - matrixStackIn.scale(f, f, f); - } - - matrixStackIn.translate(0.0D, (double)(this.yHeadOffset / 16.0F), (double)(this.zHeadOffset / 16.0F)); - this.headParts().forEach((p_228230_8_) -> { - p_228230_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); - }); - matrixStackIn.popPose(); - matrixStackIn.pushPose(); - float f1 = 1.0F / this.babyBodyScale; - matrixStackIn.scale(f1, f1, f1); - matrixStackIn.translate(0.0D, (double)(this.bodyYOffset / 16.0F), 0.0D); - this.bodyParts().forEach((p_228229_8_) -> { - if (p_228229_8_ != this.plume) { p_228229_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); } - }); - matrixStackIn.popPose(); - } else { - this.headParts().forEach((p_228228_8_) -> { - p_228228_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); - }); - this.bodyParts().forEach((p_228227_8_) -> { - p_228227_8_.render(matrixStackIn, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha); - }); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entity/TurkeyRenderer.java b/src/main/java/biomesoplenty/common/entity/TurkeyRenderer.java deleted file mode 100644 index a45041c7a..000000000 --- a/src/main/java/biomesoplenty/common/entity/TurkeyRenderer.java +++ /dev/null @@ -1,27 +0,0 @@ -package biomesoplenty.common.entity; - -import net.minecraft.client.renderer.entity.EntityRendererManager; -import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.MathHelper; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - -@OnlyIn(Dist.CLIENT) -public class TurkeyRenderer extends MobRenderer> { - private static final ResourceLocation TURKEY_LOCATION = new ResourceLocation("biomesoplenty:textures/entity/turkey.png"); - - public TurkeyRenderer(EntityRendererManager renderManagerIn) { - super(renderManagerIn, new TurkeyModel<>(), 0.6F); - } - - public ResourceLocation getTextureLocation(TurkeyEntity entity) { - return TURKEY_LOCATION; - } - - protected float getBob(TurkeyEntity livingBase, float partialTicks) { - float f = MathHelper.lerp(partialTicks, livingBase.oFlap, livingBase.flap); - float f1 = MathHelper.lerp(partialTicks, livingBase.oFlapSpeed, livingBase.flapSpeed); - return (MathHelper.sin(f) + 1.0F) * f1; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java b/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java index 4b848bfda..9b65faec1 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java @@ -122,11 +122,13 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature JADE_CLIFFS_TREES = register("jade_cliffs_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE.weighted(0.075F), Features.PINE.weighted(0.025F)), SPRUCE_BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(35, 0.1F, 1)))); public static final ConfiguredFeature LAVENDER_FIELD_TREES = register("lavender_field_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FLOWERING_OAK_TREE_BEES.weighted(0.2F), BIG_FLOWERING_OAK_TREE.weighted(0.1F), BIG_JACARANDA_TREE.weighted(0.1F)), JACARANDA_TREE_BEES)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1)))); public static final ConfiguredFeature LUSH_DESERT_TREES = register("lush_desert_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(ACACIA_BUSH.weighted(0.4F), SPARSE_ACACIA_TREE.weighted(0.2F)), ACACIA_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.4F, 1)))); - public static final ConfiguredFeature MEADOW_TREES = register("meadow_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE_BEES.weighted(0.25F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.1F, 1)))); + public static final ConfiguredFeature MEADOW_TREES = register("meadow_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE_BEES.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(4, 0.1F, 1)))); + public static final ConfiguredFeature MEADOW_FOREST_TREES = register("meadow_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.25F)), TALL_SPRUCE_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(8, 0.1F, 1)))); public static final ConfiguredFeature MUSKEG_TREES = register("muskeg_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DARK_OAK_TWIGLET_TREE.weighted(0.4F), DEAD_TREE.weighted(0.3F), DYING_TREE.weighted(0.075F), DEAD_TWIGLET_TREE_TALL.weighted(0.1F)), DEAD_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1)))); public static final ConfiguredFeature MYSTIC_GROVE_TREES = register("mystic_grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_FLOWERING_OAK_TREE.weighted(0.15F), JACARANDA_TREE.weighted(0.25F), BIG_MAGIC_TREE.weighted(0.3F)), MAGIC_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.5F, 1)))); public static final ConfiguredFeature MYSTIC_PLAINS_TREES = register("mystic_plains_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FLOWERING_OAK_TREE.weighted(0.1F), JACARANDA_TREE.weighted(0.25F)), MAGIC_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1)))); - public static final ConfiguredFeature OMINOUS_WOODS_TREES = register("ominous_woods_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE.weighted(0.05F), DYING_TREE.weighted(0.15F), WILLOW_TREE.weighted(0.15F), TALL_UMBRAN_TREE.weighted(0.7F)), UMBRAN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(7, 0.5F, 1)))); + public static final ConfiguredFeature OMINOUS_WOODS_TREES = register("ominous_woods_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE.weighted(0.05F), DYING_TREE.weighted(0.15F), TALL_UMBRAN_TREE.weighted(0.7F)), UMBRAN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(7, 0.5F, 1)))); + public static final ConfiguredFeature OMINOUS_MIRE_TREES = register("ominous_mire_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE.weighted(0.1F), DYING_TREE.weighted(0.2F), UMBRAN_TREE.weighted(0.4F)), WILLOW_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.5F, 1)))); public static final ConfiguredFeature ORCHARD_TREES = register("orchard_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_FLOWERING_OAK_TREE.weighted(0.1F)), FLOWERING_OAK_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.3F, 1)))); public static final ConfiguredFeature ORIGIN_VALLEY_TREES = register("origin_valley_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_ORIGIN_TREE.weighted(0.1F)), ORIGIN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(BOPPlacements.ALPHA_TREE.configured(NoPlacementConfig.INSTANCE))); public static final ConfiguredFeature OVERGROWN_FUNGAL_JUNGLE_TREES = register("overgrown_fungal_jungle_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(GIANT_TREE.weighted(0.04F), BIG_OAK_TREE.weighted(0.4F), Features.OAK.weighted(0.2F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(20, 0.6F, 1)))); @@ -135,14 +137,16 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature RAINFOREST_TREES = register("rainforest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.JUNGLE_TREE.weighted(0.1F)), MAHOGANY_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(12, 0.3F, 1)))); public static final ConfiguredFeature RAINFOREST_CLEARING_TREES = register("rainforest_clearing_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SPARSE_OAK_TREE.weighted(0.3F), BIG_OAK_TREE.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.3F, 1)))); public static final ConfiguredFeature RAINFOREST_CLIFFS_TREES = register("rainforest_cliffs_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(JUNGLE_TWIGLET_TREE.weighted(0.4F), MAHOGANY_TREE.weighted(0.05F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(20, 0.4F, 1)))); - public static final ConfiguredFeature REDWOOD_FOREST_EDGE_TREES = register("redwood_forest_edge_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(REDWOOD_TREE.weighted(0.3F), REDWOOD_TREE_MEDIUM.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.3F, 1)))); - public static final ConfiguredFeature REDWOOD_FOREST_TREES = register("redwood_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(REDWOOD_TREE.weighted(0.1F), REDWOOD_TREE_MEDIUM.weighted(0.3F), REDWOOD_TREE_LARGE.weighted(0.5F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(18, 0.2F, 1)))); + public static final ConfiguredFeature REDWOOD_FOREST_EDGE_TREES = register("redwood_forest_edge_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.OAK.weighted(0.2F), SPARSE_OAK_TREE.weighted(0.1F), REDWOOD_TREE.weighted(0.3F), REDWOOD_TREE_MEDIUM.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(6, 0.3F, 1)))); + public static final ConfiguredFeature REDWOOD_FOREST_TREES = register("redwood_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.1F), REDWOOD_TREE.weighted(0.3F), REDWOOD_TREE_LARGE.weighted(0.5F)), REDWOOD_TREE_MEDIUM)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(18, 0.2F, 1)))); + public static final ConfiguredFeature REDWOOD_HILLS_TREES = register("redwood_hills_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.1F), REDWOOD_TREE_MEDIUM.weighted(0.3F)), REDWOOD_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(24, 0.2F, 1)))); public static final ConfiguredFeature SEASONAL_FOREST_TREES = register("seasonal_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.OAK.weighted(0.05F), BIG_OAK_TREE.weighted(0.025F), MAPLE_TREE.weighted(0.2F), YELLOW_AUTUMN_TREE.weighted(0.3F), BIG_MAPLE_TREE.weighted(0.1F), BIG_YELLOW_AUTUMN_TREE.weighted(0.1F), BIG_ORANGE_AUTUMN_TREE.weighted(0.1F)), ORANGE_AUTUMN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.3F, 1)))); public static final ConfiguredFeature SEASONAL_PUMPKIN_PATCH_TREES = register("seasonal_pumpkin_patch_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.2F), YELLOW_AUTUMN_TREE.weighted(0.1F), BIG_YELLOW_AUTUMN_TREE.weighted(0.05F)), TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(6, 0.5F, 1)))); public static final ConfiguredFeature SHROOMY_WETLAND_TREES = register("shroomy_wetland_trees", DARK_OAK_TWIGLET_TREE.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.1F, 1)))); public static final ConfiguredFeature SHRUBLAND_TREES = register("shrubland_trees", BUSH.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.05F, 1)))); public static final ConfiguredFeature SHRUBLAND_HILLS_TREES = register("shrubland_hills_trees", BUSH.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.05F, 1)))); public static final ConfiguredFeature SILKGLADE_TREES = register("silkglade_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.SWAMP_TREE.weighted(0.05F), BIRCH_POPLAR.weighted(0.15F), COBWEB_BUSH.weighted(0.2F), SMALL_DEAD_TREE.weighted(0.5F), SILK_TREE.weighted(0.2F), FULL_COBWEB_BUSH.weighted(0.05F), FULL_SILK_TREE.weighted(0.05F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.4F, 1)))); + public static final ConfiguredFeature SILKGLADE_NEST_TREES = register("silkglade_nest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(COBWEB_BUSH.weighted(0.3F), SMALL_DEAD_TREE.weighted(0.1F), SILK_TREE.weighted(0.3F), FULL_COBWEB_BUSH.weighted(0.2F), FULL_SILK_TREE.weighted(0.2F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(25, 0.5F, 1)))); public static final ConfiguredFeature SNOWY_CONIFEROUS_FOREST_TREES = register("snowy_coniferous_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.4F), MAPLE_TREE.weighted(0.1F)), FIR_TREE_LARGE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(6, 0.1F, 1)))); public static final ConfiguredFeature SNOWY_MAPLE_FOREST_TREES = register("snowy_maple_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.025F), FIR_TREE_SMALL.weighted(0.1F), BIG_MAPLE_TREE.weighted(0.3F)), MAPLE_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.1F, 1)))); public static final ConfiguredFeature TROPICS_TREES = register("tropics_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(JUNGLE_TWIGLET_TREE.weighted(0.3F), FLOWERING_BUSH.weighted(0.1F)), PALM_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(11, 0.2F, 1)))); @@ -191,10 +195,8 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature FERN_GRASS_8 = register("fern_grass_8", BOPFeatures.FERN_GRASS.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(8))); public static final ConfiguredFeature FERN_GRASS_16 = register("fern_grass_16", BOPFeatures.FERN_GRASS.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(16))); - public static final ConfiguredFeature WASTELAND_GRASS_1 = register("wasteland_grass_1", BOPFeatures.WASTELAND_GRASS.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(1))); public static final ConfiguredFeature WASTELAND_GRASS_2 = register("wasteland_grass_2", BOPFeatures.WASTELAND_GRASS.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(2))); - public static final ConfiguredFeature BUSH_5 = register("bush_5", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(5))); public static final ConfiguredFeature BUSH_10 = register("bush_10", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(10))); public static final ConfiguredFeature BUSH_15 = register("bush_15", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(15))); public static final ConfiguredFeature BUSH_50 = register("bush_50", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.bush.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(50))); @@ -278,9 +280,11 @@ public class BOPConfiguredFeatures // Features public static final ConfiguredFeature BIG_PUMPKIN = register("big_pumpkin", BOPFeatures.BIG_PUMPKIN.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3))); public static final ConfiguredFeature BLACK_SANDSTONE_COLUMN = register("black_sandstone_column", BOPFeatures.BLACK_SANDSTONE_COLUMN.configured(new ColumnConfig(FeatureSpread.fixed(1), FeatureSpread.of(1, 3))).decorated(Placement.COUNT_MULTILAYER.configured(new FeatureSpreadConfig(2))).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(1))); - public static final ConfiguredFeature BLACK_SAND_DISK = register("black_sand_disk", Feature.DISK.configured(new SphereReplaceConfig(BOPBlocks.black_sand.defaultBlockState(), FeatureSpread.of(4, 2), 1, ImmutableList.of(Blocks.DIRT.defaultBlockState(), Blocks.GRASS_BLOCK.defaultBlockState()))).decorated(Features.Placements.TOP_SOLID_HEIGHTMAP_SQUARE).count(4)); + public static final ConfiguredFeature BLACK_SAND_DISK = register("black_sand_disk", Feature.DISK.configured(new SphereReplaceConfig(BOPBlocks.black_sand.defaultBlockState(), FeatureSpread.of(2, 4), 2, ImmutableList.of(Blocks.DIRT.defaultBlockState(), Blocks.GRASS_BLOCK.defaultBlockState()))).decorated(Features.Placements.TOP_SOLID_HEIGHTMAP_SQUARE).count(2)); public static final ConfiguredFeature BONE_SPINE = register("bone_spine", BOPFeatures.BONE_SPINE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3))); public static final ConfiguredFeature BRAMBLE = register("bramble", BOPFeatures.BRAMBLE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3))); + public static final ConfiguredFeature BRAMBLE_EXTRA = register("bramble_extra", BOPFeatures.BRAMBLE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(10))); + public static final ConfiguredFeature CRAG_SPLATTER = register("crag_splatter", BOPFeatures.CRAG_SPLATTER.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(128))); public static final ConfiguredFeature DENSE_BAYOU_VINES = register("dense_bayou_vines", BOPFeatures.DENSE_BAYOU_VINES.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).count(128)); public static final ConfiguredFeature FLESH_TENDON = register("flesh_tendon", BOPFeatures.FLESH_TENDON.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(65))); public static final ConfiguredFeature GRAVEL_DISK_EXTRA = register("gravel_disk_extra", Feature.DISK.configured(new SphereReplaceConfig(Blocks.GRAVEL.defaultBlockState(), FeatureSpread.of(4, 2), 1, ImmutableList.of(Blocks.DIRT.defaultBlockState(), Blocks.GRASS_BLOCK.defaultBlockState()))).decorated(Features.Placements.TOP_SOLID_HEIGHTMAP_SQUARE).count(6)); diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java b/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java index 8f92f9721..17212bb26 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java @@ -116,6 +116,7 @@ public class BOPFeatures public static final Feature BIG_PUMPKIN = register("big_pumpkin", new BigPumpkinFeature(NoFeatureConfig.CODEC)); public static final Feature BONE_SPINE = register("bone_spine", new BoneSpineFeature(NoFeatureConfig.CODEC)); public static final Feature BRAMBLE = register("bramble", new BrambleFeature(NoFeatureConfig.CODEC)); + public static final Feature CRAG_SPLATTER = register("crag_splatter", new CragSplatterFeature(NoFeatureConfig.CODEC)); public static final Feature DENSE_BAYOU_VINES = register("dense_bayou_vines", new DenseBayouVinesFeature(NoFeatureConfig.CODEC)); public static final Feature FERN_GRASS = register("fern_grass", new FernGrassFeature(NoFeatureConfig.CODEC)); public static final Feature FLESH_TENDON = register("flesh_tendon", new FleshTendonFeature(NoFeatureConfig.CODEC)); diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/CragSplatterFeature.java b/src/main/java/biomesoplenty/common/world/gen/feature/CragSplatterFeature.java new file mode 100644 index 000000000..2ea4ddc98 --- /dev/null +++ b/src/main/java/biomesoplenty/common/world/gen/feature/CragSplatterFeature.java @@ -0,0 +1,89 @@ +package biomesoplenty.common.world.gen.feature; + +import biomesoplenty.api.block.BOPBlocks; +import com.mojang.serialization.Codec; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.ISeedReader; +import net.minecraft.world.gen.ChunkGenerator; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.NoFeatureConfig; + +import java.util.Random; + +public class CragSplatterFeature extends Feature +{ + public CragSplatterFeature(Codec deserializer) + { + super(deserializer); + } + + @Override + public boolean place(ISeedReader worldIn, ChunkGenerator chunkGenerator, Random rand, BlockPos pos, NoFeatureConfig config) + { + int i = 0; + int j = rand.nextInt(8 - 2) + 2; + + for (int k = pos.getX() - j; k <= pos.getX() + j; ++k) + { + for (int l = pos.getZ() - j; l <= pos.getZ() + j; ++l) + { + int i1 = k - pos.getX(); + int j1 = l - pos.getZ(); + if (i1 * i1 + j1 * j1 <= j * j) + { + for (int k1 = pos.getY() - 2; k1 <= pos.getY() + 2; ++k1) + { + BlockPos blockpos = new BlockPos(k, k1, l); + BlockState blockstate = worldIn.getBlockState(blockpos); + BlockState blockstate1 = worldIn.getBlockState(blockpos.above()); + + if ((blockstate.getBlock() == Blocks.STONE || blockstate.getBlock() == Blocks.GRAVEL || blockstate.getBlock() == Blocks.ANDESITE || blockstate.getBlock() == Blocks.DIORITE || blockstate.getBlock() == Blocks.GRANITE || blockstate.getBlock() == Blocks.DIRT)) + { + switch (rand.nextInt(14)) + { + default: + case 0: + case 1: + case 2: + worldIn.setBlock(blockpos, Blocks.COBBLESTONE.defaultBlockState(), 2); + break; + + case 3: + case 4: + case 5: + worldIn.setBlock(blockpos, Blocks.GRAVEL.defaultBlockState(), 2); + break; + + case 6: + case 7: + worldIn.setBlock(blockpos, Blocks.MOSSY_COBBLESTONE.defaultBlockState(), 2); + break; + + case 8: + case 9: + worldIn.setBlock(blockpos, Blocks.ANDESITE.defaultBlockState(), 2); + break; + + case 10: + if (blockstate1.isAir(worldIn, blockpos.above())) + { + worldIn.setBlock(blockpos, Blocks.GRASS_BLOCK.defaultBlockState(), 2); + worldIn.setBlock(blockpos.above(), Blocks.GRASS.defaultBlockState(), 2); + + } + break; + } + + ++i; + break; + } + } + } + } + } + + return i > 0; + } +} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/HugeToadstoolFeature.java b/src/main/java/biomesoplenty/common/world/gen/feature/HugeToadstoolFeature.java index e83dd1f4b..dc92f5c2e 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/HugeToadstoolFeature.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/HugeToadstoolFeature.java @@ -85,9 +85,9 @@ public class HugeToadstoolFeature extends Feature { for (int y = 0; y <= 8; y++) { - for (int x = -1; x <= 1; x++) + for (int x = -2; x <= 2; x++) { - for (int z = -1; z <= 1; z++) + for (int z = -2; z <= 2; z++) { BlockPos pos1 = pos.offset(x, y, z); if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) diff --git a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java index a0c0d2a07..d5db2b428 100644 --- a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java @@ -23,7 +23,6 @@ public class BOPSurfaceBuilders public static final SurfaceBuilderConfig TERRACOTTA_SURFACE = new SurfaceBuilderConfig(Blocks.TERRACOTTA.defaultBlockState(), Blocks.TERRACOTTA.defaultBlockState(), Blocks.GRAVEL.defaultBlockState()); public static final SurfaceBuilderConfig MAGMA_SURFACE = new SurfaceBuilderConfig(Blocks.MAGMA_BLOCK.defaultBlockState(), Blocks.MAGMA_BLOCK.defaultBlockState(), Blocks.BASALT.defaultBlockState()); public static final SurfaceBuilderConfig MUD_SURFACE = new SurfaceBuilderConfig(BOPBlocks.mud.defaultBlockState(), BOPBlocks.mud.defaultBlockState(), BOPBlocks.mud.defaultBlockState()); - public static final SurfaceBuilderConfig RED_SAND_SURFACE = new SurfaceBuilderConfig(Blocks.RED_SAND.defaultBlockState(), Blocks.RED_SAND.defaultBlockState(), Blocks.RED_SAND.defaultBlockState()); public static final SurfaceBuilderConfig SNOW_SNOW_GRAVEL_SURFACE = new SurfaceBuilderConfig(Blocks.SNOW_BLOCK.defaultBlockState(), Blocks.SNOW_BLOCK.defaultBlockState(), Blocks.GRAVEL.defaultBlockState()); public static final SurfaceBuilderConfig WHITE_SAND_SURFACE = new SurfaceBuilderConfig(BOPBlocks.white_sand.defaultBlockState(), BOPBlocks.white_sand.defaultBlockState(), BOPBlocks.white_sand.defaultBlockState()); public static final SurfaceBuilderConfig ORANGE_SAND_SURFACE = new SurfaceBuilderConfig(BOPBlocks.orange_sand.defaultBlockState(), BOPBlocks.orange_sand.defaultBlockState(), BOPBlocks.orange_sand.defaultBlockState()); @@ -32,6 +31,7 @@ public class BOPSurfaceBuilders public static final SurfaceBuilderConfig DRIED_SALT_SURFACE = new SurfaceBuilderConfig(BOPBlocks.dried_salt.defaultBlockState(), BOPBlocks.dried_salt.defaultBlockState(), BOPBlocks.dried_salt.defaultBlockState()); public static final SurfaceBuilderConfig ORIGIN_GRASS_SURFACE = new SurfaceBuilderConfig(BOPBlocks.origin_grass_block.defaultBlockState(), Blocks.DIRT.defaultBlockState(), Blocks.GRAVEL.defaultBlockState()); + public static final SurfaceBuilder HIGHLAND_CRAG = register("highland_crag", new HighlandCragSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder EXPOSED_STONE = register("exposed_stone", new ExposedStoneSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder TERRACOTTA = register("terracotta", new TerracottaSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder MARSH = register("marsh", new MarshSurfaceBuilder(SurfaceBuilderConfig.CODEC)); diff --git a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/HighlandCragSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/HighlandCragSurfaceBuilder.java new file mode 100644 index 000000000..e264fb365 --- /dev/null +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/HighlandCragSurfaceBuilder.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * 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.world.gen.surfacebuilders; + +import com.mojang.serialization.Codec; +import net.minecraft.block.BlockState; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.chunk.IChunk; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; + +import java.util.Random; + +public class HighlandCragSurfaceBuilder extends SurfaceBuilder +{ + public HighlandCragSurfaceBuilder(Codec deserializer) + { + super(deserializer); + } + + @Override + public void apply(Random random, IChunk chunkIn, Biome biomeIn, int x, int z, int startHeight, double noise, BlockState defaultBlock, BlockState defaultFluid, int seaLevel, long seed, SurfaceBuilderConfig config) { + if (noise > 1.9D) { + SurfaceBuilder.DEFAULT.apply(random, chunkIn, biomeIn, x, z, startHeight, noise, defaultBlock, defaultFluid, seaLevel, seed, SurfaceBuilder.CONFIG_GRAVEL); + } else { + SurfaceBuilder.DEFAULT.apply(random, chunkIn, biomeIn, x, z, startHeight, noise, defaultBlock, defaultFluid, seaLevel, seed, SurfaceBuilder.CONFIG_STONE); + } + + } +} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/BOPBiomeEdgeLayer.java b/src/main/java/biomesoplenty/common/world/layer/BOPBiomeEdgeLayer.java index 543fc19a1..c2cd5f3af 100644 --- a/src/main/java/biomesoplenty/common/world/layer/BOPBiomeEdgeLayer.java +++ b/src/main/java/biomesoplenty/common/world/layer/BOPBiomeEdgeLayer.java @@ -49,6 +49,7 @@ public enum BOPBiomeEdgeLayer implements ICastleTransformer // line BOP redwood forest with BOP redwood forest edge if (this.replaceBiomeEdge(outBiomeId, northBiomeId, eastBiomeId, southBiomeId, westBiomeId, biomeId, BOPBiomes.redwood_forest, BOPBiomes.redwood_forest_edge)) { return outBiomeId[0]; } + if (this.replaceBiomeEdge(outBiomeId, northBiomeId, eastBiomeId, southBiomeId, westBiomeId, biomeId, BOPBiomes.redwood_hills, BOPBiomes.redwood_forest_edge)) { return outBiomeId[0]; } // line BOP volcano with BOP volcanic plains if (this.replaceBiomeEdge(outBiomeId, northBiomeId, eastBiomeId, southBiomeId, westBiomeId, biomeId, BOPBiomes.volcano, BOPBiomes.volcanic_plains)) { return outBiomeId[0]; } diff --git a/src/main/java/biomesoplenty/core/BiomesOPlenty.java b/src/main/java/biomesoplenty/core/BiomesOPlenty.java index e13eb4e99..336617c08 100644 --- a/src/main/java/biomesoplenty/core/BiomesOPlenty.java +++ b/src/main/java/biomesoplenty/core/BiomesOPlenty.java @@ -51,13 +51,11 @@ public class BiomesOPlenty private void commonSetup(final FMLCommonSetupEvent event) { - ModEntities.setup(); ModVanillaCompat.setup(); } private void clientSetup(final FMLClientSetupEvent event) { - ModEntities.registerRendering(); } private void loadComplete(final FMLLoadCompleteEvent event) // PostRegistrationEven diff --git a/src/main/java/biomesoplenty/init/ModBiomes.java b/src/main/java/biomesoplenty/init/ModBiomes.java index 7d37cc776..6990c6825 100644 --- a/src/main/java/biomesoplenty/init/ModBiomes.java +++ b/src/main/java/biomesoplenty/init/ModBiomes.java @@ -142,16 +142,20 @@ public class ModBiomes registerBiome(new GoldenPrairieBiome(), "golden_prairie"); registerBiome(new GroveBiome(), "grove"); registerBiome(new HighlandBiome(), "highland"); + registerBiome(new HighlandCragBiome(), "highland_crag"); registerBiome(new HighlandMoorBiome(), "highland_moor"); registerBiome(new JadeCliffsBiome(), "jade_cliffs"); + registerBiome(new JadeGrasslandBiome(), "jade_grassland"); registerBiome(new LavenderFieldBiome(), "lavender_field"); registerBiome(new LushDesertBiome(), "lush_desert"); registerBiome(new LushSavannaBiome(), "lush_savanna"); registerBiome(new MeadowBiome(), "meadow"); + registerBiome(new MeadowForestBiome(), "meadow_forest"); registerBiome(new MuskegBiome(), "muskeg"); registerBiome(new MysticGroveBiome(), "mystic_grove"); registerBiome(new MysticPlainsBiome(), "mystic_plains"); registerBiome(new OminousWoodsBiome(), "ominous_woods"); + registerBiome(new OminousMireBiome(), "ominous_mire"); registerBiome(new OriginValleyBiome(), "origin_valley"); registerBiome(new OvergrownFungalJungleBiome(), "overgrown_fungal_jungle"); registerBiome(new PrairieBiome(), "prairie"); @@ -160,12 +164,14 @@ public class ModBiomes registerBiome(new RainforestClearingBiome(), "rainforest_clearing"); registerBiome(new RainforestCliffsBiome(), "rainforest_cliffs"); registerBiome(new RedwoodForestBiome(), "redwood_forest"); + registerBiome(new RedwoodHillsBiome(), "redwood_hills"); registerBiome(new SeasonalForestBiome(), "seasonal_forest"); registerBiome(new SeasonalPumpkinPatchBiome(), "seasonal_pumpkin_patch"); registerBiome(new ShroomyWetlandBiome(), "shroomy_wetland"); registerBiome(new ShrublandBiome(), "shrubland"); registerBiome(new ShrublandHillsBiome(), "shrubland_hills"); registerBiome(new SilkgladeBiome(), "silkglade"); + registerBiome(new SilkgladeNestBiome(), "silkglade_nest"); registerBiome(new SnowyConiferousForestBiome(), "snowy_coniferous_forest"); registerBiome(new SnowyMapleForestBiome(), "snowy_maple_forest"); registerBiome(new SnowyFirClearingBiome(), "snowy_fir_clearing"); @@ -200,23 +206,33 @@ public class ModBiomes registerSubBiome(fungal_jungle, overgrown_fungal_jungle, 0.8F, 100); + registerSubBiome(highland, highland_crag, 1.25F, 100); registerSubBiome(highland, highland_moor, 0.75F, 100); + registerSubBiome(jade_cliffs, jade_grassland, 0.85F, 100); + registerSubBiome(lush_desert, lush_savanna, 0.65F, 100); - registerSubBiome(meadow, flower_meadow, 0.5F, 100); + registerSubBiome(meadow, flower_meadow, 1.0F, 100); + registerSubBiome(meadow, meadow_forest, 1.0F, 100); registerSubBiome(mystic_grove, mystic_plains, 0.75F, 100); + registerSubBiome(ominous_woods, ominous_mire, 0.75F, 100); + registerSubBiome(prairie, golden_prairie, 1.0F, 100); registerSubBiome(rainforest, rainforest_cliffs, 2.0F, 100); registerSubBiome(rainforest, rainforest_clearing, 2.0F, 100); + registerSubBiome(redwood_forest, redwood_hills, 0.75F, 100); + registerSubBiome(seasonal_forest, seasonal_pumpkin_patch, 0.45F, 100); registerSubBiome(shrubland, shrubland_hills, 0.75F, 100); + registerSubBiome(silkglade, silkglade_nest, 0.45F, 100); + registerSubBiome(snowy_coniferous_forest, snowy_fir_clearing, 0.75F, 100); registerSubBiome(snowy_coniferous_forest, snowy_maple_forest, 1.25F, 100); @@ -256,8 +272,8 @@ public class ModBiomes registerVanillaBiome(Biomes.TAIGA, BOPClimates.WET_BOREAL, 10); registerVanillaBiome(Biomes.GIANT_TREE_TAIGA, BOPClimates.DRY_BOREAL, 5); registerVanillaBiome(Biomes.DARK_FOREST, BOPClimates.WET_TEMPERATE, 5); + registerVanillaBiome(Biomes.BIRCH_FOREST, BOPClimates.DRY_TEMPERATE, 5); registerVanillaBiome(Biomes.FOREST, BOPClimates.COOL_TEMPERATE, 10); - registerVanillaBiome(Biomes.BIRCH_FOREST, BOPClimates.COOL_TEMPERATE, 7); registerVanillaBiome(Biomes.PLAINS, BOPClimates.WARM_TEMPERATE, 10); registerVanillaBiome(Biomes.SWAMP, BOPClimates.SUBTROPICAL, 7); registerVanillaBiome(Biomes.LUKEWARM_OCEAN, BOPClimates.SUBTROPICAL, 3); @@ -300,16 +316,19 @@ public class ModBiomes registerVillagerType(gravel_beach, VillagerType.PLAINS); registerVillagerType(grove, VillagerType.PLAINS); registerVillagerType(highland, VillagerType.PLAINS); + registerVillagerType(highland_crag, VillagerType.PLAINS); registerVillagerType(highland_moor, VillagerType.PLAINS); registerVillagerType(jade_cliffs, VillagerType.PLAINS); registerVillagerType(lavender_field, VillagerType.PLAINS); registerVillagerType(lush_desert, VillagerType.SAVANNA); registerVillagerType(lush_savanna, VillagerType.SAVANNA); registerVillagerType(meadow, VillagerType.TAIGA); + registerVillagerType(meadow_forest, VillagerType.TAIGA); registerVillagerType(muskeg, VillagerType.SNOW); registerVillagerType(mystic_grove, VillagerType.PLAINS); registerVillagerType(mystic_plains, VillagerType.PLAINS); registerVillagerType(ominous_woods, VillagerType.SWAMP); + registerVillagerType(ominous_mire, VillagerType.SWAMP); registerVillagerType(orchard, VillagerType.PLAINS); registerVillagerType(origin_valley, VillagerType.PLAINS); registerVillagerType(overgrown_fungal_jungle, VillagerType.JUNGLE); @@ -320,12 +339,14 @@ public class ModBiomes registerVillagerType(rainforest_cliffs, VillagerType.JUNGLE); registerVillagerType(redwood_forest, VillagerType.PLAINS); registerVillagerType(redwood_forest_edge, VillagerType.PLAINS); + registerVillagerType(redwood_hills, VillagerType.PLAINS); registerVillagerType(seasonal_forest, VillagerType.PLAINS); registerVillagerType(seasonal_pumpkin_patch, VillagerType.PLAINS); registerVillagerType(shroomy_wetland, VillagerType.SWAMP); registerVillagerType(shrubland, VillagerType.PLAINS); registerVillagerType(shrubland_hills, VillagerType.PLAINS); registerVillagerType(silkglade, VillagerType.SWAMP); + registerVillagerType(silkglade_nest, VillagerType.SWAMP); registerVillagerType(snowy_coniferous_forest, VillagerType.SNOW); registerVillagerType(snowy_fir_clearing, VillagerType.SNOW); registerVillagerType(snowy_maple_forest, VillagerType.SNOW); diff --git a/src/main/java/biomesoplenty/init/ModEntities.java b/src/main/java/biomesoplenty/init/ModEntities.java index 508f24fb0..9f7bc1327 100644 --- a/src/main/java/biomesoplenty/init/ModEntities.java +++ b/src/main/java/biomesoplenty/init/ModEntities.java @@ -7,85 +7,5 @@ ******************************************************************************/ package biomesoplenty.init; -import biomesoplenty.common.entity.DeerEntity; -import biomesoplenty.common.entity.DeerRenderer; -import biomesoplenty.common.entity.TurkeyEntity; -import biomesoplenty.common.entity.TurkeyRenderer; -import biomesoplenty.common.util.inventory.ItemGroupBOP; -import biomesoplenty.core.BiomesOPlenty; -import com.google.common.collect.Lists; -import net.minecraft.entity.EntityClassification; -import net.minecraft.entity.EntitySpawnPlacementRegistry; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.ai.attributes.GlobalEntityTypeAttributes; -import net.minecraft.entity.passive.AnimalEntity; -import net.minecraft.item.Item; -import net.minecraft.item.SpawnEggItem; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.gen.Heightmap; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.event.RegistryEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.client.registry.RenderingRegistry; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.registries.ForgeRegistries; - -import java.util.List; - -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD) -public class ModEntities -{ - private static List entities = Lists.newArrayList(); - private static List spawnEggs = Lists.newArrayList(); - - public static EntityType deer = addEntity(DeerEntity::new, EntityClassification.CREATURE, 1.0F, 1.6F, "deer", 0x765134, 0xF7EFE6); - public static EntityType turkey = addEntity(TurkeyEntity::new, EntityClassification.CREATURE, 0.9F, 1.4F, "turkey", 0x6B492E, 0xE23131); - - public static EntityType addEntity(EntityType.IFactory type, EntityClassification classification, float width, float height, String name, int eggPrimary, int eggSecondary) - { - EntityType entity = EntityType.Builder.of(type, classification).sized(width, height).build(BiomesOPlenty.MOD_ID + ":" + name); - entity.setRegistryName(new ResourceLocation(BiomesOPlenty.MOD_ID, name)); - entities.add(entity); - - Item spawnEgg = new SpawnEggItem(entity, eggPrimary, eggSecondary, (new Item.Properties()).tab(ItemGroupBOP.instance)); - spawnEgg.setRegistryName(new ResourceLocation(BiomesOPlenty.MOD_ID, name + "_spawn_egg")); - spawnEggs.add(spawnEgg); - - return entity; - } - - @SubscribeEvent - public static void registerEntities(RegistryEvent.Register> event) - { - for (EntityType entity : entities) - { - ForgeRegistries.ENTITIES.register(entity); - } - } - - @SubscribeEvent - public static void registerSpawnEggs(RegistryEvent.Register event) - { - for (Item spawnEgg : spawnEggs) - { - ForgeRegistries.ITEMS.register(spawnEgg); - } - } - - @OnlyIn(Dist.CLIENT) - public static void registerRendering() - { - RenderingRegistry.registerEntityRenderingHandler(deer, DeerRenderer::new); - RenderingRegistry.registerEntityRenderingHandler(turkey, TurkeyRenderer::new); - } - - public static void setup() - { - EntitySpawnPlacementRegistry.register(deer, EntitySpawnPlacementRegistry.PlacementType.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, DeerEntity::checkAnimalSpawnRules); - EntitySpawnPlacementRegistry.register(turkey, EntitySpawnPlacementRegistry.PlacementType.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, TurkeyEntity::checkAnimalSpawnRules); - - GlobalEntityTypeAttributes.put(deer, DeerEntity.createAttributes().build()); - GlobalEntityTypeAttributes.put(turkey, TurkeyEntity.createAttributes().build()); - } +public class ModEntities { } diff --git a/src/main/java/biomesoplenty/init/ModItems.java b/src/main/java/biomesoplenty/init/ModItems.java index 382cf79df..fb15549ad 100644 --- a/src/main/java/biomesoplenty/init/ModItems.java +++ b/src/main/java/biomesoplenty/init/ModItems.java @@ -25,10 +25,6 @@ import static biomesoplenty.api.item.BOPItems.*; @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD) public class ModItems { - public static final Food VENISON = (new Food.Builder()).nutrition(3).saturationMod(0.3F).meat().build(); - public static final Food COOKED_VENISON = (new Food.Builder()).nutrition(8).saturationMod(0.8F).meat().build(); - public static final Food TURKEY_LEG = (new Food.Builder()).nutrition(1).saturationMod(0.15F).effect(new EffectInstance(Effects.HUNGER, 600, 0), 0.3F).meat().build(); - public static final Food COOKED_TURKEY_LEG = (new Food.Builder()).nutrition(3).saturationMod(0.3F).meat().build(); @SubscribeEvent public static void registerItems(RegistryEvent.Register event) @@ -50,11 +46,6 @@ public class ModItems umbran_boat = registerItem(new BoatItem(BoatEntity.Type.OAK, (new Item.Properties()).stacksTo(1).tab(ItemGroupBOP.instance)), "umbran_boat"); hellbark_boat = registerItem(new BoatItem(BoatEntity.Type.OAK, (new Item.Properties()).stacksTo(1).tab(ItemGroupBOP.instance)), "hellbark_boat"); - venison = registerItem(new Item(new Item.Properties().tab(ItemGroupBOP.instance).food(VENISON)), "venison"); - cooked_venison = registerItem(new Item(new Item.Properties().tab(ItemGroupBOP.instance).food(COOKED_VENISON)), "cooked_venison"); - turkey_leg = registerItem(new Item(new Item.Properties().tab(ItemGroupBOP.instance).food(TURKEY_LEG)), "turkey_leg"); - cooked_turkey_leg = registerItem(new Item(new Item.Properties().tab(ItemGroupBOP.instance).food(COOKED_TURKEY_LEG)), "cooked_turkey_leg"); - bop_icon = registerItem(new Item(new Item.Properties()), "bop_icon"); } diff --git a/src/main/java/biomesoplenty/init/ModSounds.java b/src/main/java/biomesoplenty/init/ModSounds.java index 12ee3b30b..b311bda63 100644 --- a/src/main/java/biomesoplenty/init/ModSounds.java +++ b/src/main/java/biomesoplenty/init/ModSounds.java @@ -26,13 +26,6 @@ public class ModSounds public static void registerSounds(RegistryEvent.Register event) { music_disc_wanderer = registerSound("music_disc.wanderer"); - deer_hurt = registerSound("entity.biomesoplenty.deer.hurt"); - deer_dead = registerSound("entity.biomesoplenty.deer.dead"); - deer_step = SoundEvents.LLAMA_STEP; - turkey_ambient = registerSound("entity.biomesoplenty.turkey.ambient"); - turkey_hurt = registerSound("entity.biomesoplenty.turkey.hurt"); - turkey_dead = registerSound("entity.biomesoplenty.turkey.dead"); - turkey_step = SoundEvents.CHICKEN_STEP; } private static SoundEvent registerSound(String soundName) diff --git a/src/main/resources/assets/biomesoplenty/lang/en_us.json b/src/main/resources/assets/biomesoplenty/lang/en_us.json index f8d5cfab2..f109999fa 100644 --- a/src/main/resources/assets/biomesoplenty/lang/en_us.json +++ b/src/main/resources/assets/biomesoplenty/lang/en_us.json @@ -18,7 +18,6 @@ "biome.biomesoplenty.coniferous_lakes": "Coniferous Lakes", "biome.biomesoplenty.crystalline_chasm": "Crystalline Chasm", "biome.biomesoplenty.dead_forest": "Dead Forest", - "biome.biomesoplenty.dead_plains": "Dead Plains", "biome.biomesoplenty.dense_bayou": "Dense Bayou", "biome.biomesoplenty.dryland": "Dryland", "biome.biomesoplenty.dry_steppe": "Dry Steppe", @@ -29,15 +28,19 @@ "biome.biomesoplenty.gravel_beach": "Gravel Beach", "biome.biomesoplenty.grove": "Grove", "biome.biomesoplenty.highland": "Highland", + "biome.biomesoplenty.highland_crag": "Highland Crag", "biome.biomesoplenty.highland_moor": "Highland Moor", "biome.biomesoplenty.jade_cliffs": "Jade Cliffs", + "biome.biomesoplenty.jade_grassland": "Jade Grassland", "biome.biomesoplenty.lavender_field": "Lavender Field", "biome.biomesoplenty.lush_desert": "Lush Desert", "biome.biomesoplenty.lush_savanna": "Lush Savanna", "biome.biomesoplenty.meadow": "Meadow", + "biome.biomesoplenty.meadow_forest": "Meadow Forest", "biome.biomesoplenty.muskeg": "Muskeg", "biome.biomesoplenty.mystic_grove": "Mystic Grove", "biome.biomesoplenty.mystic_plains": "Mystic Plains", + "biome.biomesoplenty.ominous_mire": "Ominous Mire", "biome.biomesoplenty.ominous_woods": "Ominous Woods", "biome.biomesoplenty.orchard": "Orchard", "biome.biomesoplenty.origin_valley": "Origin Valley", @@ -49,12 +52,14 @@ "biome.biomesoplenty.rainforest_cliffs": "Rainforest Cliffs", "biome.biomesoplenty.redwood_forest": "Redwood Forest", "biome.biomesoplenty.redwood_forest_edge": "Redwood Forest Edge", + "biome.biomesoplenty.redwood_hills": "Redwood Hills", "biome.biomesoplenty.seasonal_forest": "Seasonal Forest", "biome.biomesoplenty.seasonal_pumpkin_patch": "Seasonal Pumpkin Patch", "biome.biomesoplenty.shroomy_wetland": "Shroomy Wetland", "biome.biomesoplenty.shrubland": "Shrubland", "biome.biomesoplenty.shrubland_hills": "Shrubland Hills", "biome.biomesoplenty.silkglade": "Silkglade", + "biome.biomesoplenty.silkglade_nest": "Silkglade Nest", "biome.biomesoplenty.snowy_coniferous_forest": "Snowy Coniferous Forest", "biome.biomesoplenty.snowy_fir_clearing": "Snowy Fir Clearing", "biome.biomesoplenty.snowy_maple_forest": "Snowy Maple Forest", @@ -74,10 +79,7 @@ "item.biomesoplenty.bop_icon": "BOP Icon", "item.biomesoplenty.cherry_boat": "Cherry Boat", - "item.biomesoplenty.cooked_turkey_leg": "Cooked Turkey Leg", - "item.biomesoplenty.cooked_venison": "Cooked Venison", "item.biomesoplenty.dead_boat": "Dead Boat", - "item.biomesoplenty.deer_spawn_egg": "Deer Spawn Egg", "item.biomesoplenty.fir_boat": "Fir Boat", "item.biomesoplenty.hellbark_boat": "Hellbark Boat", "item.biomesoplenty.jacaranda_boat": "Jacaranda Boat", @@ -89,10 +91,7 @@ "item.biomesoplenty.music_disc_wanderer.desc": "Tim Rurkowski - Wanderer", "item.biomesoplenty.palm_boat": "Palm Boat", "item.biomesoplenty.redwood_boat": "Redwood Boat", - "item.biomesoplenty.turkey_leg": "Raw Turkey Leg", - "item.biomesoplenty.turkey_spawn_egg": "Turkey Spawn Egg", "item.biomesoplenty.umbran_boat": "Umbran Boat", - "item.biomesoplenty.venison": "Raw Venison", "item.biomesoplenty.willow_boat": "Willow Boat", "block.biomesoplenty.black_sand": "Black Sand", @@ -404,7 +403,5 @@ "commands.biomesoplenty.tpbiome.success": "Teleported %s to biome %s at (%s, %s, %s)", "commands.biomesoplenty.tpbiome.error": "Couldn't find biome %s!", - "entity.biomesoplenty.boat_bop": "Boat", - "entity.biomesoplenty.deer": "Deer", - "entity.biomesoplenty.turkey": "Turkey" + "entity.biomesoplenty.boat_bop": "Boat" } \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/cooked_turkey_leg.json b/src/main/resources/assets/biomesoplenty/models/item/cooked_turkey_leg.json deleted file mode 100644 index 65722ea92..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cooked_turkey_leg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:item/cooked_turkey_leg" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/cooked_venison.json b/src/main/resources/assets/biomesoplenty/models/item/cooked_venison.json deleted file mode 100644 index 734f70a03..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cooked_venison.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:item/cooked_venison" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/deer_spawn_egg.json b/src/main/resources/assets/biomesoplenty/models/item/deer_spawn_egg.json deleted file mode 100644 index 765225c94..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/deer_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "item/template_spawn_egg" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/turkey_leg.json b/src/main/resources/assets/biomesoplenty/models/item/turkey_leg.json deleted file mode 100644 index a2c9b63a3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/turkey_leg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:item/turkey_leg" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/turkey_spawn_egg.json b/src/main/resources/assets/biomesoplenty/models/item/turkey_spawn_egg.json deleted file mode 100644 index 765225c94..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/turkey_spawn_egg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "item/template_spawn_egg" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/venison.json b/src/main/resources/assets/biomesoplenty/models/item/venison.json deleted file mode 100644 index 89db09d1c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/venison.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:item/venison" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/sounds.json b/src/main/resources/assets/biomesoplenty/sounds.json index c3a0ee861..64f224cf5 100644 --- a/src/main/resources/assets/biomesoplenty/sounds.json +++ b/src/main/resources/assets/biomesoplenty/sounds.json @@ -6,30 +6,5 @@ "stream": true } ] - }, - "entity.biomesoplenty.turkey.ambient": { - "sounds": [ - "biomesoplenty:entity/turkey/ambient" - ] - }, - "entity.biomesoplenty.turkey.hurt": { - "sounds": [ - "biomesoplenty:entity/turkey/hurt" - ] - }, - "entity.biomesoplenty.turkey.dead": { - "sounds": [ - "biomesoplenty:entity/turkey/dead" - ] - }, - "entity.biomesoplenty.deer.hurt": { - "sounds": [ - "biomesoplenty:entity/deer/hurt" - ] - }, - "entity.biomesoplenty.deer.dead": { - "sounds": [ - "biomesoplenty:entity/deer/dead" - ] } } \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/sounds/entity/deer/dead.ogg b/src/main/resources/assets/biomesoplenty/sounds/entity/deer/dead.ogg deleted file mode 100644 index 144198545..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/entity/deer/dead.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/sounds/entity/deer/hurt.ogg b/src/main/resources/assets/biomesoplenty/sounds/entity/deer/hurt.ogg deleted file mode 100644 index 5379936c8..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/entity/deer/hurt.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/ambient.ogg b/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/ambient.ogg deleted file mode 100644 index 5b04744e2..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/ambient.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/dead.ogg b/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/dead.ogg deleted file mode 100644 index 95ff25d5f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/dead.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/hurt.ogg b/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/hurt.ogg deleted file mode 100644 index 16995fbb9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/entity/turkey/hurt.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/deer.png b/src/main/resources/assets/biomesoplenty/textures/entity/deer.png deleted file mode 100644 index 902704b38..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/deer.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/fawn.png b/src/main/resources/assets/biomesoplenty/textures/entity/fawn.png deleted file mode 100644 index dc2ec689c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/fawn.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/turkey.png b/src/main/resources/assets/biomesoplenty/textures/entity/turkey.png deleted file mode 100644 index e2f1a3878..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/turkey.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/item/cooked_turkey_leg.png b/src/main/resources/assets/biomesoplenty/textures/item/cooked_turkey_leg.png deleted file mode 100644 index 49f079ecd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/item/cooked_turkey_leg.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/item/cooked_venison.png b/src/main/resources/assets/biomesoplenty/textures/item/cooked_venison.png deleted file mode 100644 index 315b92427..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/item/cooked_venison.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/item/turkey_leg.png b/src/main/resources/assets/biomesoplenty/textures/item/turkey_leg.png deleted file mode 100644 index f3871af93..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/item/turkey_leg.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/item/venison.png b/src/main/resources/assets/biomesoplenty/textures/item/venison.png deleted file mode 100644 index 1a097ba8d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/item/venison.png and /dev/null differ diff --git a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json index 9dee4b280..97d86f157 100644 --- a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json +++ b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json @@ -134,6 +134,12 @@ "conditions": { "biome": "biomesoplenty:highland" } + }, + "highland_crag": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:highland_crag" + } }, "highland_moor": { "trigger": "minecraft:location", @@ -146,6 +152,12 @@ "conditions": { "biome": "biomesoplenty:jade_cliffs" } + }, + "jade_grassland": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:jade_grassland" + } }, "lavender_field": { "trigger": "minecraft:location", @@ -170,6 +182,12 @@ "conditions": { "biome": "biomesoplenty:meadow" } + }, + "meadow_forest": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:meadow_forest" + } }, "muskeg": { "trigger": "minecraft:location", @@ -194,6 +212,12 @@ "conditions": { "biome": "biomesoplenty:ominous_woods" } + }, + "ominous_mire": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:ominous_mire" + } }, "orchard": { "trigger": "minecraft:location", @@ -254,6 +278,12 @@ "conditions": { "biome": "biomesoplenty:redwood_forest_edge" } + }, + "redwood_hills": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:redwood_hills" + } }, "seasonal_forest": { "trigger": "minecraft:location", @@ -290,6 +320,12 @@ "conditions": { "biome": "biomesoplenty:silkglade" } + }, + "silkglade_nest": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:silkglade_nest" + } }, "snowy_coniferous_forest": { "trigger": "minecraft:location", diff --git a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json index a73e0f27e..16b0c9519 100644 --- a/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json +++ b/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json @@ -133,6 +133,12 @@ "conditions": { "biome": "biomesoplenty:highland" } + }, + "highland_crag": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:highland_crag" + } }, "highland_moor": { "trigger": "minecraft:location", @@ -145,6 +151,12 @@ "conditions": { "biome": "biomesoplenty:jade_cliffs" } + }, + "jade_grassland": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:jade_grassland" + } }, "lavender_field": { "trigger": "minecraft:location", @@ -169,6 +181,12 @@ "conditions": { "biome": "biomesoplenty:meadow" } + }, + "meadow_forest": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:meadow_forest" + } }, "muskeg": { "trigger": "minecraft:location", @@ -193,6 +211,12 @@ "conditions": { "biome": "biomesoplenty:ominous_woods" } + }, + "ominous_mire": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:ominous_mire" + } }, "orchard": { "trigger": "minecraft:location", @@ -253,6 +277,12 @@ "conditions": { "biome": "biomesoplenty:redwood_forest_edge" } + }, + "redwood_hills": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:redwood_hills" + } }, "seasonal_forest": { "trigger": "minecraft:location", @@ -289,6 +319,12 @@ "conditions": { "biome": "biomesoplenty:silkglade" } + }, + "silkglade_nest": { + "trigger": "minecraft:location", + "conditions": { + "biome": "biomesoplenty:silkglade_nest" + } }, "snowy_coniferous_forest": { "trigger": "minecraft:location", @@ -409,16 +445,20 @@ "gravel_beach", "grove", "highland", + "highland_crag", "highland_moor", "jade_cliffs", + "jade_grassland", "lavender_field", "lush_desert", "lush_savanna", "meadow", + "meadow_forest", "muskeg", "mystic_grove", "mystic_plains", "ominous_woods", + "ominous_mire", "orchard", "origin_valley", "overgrown_fungal_jungle", @@ -429,12 +469,14 @@ "rainforest_cliffs", "redwood_forest", "redwood_forest_edge", + "redwood_hills", "seasonal_forest", "seasonal_pumpkin_patch", "shroomy_wetland", "shrubland", "shrubland_hills", "silkglade", + "silkglade_nest", "snowy_coniferous_forest", "snowy_fir_clearing", "snowy_maple_forest", diff --git a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg.json b/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg.json deleted file mode 100644 index d302bfa34..000000000 --- a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "biomesoplenty:cooked_turkey_leg" - ] - }, - "criteria": { - "has_turkey_leg": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:turkey_leg" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cooked_turkey_leg" - } - } - }, - "requirements": [ - [ - "has_turkey_leg", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg_from_campfire_cooking.json b/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg_from_campfire_cooking.json deleted file mode 100644 index 8e255f7fd..000000000 --- a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg_from_campfire_cooking.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "biomesoplenty:cooked_turkey_leg_from_campfire_cooking" - ] - }, - "criteria": { - "has_turkey_leg": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:turkey_leg" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cooked_turkey_leg_from_campfire_cooking" - } - } - }, - "requirements": [ - [ - "has_turkey_leg", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg_from_smoking.json b/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg_from_smoking.json deleted file mode 100644 index 0c96ca0fb..000000000 --- a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_turkey_leg_from_smoking.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "biomesoplenty:cooked_turkey_leg_from_smoking" - ] - }, - "criteria": { - "has_turkey_leg": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:turkey_leg" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cooked_turkey_leg_from_smoking" - } - } - }, - "requirements": [ - [ - "has_turkey_leg", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison.json b/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison.json deleted file mode 100644 index 420a5e8eb..000000000 --- a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "biomesoplenty:cooked_venison" - ] - }, - "criteria": { - "has_venison": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:venison" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cooked_venison" - } - } - }, - "requirements": [ - [ - "has_venison", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison_from_campfire_cooking.json b/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison_from_campfire_cooking.json deleted file mode 100644 index ea415df08..000000000 --- a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison_from_campfire_cooking.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "biomesoplenty:cooked_venison_from_campfire_cooking" - ] - }, - "criteria": { - "has_venison": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:venison" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cooked_venison_from_campfire_cooking" - } - } - }, - "requirements": [ - [ - "has_venison", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison_from_smoking.json b/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison_from_smoking.json deleted file mode 100644 index 3fa830c8f..000000000 --- a/src/main/resources/data/biomesoplenty/advancements/recipes/food/cooked_venison_from_smoking.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "biomesoplenty:cooked_venison_from_smoking" - ] - }, - "criteria": { - "has_venison": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:venison" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cooked_venison_from_smoking" - } - } - }, - "requirements": [ - [ - "has_venison", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/loot_tables/entities/deer.json b/src/main/resources/data/biomesoplenty/loot_tables/entities/deer.json deleted file mode 100644 index a198bb363..000000000 --- a/src/main/resources/data/biomesoplenty/loot_tables/entities/deer.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:furnace_smelt", - "conditions": [ - { - "condition": "minecraft:entity_properties", - "predicate": { - "flags": { - "is_on_fire": true - } - }, - "entity": "this" - } - ] - }, - { - "function": "minecraft:looting_enchant", - "count": { - "min": 0.0, - "max": 1.0 - } - } - ], - "name": "biomesoplenty:venison" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/loot_tables/entities/turkey.json b/src/main/resources/data/biomesoplenty/loot_tables/entities/turkey.json deleted file mode 100644 index 8af342a9a..000000000 --- a/src/main/resources/data/biomesoplenty/loot_tables/entities/turkey.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:looting_enchant", - "count": { - "min": 0.0, - "max": 1.0 - } - } - ], - "name": "minecraft:feather" - } - ] - }, - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:furnace_smelt", - "conditions": [ - { - "condition": "minecraft:entity_properties", - "predicate": { - "flags": { - "is_on_fire": true - } - }, - "entity": "this" - } - ] - }, - { - "function": "minecraft:looting_enchant", - "count": { - "min": 0.0, - "max": 1.0 - } - } - ], - "name": "biomesoplenty:turkey_leg" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg.json b/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg.json deleted file mode 100644 index a3dcb4d66..000000000 --- a/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minecraft:smelting", - "ingredient": { - "item": "biomesoplenty:turkey_leg" - }, - "result": "biomesoplenty:cooked_turkey_leg", - "experience": 0.35, - "cookingtime": 200 -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg_from_campfire_cooking.json b/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg_from_campfire_cooking.json deleted file mode 100644 index 1657e02e1..000000000 --- a/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg_from_campfire_cooking.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minecraft:campfire_cooking", - "ingredient": { - "item": "biomesoplenty:turkey_leg" - }, - "result": "biomesoplenty:cooked_turkey_leg", - "experience": 0.35, - "cookingtime": 600 -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg_from_smoking.json b/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg_from_smoking.json deleted file mode 100644 index 8ef177a2e..000000000 --- a/src/main/resources/data/biomesoplenty/recipes/cooked_turkey_leg_from_smoking.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minecraft:smoking", - "ingredient": { - "item": "biomesoplenty:turkey_leg" - }, - "result": "biomesoplenty:cooked_turkey_leg", - "experience": 0.35, - "cookingtime": 100 -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/recipes/cooked_venison.json b/src/main/resources/data/biomesoplenty/recipes/cooked_venison.json deleted file mode 100644 index d57cf51ce..000000000 --- a/src/main/resources/data/biomesoplenty/recipes/cooked_venison.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minecraft:smelting", - "ingredient": { - "item": "biomesoplenty:venison" - }, - "result": "biomesoplenty:cooked_venison", - "experience": 0.35, - "cookingtime": 200 -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/recipes/cooked_venison_from_campfire_cooking.json b/src/main/resources/data/biomesoplenty/recipes/cooked_venison_from_campfire_cooking.json deleted file mode 100644 index e9b1550b5..000000000 --- a/src/main/resources/data/biomesoplenty/recipes/cooked_venison_from_campfire_cooking.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minecraft:campfire_cooking", - "ingredient": { - "item": "biomesoplenty:venison" - }, - "result": "biomesoplenty:cooked_venison", - "experience": 0.35, - "cookingtime": 600 -} \ No newline at end of file diff --git a/src/main/resources/data/biomesoplenty/recipes/cooked_venison_from_smoking.json b/src/main/resources/data/biomesoplenty/recipes/cooked_venison_from_smoking.json deleted file mode 100644 index 1947a1bc8..000000000 --- a/src/main/resources/data/biomesoplenty/recipes/cooked_venison_from_smoking.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minecraft:smoking", - "ingredient": { - "item": "biomesoplenty:venison" - }, - "result": "biomesoplenty:cooked_venison", - "experience": 0.35, - "cookingtime": 100 -} \ No newline at end of file