diff --git a/src/main/java/ru/betterend/registry/EndBiomes.java b/src/main/java/ru/betterend/registry/EndBiomes.java index 23d57b43..9998052a 100644 --- a/src/main/java/ru/betterend/registry/EndBiomes.java +++ b/src/main/java/ru/betterend/registry/EndBiomes.java @@ -92,25 +92,26 @@ public class EndBiomes { biomeRegistry.forEach((biome) -> { if (biome.getCategory() == Category.THEEND) { Identifier id = biomeRegistry.getId(biome); - if (!LAND_BIOMES.containsImmutable(id) && !VOID_BIOMES.containsImmutable(id)) { - JsonObject config = configs.get(id.getNamespace()); - if (config == null) { - config = loadJsonConfig(id.getNamespace()); - configs.put(id.getNamespace(), config); - } - float fog = 1F; - float chance = 1F; - boolean isVoid = false; - boolean hasCaves = true; - JsonElement element = config.get(id.getPath()); - if (element != null && element.isJsonObject()) { - fog = JsonFactory.getFloat(element.getAsJsonObject(), "fog_density", 1); - chance = JsonFactory.getFloat(element.getAsJsonObject(), "generation_chance", 1); - isVoid = JsonFactory.getString(element.getAsJsonObject(), "type", "land").equals("void"); - hasCaves = JsonFactory.getBoolean(element.getAsJsonObject(), "has_caves", true); - } - EndBiome endBiome = new EndBiome(id, biome, fog, chance, hasCaves); - if (Configs.BIOME_CONFIG.getBoolean(endBiome, "enabled", true)) { + if (Configs.BIOME_CONFIG.getBoolean(id, "enabled", true)) { + if (!LAND_BIOMES.containsImmutable(id) && !VOID_BIOMES.containsImmutable(id)) { + JsonObject config = configs.get(id.getNamespace()); + if (config == null) { + config = loadJsonConfig(id.getNamespace()); + configs.put(id.getNamespace(), config); + } + float fog = 1F; + float chance = 1F; + boolean isVoid = false; + boolean hasCaves = true; + JsonElement element = config.get(id.getPath()); + if (element != null && element.isJsonObject()) { + fog = JsonFactory.getFloat(element.getAsJsonObject(), "fog_density", 1); + chance = JsonFactory.getFloat(element.getAsJsonObject(), "generation_chance", 1); + isVoid = JsonFactory.getString(element.getAsJsonObject(), "type", "land").equals("void"); + hasCaves = JsonFactory.getBoolean(element.getAsJsonObject(), "has_caves", true); + } + EndBiome endBiome = new EndBiome(id, biome, fog, chance, hasCaves); + if (isVoid) { VOID_BIOMES.addBiomeMutable(endBiome); } @@ -278,7 +279,7 @@ public class EndBiomes { } BetterEnd.LOGGER.info(message + possibleID); } - if (Configs.BIOME_CONFIG.getBoolean(biome, "enabled", true)) { + if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) { Registry.register(BuiltinRegistries.BIOME, possibleID, biome.getID().toString(), biome.getBiome()); } } diff --git a/src/main/java/ru/betterend/registry/EndParticles.java b/src/main/java/ru/betterend/registry/EndParticles.java index 6e43c3af..e77affbe 100644 --- a/src/main/java/ru/betterend/registry/EndParticles.java +++ b/src/main/java/ru/betterend/registry/EndParticles.java @@ -22,6 +22,7 @@ public class EndParticles { public static final DefaultParticleType SULPHUR_PARTICLE = register("sulphur_particle"); public static final DefaultParticleType GEYSER_PARTICLE = registerFar("geyser_particle"); public static final DefaultParticleType SNOWFLAKE = register("snowflake"); + public static final DefaultParticleType AMBER_SPHERE = register("amber_sphere"); public static void register() { ParticleFactoryRegistry.getInstance().register(GLOWING_SPHERE, ParticleGlowingSphere.FactoryGlowingSphere::new); @@ -30,6 +31,7 @@ public class EndParticles { ParticleFactoryRegistry.getInstance().register(SULPHUR_PARTICLE, ParticleSulphur.FactorySulphur::new); ParticleFactoryRegistry.getInstance().register(GEYSER_PARTICLE, ParticleGeyser.FactoryGeyser::new); ParticleFactoryRegistry.getInstance().register(SNOWFLAKE, ParticleSnowflake.FactorySnowflake::new); + ParticleFactoryRegistry.getInstance().register(AMBER_SPHERE, ParticleGlowingSphere.FactoryGlowingSphere::new); } private static DefaultParticleType register(String name) { diff --git a/src/main/java/ru/betterend/registry/EndSounds.java b/src/main/java/ru/betterend/registry/EndSounds.java index c86c136f..47f2eba0 100644 --- a/src/main/java/ru/betterend/registry/EndSounds.java +++ b/src/main/java/ru/betterend/registry/EndSounds.java @@ -13,6 +13,7 @@ public class EndSounds { public static final SoundEvent MUSIC_DUST_WASTELANDS = register("music", "dust_wastelands"); public static final SoundEvent MUSIC_SHADOW_FOREST = register("music", "shadow_forest"); public static final SoundEvent MUSIC_BLOSSOMING_SPIRES = register("music", "blossoming_spires"); + public static final SoundEvent MUSIC_AMBER_LAND = register("music", "amber_land"); // Ambient public static final SoundEvent AMBIENT_FOGGY_MUSHROOMLAND = register("ambient", "foggy_mushroomland"); diff --git a/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java b/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java index 25a2c743..b9a99982 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java +++ b/src/main/java/ru/betterend/world/biome/BiomeAmberLand.java @@ -4,6 +4,8 @@ import net.minecraft.entity.EntityType; import net.minecraft.world.gen.feature.ConfiguredStructureFeatures; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndFeatures; +import ru.betterend.registry.EndParticles; +import ru.betterend.registry.EndSounds; public class BiomeAmberLand extends EndBiome { public BiomeAmberLand() { @@ -12,6 +14,8 @@ public class BiomeAmberLand extends EndBiome { .setFogDensity(2.0F) .setPlantsColor(219, 115, 38) .setWaterAndFogColor(145, 108, 72) + .setMusic(EndSounds.MUSIC_AMBER_LAND) + .setParticles(EndParticles.AMBER_SPHERE, 0.001F) .setSurface(EndBlocks.AMBER_MOSS) .addFeature(EndFeatures.AMBER_ORE) .addFeature(EndFeatures.END_LAKE_RARE) diff --git a/src/main/java/ru/betterend/world/biome/EndBiome.java b/src/main/java/ru/betterend/world/biome/EndBiome.java index 73b6944f..8e0ab030 100644 --- a/src/main/java/ru/betterend/world/biome/EndBiome.java +++ b/src/main/java/ru/betterend/world/biome/EndBiome.java @@ -40,18 +40,18 @@ public class EndBiome { public EndBiome(BiomeDefinition definition) { biome = definition.build(); mcID = definition.getID(); - fogDensity = Configs.BIOME_CONFIG.getFloat(this, "fog_density", definition.getFodDensity()); - genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(this, "generation_chance", definition.getGenChance()); - hasCaves = Configs.BIOME_CONFIG.getBoolean(this, "has_caves", definition.hasCaves()); + fogDensity = Configs.BIOME_CONFIG.getFloat(mcID, "fog_density", definition.getFodDensity()); + genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(mcID, "generation_chance", definition.getGenChance()); + hasCaves = Configs.BIOME_CONFIG.getBoolean(mcID, "has_caves", definition.hasCaves()); readStructureList(); } public EndBiome(Identifier id, Biome biome, float fogDensity, float genChance, boolean hasCaves) { this.biome = biome; this.mcID = id; - this.fogDensity = Configs.BIOME_CONFIG.getFloat(this, "fog_density", fogDensity); - this.genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(this, "generation_chance", genChance); - this.hasCaves = Configs.BIOME_CONFIG.getBoolean(this, "has_caves", hasCaves); + this.fogDensity = Configs.BIOME_CONFIG.getFloat(mcID, "fog_density", fogDensity); + this.genChanceUnmutable = Configs.BIOME_CONFIG.getFloat(mcID, "generation_chance", genChance); + this.hasCaves = Configs.BIOME_CONFIG.getBoolean(mcID, "has_caves", hasCaves); readStructureList(); } diff --git a/src/main/resources/assets/betterend/particles/amber_sphere.json b/src/main/resources/assets/betterend/particles/amber_sphere.json new file mode 100644 index 00000000..9b3a09c8 --- /dev/null +++ b/src/main/resources/assets/betterend/particles/amber_sphere.json @@ -0,0 +1,38 @@ +{ + "textures": [ + "betterend:amber_sphere_0", + "betterend:amber_sphere_1", + "betterend:amber_sphere_2", + "betterend:amber_sphere_3", + "betterend:amber_sphere_4", + + "betterend:amber_sphere_5", + "betterend:amber_sphere_6", + "betterend:amber_sphere_7", + "betterend:amber_sphere_6", + "betterend:amber_sphere_5", + + "betterend:amber_sphere_4", + + "betterend:amber_sphere_5", + "betterend:amber_sphere_6", + "betterend:amber_sphere_7", + "betterend:amber_sphere_6", + "betterend:amber_sphere_5", + + "betterend:amber_sphere_4", + + "betterend:amber_sphere_5", + "betterend:amber_sphere_6", + "betterend:amber_sphere_7", + "betterend:amber_sphere_6", + "betterend:amber_sphere_5", + + "betterend:amber_sphere_4", + + "betterend:amber_sphere_3", + "betterend:amber_sphere_2", + "betterend:amber_sphere_1", + "betterend:amber_sphere_0" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/sounds.json b/src/main/resources/assets/betterend/sounds.json index da079d5c..b85414e2 100644 --- a/src/main/resources/assets/betterend/sounds.json +++ b/src/main/resources/assets/betterend/sounds.json @@ -104,6 +104,21 @@ } ] }, + "betterend.music.amber_land": { + "category": "music", + "sounds": [ + { + "name": "betterend:music/bobby_richards-two_moons", + "volume": 0.2, + "stream": false + }, + { + "name": "betterend:music/astron-peaceful_mind", + "volume": 0.2, + "stream": false + } + ] + }, "betterend.ambient.foggy_mushroomland": { "category": "ambient", diff --git a/src/main/resources/assets/betterend/sounds/music/astron-peaceful_mind.ogg b/src/main/resources/assets/betterend/sounds/music/astron-peaceful_mind.ogg new file mode 100644 index 00000000..f20597fb Binary files /dev/null and b/src/main/resources/assets/betterend/sounds/music/astron-peaceful_mind.ogg differ diff --git a/src/main/resources/assets/betterend/sounds/music/bobby_richards-two_moons.ogg b/src/main/resources/assets/betterend/sounds/music/bobby_richards-two_moons.ogg new file mode 100644 index 00000000..edc4e366 Binary files /dev/null and b/src/main/resources/assets/betterend/sounds/music/bobby_richards-two_moons.ogg differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_0.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_0.png new file mode 100644 index 00000000..d10a2f8d Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_0.png differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_1.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_1.png new file mode 100644 index 00000000..262b00f4 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_1.png differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_2.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_2.png new file mode 100644 index 00000000..9c9fdfd1 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_2.png differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_3.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_3.png new file mode 100644 index 00000000..3529ff1a Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_3.png differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_4.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_4.png new file mode 100644 index 00000000..61af1e56 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_4.png differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_5.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_5.png new file mode 100644 index 00000000..f73f278f Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_5.png differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_6.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_6.png new file mode 100644 index 00000000..88885045 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_6.png differ diff --git a/src/main/resources/assets/betterend/textures/particle/amber_sphere_7.png b/src/main/resources/assets/betterend/textures/particle/amber_sphere_7.png new file mode 100644 index 00000000..7327eb0a Binary files /dev/null and b/src/main/resources/assets/betterend/textures/particle/amber_sphere_7.png differ