minecraftで日本語が打てない人へのサーバー側での対応 メモ
2022/03/17
MODサーバーではローマ字をひらがなにしてくれるものとかあったんだけど
バニラで行こうと決めているサーバーはそんなものはないので
ちょっとperlでこんな感じでどうかなって言うのを作ってみた。
1.ログからローマ字で書いてあるのを読み取って(File::Tailで読み込みっぱなし)
2.それをひらがなに変換して(Lingua::JA::Mojiのひらがな変換で変換)
3.マイクラのチャットに表示するって言う感じ(マイクラのコマンドで表示させました)
寄せ集めて作ってみたけどまぁ良いかな(*´ω`*)
これでバックグラウンドで動かしっぱなしにすればOKっと
おそらくいろいろと足りないもの(エラー処理とか、なんか変な値入れた時とかの処理とか、とかとか)があるとおもうのでもし使う人がいたら自己責任でお願いしますね(*´ω`*)
#!/usr/local/bin/perl
use strict;
use encoding 'utf-8';
use File::Tail;
use Lingua::JA::Moji 'romaji2hiragana';
my $file;
my $line;
my $username;
my $comment;
my $kana;
#ログをtailする インターバルは1秒ごと
$file=File::Tail->new( name => "/minecraft/logs/latest.log",maxinterval => 1,interval => 1);
while (defined($line=$file->read)) {
#[00:00:00] [Server thread/INFO]: <hogehoge> aiueo
#こんな感じのログが来たらユーザー名と文字を取得
#入力文字が1文字以上で英字かハイフンかスペースであるか
if ($line =~ /^\[[0-9][0-9]\:[0-9][0-9]\:[0-9][0-9]\]\s\[Server\sthread\/INFO\]\:\s\<(.*)\>\s([a-zA-Z0-9\-\s]{1,})$/) {
$username = $1;
$comment = $2;
#ローマ字をひらがなに変換
$kana = romaji2hiragana ("$comment");
#コマンドで結果をマイクラのチャットに表示する
system("/sbin/service minecraft command say henkankun $username $kana");
}
}
ほぼ全部寄せ集めて作ったので参考ページを書いている方に感謝します(*´ω`*)ありがとー
File::Tailの参考ページ
perldoc.jp
File::Tailの読み込みが遅かったのでこちらを参考にしました
気負わずに、自然体で
Lingua::JA::Moji-jaの使い方の参考にしました(これを見つけてしまったので作ろうという気になりましたw
metacpan
20160422 プログラムをちょっとだけ変更しました(*´ω`*)
20191105 Windows環境方はminecraftクライアントで日本語の外部支援ツールがありました。
ありがたく使わせていただきませう(*´ω`*)w
外部ツールのURL(自己責任でお使いください):sueiのねむたいぶろぐ内 【MCJPISS】日本語MOD未導入でも日本語を使えるようにするソフト
20220317 なんか最近マイクラの日本語入力について探してきてくれる人がいるので一応補足
windws10でJava版(バニラで新しめのバージョン)でIMEの場合は「t」押して、
チャットが打てる状態にしてから、
全角半角キーで日本語入力にすると日本語で書き込めます。
で終わったら全角半角押して元に戻す。みたいな感じです。
この動作を毎回しないといけないのでめんどくさいんですよね~
ですので外部ツールとかMODとかサーバー側での対応とかがあると便利なのです(*´ω`*)
Minecraft ライトアップトーチ (松明)/ Minecraft Light-Up Torch [海外直送品][並行輸入品]
マインクラフト ライト&サウンド・アドベンチャーソード FMD13
マインクラフト 変形武器「ダイヤの剣/ツルハシ」 FCW14
マインクラフト エンチャント弓矢 FCW16
マインクラフト 武器 鉄の剣 FMD18