提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
+ | {{前提MOD|reqmod="Minecraft Forge4.3x"}} | ||
+ | |||
==プロキシシステム== | ==プロキシシステム== | ||
− | プロキシシステムはデザインパターンにおけるproxyパターン( | + | プロキシシステムはデザインパターンにおけるproxyパターン(または, wrapperパターン)をシステムとして実装したものである. 具体的には, 以下の一文で示される |
− | + | *サーバー側, クライアント側で異なる処理を, 共通のインタフェースで行う | |
− | + | ||
+ | 基本的には'''クライアント側でのみ必要な処理'''を共通のインタフェースで行うが, サーバー側とクライアント側で異なる処理を共通のインタフェースで行いたい場合も利用する. | ||
===@SidedProxyアノテーション=== | ===@SidedProxyアノテーション=== | ||
− | |||
<source lang = "java"> | <source lang = "java"> | ||
− | @SidedProxy(clientSide = "パッケージ名.client.ClientProxy", serverSide = "パッケージ名. | + | @SidedProxy(clientSide = "パッケージ名.client.ClientProxy", serverSide = "パッケージ名.CommonProxy") |
public static CommonProxy proxy; | public static CommonProxy proxy; | ||
</source> | </source> | ||
26行目: | 28行目: | ||
</source> | </source> | ||
− | + | @SidedProxyアノテーションは実行される側によって生成するインスタンスを変えるアノテーションである. clientSideがクライアント側, serverSideがサーバー側である. 余談だが, bukkitSideが存在し, 将来的にbukkitにまでコードの統一化が行われることが示唆されている. | |
− | |||
− | @ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ==諸注意== |
− | + | 上記の例はクライアント側のみ, パッケージに階層clientを追加している. これはあくまで'''明示的に'''クライアントのみの処理はパッケージの階層を追加しているだけで, 実際はclientパッケージを作る必要性はない. ただし, チュートリアルで作成するModは'''明示的に階層を分けている'''ので注意すること. |