Skip to content

Commit

Permalink
Dynamic sounds.json fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Roadhog360 committed Jul 9, 2023
1 parent 56ef132 commit 70adbcb
Show file tree
Hide file tree
Showing 12 changed files with 1,982 additions and 306 deletions.
9 changes: 6 additions & 3 deletions src/main/java/ganymedes01/etfuturum/EtFuturum.java
Original file line number Diff line number Diff line change
Expand Up @@ -183,12 +183,15 @@ public void preInit(FMLPreInitializationEvent event) {
SpectatorMode.init();

if(event.getSide() == Side.CLIENT) {
GrayscaleWaterResourcePack.inject();
DynamicLangSoundsResourcePack.inject();


if(ConfigFunctions.enableNewTextures) {
BuiltInResourcePack.register("vanilla_overrides");
}

if(ConfigBlocksItems.enablePotionCauldron) {
GrayscaleWaterResourcePack.inject();
}
DynamicLangSoundsResourcePack.inject();
}

// if(ConfigurationHandler.enableNewNether) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import net.minecraft.client.resources.SimpleReloadableResourceManager;
import net.minecraft.client.resources.data.IMetadataSection;
import net.minecraft.client.resources.data.IMetadataSerializer;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;

import java.awt.image.BufferedImage;
Expand All @@ -29,7 +30,7 @@ public class DynamicLangSoundsResourcePack implements IResourcePack {
@Override
public Set<String> getResourceDomains() {
// No modded namespace support for now
return ImmutableSet.of("etfuturum");
return ImmutableSet.of("minecraft");
}

@Override
Expand All @@ -48,16 +49,16 @@ public String getPackName() {
}

public InputStream getInputStream(ResourceLocation resLoc) throws IOException {
if(resLoc.getResourcePath().equals("sounds.json")) {
return new ByteArrayInputStream(new JsonCreator().getJson().toString().getBytes());
}
// InputStream original = Minecraft.getMinecraft().getResourceManager().getResource(resLoc).getInputStream();
Logger.info(new JsonCreator().getJson().toString());
return new ByteArrayInputStream(new JsonCreator().getJson().toString().getBytes());
// return original;
return null;
}

public boolean resourceExists(ResourceLocation resLoc) {
if(resLoc.getResourcePath().startsWith("sounds.json")) {
return true;
}
return false;
return resLoc.getResourcePath().equals("sounds.json")/* || resLoc.getResourcePath().endsWith("lang")*/;
}

private boolean resourceExistsSomewhere(ResourceLocation resLoc) {
Expand All @@ -80,6 +81,11 @@ public static void inject() {
public class JsonCreator {
private final JsonObject rootObject = new JsonObject();

private void setReplace(String cat) {
JsonObject soundCat = JsonUtil.getOrCreateObject(rootObject, cat);
soundCat.add("replace", new JsonPrimitive(true));
}

private void addSoundsToCategory(String cat, String... sounds) {
JsonObject soundCat = JsonUtil.getOrCreateObject(rootObject, cat);
JsonArray soundList = JsonUtil.getOrCreateArray(soundCat, "sounds");
Expand All @@ -88,9 +94,46 @@ private void addSoundsToCategory(String cat, String... sounds) {
}
}

private void addSoundEventsToCategory(String cat, String... sounds) {
addSoundToCategoryWithSettings(cat, 1.0F, 1.0F, 1, false, true, sounds);
}

private void addSoundToCategoryWithSettings(String cat, float volume, float pitch, String... sounds) {
addSoundToCategoryWithSettings(cat, volume, pitch, 1, false, false, sounds);
}

private void addSoundToCategoryWithSettings(String cat, float volume, float pitch, int weight, String... sounds) {
addSoundToCategoryWithSettings(cat, volume, pitch, weight, false, false, sounds);
}

private void addSoundToCategoryWithSettings(String cat, float volume, float pitch, int weight, boolean stream, boolean isEvent, String... sounds) {
JsonObject soundCat = JsonUtil.getOrCreateObject(rootObject, cat);
JsonArray soundList = JsonUtil.getOrCreateArray(soundCat, "sounds");
for(String sound : sounds) {
JsonObject soundObj = new JsonObject();
soundObj.add("name", new JsonPrimitive(sound));
if(volume != 1.0F) {
soundObj.add("volume", new JsonPrimitive(MathHelper.clamp_float(volume, 0, 1)));
}
if(pitch != 1.0F) {
soundObj.add("pitch", new JsonPrimitive(pitch));
}
if(weight > 1) {
soundObj.add("weight", new JsonPrimitive(weight));
}
if(stream) {
soundObj.add("stream", new JsonPrimitive(true));
}
if(isEvent) {
soundObj.add("type", new JsonPrimitive("event"));
}
soundList.add(soundObj);
}
}

public JsonObject getJson() {
if(ConfigSounds.caveAmbience) {
addSoundsToCategory("minecraft:ambient.cave.cave",
addSoundsToCategory("ambient.cave.cave",
Reference.MCAssetVer + ":ambient/cave/cave14",
Reference.MCAssetVer + ":ambient/cave/cave15",
Reference.MCAssetVer + ":ambient/cave/cave16",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,6 @@ public void onPlaySoundEvent(PlaySoundEvent17 event)
return;
}
if (ConfigSounds.chestOpenClose && event.name.contains("random.chest")) {

String s = event.name;
String blockID = Block.blockRegistry.getNameForObject(block).split(":")[1].toLowerCase();
if (blockID.contains("chest") && (event.name.contains("open") || event.name.contains("close"))) {
Expand Down
73 changes: 0 additions & 73 deletions src/main/resources/assets/etfuturum/lang/de_DE.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1613,79 +1613,6 @@ item.banner.straight_cross.magenta=Magentagefärbtes Kreuz
item.banner.straight_cross.orange=Orangegefärbtes Kreuz
item.banner.straight_cross.white=Weißgefärbtes Kreuz


# vanilla overrides
tile.clayHardenedStained.black.name=Schwarze Keramik
tile.clayHardenedStained.red.name=Rote Keramik
tile.clayHardenedStained.green.name=Grüne Keramik
tile.clayHardenedStained.brown.name=Braune Keramik
tile.clayHardenedStained.blue.name=Blaue Keramik
tile.clayHardenedStained.purple.name=Violette Keramik
tile.clayHardenedStained.cyan.name=Türkise Keramik
tile.clayHardenedStained.silver.name=Hellgraue Keramik
tile.clayHardenedStained.gray.name=Graue Keramik
tile.clayHardenedStained.pink.name=Rosa Keramik
tile.clayHardenedStained.lime.name=Hellgrüne Keramik
tile.clayHardenedStained.yellow.name=Gelbe Keramik
tile.clayHardenedStained.lightBlue.name=Hellblaue Keramik
tile.clayHardenedStained.magenta.name=Magenta Keramik
tile.clayHardenedStained.orange.name=Orange Keramik
tile.clayHardenedStained.white.name=Weiße Keramik
tile.clayHardened.name=Keramik

tile.monsterStoneEgg.stone.name=Befallener Stein
tile.monsterStoneEgg.cobble.name=Befallener Bruchstein
tile.monsterStoneEgg.brick.name=Befallene Steinziegel
tile.monsterStoneEgg.mossybrick.name=Befallene bemooste Steinziegel
tile.monsterStoneEgg.crackedbrick.name=Befallene rissige Steinziegel
tile.monsterStoneEgg.chiseledbrick.name=Befallener gemeißelte Steinziegel

tile.log.name=Stamm
tile.log.oak.name=Eichenstamm
tile.log.spruce.name=Fichtenstamm
tile.log.birch.name=Birkenstamm
tile.log.jungle.name=Tropenbaumstamm
tile.log.acacia.name=Akazienstamm
tile.log.big_oak.name=Schwarzeichenstamm
tile.wood.oak.name=Eichenholzbretter
tile.wood.spruce.name=Fichtenholzbretter
tile.wood.birch.name=Birkenholzbretter
tile.wood.jungle.name=Tropenholzbretter
tile.wood.acacia.name=Akazienholzbretter
tile.wood.big_oak.name=Schwarzeichenholzbretter
tile.woodSlab.oak.name=Eichenholzstufe
tile.woodSlab.spruce.name=Fichtenholzstufe
tile.woodSlab.birch.name=Birkenholzstufe
tile.woodSlab.jungle.name=Tropenholzstufe
tile.woodSlab.acacia.name=Akazienholzstufe
tile.woodSlab.big_oak.name=Schwarzeichenholzstufe
tile.stairsWood.name=Eichenholzholztreppe
tile.stairsWoodSpruce.name=Fichtenholztreppe
tile.stairsWoodBirch.name=Birkenholztreppe
tile.stairsWoodJungle.name=Tropenholztreppe
tile.stairsWoodAcacia.name=Akazienholztreppe
tile.stairsWoodDarkOak.name=Schwarzeichenholztreppe
tile.stoneSlab.stone.name=Glatte Steinstufe
tile.stoneSlab.wood.name=Versteinerte Eichenholzstufe

tile.trapdoor.name=Eichenholzfalltür
tile.doublePlant.grass.name=Hohes Gras
tile.quartzBlock.lines.name=Quarzsäule
tile.mobSpawner.name=Spawner
tile.stoneMoss.name=Bemooster Bruchstein
tile.sandStone.smooth.name=Geschnittener Sandstein
tile.netherBrick.name=Netherziegel
tile.daylightDetector.name=Tageslichtsensor

item.redstone.name=Redstone-Staub
item.melon.name=Melonenscheibe
tile.monsterStoneEgg.stone.name=Befallener Stein
tile.monsterStoneEgg.cobble.name=Befallener Bruchstein
tile.monsterStoneEgg.brick.name=Befallene Steinziegel
tile.monsterStoneEgg.mossybrick.name=Befallene bemooste Steinziegel
tile.monsterStoneEgg.crackedbrick.name=Befallene rissige Steinziegel
tile.monsterStoneEgg.chiseledbrick.name=Befallener gemeißelte Steinziegel

efr.nei.composter=Komposter
efr.nei.amount=Menge
efr.nei.weight=Gewicht
75 changes: 0 additions & 75 deletions src/main/resources/assets/etfuturum/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1612,81 +1612,6 @@ item.banner.straight_cross.magenta=Magenta Cross
item.banner.straight_cross.orange=Orange Cross
item.banner.straight_cross.white=White Cross




# vanilla overrides
tile.clayHardenedStained.black.name=Black Terracotta
tile.clayHardenedStained.red.name=Red Terracotta
tile.clayHardenedStained.green.name=Green Terracotta
tile.clayHardenedStained.brown.name=Brown Terracotta
tile.clayHardenedStained.blue.name=Blue Terracotta
tile.clayHardenedStained.purple.name=Purple Terracotta
tile.clayHardenedStained.cyan.name=Cyan Terracotta
tile.clayHardenedStained.silver.name=Light Gray Terracotta
tile.clayHardenedStained.gray.name=Gray Terracotta
tile.clayHardenedStained.pink.name=Pink Terracotta
tile.clayHardenedStained.lime.name=Lime Terracotta
tile.clayHardenedStained.yellow.name=Yellow Terracotta
tile.clayHardenedStained.lightBlue.name=Light Blue Terracotta
tile.clayHardenedStained.magenta.name=Magenta Terracotta
tile.clayHardenedStained.orange.name=Orange Terracotta
tile.clayHardenedStained.white.name=White Terracotta
tile.clayHardened.name=Terracotta

tile.monsterStoneEgg.stone.name=Infested Stone
tile.monsterStoneEgg.cobble.name=Infested Cobblestone
tile.monsterStoneEgg.brick.name=Infested Stone Bricks
tile.monsterStoneEgg.mossybrick.name=Infested Mossy Stone Bricks
tile.monsterStoneEgg.crackedbrick.name=Infested Cracked Stone Bricks
tile.monsterStoneEgg.chiseledbrick.name=Infested Chiseled Stone Bricks

tile.log.name=Log
tile.log.oak.name=Oak Log
tile.log.spruce.name=Spruce Log
tile.log.birch.name=Birch Log
tile.log.jungle.name=Jungle Log
tile.log.acacia.name=Acacia Log
tile.log.big_oak.name=Dark Oak Log
tile.wood.oak.name=Oak Planks
tile.wood.spruce.name=Spruce Planks
tile.wood.birch.name=Birch Planks
tile.wood.jungle.name=Jungle Planks
tile.wood.acacia.name=Acacia Planks
tile.wood.big_oak.name=Dark Oak Planks
tile.woodSlab.oak.name=Oak Slab
tile.woodSlab.spruce.name=Spruce Slab
tile.woodSlab.birch.name=Birch Slab
tile.woodSlab.jungle.name=Jungle Slab
tile.woodSlab.acacia.name=Acacia Slab
tile.woodSlab.big_oak.name=Dark Oak Slab
tile.stairsWood.name=Oak Stairs
tile.stairsWoodSpruce.name=Spruce Stairs
tile.stairsWoodBirch.name=Birch Stairs
tile.stairsWoodJungle.name=Jungle Stairs
tile.stairsWoodAcacia.name=Acacia Stairs
tile.stairsWoodDarkOak.name=Dark Oak Stairs
tile.stoneSlab.stone.name=Smooth Stone Slab
tile.stoneSlab.wood.name=Petrified Oak Slab

tile.trapdoor.name=Oak Trapdoor
tile.doublePlant.grass.name=Tallgrass
tile.quartzBlock.lines.name=Quartz Pillar
tile.mobSpawner.name=Spawner
tile.stoneMoss.name=Mossy Cobblestone
tile.sandStone.smooth.name=Cut Sandstone
tile.netherBrick.name=Nether Bricks
tile.daylightDetector.name=Daylight Detector

item.redstone.name=Redstone Dust
item.melon.name=Melon Slice
tile.monsterStoneEgg.stone.name=Infested Stone
tile.monsterStoneEgg.cobble.name=Infested Cobblestone
tile.monsterStoneEgg.brick.name=Infested Stone Bricks
tile.monsterStoneEgg.mossybrick.name=Infested Mossy Stone Bricks
tile.monsterStoneEgg.crackedbrick.name=Infested Cracked Stone Bricks
tile.monsterStoneEgg.chiseledbrick.name=Infested Chiseled Stone Bricks

efr.nei.composter=Composter
efr.nei.amount=Amount
efr.nei.weight=Weight
71 changes: 0 additions & 71 deletions src/main/resources/assets/etfuturum/lang/ru_RU.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1591,77 +1591,6 @@ item.banner.straight_cross.silver=Светло-серый крест
item.banner.straight_cross.white=Белый крест
item.banner.straight_cross.yellow=Жёлтый крест




# Перезапись ванильных имен (vanilla overrides)
tile.clayHardenedStained.black.name=Чёрная керамика
tile.clayHardenedStained.red.name=Красная керамика
tile.clayHardenedStained.green.name=Зелёная керамика
tile.clayHardenedStained.brown.name=Коричневая керамика
tile.clayHardenedStained.blue.name=Синяя керамика
tile.clayHardenedStained.purple.name=Фиолетовая керамика
tile.clayHardenedStained.cyan.name=Бирюзовая керамика
tile.clayHardenedStained.silver.name=Светло-серая керамика
tile.clayHardenedStained.gray.name=Серая керамика
tile.clayHardenedStained.pink.name=Розовая керамика
tile.clayHardenedStained.lime.name=Лаймовая керамика
tile.clayHardenedStained.yellow.name=Жёлтая керамика
tile.clayHardenedStained.lightBlue.name=Светло-синяя керамика
tile.clayHardenedStained.magenta.name=Пурпурная керамика
tile.clayHardenedStained.orange.name=Оранжевая керамика
tile.clayHardenedStained.white.name=Белая керамика
tile.clayHardened.name=Керамика

tile.monsterStoneEgg.stone.name=Заражённый камень
tile.monsterStoneEgg.cobble.name=Заражённый булыжник
tile.monsterStoneEgg.brick.name=Заражённые каменные кирпичи
tile.monsterStoneEgg.mossybrick.name=Заражённые замшелые каменные кирпичи
tile.monsterStoneEgg.crackedbrick.name=Заражённые потрескавшиеся каменные кирпичи
tile.monsterStoneEgg.chiseledbrick.name=Заражённые резные каменные кирпичи

tile.log.name=Древесина
tile.log.oak.name=Дубовая древесина
tile.log.spruce.name=Еловая древесина
tile.log.birch.name=Берёзовая древесина
tile.log.jungle.name=Древесина тропического дерева
tile.log.acacia.name=Акациевая древесина
tile.log.big_oak.name=Древесина тёмного дуба
tile.wood.oak.name=Дубовые доски
tile.wood.spruce.name=Еловые доски
tile.wood.birch.name=Берёзовые доски
tile.wood.jungle.name=Доски тропического дерева
tile.wood.acacia.name=Акациевые доски
tile.wood.big_oak.name=Доски тёмного дуба
tile.woodSlab.oak.name=Дубовая плита
tile.woodSlab.spruce.name=Еловая плита
tile.woodSlab.birch.name=Берёзовая плита
tile.woodSlab.jungle.name=Плита из досок тропического дерева
tile.woodSlab.acacia.name=Акациевая плита
tile.woodSlab.big_oak.name=Плита из досок тёмного дуба
tile.stairsWood.name=Дубовые ступеньки
tile.stairsWoodSpruce.name=Еловые ступеньки
tile.stairsWoodBirch.name=Берёзовые ступеньки
tile.stairsWoodJungle.name=Ступеньки из досок тропического дерева
tile.stairsWoodAcacia.name=Акациевые ступеньки
tile.stairsWoodDarkOak.name=Ступеньки из досок тёмного дуба
tile.stoneSlab.stone.name=Гладкая каменная плита
tile.stoneSlab.wood.name=Окаменевшая дубовая плита

tile.trapdoor.name=Дубовый люк
tile.doublePlant.grass.name=Двойная высокая трава
tile.quartzBlock.lines.name=Кварцевый пилон
tile.mobSpawner.name=Спаунер
tile.stoneMoss.name=Замшелый булыжник
tile.sandStone.smooth.name=Резной песчаник
tile.netherBrick.name=Адские кирпичи
tile.daylightDetector.name=Датчик дневного света

item.redstone.name=Красная пыль
item.melon.name=Ломтик арбуза
item.fish.cod.raw.name=Сырая треска
item.fish.cod.cooked.name=Жареная треска

# Дополнительные исправления (additional fixes)
tile.etfuturum.lit_smoker.name=Коптильня
tile.etfuturum.lit_blast_furnace.name=Плавильная печь
Expand Down
Loading

0 comments on commit 70adbcb

Please sign in to comment.