main() blog

プログラムやゲーム、旅、愛する家族について綴っていきます。

Minecraft MODでオリジナルの「ブロック」を追加してみよう!(Mac編)

Forge MDK 1.12.2 の環境での説明になります。

環境構築などについては下記のページを参考にしてください。

www.main-function.com

新しいブロックを作ろう

f:id:takezoh_1127:20181101234054p:plain

"testmod"のPackageにクラスを追加します。
右クリック(もしくはメニューバーのFile)、New、Classで作成ダイアログが開きます。
今回はクラス名を "MyBlock" とします。
空のクラスが作成されました。

package testmod;

public class MyBlock {

}

ここにBlockの実装を追記していきます。
まずは以下のように入力してください。

package testmod;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;

public class MyBlock extends Block {
    public MyBlock(String name, Material materialIn) {
        super(materialIn);
        setUnlocalizedName(name);
        setRegistryName(name);
    }
}

簡単に説明をしていきます。
新しくBlockを作成するためにMinecraftのBlockクラスを継承する必要があります。
クラスをインポートして、Blockクラスを継承します。

// ↓Blockクラスをインポートする
import net.minecraft.block.Block;

// ↓extends BlockでBlockクラスを継承する
public class MyBlock extends Block {

次にMyBlockのコンストラクタを書きます。

// ↓Materialクラスをインポートする
import net.minecraft.block.material.Material;

  :

  // コンストラクタ
    public MyBlock(String name, Material materialIn) {
        super(materialIn);
        setUnlocalizedName(name);
        setRegistryName(name);
    }

ブロックの名前とマテリアルを引数で渡します。
Materialクラスを使用するのでインポートが必要です。
親クラスのコンストラクタを super(materialIn) で呼びます。
名前をセットしておきます。

これで新たに作成するBlockクラスが作成できました。

作ったブロックを登録しよう

次に新しく作ったBlockクラスを登録する処理を書きます。

先程と同様に "testmod" のPackageに "ModBlocks" というクラスを追加します。
以下のソースを書きます。

package testmod;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@Mod.EventBusSubscriber(modid=TestMod.MODID)
public class ModBlocks {
    public static Block myBlock = null;
    
    public static void init() {
        myBlock = new MyBlock("myBlock",Material.ROCK).setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
    }
    
    @SubscribeEvent
    public static void registerBlocks(RegistryEvent.Register<Block> event) {
        event.getRegistry().registerAll(myBlock);
    }
    
    @SubscribeEvent
    public static void registerItemBlocks(RegistryEvent.Register<Item> event) {
        event.getRegistry().register(new ItemBlock(myBlock).setRegistryName(myBlock.getRegistryName()));  
    }
}

init()でMyBlockクラスのインスタンスを生成します。
引数に名前"myBlock"とマテリアル"ROCK"を渡して生成します。

Block登録時に呼ばれるイベント関数でBlockの登録を行います。

最後にModBlocksの初期化関数をTestModの初期化時に呼ぶようにします。

@Mod(modid=TestMod.MODID, version=TestMod.VERSION)
public class TestMod {
    public static final String MODID = "testmod";
    public static final String VERSION = "1.0";
        
    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
         // ↓ここを追加
        ModBlocks.init();
    }
    
    @EventHandler
    public void init(FMLInitializationEvent event) {      
    }
}

動かして確認してみよう

早速実行してみましょう。

起動したら[E]キーを押して持ち物画面を開きます。
建築ブロックのタブの一番下にスクロールします。
表示がおかしいですが新規に作成したBlockが追加されていることを確認します。

f:id:takezoh_1127:20181101233016p:plain

[R]キーを押してフィールドに配置もできます。

f:id:takezoh_1127:20181101233034p:plain

これで新規のBlockを追加することができました。

Minecraft MODを弄ってみよう!(Mac編)

Forge MDK 1.12.2 の環境での説明になります。

MODの環境構築については以下のページを参考に設定してください。

www.main-function.com

Eclipseを起動して以下のフォルダをワークスペースとして開きます。

minecraftmod/forge-1.12.2-14.23.5.2768-mdk/eclipse

MDKExampleの下のsrc/main/javaの下にPackageを作成します。
該当のフォルダを右クリック、New、Packageを選択するか、もしくはメニューバーのFile、New、Packageを選択します。

f:id:takezoh_1127:20181031014210p:plain

Package作成のダイアログが表示されるので任意の名前を入力します。

f:id:takezoh_1127:20181031014354p:plain

今回は"testmod"という名前でPackageを作成します。

その下にjavaのソースファイルを作成します。
該当のPackageを右クリック(もしくはメニューバーのFile)、New、Classを選択します。

f:id:takezoh_1127:20181031014518p:plain

Class作成のダイアログが開くので任意の名前を入力します。

f:id:takezoh_1127:20181031014627p:plain

今回は"TestMod"というクラス名で作成します。
作成すると空のクラスが書かれた "クラス名.java" ファイルが追加されます。

package testmod;

public class TestMod {

}

ここにMODの基本となる処理を書いていきます。

package testmod;

import net.minecraftforge.fml.common.Mod;

@Mod(modid=TestMod.MODID, version=TestMod.VERSION)
public class TestMod {
    public static final String MODID = "testmod";
    public static final String VERSION = "1.0";
}

上記のコードを書いて実行してみます。

タイトル画面が起動したらModsを選択してください。

f:id:takezoh_1127:20181031014709p:plain

左のMod Listに testmod が追加されていることを確認してください。

f:id:takezoh_1127:20181031014744p:plain

これでブロックやアイテムを弄れる準備が完了しました。

複数のバージョンのXcodeのインストール方法

macOS Mojaveの公開に伴いXcodeも10.0にバージョンアップされました。

iPhoneのバージョンアップを行なっていなかった為にXcode10でビルドしたアプリケーションが動作しなくなってしまったので、
以前のバージョンをインストールしてビルドする必要が出てきました。
今回はXcodeの複数のバージョンをインストールする方法を紹介します。

Apple Developersからインストールする方法

以前のバージョンをダウンロードするには以下のサイトからダウンロードします。

Sign in with your Apple ID - Apple Developer

インストールするXcodeのバージョンを選択してダウンロードします。

f:id:takezoh_1127:20181030002610p:plain

展開されたフォルダをアプリケーションフォルダに移動する際にリネームしておきます。

Xcodeのバージョンを確認する

現在のXcodeのバージョンを確認する場合、以下のコマンドで確認することができます。

$ xcodebuild -version

f:id:takezoh_1127:20181030002520p:plain

Xcodeのバージョンを変更する

以下のコマンドでXcodeを切り替えることができます。

$ sudo xcode-select -switch /Applications/Xcode_9.4.1/Contents/Developer/

もう一度バージョンを確認します。

$ xcodebuild -version

f:id:takezoh_1127:20181030002534p:plain

これで無事に切り替えることができました。

Xcodeをインストールする

Xcodeのインストール方法を解説します。

f:id:takezoh_1127:20181029235347p:plain

インストールする方法は2つあります。

・AppStoreからインストール
Apple Developersからインストール

AppStoreからインストールする方法

最新のバージョンをインストールするにはAppStoreからダウンロード、インストールします。 AppStoreを開いて検索に"Xcode"と入力します。

f:id:takezoh_1127:20181029233645p:plain

入手を押すとダウンロード、インストールが行われます。

f:id:takezoh_1127:20181029233845p:plain

手順に沿ってインストールを進めると完了します。

Apple Developersからインストールする方法

以下のサイトからダウンロードします。

https://developer.apple.com/download/more/

インストールするXcodeのバージョンを選択してダウンロードします。

f:id:takezoh_1127:20181029234654p:plain

ダウンロードしたxipを解凍します。

f:id:takezoh_1127:20181029234835p:plain

展開されたフォルダをアプリケーションフォルダに移動すればインストールが完了します。

Xcodeを起動する

インストールが完了したらXcodeを起動します。

起動すると以下の画面が表示されます。

f:id:takezoh_1127:20181030010516p:plain

「Agree」を選択します。

次にユーザー認証を求めれるのでパスワードを入力します。

f:id:takezoh_1127:20181030010731p:plain

必要なコンポーネントがインストールされます。

f:id:takezoh_1127:20181030010820p:plain

コンポーネントのインストールが完了すると以下の画面に切り替わります。

f:id:takezoh_1127:20181030010939p:plain

これで無事にXcodeのインストールが完了しました。

Minecraft MOD を始めよう!(Mac編)

Minecraft MOD を導入する環境はいくつかあるようですが、今回はJavaの環境でセットアップしてみます。

f:id:takezoh_1127:20181026002221p:plain

以下の環境をインストールする必要があります。

・JDK8.0
Eclipse
・Forge MDK

JDK8.0

JDKのダウンロード

まずはJavaの開発環境をインストールします。
下記のHPより最新版のSDKをダウンロードします。

Java SE Development Kit 8 - Downloads

今回は JDK 8 Update 181.pkg をダウンロードしました。
ダウンロードしたファイルをダブルクリックするとインストールが開始されます。

JDKのインストール

以下の画面で中央の箱のアイコンをダブルクリックします。

f:id:takezoh_1127:20181025230054p:plain

画面の手順に従ってインストールを進めます。

f:id:takezoh_1127:20181025230211p:plain

f:id:takezoh_1127:20181025230305p:plain

f:id:takezoh_1127:20181025230336p:plain

f:id:takezoh_1127:20181025230349p:plain

JDKがインストールされたかを確認

ターミナルで以下のコマンドを入力してバージョンを確認します。

$ java -version

f:id:takezoh_1127:20181025231908p:plain

Eclipse

次にEclipseをインストールします。
以下の公式HPからダウンロードします。

www.eclipse.org

画面右上のDOWNLOADをクリックします。

f:id:takezoh_1127:20181025232440p:plain

次にDownload Packagesをクリックします。

f:id:takezoh_1127:20181025232910p:plain

Eclipseは色々なバージョンが存在しますが、
今回はEclipse IDE for Java and DSL Developersをインストールしてみます。

f:id:takezoh_1127:20181025233528p:plain

ダウンロードしたディスクイメージファイルをダブルクリックします。

eclipse-dsl-2018-09-macosx-cocoa-x86_64.dmg

展開されたフォルダのEclipseをApplicationsのフォルダにドラッグ&ドロップします。

f:id:takezoh_1127:20181025234118p:plain

これでEclipseのインストールは完了です。

Forge MDK

files.minecraftforge.net

以下のページからForge MDKをダウンロードします。

今回は1.12.2 - 14.23.5.2768をダウンロードします。

f:id:takezoh_1127:20181025235147p:plain

以下のzipファイルがダウンロードされます。

forge-1.12.2-14.23.5.2768-mdk.zip

zipを解凍します。

解凍したディレクトリ以下で次のコマンドを実行します。

$ ./gradlew setupDecompWorkspace

f:id:takezoh_1127:20181026001426p:plain

BUILD SUCESSFULが出たら完了です。

次にEclipse用のプロジェクトファイルを作成します。 以下のコマンドを実行します。

$ ./gradlew eclipse

f:id:takezoh_1127:20181026001443p:plain

BUILD SUCESSFULが出たら完了です。

Minecraft MODをEclipseからビルド、実行してみる

Eclipseを起動して、先ほど展開したForgeの以下のディレクトリをワークスペースとして指定します。

f:id:takezoh_1127:20181026002048p:plain

IDEツールバーの緑の再生ボタンのアイコンをクリックすると実行されます。

f:id:takezoh_1127:20181026002126p:plain

以下の画面が出れば起動成功です。

f:id:takezoh_1127:20181026002202p:plain

無事にタイトル画面が表示されました。

f:id:takezoh_1127:20181026002221p:plain

タイトル画面のボタンにModsが追加されています。 MODのバージョンが正しく起動しました。

これでMinecraft MODの環境が整いました。

MinecraftForge Documentation

Forge Documentation

Forge Tutorial

参考サイト

https://suppergerrie2.com/

このサイトのGitHubを参考にしてみる。

github.com

その他参考サイト

www26.atwiki.jp

n5v.net

www.tntmodders.com

nj-clucker.com

MinecraftForge導入手順 - Minecraft Modding Wiki

qiita.com

hawksnowlog.blogspot.com

eng-entrance.com

ruccho.hateblo.jp

ゲームエンジンのプログラム構成の比較

はじめに

ゲームエンジン物理エンジンミドルウェアのコーディング規約やファイル命名規則など比較してみる。 論理構成(フォルダ構成やリソースの命名規則等も含めて)においても問題になってくる話。

以下の項目について確認していく。

  • バージョン
  • ファイル命名規則
  • ファイル文字コード
  • フォルダ構成
  • libファイル命名規則
  • ファイルヘッダ
  • コメント
  • インクルードガード
  • プラットフォーム定義
  • 型定義
  • 名前空間
  • クラス名
  • 関数名
  • 変数名
  • new,allocator
  • TRACE,ASSERT

命名規則については以下の規則のいずれかが適用されている。

  • CamelCase(PascalCase)
    パスカルケース/アッパーキャメルケース(複合語の先頭を大文字にする)

  • camelCase
    キャメルケース/ローワーキャメルケース(複合号の先頭を小文字にする)

  • snake_case
    スネークケース(全て小文字で複合語の間にアンダーバー"_"を入れる)

  • はじめに
  • OGRE
  • irrlicht
  • CrystalSpace
  • OpenSceneGraph
  • UnrealEngine
  • Havok
  • PhysX
  • bullet
  • ODE
  • CRI(ADX)
  • BISHAMON
  • steam
  • cocos2d-x
  • PhyreEngine
続きを読む

【おでかけ】家族で楽しめてカフェ巡りも楽しめる!箱根一泊旅行オススメ散策コースを紹介!

タケゾーです。

 

先日、家族で一泊二日の箱根旅行に行ってきました!

 

箱根は言わずとも知れた観光名所ですが、一泊二日で家族でも楽しめる散策コースを紹介したいと思います。

 

今回は車での移動でしたが、箱根湯本、芦ノ湖、宮ノ下、仙石原をぐるりとまわってきました。

我が家はカフェ巡りが好きなのでカフェや食べ物が多くなっています。

オススメ散策ルートですので、旅行に行かれる際の参考にでもして頂けると幸いです。

 

 

 

 

1日目

甘酒茶屋

www.amasake-chaya.jp

芦ノ湖の箱根園を目指すために箱根湯本駅の方は回らずに新箱根街道を登って行きます。

芦ノ湖の手前の山の中に風情のある佇まい。周りに本当に何もなく、昔から峠の茶屋として親しまれています。

 

f:id:takezoh_1127:20180813224611j:image

 

9時半到着。

夏休みとはいえ、平日のおかげかお店は混んでいなく、最初は私達しかいませんでした。

その後何組か来ましたが、朝の時間はあまり混雑しない様です。

ここは朝の7時から営業しているとのことですので、早い時間に行くのをオススメします!

 

お店の中の雰囲気もとても良く、囲炉裡に火が焚かれていてとても風情があるお店です。

 

f:id:takezoh_1127:20180813234715j:image

 

f:id:takezoh_1127:20180813234840j:image

 

さっき海老名SAで軽くつまんで来たばかりですが(海老名は海老名で食べ物は外せない…)、早速ここでもお茶します!

 

・力餅(いそべ)

・くろごまきなこもち(個数限定)

・しそジュース

・冷やし甘酒

・かき氷(つぶつぶイチゴ、メロン)

 

力餅は定番で外せないのと、今回はくろごまきなこもちもちというのが出ていたので頂きました!

しそジュースは程よい酸味でさっぱりとした味わいで美味いですよ!

冷やし甘酒も外せないし…って結局いっぱい頼んでしまうのが旅行の楽しみでもあります。

 

f:id:takezoh_1127:20180813224727j:image

 

f:id:takezoh_1127:20180813224758j:image

 

子供たちが食べていたかき氷もふわふわの食感とつぶつぶイチゴは果肉感があるソースでこれまた美味い!

 

f:id:takezoh_1127:20180813224854j:image

 

茶屋に来たら是非食べてみてくださいね。

 

それから隣には史料館も併設されているのでのぞいてみるのも楽しいですよ。 

 

f:id:takezoh_1127:20180813225004j:image

 

 

箱根園水族館

箱根園|トップページ

 

茶屋を出て芦ノ湖に向かいます。

遊覧船や湖畔にの鳥居が有名な箱根神社、箱根関所資料館などいろいろありますが、下の子がまだ幼稚園と言う事もあり、今回は水族館に来ました。

 

箱根園は水族館や、らくやき絵付け体験、寄木細工体験、ロープウェイ、食事などが楽しめる総合施設となっています。

箱根園自体は入園無料ですが、各施設などでそれぞれ料金が掛かります。

水族館とロープウェイのセットのチケットが販売されているのでそちらを購入。

 

まずは水族館を鑑賞。

ここは海抜732mで海水の水族館としては日本で一番標高の高い水族館とのことです。

 

海水館と淡水館に分かれていますが、最初は海水館から入ります。

中央の大きい水槽は自然光と、沈没船のオブジェクトが目を引きます。

 

f:id:takezoh_1127:20180814000938j:image

 

f:id:takezoh_1127:20180814001018j:image

 

サメやクラゲ、ペンギン、熱帯魚を抜けると淡水館に続きます。

ここでは最大の淡水魚ピラルクなど見ることができます。

 

イカルアザラシ広場ではアザラシたちをみることができます。

 

時間が合わずアザラシショウ、水中ショウが見られなかったのが残念…

 

それから好適環境水といって淡水魚と海水魚が同じ水槽で飼育できるという不思議な水の展示もありました。

 

子供の夏休みの自由研究にしてみてはいかがでしょうか。

 

 

箱根駒ヶ岳ロープウェイ

トップページ|箱根 駒ヶ岳ロープウェー|箱根園

 

山頂の標高は1300m。

高低差600mを7分ほどで一気に登ります。

山頂の気温は22℃で真夏暑い時期にはなんとも心地よい気温でした。

 

f:id:takezoh_1127:20180813235814j:image

 

箱根駒ヶ岳山頂には神社があって周りには高い木々などは生えていないのでまさに天空の神社!

物凄く存在感あり、なんとも神秘的な空間でパワースポットでもあるので是非ぜひ足を運んでみてくださいね。

 

 

この日は靄がかかっていて富士山など遠くの景色を見ることができなかったのが残念でした…

 

それでも山頂から見下ろす芦ノ湖の景色は絶景でした。

 

f:id:takezoh_1127:20180813225341j:image

 

 

NARAYA CAFE

NARAYA CAFE - ナラヤカフェ

 

芦ノ湖の後は宮ノ下まで戻ります。

 

箱根登山鉄道宮ノ下駅下車してすぐのところにあるカフェ。

坂を降りたところにも5台ほどの駐車場があるので車でも訪れることができます。

 

f:id:takezoh_1127:20180814000206j:image

 

足湯を楽しみながら美味しいカフェも頂けるという贅沢なカフェです。

 

・ミックスピザ

・柚子スカッシュ

・ならやセット(ひょうたん最中+抹茶オレ)

・アイスティー

・ラムネ

 

f:id:takezoh_1127:20180814000031j:image

 

f:id:takezoh_1127:20180814000056j:image

 

焼き立てピザや餡を自分で皮に詰めるひょうたん最中は美味しい!

 

このカフェはNHKの「ハルさんの休日」という古民家カフェを紹介する番組でも放送されていました。

家族で下の子もハルさんを一緒に観ていたので、カフェに着いたら

「ハルさんのところ?」

「ハルさんのカフェ?」

と言ってました。

 

ちなみにNHKのふるカフェのブログはこちら

www.nhk.or.jp

 

足湯は本当に気持ちいい〜!

足の疲れが取れるだけで気分がとても良くなります。

ただ、ズボンの場合は裾が膝くらいまで捲れることと、足を拭くためのミニタオルを用意しておくことをオススメします!

 

ちなみに下の子は足湯にオモチャを落としてしまい、取ろうしたらそのまま腰まで浸かってしまい、ずぶ濡れになってしまいました。

小さいお子さんがいるお家の方は着替えも持って行った方が良いかもしれません。

(うちだけだとは思いますが…)

 

f:id:takezoh_1127:20180814000416j:image

 

2日目

箱根湯本駅

旅館を出て早速箱根湯本駅に向かいます。

朝の混雑まえに駅前の散策とお土産の目星を付けておきます。

お菓子や日持ちしないお土産を買って暑いクルマの中において行くのは嫌なので、買うものを決めて帰りに寄るようにします。

クルマもまだ混雑していないので近くの駐車場に停めることができますし、観光客もまだ多くないので混雑を避けて散策できます。

 

自分で焼いて試食できる干物やさんで、寄ってきたネコを横眼に子供たちが食べていました。

 

f:id:takezoh_1127:20180813234431j:image

 

f:id:takezoh_1127:20180813234521j:image

 

ママとお姉ちゃんはあぶらとり紙のお店「日和」に寄っていくとのことなので、パパは下の子と散策したり、湯本駅の登山鉄道を見たりしました。

 

f:id:takezoh_1127:20180813234552j:image

 

 

星の王子さまミュージアム

www.tbs.co.jp

 

箱根湯本駅を後にして仙石原の方面に移動します。

この辺りはガラスの森美術館など多くの美術館やミュージアムがある場所です。

 

今回は子供たちがメインなので星の王子様ミュージアムに行ってきました。

 

上の子がまだ小さい頃に来て以来、5年ぶりとなります。

星の王子様をテーマにしたミュージアムは世界でもここだけとのことです。

 

f:id:takezoh_1127:20180814000640j:image

 

原作を知っている方はもちろん、知らない方でも楽しめるミュージアムとなっています。

今年は謎解きのイベントが行われていて、渡された冊子に書かれたヒントを頼りに館内に隠された謎を解くと最後に...

という展開なので興味がある方は是非チャレンジしてみてください。

これも一応原作を知っていた方が楽しめると思います。

後、謎解き意外にも難しく、途中でスタッフの人の助けを借りてしまいました。

 

 

腸詰屋

choudumeya-ashinoko.net

 

f:id:takezoh_1127:20180813234001j:image

 

ここのソーセージは絶品で、軽井沢で最初に知って以来腸詰屋があるところでは寄るようにしています。

 

持ち帰りのソーセージも購入できますが、店内でも食べて行くこともできます。

 

f:id:takezoh_1127:20180813234046j:image

 

・プレーンのホットドッグ

・チョリソーのホットドッグ

・焼きソーセージ(スパイシー)

 

どれもとてもジューシーなソーセージでめちゃくちゃ美味い! 

 

 

 

Lucky's Cafe

www.go-lucky.jp

 

f:id:takezoh_1127:20180813234220j:image

 

カフェと言っていますが洋菓子屋がメインで、中でもお茶ができるというお店です。

どのケーキもとても美味しそうで悩んでしまうのですが、オススメはやっぱり「温泉卵プリン」。

とても濃厚で少し硬めの食感のプリンですが、濃いめのカラメルと合わせて食べるとこれがなんとも美味しいプリンなのでオススメです。

 

f:id:takezoh_1127:20180813234321j:image

 

可愛い瓶も持って帰れるとのことなので結局5個も購入してしまいました。

 

ランチタイムに行くとカフェメニューとしてカレーやパスタなども食べられるとのことなのでまたの機会があったら食べてみたいと思います。

 

箱根湯本駅

最後にもう一度箱根湯本駅に戻ってお土産を買います。

 

今回のオススメのお土産はグランリヴィエール箱根の「箱根ラスク」。

口に入れた時の食感が溶けるような食感で、口の中にボソボソと残る感じがなく、とても美味しいです!

人へのお土産としても喜ばれるお菓子ですのでお土産で悩まれている方にはオススメです!

 

www.hakonerusk.com

 

箱根は何度でも訪れたくなる場所ですよね!

箱根に旅行に行く際の参考にして頂ければと思います!