|
|
(4人の利用者による、間の8版が非表示) |
1行目: |
1行目: |
− | {{前提MOD|reqmod="Minecraft Forge Universal 10.13.0.1207"}}
| + | #REDIRECT [[Access Transformer利用]] |
− | {{ チュートリアル難易度 | difficulty=1 |clear=none}}
| |
− | | |
− | 1.7からの、クラス書き換え方法です。
| |
− | 基本的には[[coremodsの基礎]]と同じです。
| |
− | | |
− | ==ソースコード==
| |
− | *SampleClassTransformCore.java
| |
− | <source lang="java">
| |
− | | |
− | public class SampleClassTransformCore extends DummyModCore {
| |
− | public SampleClassTransformCore() {
| |
− | | |
− | }
| |
− | }
| |
− | | |
− | </source>
| |
− | | |
− | *SampleLoadingPlugin.java
| |
− | <source lang="java">
| |
− | | |
− | public class SampleLoadingPlugin implements IFMLLoadingPlugin {
| |
− | @Override
| |
− | public String[] getLibraryRequestClass() {
| |
− | return null;
| |
− | }
| |
− | | |
− | @Override
| |
− | public String[] getASMTransformerClass() {
| |
− | return new String[] {"sample.SampleClassTransformer"};;
| |
− | }
| |
− | @Override
| |
− | public String getModContainerClass() {
| |
− | return null;
| |
− | }
| |
− | @Override
| |
− | public String getSetupClass() {
| |
− | return null;
| |
− | }
| |
− | @Override
| |
− | public void injectData(Map<String, Object> data) {
| |
− | | |
− | }
| |
− | }
| |
− | | |
− | </source>
| |
− | | |
− | *SampleClassTransformer.java
| |
− | <source lang="java">
| |
− | | |
− | public class SampleCrassTransformer implements IClassTransformer {
| |
− | @Override
| |
− | public byte[] transform(byte[] bytes, String name, String transformedName) {
| |
− | | |
− | }
| |
− | }
| |
− | | |
− | </source>
| |
− | | |
− | *SampleAccessTransformer.java
| |
− | <source lang="java">
| |
− | | |
− | public class SampleAccessTransformer extends AccessTransformer {
| |
− | public SampleAccessTransformer() { super("sample_at.cfg"); }
| |
− | }
| |
− | | |
− | </source>
| |
− | | |
− | *sample_at.cfg
| |
− | <source lang="text">
| |
− | public net.minecraft.client.renderer.ItemRenderer
| |
− | | |
− | </script>
| |
− | | |
− | ==解説==
| |