Materialisationを1.17~1.19に対応させてみた。†
Shedaniel氏が作ったMaterialisationというFabric用のTinker's constructのようにカスタマイズできるツールをつくることができるMODをForkし、1.17から1.19まで対応させました。
Pull Requestを送ったのですが、Repositoryがアーカイブされてしまったので恐らく開発を維持しないということなのでしょう。
せっかくなのでApache License 2.0で派生版の配布やらが許可されているため、こちらに公開してみました。
Fork元はこちらです。
正直、最新バージョンに移行させるのは苦労しました(笑)
関連リンク†
コメント†
Architectury APIはFabric/Forge/Quilt同時開発できる素晴らしいAPIです。
Uncrafting Tableも実はこれを利用してForgeとFabric両方のMODを提供しています。
さて、Architectury Pluginを入れましょう。
archってタイプするだけで出てきましたね...W
既に私はインストールしてますが、これはArchitectury APIでの開発環境を自動で生成してくれる画期的なものなので入れましょう。
今のところIntelliJだけみたいですね。VSCodeの方は残念ながら手動ですね...
ファイル(File)→新規(New)→プロジェクト(Project)...→Minecraftから以下の画面が出てくると思います。
私はMinecraft Development Pluginを入れているためにBukkitやらといろいろあります。
Architectury Modを選択しましょう。
進めたらいろいろ入力欄があります。
そのまま書き込みましょう。
artifact idはmodidでいいと思います。私はbackpackにしました。
Group idなど書き込んでそのまま進めると以下のような画面が出てくると思います。
Use Mixinsにチェックしておいたほうが無難でしょう。
少しの間待ってみるとBackpackFabric.javaやらBackpackForge.java、Backpack.java、その他諸々生成されていました。
ほんと便利ですよね~(≧∇≦)b
- (MOD名)Fabric.java
- Fabricのエントリーポイント
- (MOD名)Forge.java
- Forgeのエントリーポイント
- (MOD名).java
- 両方のエントリーポイント
(MOD名)Fabric.java、(MOD名)Forge.javaが(MOD名).javaのクラス内のinit()関数を呼び出します。
標準ではMojangの公式マッピングになっています。ですので私はbuild.gradleでmappings loom.officialMojangMappings()をコメントアウトし、mappings "net.fabricmc:yarn:@YARN_MAPPINGS@:v2"をアンコメントしました。OfficalMojangMappingsでいい場合はしなくても結構です。私はyarn派なのでしますが、
@YARN_MAPPINGS@にはhttps://fabricmc.net/develop/のyarn_mappings=xxxのxxxの部分を書き込みましょう。
コメント†
GitHub Pagesを利用してMavenリポジトリをつくる†
MODのライブラリを作った後、どのように公開するのかわかりませんでした。
GitHubでMavenリポジトリを作っている方がいましたので参考にしましたが、正直なところ、GradleでどのようにMavenリポジトリを生成するのかわかりませんでした。
そこで私の方法となりますが、PHPで無理やり生成するスクリプトをつくってみました。
スクリプトは下の方に載せておきます。
完成したMavenリポジトリ†
スクリプト†
前提条件†
- PHPを動作させるWebサーバーをインストールしておく(XAMPP、LAMP等)
- Gitを入れておく
- GitHubのアカウントをつくっておく
- Mavenリポジトリとして使うGitリポジトリをGitHubにつくっておく
1. GitHubのGitリポジトリを開き、[Settings]→[Pages]→SourceがNoneになっているのでbranchを選択する
2. 特定のhtdocsにmavenリポジトリとするフォルダをつくる。(htdocs/maven/にしました。)
3. つくったフォルダにmaven.phpを放り込む。(今回はhtdocs/maven/maven.phpに放り込みました。)
4. つくったフォルダでターミナルを開き、git initを実行
5. git add *を実行
6. git commit -m "(任意)"を実行
7. git branch -M mainを実行
8. git remote add origin https://github.com/(ユーザー名)/(リポジトリ名).gitを実行
9. git push -u origin mainを実行
10. ブラウザでmaven.phpを開き、jarをアップロードする。(私の場合はlocalhost/maven/maven.phpとなっています)
maven.phpの仕様†
- アップロード後、自動でgit push
- ハッシュファイルを作成する
- ディレクトリリストのindex.htmlを自動生成する
ここからは任意ですが、Customドメインもついでに設定しておきます
Custom domainで自分のドメインを設定しました。
コメント†
【FabricMC】Illegal character *1:...の対処法†
FabricでMOD開発していると以下のようなエラーが出てしまいました。
Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens 333333333333333
at [Source: UNKNOWN; line: 1, column: 2]
解決法†
以下のコマンドを実行することにより解決しました。
gradlew --refresh-dependencies
コメント†
JitPackでJava 8以外を使う方法†
FabricMCのMOD開発でライブラリをJitPackにあげたかったのだが、ビルドでエラーが発生してしまった。そこでjitpack.ymlでjdkを指定したところ、一時期動いたのだが、また動作しなくなったため、以下のようにbefore_install:をymlに追加すると解決する。
jitpack.ymlはディレクトリ直下に配置する。
コメント†
FabricMCのMOD開発でFAILURE: Build failed...のようなエラーが出てビルドできない時の対処法†
migrateMappingsで半自動更新させてgradle.properties の中身を書き換えて1.18.2に移行させようとしたとき以下のようなエラーが発生してしまいました。
Starting Gradle Daemon...
Gradle Daemon started in 1 s 667 ms
> Configure project :
Fabric Loom: 0.9.54
:remapping 1 mods (TinyRemapper, intermediary -> named)
:remapping 51 mods (TinyRemapper, intermediary -> named)
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'AdvancedReborn-1.17'.
> Unsupported access widener format (v2)
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'AdvancedReborn-1.17'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:75)
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:68)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$400(LifecycleProjectEvaluator.java:51)
at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate.run(LifecycleProjectEvaluator.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
(省略)
* Get more help at <a href="https://help.gradle.org" rel="nofollow">https://help.gradle.org</a>
BUILD FAILED in 17s
対処法
gradlew --refresh-dependencies を実行
.gradle 内のloom-cache/ を削除します。
もっといい方法はないのか...
コメント†
|