提供: Minecraft Modding Wiki
移動先: 案内検索
(下書きとして。)
 
1行目: 1行目:
 
== Minecraft本体 ==
 
== Minecraft本体 ==
=== BlockID、ItemIDの平坦化・無限化 ===
+
=== [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で自由にいじることができる。<br>
+
Jsonで自由にいじることができる。要はJson版鉱石辞書。<br>
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。<br>
+
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。
もとからあるタグはラッパーを用いてコード内でもJsonでもいい感じに使えるようになってる。
 
  
 
=== 精錬レシピがJson化された ===
 
=== 精錬レシピがJson化された ===
42行目: 47行目:
 
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。
 
当たり判定は前まで<code>AxisAlignedBB</code>のリストで扱われていたが、<code>VoxelShape</code>を使うようになった。
  
=== <code>IDataProvider</code> ===
+
=== リソースパック ver.4 ===
Mojangはこれであの大量のJsonを用意していたんですね。<br>
+
==== Jsonモデル ====
Mojangの開発環境で使われているだけなので無視してOK、それだけが言いたかった。
 
 
 
=== Jsonモデル ===
 
 
パスの省略部分が変更された。<br>
 
パスの省略部分が変更された。<br>
 
ある程度一括で置換できる部分なのでそう影響はないはず……。
 
ある程度一括で置換できる部分なのでそう影響はないはず……。
56行目: 58行目:
 
=== Modの認識方法の変更 ===
 
=== Modの認識方法の変更 ===
 
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br>
 
META-INF/mods.tomlとかいうのでこれまでModアノテーションでやってきたことの大半をやるっぽい。<br>
CoremodもJsonから認識するようになるらしい?
+
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にて追加)が担うようだ。
実装だけ読んだ限りだと、溶岩を保持するのも可能……っぽい?

タグの概念

バニラでは、BlockItemFluidに用いられている模様。
レシピの材料判定とかそういう感じのところで包括的に扱うための仕組みっぽい。
Jsonで自由にいじることができる。要はJson版鉱石辞書。
空気を水扱いにして泳げるようにした実験的データパックとか見た気がする。

精錬レシピがJson化された

同時に精錬レシピがIRecipe傘下入り。
まぁある意味では扱いやすくなったとも言えるかも……?

ItemBlockのコンストラクタの変更

ビルダーパターンが採用され、setHardnessとか言ったプロパティ的なものは初期化時に全部指定して固定化されるようになった。

IItemProvider

BlockItemを一緒くたに扱えるようになった。
色んな所でいちいち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

SideDistというものに変わった。

OnlyInアノテーション

SideOnlyアノテーションの代わり。

DistExecutor

SidedProxyの代わり?
まぁそうでなかったとしても、なんかいちいちロジカルサイド判定して三項演算子でバーンとかはする必要がなくなった。

OreDictionary

ほとんどの機能がタグに移行した。
というか、現時点では全範囲がコメントアウトされている。