Skip to content

Commit 70322ea

Browse files
committed
Add AbstractLanguageProvider#getData().
Signed-off-by: 秋雨落 <i@rain.cx>
1 parent ccd26d8 commit 70322ea

4 files changed

Lines changed: 36 additions & 15 deletions

File tree

neoforge/src/main/java/games/moegirl/sinocraft/sinocore/neoforge/api/datagen/AbstractLanguageProvider.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import games.moegirl.sinocraft.sinocore.api.registry.IRegRef;
44
import games.moegirl.sinocraft.sinocore.api.registry.ITabRegistry;
55
import games.moegirl.sinocraft.sinocore.api.util.TranslationKeyHelper;
6+
import games.moegirl.sinocraft.sinocore.neoforge.mixin.datagen.LanguageProviderAccessor;
67
import net.minecraft.core.registries.BuiltInRegistries;
78
import net.minecraft.data.PackOutput;
89
import net.minecraft.network.chat.contents.TranslatableContents;
@@ -17,7 +18,7 @@
1718
import java.util.function.Supplier;
1819

1920
public abstract class AbstractLanguageProvider extends LanguageProvider {
20-
public static final String LOCALE_EN_US ="en_us";
21+
public static final String LOCALE_EN_US = "en_us";
2122

2223
protected static final Map<String, Map<String, List<String>>> KNOWN_LANG_KEYS = new HashMap<>();
2324

@@ -149,4 +150,8 @@ protected void add(ResourceKey<CreativeModeTab> key, String name) {
149150
add(itemKey, name);
150151
}
151152
}
153+
154+
protected Map<String, String> getData() {
155+
return ((LanguageProviderAccessor) this).sinocore$getData();
156+
}
152157
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package games.moegirl.sinocraft.sinocore.neoforge.mixin.datagen;
2+
3+
import net.neoforged.neoforge.common.data.LanguageProvider;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.gen.Accessor;
6+
7+
import java.util.Map;
8+
9+
@Mixin(LanguageProvider.class)
10+
public interface LanguageProviderAccessor {
11+
@Accessor("data")
12+
Map<String, String> sinocore$getData();
13+
}
Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
{
2-
"required": true,
3-
"minVersion": "0.8",
4-
"package": "games.moegirl.sinocraft.sinocore.neoforge.mixin",
5-
"compatibilityLevel": "JAVA_17",
6-
"mixins": [
7-
],
8-
"client": [
9-
"client.ItemMixin_NeoForge_Client"
10-
],
11-
"server": [
12-
],
13-
"injectors": {
14-
"defaultRequire": 1
15-
}
2+
"required": true,
3+
"minVersion": "0.8",
4+
"package": "games.moegirl.sinocraft.sinocore.neoforge.mixin",
5+
"compatibilityLevel": "JAVA_17",
6+
"mixins": [
7+
"datagen.LanguageProviderAccessor"
8+
],
9+
"client": [
10+
"client.ItemMixin_NeoForge_Client"
11+
],
12+
"server": [
13+
],
14+
"injectors": {
15+
"defaultRequire": 1
16+
}
1617
}

test/neoforge/src/main/java/games/moegirl/sinocraft/sinocore_test/neoforge/datagen/providers/TestZhLanguageProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,7 @@ protected void register() {
2121
add(TestLangKeys.TEST_WITH_BLOCK, "你点击的方块带有测试标签。");
2222

2323
add("sinocoretest.key_only_in_zh_cn", "仅在中文语言文件中存在的翻译键,AbstractLanguageProvider会对此提出警告。");
24+
25+
System.out.println("Total " + getData().size() + " entries in " + getName());
2426
}
2527
}

0 commit comments

Comments
 (0)