17
Minecraft Modding 入入 入入入入入入入入入入入 3 入 入入 入入

Minecraft Modding入門

  • Upload
    pctgx8

  • View
    242

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Minecraft Modding入門

Minecraft Modding 入門デジタルハリウッド大学 3 年 永沼 慎也

Page 2: Minecraft Modding入門

自己紹介• 名前 : 永沼 慎也• GitHub: Pctg-x8• メイン言語 : C++, D, Haskell, Scala, HLSL• メイン領域 : ゲームロジック /AI/ 言語処理 / リアルタイムグラフィック

ス• 曲作り (DTM) もしている

Page 3: Minecraft Modding入門

目的

Minecraft(1.7.10/1.8) Modding に必要な

最低レベルの知識を身につける

Page 4: Minecraft Modding入門

対象レベル

• Minecraft をプレイしたことがある• オブジェクト指向設計、デザインパターン関係の

用語を理解できる ( 初級 )

必須

• Scala/Kotlin 言語の知識がある ( 初級 )

高度

Page 5: Minecraft Modding入門

Minecraft ワールドの構成クラス

Item Block

Page 6: Minecraft Modding入門

Minecraft ワールドの構成クラス→ インベントリ内に入れられるもの

ItemBlock

• Block

派生

独自クラス

• Block

派生

Item

Page 7: Minecraft Modding入門

Minecraft ワールドの構成クラスBlock → ブロックの情報・特性を表す

特性

• 採掘レベル• 爆発耐性

情報

• 名前• 見た目 ( テクスチャ )

Page 8: Minecraft Modding入門

ひとつだけ存在する

Minecraft ワールドの構成クラス

Minecraft

Item Block

Page 9: Minecraft Modding入門

Minecraft ワールドの構成クラス

class Item~~~ extends Itemobject Item~~~ extends Item

class Block~~~ extends Block(Material.~~~)object Block~~~ extends Block(Material.~~~)

アイテムの場合

ブロックの場合

class では new でインスタンスが複数存在できるが、 object ではそれが制限される

Page 10: Minecraft Modding入門

オブジェクトの登録

Minecraftブロックレジストリ

アイテムレジストリ

レシピマネージャ

各 Modブロック、アイテム、 etc…

GameRegistry

Page 11: Minecraft Modding入門

表示される名前とは別物

オブジェクトの登録GameRegistr

yメソッド 説明

registerItem( アイテム , 内部名 ) アイテムを登録する

registerBlock( ブロック , 内部名 ) ブロックを登録する

Page 12: Minecraft Modding入門

クラフトレシピの追加

Minecraftブロックレジストリ

アイテムレジストリ

レシピマネージャ

GameRegistry

各 Modブロック、アイテム、 etc…ブロックレジスト

アイテムレジストリ

レシピマネージャ

Page 13: Minecraft Modding入門

クラフトレシピの追加GameRegistry.addRecipe 定型レシピの追加

例 : チェストのレシピGameRegistry.addRecipe(new ItemStack(Blocks.chest), “xxx”, “x x”, “xxx”, ‘x’, new ItemStack(Blocks.planks));

Page 14: Minecraft Modding入門

クラフトレシピの追加GameRegistry.addRecipe 定型レシピの追加

例 : 2x2 グリッド ( 作業台 ) のレシピGameRegistry.addRecipe(new ItemStack(Blocks.workbench), “xx”, “xx”, ‘x’, new ItemStack(Blocks.planks));

Page 15: Minecraft Modding入門

クラフトレシピの追加GameRegistry.addShapelessRecipe 不定型レシピの追加

例 : 羊毛の色をコピーするレシピGameRegistry.addShapelessRecipe(new ItemStack(Blocks.wool, 2, 1), new ItemStack(Items.wool, 1, 1), new ItemStack(Blocks.wool, 1, 0));

Page 16: Minecraft Modding入門

おさらい

• GameRegistry.registerItem

• GameRegistry.registerBlock

• GameRegistry.addRecipe

• GameRegistry.addShapedRecipe

アイテムを登録する

ブロックを登録する

定型レシピを登録する

不定形レシピを登録する

Page 17: Minecraft Modding入門

( 今日説明してないやつ )ステップアップ• テクスチャ関係

• Multi-texture Blocks – Minecraft Mods & Modding by BedrockMinerhttp://bedrockminer.jimdo.com/modding-tutorials/basic-modding-1-7/multi-texture-blocks/

• ブロックやアイテムの設定• Basic Blocks – Minecraft Forge

http://www.minecraftforge.net/wiki/Basic_Blocks

• First Item – Minecraft Mods & Modding by BedrockMinerhttp://bedrockminer.jimdo.com/modding-tutorials/basic-modding-1-7/first-item/