
1.14.4: 使用自然码双拼时出现 UnsupportedOperationException
jingyu9575 opened this issue · 4 comments
Description: Rendering overlay
java.lang.UnsupportedOperationException: null
at java.util.AbstractList.add(AbstractList.java:148) ~[?:1.8.0_242] {}
at me.towdium.pinin.Keyboard.zero(Keyboard.java:100) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.Keyboard.split(Keyboard.java:76) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.elements.Pinyin.reload(Pinyin.java:90) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.elements.Pinyin.<init>(Pinyin.java:56) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.PinIn.lambda$new$1(PinIn.java:18) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.utils.Cache.get(Cache.java:22) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.PinIn.genPinyin(PinIn.java:65) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.elements.Pinyin.get(Pinyin.java:68) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.elements.Chinese.<init>(Chinese.java:22) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.PinIn.genChar(PinIn.java:72) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.utils.Accelerator.put(Accelerator.java:100) ~[?:4.0.0] {re:classloading}
at me.towdium.pinin.TreeSearcher.put(TreeSearcher.java:48) ~[?:4.0.0] {re:classloading}
at me.towdium.jecharacters.utils.Match$FakeArray.func_194057_a(Match.java:130) ~[?:4.0.0] {re:classloading}
at net.minecraft.client.util.SearchTree.func_217880_a(SourceFile:36) ~[?:?] {re:classloading,xf:fml:jecharacters:jecharacters-gen47,xf:fml:jecharacters:jecharacters-gen48}
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:1.8.0_242] {}
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_242] {}
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_242] {}
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_242] {}
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_242] {}
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_242] {}
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_242] {}
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_242] {}
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_242] {}
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_242] {}
at net.minecraft.client.util.SearchTree.func_194042_b(SourceFile:36) ~[?:?] {re:classloading,xf:fml:jecharacters:jecharacters-gen47,xf:fml:jecharacters:jecharacters-gen48}
at net.minecraft.client.util.SearchTreeReloadable.func_194040_a(SourceFile:37) ~[?:?] {re:classloading,xf:fml:jecharacters:jecharacters-gen49,xf:fml:jecharacters:jecharacters-gen50}
at net.minecraft.client.util.SearchTree.func_194040_a(SourceFile:29) ~[?:?] {re:classloading,xf:fml:jecharacters:jecharacters-gen47,xf:fml:jecharacters:jecharacters-gen48}
at net.minecraft.client.util.SearchTreeManager.func_195410_a(SearchTreeManager.java:21) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.resources.IResourceManagerReloadListener.lambda$reload$0(IResourceManagerReloadListener.java:16) ~[?:?] {re:classloading}
at java.util.concurrent.CompletableFuture.uniRun(CompletableFuture.java:719) ~[?:1.8.0_242] {}
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:701) ~[?:1.8.0_242] {}
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_242] {}
at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:861) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:384) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.main(SourceFile:155) ~[1.14.4.jar:?] {re:classloading}
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_242] {}
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_242] {}
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_242] {}
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242] {}
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:56) ~[forge-1.14.4-28.2.1.jar:28.2] {}
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-4.1.0.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-4.1.0.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-4.1.0.jar:?] {}
at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-4.1.0.jar:?] {}
at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-4.1.0.jar:?] {}
Arrays.asList 不支持 add(测试)。
零声母在双拼里是怎么处理的
不同双拼方案是不一样的。自然码和小鹤都是下面的规则:
本方案以韵母首字母为零声母,即把韵母的首字母当作声母
单字母韵母,零声母 + 韵母所在键,如: 啊=aa 哦=oo 额=ee
双字母韵母,零声母 + 韵母末字母(表现形式同全拼),如: 爱=ai 恩=en 欧=ou
三字母韵母,零声母 + 韵母所在键,如: 昂=ah
其他的方案有的是用o代表零声母(啊=oa,昂=oh)。只用一个韵母a的会有问题,比如 ahe 可以断字成 ang e 也可以断成 a he。
jecharacters-1.14.4-4.0.2.zip
试试看这个能不能用。
另外还想问一下零声母在双拼里是怎么处理的。我看有的文档说要遵守一字两键,所以“a”要打成“aa”,也有教程直接打“a”的。双拼我本人也不会,实现全靠抄文档,所以接下来一段时间估计还会有一些错误。
@daiaji 不支持,要 1.14+