Organizations

  • 3

     お久しぶりです。あるかです。 研究と論文に追われていて 2 週間ほどコードを触れない状況が続いていました。
    それも落ち着いたのでここの記事を更新しようと書き始めたのですが、どうにも書けるようなことがほとんどなくて困りますね。

    1Q84 を読み通した、岩波文庫の竹取物語を買ったとか、 Mac Mini を買おうとしているだとか、技術でないところの話であればそこそこあるのですが。
    また何か新しいものを作ったり、進捗を生み出すことが出来たら更新することとします。
    それでは。

    2026/02/06 坂木啞ルカ

    Created Fri, 06 Feb 2026 12:41:49 +0900
  • 最近の CustomCrafterAPI の動向と今後の方針


    Maven で配信開始

    プロジェクトの依存関係として使いやすいように Maven Central に置きました。 向こう 10 年間有効な PGP 鍵を発行してあれこれしたので忘れないようにどうしようかなと思っているところ。

    たまにバグが存在するバージョンを配ってしまうので、そのときには p<数字> を末尾につけたバージョンを発行することで対応しています。
    出しちゃったらゴメンね。

    Context を乱用

    ResultSupplier や *Predicate インターフェースのような「処理を利用側で書く必要があり、なおかつ背景情報が必要な場面」に Context という名前のクラスを提供しがち。
    本当はちゃんとそれぞれ名前をつけてあげるべきなんだろうけど、ネストクラスにすればだいたい 親.Context みたいな感じで使うだろうから大丈夫か!と Context 一筋でやらせてもらってます。

    Java 系アノテーションの追加

    Java から利用しやすいように JvmStatic, JvmOverloads などの相互運用向けのアノテーションをつけて回る作業をしました。
    CustomCrafterAPI って Java からも使えるんだよ!

    勝手に DI 化が進行していた

    DI というのは Dependency Injection (依存性注入)の略です。
    CustomCrafterAPI を設計していた当時は「インターフェースって今まであんまり使ったことないし、今回はいっぱい使ってみるか〜」くらいのノリでレシピの重要なコンポーネントなどをインターフェースで定義していたのですが、開発をし続ける中で過去の自分に感謝する場面がめっちゃ増えてきたのでおすすめです。
    インターフェースを適切に定義できれば内部の処理の共通化が楽だし、利用側での拡張も楽といいことづくめでした。

    当初の謎命名を改名

    定形・不定形レシピをそれぞれ Normal, Amorphous として列挙型で管理していたのですが、なんとも分かりづらい上に本家 Minecraft が Shaped, Shapeless をレシピのクラス名に採用しているのを見て改名しました。
    作成しはじめの頃に「形のないもの、って意味のかっこよさげな単語ないかな〜」と調べて命名した Amorphous ですが、コードはかっこよさよりもわかりやすさが言わずもがな重要ですのでこんな命名をしてはいけません。

    クラフト画面のカスタマイズ機能を作成

    CraftUIDesigner というインターフェースを作成してクラフト画面をいじれるようにしました。
    特に要望などがあったわけではないですが、プラグインの名前に Custom と入っているんだから、構成要素はなるべくカスタムできるようにあるべきだよなと思い立って作成しました。
    活用してくれると嬉しい。

    custom-crafter minecraft plugin Created Fri, 09 Jan 2026 23:55:41 +0900
  • 2025 年振り返り

    気づいたら 2026 年に入って 1 週間以上経っていた。
    このサイトを作成したのが 2025 年の大晦日、それも年越し 2 時間前とかなので一般的なタイミングでの振り返りは出せなかったのでここで出すことにする。

    CustomCrafterAPI

    2024 年の 12 月頃に API として作り始めたので、丸々 1 年が経過したことになる。
    当初と比較して利用できる機能の数は格段に増えたし、内部の処理にもかなり手を入れた。
    1 年の中で最も力を入れていたプロジェクトかもしれない。

    「今までのものよりもより多くの人に使ってもらえるように」との考えで API 化と改良を進めてきたのだが、いかんせん広報が壊滅的に足りなかったと思う。
    12 月に Paper-Hangar と Modrinth で公開するようになる前は GitHub のリリースでのみ出していて、それを Twitter で呟くだけだった。
    公開場所を増やした今でもそれ以上の広報はできていないので、動画でも作成して YouTube に上げるとかやったほうがいいのかなどと考えている。

    しかし公開場所を増やしたおかげで人の目に入る機会は確実に増えているようで、数十程度ではあるがダウンロードされているらしい。
    広報が明確な課題として残ってはいるが、今後もコツコツ開発して公開することは続けていきたいと思う。

    ArukaNetwork

    大学に入学した 2022 年から続けている Minecraft サーバーの方はあっという間に 3 年が経過していた。
    今年も平均接続数はおそらく 0 ではあったが、 Cloudflare R2 を利用した自動バックアップや Linux の運用方法、宅内ネットワークの整備などサーバーに関する新しいことを多く学ぶことができたので満足している。
    しかし機器の方だけが充実してきて、そこに乗っている肝心のコンテンツに人気が出ていないこの状況を良しとしているわけでもないので、新規のコンテンツ作成や広報活動などを通じてプレイヤー数の獲得をしたいと考えている。

    … とは言ったものの、春から大きく生活スタイルが変わってしまうこともあり今までに比べると費やすことができる時間が激減することは避けられないので、現在の運営メンバー(私 + 2 人)だけで大きな変革をもたらそうというのは難しいだろう。
    よほど切羽詰まった事情がない限りサーバーは開き続けようと考えているが、開発・広報・モデレーションを行うことができる運営がそこそこ増えない限りずっと現状維持というのも寂しいのでやはりどこかでメスを入れたい。

    幸いなことに度重なるリソース増強により多少は余裕があるので、この記事を読んでいて「Minecraft のサーバーを運営してみたい!」「自分のコンテンツを多くの人に提供できる場がほしい!」という方は ArukaNetwork 公式 Discord サーバー のフォーラムへ書き込むか、Twitter の適当なツイートにリプライを飛ばしてください。

    2025 Created Fri, 09 Jan 2026 16:16:21 +0900
  • こんにちは。あるかです。
    Twitter では持て余すくらいの文章だったり、取り掛かっているプロジェクトについての記事をときどき更新していけたらと思います。

    Created Wed, 31 Dec 2025 19:34:22 +0900