提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
 
== Access Transformer ==
 
== Access Transformer ==
 
Minecraft Forge (厳密にはFML) によって提供される、アクセス修飾子書き換えを行うための機能である。<br>
 
Minecraft Forge (厳密にはFML) によって提供される、アクセス修飾子書き換えを行うための機能である。<br>
リフレクションなどを用いて参照を得ようとするよりも可読性が高くなると言った利点を持つ。<br>
+
リフレクションなどの解決法よりも可読性が高くなると言った利点を持つ。<br>
 
何より簡単なので、あらゆるフックを通じてなお不可能である機能の実現の一つの手段として役立つだろう。
 
何より簡単なので、あらゆるフックを通じてなお不可能である機能の実現の一つの手段として役立つだろう。
=== 準備 ===
+
=== 使い方 ===
 
build.gradleに以下を追加する
 
build.gradleに以下を追加する
 
<source lang="groovy">
 
<source lang="groovy">
12行目: 12行目:
 
}
 
}
 
</source>
 
</source>
この記述によって、MANIFEST.MFにAT.cfgの配置情報が記述されるようになる。<br>
+
この記述によって、MANIFEST.MFにAT.cfgの配置情報が記述されるようになる。
その後、<modid>_at.cfgをsrc/main/resources/META-INF下に作成する。
+
そして、<modid>_at.cfgをsrc/main/resources/META-INF下に作成する。
  
 
以上で、使用するための準備は完了である。
 
以上で、使用するための準備は完了である。
  
 
=== 書式 ===
 
=== 書式 ===
一般的に正規表現風<small>(エスケープを省いている)</small>で以下に示す
+
一般的に正規表現を用いて以下に示す
<source lang="text">
+
<source lang="reg">
 
アクセス修飾子([+-]f)? 所属クラスパス (記述子)?
 
アクセス修飾子([+-]f)? 所属クラスパス (記述子)?
 
</source>
 
</source>
25行目: 25行目:
 
+fとすることでfinal修飾子の追加、-fとすることで除去ができる。<br>
 
+fとすることでfinal修飾子の追加、-fとすることで除去ができる。<br>
 
所属クラスパスには、そのフィールドやメソッドが存在するクラスの完全修飾名を指定する。<br>
 
所属クラスパスには、そのフィールドやメソッドが存在するクラスの完全修飾名を指定する。<br>
記述子には、フィールドやメソッドの識別名+返り型を記述する。何も書かなかった場合にはクラス自体のアクセスが変更される。無論SRG名なのでSRG名は別途調べること。
+
記述子には、フィールドやメソッドの識別名を記述する。何も書かなかった場合にはクラス自体のアクセスが変更される。無論SRG名なのでSRG名は別途調べること。
 
:記述子書式参考
 
:記述子書式参考
 
:*[https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.3 JVM Spec 4.3]
 
:*[https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.3 JVM Spec 4.3]
31行目: 31行目:
 
:*org.objectweb.asm.Typeのソース
 
:*org.objectweb.asm.Typeのソース
 
:英語がよくわからない人はforge_at.cfgなどを参考に地道にやっていってください。
 
:英語がよくわからない人はforge_at.cfgなどを参考に地道にやっていってください。
<nowiki>#</nowiki>以降はコメントとして解釈されない。<br>
 
アスタリスクを用いることで全メンバを指定することもできる。
 
 
=== 反映 ===
 
AT.cfgに変更したい部分を記述した後、setupDecompWorkspaceすれば開発環境のコードに反映される。
 

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)