diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-11-18 02:39:22 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-11-18 02:39:22 +0800 |
| commit | ce883fe60c9d5e27e6ebddd1d048c593d1ac7370 (patch) | |
| tree | eaa1c1a1d6805715912cc8a1495a6940d702f464 /fabric/src | |
| parent | cb3f4e2ff2e495e82f58a828cb8f0e32d87f2fe2 (diff) | |
| parent | 0ad79cc5f5460cda2184d7be22e19fda187d07ba (diff) | |
| download | RoughlyEnoughItems-ce883fe60c9d5e27e6ebddd1d048c593d1ac7370.tar.gz RoughlyEnoughItems-ce883fe60c9d5e27e6ebddd1d048c593d1ac7370.tar.bz2 RoughlyEnoughItems-ce883fe60c9d5e27e6ebddd1d048c593d1ac7370.zip | |
Merge remote-tracking branch 'origin/6.x-1.17' into 7.x-1.18
Diffstat (limited to 'fabric/src')
| -rw-r--r-- | fabric/src/main/java/me/shedaniel/rei/impl/client/gui/credits/fabric/CreditsScreenImpl.java | 69 | ||||
| -rw-r--r-- | fabric/src/main/resources/fabric.mod.json | 81 |
2 files changed, 136 insertions, 14 deletions
diff --git a/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/credits/fabric/CreditsScreenImpl.java b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/credits/fabric/CreditsScreenImpl.java new file mode 100644 index 000000000..b392bb04c --- /dev/null +++ b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/credits/fabric/CreditsScreenImpl.java @@ -0,0 +1,69 @@ +/* + * This file is licensed under the MIT License, part of Roughly Enough Items. + * Copyright (c) 2018, 2019, 2020, 2021 shedaniel + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package me.shedaniel.rei.impl.client.gui.credits.fabric; + +import com.google.common.collect.Lists; +import me.shedaniel.rei.impl.client.gui.credits.CreditsScreen; +import net.fabricmc.loader.api.FabricLoader; +import net.fabricmc.loader.api.metadata.CustomValue; +import net.minecraft.util.Tuple; + +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +public class CreditsScreenImpl { + public static void fillTranslators(Exception[] exception, List<Tuple<String, List<CreditsScreen.TranslatorEntry>>> translators) { + FabricLoader.getInstance().getModContainer("roughlyenoughitems").ifPresent(rei -> { + try { + if (rei.getMetadata().containsCustomValue("rei:translators")) { + CustomValue.CvObject jsonObject = rei.getMetadata().getCustomValue("rei:translators").getAsObject(); + jsonObject.forEach(entry -> { + CustomValue value = entry.getValue(); + List<CreditsScreen.TranslatorEntry> behind = value.getType() == CustomValue.CvType.ARRAY ? Lists.newArrayList(value.getAsArray().iterator()).stream() + .map(customValue -> { + if (customValue.getType() == CustomValue.CvType.OBJECT) { + CustomValue.CvObject object = customValue.getAsObject(); + // name and proofreader + String name = object.get("name").getAsString(); + boolean proofreader = object.containsKey("proofreader") && object.get("proofreader").getAsBoolean(); + return new CreditsScreen.TranslatorEntry(name, proofreader); + } else { + return new CreditsScreen.TranslatorEntry(customValue.getAsString(), false); + } + }) + .sorted(Comparator.comparing(CreditsScreen.TranslatorEntry::getName, String::compareToIgnoreCase)) + .collect(Collectors.toList()) + : Lists.newArrayList(new CreditsScreen.TranslatorEntry(value.getAsString())); + translators.add(new Tuple<>(entry.getKey(), behind)); + }); + } + translators.sort(Comparator.comparing(Tuple::getA, String::compareToIgnoreCase)); + } catch (Exception e) { + exception[0] = e; + e.printStackTrace(); + } + }); + } +} diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 6efe5ff94..f2f3d6179 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -35,28 +35,81 @@ ], "custom": { "rei:translators": { - "English": ["shedaniel"], - "Japanese": ["swordglowsblue", "hinataaki"], + "English": [ + { + "name": "shedaniel", + "proofreader": true + } + ], + "Japanese": ["swordglowsblue", "hinataaki", "LiuTed", "wolf0023"], "Chinese Simplified": [ "XuyuEre", "shedaniel", "SciUniv_Moring", "Takakura-Anri", "liushuyu", "lkxian17084", "MynameisTT", "detiam", "Snapshot_light", "JerryHan", "WarrenWN", - "Lograthmic" + "Lograthmic", "LiuTed", "judema", "SmallMAZ", "ChengBing", "HCIO", "WeiHengYi" + ], + "Chinese Traditional": [ + "hugoalh", "gxy17886", { + "name": "shedaniel", + "proofreader": true + }, "961111ray", "s36845283", "sileence114" + ], + "Chinese Traditional Hong Kong": [ + { + "name": "shedaniel", + "proofreader": true + }, "timo301105", "Limeboy0603" + ], + "French": [ + "Yanis48", "Koockies", "dagdar", "samnamstyle123", "Hugman76", "AdriaAyl", "schlaft", "YanisBft", "jean.jarno", "Juknum", + "JustSky", "Myuui" + ], + "German": [ + "MelanX", "guntram7", "tabmeier12", "Siphalor", "M-S-72", "SirClaver", "bugginggg", "wohlhabend", "Eiim", "valoeghese", "luro02", "MrPiggo", + "firippukun", "ProManu09", "HeikoHDE", "Slav_Anime_Blin", "maunben", "Mari_023", "cctitan53", "Jummit" + ], + "Estonian": [ + { + "name": "MadisO", + "proofreader": true + } + ], + "Portuguese": ["thiagokenis", "KewaiiGamer", "manuel.canhoto"], + "Portuguese Brazilian": [ + "thiagokenis", "joaoh1", "yuriob262", "Pinkstyles", "felipemk67", "Stevolaff", "stann0x", "_ImKing", "filipesn1512", { + "name": "Maneschy", + "proofreader": true + }, + "zLuket", "MathrusRibeiro0770" + ], + "LOLCAT": [ + { + "name": "shedaniel", + "proofreader": true + }, "RaxedMC", "lkxian17084" + ], + "Upside Down English": [ + { + "name": "shedaniel", + "proofreader": true + }, "magnusk28", "scarzdz" ], - "Chinese Traditional": ["hugoalh", "gxy17886", "shedaniel", "961111ray"], - "French": ["Yanis48", "Koockies", "dagdar", "samnamstyle123"], - "German": ["MelanX", "guntram7", "tabmeier12", "Siphalor", "M-S-72", "SirClaver", "bugginggg", "wohlhabend", "Eiim", "valoeghese", "luro02"], - "Estonian": ["Madis0"], - "Portuguese": ["thiagokenis", "KewaiiGamer"], - "Portuguese Brazilian": ["thiagokenis", "joaoh1", "yuriob262", "Pinkstyles", "felipemk67", "Stevolaff", "stann0x"], - "LOLCAT": ["shedaniel", "RaxedMC", "lkxian17084"], - "Upside Down English": ["shedaniel", "magnusk28", "scarzdz"], "Bulgarian": ["geniiii", "Dremski"], "Russian": [ + { + "name": "alicecarroll", + "proofreader": true + }, "MrYonter", "kwmika1girl", "LimyChitou", "Great_Manalal", "s3rbug", "TheByKotik", "ebogish", "xqr.", "scarzdz", "JCat", "map788", "kyrtion", "CanslerW", - "MinerChAI", "nef1k" + "MinerChAI", "nef1k", "Romz24", "zhesnyovskyy", "FormerlyAndying", "aiexz", "parkurnic", "axelBaher", "Martden", "CherryBloom" ], - "Polish": ["mikolajkazmierczak", "Piteriuz", "BeetMacol"], + "Polish": ["mikolajkazmierczak", "Piteriuz", "BeetMacol", "Sebuniasty", "agarman12345", "ArtSnail", "K0RR"], "Norwegian": ["CanslerW"], - "Turkish": ["NOYB"] + "Turkish": ["NOYB", "ege_e", "Winnerxl", "MrEnoX"], + "Ukrainian": ["bilchuk.radomyr"], + "Spanish": ["jeremysolis33", "acookienot", "The_Biome", "itzsara200707", "Ekain06", "DEStruyyec", "holakasecabra"], + "Italian": ["luciobortoletto", "b.carmelo.92"], + "Czech": ["stanik123"], + "Danish": ["ChristianLW"], + "Hebrew": ["avivyona", "OddedC"] } }, "depends": { |
