ModderKina (トーク | 投稿記録) (下書きとして。) |
ModderKina (トーク | 投稿記録) |
||
1行目: | 1行目: | ||
== Minecraft本体 == | == Minecraft本体 == | ||
− | === | + | === [https://minecraft-ja.gamepedia.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF データパック] === |
+ | ついにデータパックが正式実装。<br> | ||
+ | 1.12では不完全でまともに機能してなかったはずだが、いよいよ使えるものになったぞ。<br> | ||
+ | ただ、ディレクトリ階層とかそのへんはちょっと変更されたので注意。 | ||
+ | |||
+ | === BlockID、ItemIDの平坦化 === | ||
要は、metaだとかdamageだとか言われていたものが削除された。<br> | 要は、metaだとかdamageだとか言われていたものが削除された。<br> | ||
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br> | 羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。<br> | ||
− | Stateの上限もなくなっているので、ある程度自由になったと言えるかも。 | + | Stateの上限もなくなっているので、ある程度自由になったと言えるかも。<br> |
+ | IDの無限化はまだ[https://github.com/MinecraftForge/MinecraftForge/issues/5135 夢幻]。 | ||
=== 水、溶岩の挙動に手が入った === | === 水、溶岩の挙動に手が入った === | ||
14行目: | 20行目: | ||
バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br> | バニラでは、<code>Block</code>と<code>Item</code>と<code>Fluid</code>に用いられている模様。<br> | ||
レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。<br> | レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。<br> | ||
− | + | Jsonで自由にいじることができる。要はJson版鉱石辞書。<br> | |
− | 空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。 | + | 空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。 |
− | |||
=== 精錬レシピがJson化された === | === 精錬レシピがJson化された === | ||
42行目: | 47行目: | ||
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。 | 当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。 | ||
− | === | + | === リソースパック ver.4 === |
− | + | ==== Jsonモデル ==== | |
− | |||
− | |||
− | === Jsonモデル === | ||
パスの省略部分が変更された。<br> | パスの省略部分が変更された。<br> | ||
ある程度一括で置換できる部分なのでそう影響はないはず……。 | ある程度一括で置換できる部分なのでそう影響はないはず……。 | ||
56行目: | 58行目: | ||
=== Modの認識方法の変更 === | === Modの認識方法の変更 === | ||
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br> | META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br> | ||
− | + | ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。<br> | |
+ | CoremodもJSから認識するようになるらしい? | ||
+ | |||
+ | === GuiFactory === | ||
+ | Modアノテーションが変わったので当然こっちのやり方も変わった。 | ||
=== EventHandlerアノテーションが非推奨に === | === EventHandlerアノテーションが非推奨に === | ||
− | + | メソッド参照を使うなりして自分でFunctionを登録しろやって事っぽい。<br> | |
+ | 蔵鯖関係の配慮なのかな?多分そうだと思う。 | ||
=== <code>GameRegistry</code> === | === <code>GameRegistry</code> === | ||
72行目: | 79行目: | ||
==== <code>DistExecutor</code> ==== | ==== <code>DistExecutor</code> ==== | ||
− | <code>SidedProxy</code>の代わり? | + | <code>SidedProxy</code>の代わり?<br> |
+ | まぁそうでなかったとしても、なんかいちいちロジカルサイド判定して三項演算子でバーンとかはする必要がなくなった。 | ||
=== <code>OreDictionary</code> === | === <code>OreDictionary</code> === | ||
ほとんどの機能がタグに移行した。<br> | ほとんどの機能がタグに移行した。<br> | ||
というか、現時点では全範囲がコメントアウトされている。 | というか、現時点では全範囲がコメントアウトされている。 |
2018年10月11日 (木) 06:59時点における版
Minecraft本体
データパック
ついにデータパックが正式実装。
1.12では不完全でまともに機能してなかったはずだが、いよいよ使えるものになったぞ。
ただ、ディレクトリ階層とかそのへんはちょっと変更されたので注意。
BlockID、ItemIDの平坦化
要は、metaだとかdamageだとか言われていたものが削除された。
羊毛は色それぞれが別ブロックとなり、ツールのダメージはNBTに保存されるようになった。
Stateの上限もなくなっているので、ある程度自由になったと言えるかも。
IDの無限化はまだ夢幻。
水、溶岩の挙動に手が入った
水源を特定のブロックが保持できるようになった。
インターフェースによる処理なので、Modであっても実装は容易だろう。
水の流れに関する複雑な処理はBlock
ではなくFluid
(1.13にて追加)が担うようだ。
実装だけ読んだ限りだと、溶岩を保持するのも可能……っぽい?
タグの概念
バニラでは、Block
とItem
とFluid
に用いられている模様。
レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。
Jsonで自由にいじることができる。要はJson版鉱石辞書。
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。
精錬レシピがJson化された
同時に精錬レシピがIRecipe
傘下入り。
まぁある意味では扱いやすくなったとも言えるかも……?
Item
、Block
のコンストラクタの変更
ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。
IItemProvider
Block
とItem
を一緒くたに扱えるようになった。
色んな所でいちいちItemStack
にしなきゃいけなくてめんどくさかったのが解消する。
コマンドの実装が一新された
構文解析のためにいろいろやってる。
ツールのTierがインターフェースで管理されるようになった
前まではいろいろ分散したりしていたのが、インターフェースにまとめられた。
BlockstateのPropertyが共通化された
これまでは同じ内容を表すものであっても個別に宣言されていたが、統一された。
ある程度包括的にブロックを扱えるようになった。
VoxelShape
当たり判定は前までAxisAlignedBB
のリストで扱われていたが、VoxelShape
を使うようになった。
リソースパック ver.4
Jsonモデル
パスの省略部分が変更された。
ある程度一括で置換できる部分なのでそう影響はないはず……。
MinecraftForge
9/30現在。
大体方向性ははっきりしているだろうというところに絞っているが、まだまだ変更が見込まれる部分なので実際のコードを見てほしい。
Modの認識方法の変更
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。
ModアノテーションはエントリクラスをFMLに示すための純粋なマーカーとなるようだ。
CoremodもJSから認識するようになるらしい?
GuiFactory
Modアノテーションが変わったので当然こっちのやり方も変わった。
EventHandlerアノテーションが非推奨に
メソッド参照を使うなりして自分でFunctionを登録しろやって事っぽい。
蔵鯖関係の配慮なのかな?多分そうだと思う。
GameRegistry
なんかスッキリしてる。(findRegistryというメソッド一つになってる)
WIPなのか、もうEvent/Json使ってくれやってことなのかは不明。
Forge Service Provider Interfaces
Side
がDist
というものに変わった。
OnlyIn
アノテーション
SideOnly
アノテーションの代わり。
DistExecutor
SidedProxy
の代わり?
まぁそうでなかったとしても、なんかいちいちロジカルサイド判定して三項演算子でバーンとかはする必要がなくなった。
OreDictionary
ほとんどの機能がタグに移行した。
というか、現時点では全範囲がコメントアウトされている。