Skip to content

コメントを改善#1

Merged
Builder256 merged 7 commits intodevelopfrom
refactor/enchance-comments
Mar 15, 2026
Merged

コメントを改善#1
Builder256 merged 7 commits intodevelopfrom
refactor/enchance-comments

Conversation

@Builder256
Copy link
Owner

NeoForgeの仕様を何もわからず最初からあるコメントをそのまま翻訳してた頃のコメントを改善

RTM関連Mod開発者にもわかりやすいように、1.7.10時代との比較の観点での説明も追加

@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

このプルリクエストは、Modのコードベース全体にわたるコメントの明瞭さと正確性を向上させることを目的としています。特に、NeoForgeの新しい概念とMinecraft 1.7.10時代の開発との違いを強調することで、RTM関連のMod開発者がプロジェクトの構造と動作をより迅速に理解できるようになります。これにより、コードの可読性が向上し、将来のメンテナンスとコラボレーションが容易になります。

Highlights

  • コメントの改善: 既存のコードコメントを大幅に改善し、NeoForgeの概念をより明確に説明しました。
  • RTM関連Mod開発者への配慮: 特に、Minecraft 1.7.10時代の開発との比較を導入し、RTM関連のMod開発者にとって理解しやすいようにしました。
  • 主要ファイルのコメント更新: PolygonTrainMod.java内のDeferredRegisterDeferredHolder、ロギング、イベント登録に関する説明を更新しました。また、PolygonTrainModBlocks.javaPolygonTrainModClient.javaPolygonTrainModItems.javaの各ファイルでも、関連するコメントを修正・追加しました。

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/main/java/com/portofino/polygontrainmod/PolygonTrainMod.java
    • FMLCommonSetupEventのインポートを削除しました。
    • MODIDLOGGERCREATIVE_MODE_TABSの定義に関するコメントを更新しました。
    • DeferredRegisterDeferredHolderの役割について詳細な説明を追加しました。
    • MAIN_TABの登録に関するコメントを修正し、@SuppressWarnings("unused")アノテーションを追加しました。
    • コンストラクタ内のイベント登録と設定ファイル登録に関するコメントを改善しました。
    • commonSetupメソッドおよびaddCreativeonServerStartingメソッドのコメントアウトされたコードに関する説明を更新しました。
  • src/main/java/com/portofino/polygontrainmod/PolygonTrainModBlocks.java
    • BLOCKSDeferredRegisterの目的に関するコメントを更新しました。
  • src/main/java/com/portofino/polygontrainmod/PolygonTrainModClient.java
    • クラスの目的と@EventBusSubscriberアノテーションに関するコメントを修正しました。
  • src/main/java/com/portofino/polygontrainmod/PolygonTrainModItems.java
    • ITEMSDeferredRegisterの目的に関するコメントを更新しました。
    • BlockItemの登録に関するコメントを修正し、1.7.10との違いを説明しました。
    • EXAMPLE_ITEMの登録に関するコメントを修正しました。
Activity
  • このプルリクエストにはまだアクティビティが記録されていません。
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

このプルリクエストは、コード内のコメントをより分かりやすく、特に古いバージョンのMinecraft Mod開発経験者にとって有益な情報を含むように改善するものです。全体として、コメントの質が大幅に向上しており、素晴らしい変更だと思います。

いくつか軽微な修正点を提案します。

  • コメント内で 〜らしい〜と思う のような不確かな表現がいくつか見られます。コメントはコードの挙動を正確に記述するべきなので、断定的な表現に修正することを推奨します。
  • いくつかのコメントにタイポが見つかりました。

これらの点を修正することで、コードの可読性とメンテナンス性がさらに向上するでしょう。詳細は各ファイルへのコメントをご確認ください。

import net.neoforged.neoforge.registries.DeferredRegister;

// この値はMETA-INF/neoforge.mods.tomlファイルの入力と一致する必要があります。
// Modアノテーション、1.21.1になっても1.7.10と機能は同じ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに疑問符 が含まれています。コードのドキュメントとして、コメントは事実を断定的に記述することが望ましいです。これにより、他の開発者がコードを理解しやすくなります。

Suggested change
// Modアノテーション、1.21.1になっても1.7.10と機能は同じ?
// Modアノテーションは、Modのメインクラスであることを示すもので、1.7.10時代と基本的な機能は同じです。

Comment on lines +32 to +34
// DeferredRegisterは、MinecraftのRegistriesに登録されているタイプの要素の新しいバリエーションを実装する場合に必要になる
// 対象となるのは、BlockやItem、Entityなど、`minecraft:object_id`の形式で表すタイプのオブジェクト?
// GameRegistryを自由に呼びつけるのは危険なため、代わりにこれが使用されるようになったらしい

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに疑問符 が含まれており、内容が推測になっています。コメントはコードの挙動を明確に説明するべきです。DeferredRegister の役割について、より断定的な説明に修正することを提案します。

Suggested change
// DeferredRegisterは、MinecraftのRegistriesに登録されているタイプの要素の新しいバリエーションを実装する場合に必要になる
// 対象となるのは、BlockやItem、Entityなど、`minecraft:object_id`の形式で表すタイプのオブジェクト?
// GameRegistryを自由に呼びつけるのは危険なため、代わりにこれが使用されるようになったらしい
// DeferredRegisterは、MinecraftのRegistriesに登録されているタイプの要素の新しいバリエーションを実装する場合に必要になります。
// 対象となるのは、BlockやItem、Entityなど、`minecraft:object_id`の形式で識別される登録可能なオブジェクトです。
// GameRegistryを自由に呼びつけるのは危険なため、代わりにこれが使用されるようになりました。

Comment on lines +41 to +44
// 作ったDeferredRegisterに登録されるそれぞれの要素を表すのが、DeferredHolder
// FMLPreInitializationEventでGameRegistryに登録していた時代は、BlockやItemをコード内で使用する際に、そのオブジェクトのインスタンスが必ず生成されていることが明らかだったが
// Modローダーの判断で生成されるシステムのDeferredRegisterではそれがない
// そのため、実際のオブジェクトの代わりにコードで使用されるためにつくられたのが、DeferredHolderだと思う

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントの末尾が 〜だと思う と推測の形になっています。DeferredHolder の役割をより明確に説明することで、コードの可読性が向上します。

Suggested change
// 作ったDeferredRegisterに登録されるそれぞれの要素を表すのが、DeferredHolder
// FMLPreInitializationEventでGameRegistryに登録していた時代は、BlockやItemをコード内で使用する際に、そのオブジェクトのインスタンスが必ず生成されていることが明らかだったが
// Modローダーの判断で生成されるシステムのDeferredRegisterではそれがない
// そのため、実際のオブジェクトの代わりにコードで使用されるためにつくられたのが、DeferredHolderだと思う
// 作ったDeferredRegisterに登録されるそれぞれの要素を表すのが、DeferredHolderです。
// FMLPreInitializationEventでGameRegistryに登録していた時代と異なり、DeferredRegisterではModローダーの判断でオブジェクトが生成されます。
// そのため、DeferredHolderは、登録処理が完了するまでオブジェクトのプレースホルダーとして機能し、安全に参照するために使用されます。

output.accept(PolygonTrainModItems.EXAMPLE_ITEM.get()); // サンプルアイテムをタブに追加します。独自のタブの場合は、イベントよりもこの方法が推奨されます。

// EXAMPLE_ITEMをこのタブに追加
// Mod独自のタブにアイテムを追加する場合は、後述のEventよりもこの方法が推奨されるらしい

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに 〜らしい という不確かな表現が使われています。推奨事項を伝えるコメントですので、断定的な表現に修正する方が明確です。

Suggested change
// Mod独自のタブにアイテムを追加する場合は、後述のEventよりもこの方法が推奨されるらしい
// Mod独自のタブにアイテムを追加する場合は、後述のEventよりもこの方法が推奨されます。

output.accept(PolygonTrainModItems.IC_CARD_TICKET.get());

// インベントリに作成したブロックアイテムを追加する、ブロックを直接登録しても自動でブロックアイテムを探索してやってくれるらしい
// 各種BlockののBlockItemをクリエイティブタブ追加する

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントにタイポがあります。「の」が重複しています。

Suggested change
// 各種BlockののBlockItemをクリエイティブタブ追加する
// 各種BlockのBlockItemをクリエイティブタブ追加する


// インベントリに作成したブロックアイテムを追加する、ブロックを直接登録しても自動でブロックアイテムを探索してやってくれるらしい
// 各種BlockののBlockItemをクリエイティブタブ追加する
// 今回はItemを指定しているが、Blockを直接登録した場合も、自動で対応するBlockItemを探索してやってくれるらしい

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに 〜らしい という不確かな表現が使われています。コードの挙動を説明するコメントは、事実を正確に記述するべきです。

Suggested change
// 今回はItemを指定しているが、Blockを直接登録した場合も、自動で対応するBlockItemを探索してやってくれるらしい
// 今回はItemを指定しているが、Blockを直接登録した場合も、自動で対応するBlockItemを探索して登録します。

Comment on lines +69 to +70
// MODクラスのコンストラクタは、MODがロードされたときに最初に実行されるらしい
// FMLはIEventBusやModContainerのようないくつかの引数の型を認識し、自動的に渡すらしい

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに 〜らしい という不確かな表現が複数使われています。コードの挙動を説明するコメントは、事実を断定的に記述することで、より明確になります。

Suggested change
// MODクラスのコンストラクタは、MODがロードされたときに最初に実行されるらしい
// FMLはIEventBusやModContainerのようないくつかの引数の型を認識し、自動的に渡すらしい
// MODクラスのコンストラクタは、MODがロードされたときに最初に実行されます。
// FMLはIEventBusやModContainerのようないくつかの引数の型を認識し、自動的に渡します。

}

// DeferredレジスタをMODイベントバスに登録し、ブロックが登録されるようにする
// DeferredRegisterをNeoForgeのMODEventButに登録し、DeferredRegisterに登録された各ブロックがゲームに登録されるようにする

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに MODEventBut というタイポがあります。正しくは MODEventBus です。

Suggested change
// DeferredRegisterをNeoForgeのMODEventButに登録し、DeferredRegisterに登録された各ブロックがゲームに登録されるようにする
// DeferredRegisterをNeoForgeのMODEventBusに登録し、DeferredRegisterに登録された各ブロックがゲームに登録されるようにする

import net.neoforged.neoforge.client.gui.IConfigScreenFactory;

// このクラスは専用サーバーではロードされません。ここからクライアント側のコードにアクセスしても安全です。
// Modアノテーションに、dist = Dist.CLIENTを指定しているため、このクラスはクライアントサイドにのみ存在するようになるらしい

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに 〜らしい という不確かな表現が使われています。クラスのロード条件について、断定的な表現に修正することで、コードの意図がより明確になります。

Suggested change
// Modアノテーションにdist = Dist.CLIENTを指定しているため、このクラスはクライアントサイドにのみ存在するようになるらしい
// Modアノテーションに `dist = Dist.CLIENT` を指定しているため、このクラスはクライアントサイドでのみロードされます。

Comment on lines +15 to +16
// EventBusSubscriberを使用すると、@SubscribeEventアノテーションのあるこのクラス内のすべての静的メソッドが、
// Modコンストラクタで登録せずとも自動的に登録されるらしい

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

コメントに 〜らしい という不確かな表現が使われています。@EventBusSubscriber の機能について、断定的な表現で説明する方が分かりやすいです。

Suggested change
// EventBusSubscriberを使用すると、@SubscribeEventアノテーションのあるこのクラス内のすべての静的メソッドが、
// Modコンストラクタで登録せずとも自動的に登録されるらしい
// EventBusSubscriberを使用すると、@SubscribeEventアノテーションのあるこのクラス内のすべての静的メソッドが、
// Modコンストラクタで登録せずとも自動的に登録されます。

@Builder256 Builder256 merged commit bad2ac0 into develop Mar 15, 2026
2 checks passed
@Builder256 Builder256 deleted the refactor/enchance-comments branch March 15, 2026 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant