【Minecraft + C#】村人を遠隔操作する

久しぶりのマイクラ記事です。今回はタイトルにある通り、村人を遠隔操作します。具体的には、村人に指示した方向へ移動してもらいます。 1. 村人のスポーンと指定 まずは操作したい村人を指定する必要があります。方法としては村人の UUID を指定する方法と…

Azure Virtual Machines での SSH 接続エラーの対処

実行環境 WIndows 10 PowerShell (Windows Terminal にて実行) Ubuntu 18.04 LTS (Azure Virtual Machines) エラー内容 Azure Virtual Machines で作成した DNS 名設定済み Ubuntu 18.04 LTS の仮想マシンへ接続しようとしたところ、 > ssh -i MinecraftServ…

編入して1年が経過した感想

今日の記事は技術ネタではなく、編入して1年経ってどうだったか、オンライン授業を受けてみてどうだったかなど、個人的な感想として残しておこうと思います。 編入後の話 元高専生です。高専では情報学科でしたが、物理学科へ編入しました。編入時の単位換…

Minecraft Server のコンテナをつくりました

Docker を使用して、Minecraft Server のコンテナを作成しました。 hub.docker.com このコンテナを使うと、起動するだけでマイクラサーバを動かすことができます。また、RCON 接続の設定も済ませているので、RCON を使ったマイクラプログラミングをやりたい…

Zenn にて本を書きました

Zenn というエンジニア情報共有サイトがあるのですが、そこで本を書きました。タイトルは「Azure × LINE Messaging API による Minecraft 農業の自動化」 です。 zenn.dev 元ネタは以前ブログで紹介したこれです。 blog.takunology.jp いつか、何らかの形で…

ASUS H97-Plus マザーボードで m.2 SSD を使えるか?

H97-Plus は 2014年に発売された第4世代、第5世代 intel CPU対応の ASUS 製マザーボードです。私のメインPCで使用しています。購入して組み立てたのが 2015 年なのでもう6年ほど(正確には5年と半年)経過しています。自作er が最新のCPUを使用している…

【Unity メモ】ユーザからの入力

Unity ではデフォルトの設定として、スペースキーがジャンプボタンとして登録されています。Unity の 編集 > プロジェクトの編集 を開き、入力マネージャ を選択すると、このようになっています。(日本語化していますが、英語のほうがよかったかもしれませ…

【Unity メモ】Mathf クラスと Vector3 構造体

Unity で作成したオブジェクトはコンポーネント(そのオブジェクトを構成する状態やふるまいなど)を何かしら持っています。これを使って処理する方法についてのメモです。 GetComponent メソッド そのオブジェクトが持つコンポーネントを取得する。 例えば…

【Unity メモ】様々なメソッドとログ出力

久しぶりに Unity に触ったので、学んだことをメモしておきます。 初期化 Unity でスクリプトを作成すると、プログラム開始時に呼ばれる Start メソッドと毎フレーム呼ばれる Update というメソッドがテンプレートでついてきます。これらは予約メソッドなの…

C# で Azure Cosmos DB のデータを取得して LINE に通知してみた

Azure Cosmos DB のコンテナに記録されている NoSQL なデータを抽出するためのメモです。 今回の内容は Minecraft の農業自動化の続きみたいな感じです。 blog.takunology.jp 上の記事では Azure Functions を使用して Azure 上で完結していますが、今回は F…

MinecraftConnectionCore (prerelease) ライブラリを公開しました

C# から Minecraft にコマンドを投げるためには CoreRCON パッケージの導入が必要でした。また、コマンドを送信するためには非同期なメソッドにする必要があり、プログラミングを始めたばかりの方にはかなりハードルが高いように感じました。そこで、非同期…

ブログのデザインが変わりました

本日より、「たくのろじぃのメモ部屋」のデザインが変わりました。 旧デザイン 今までは Naked というテーマをダウンロードして使用していました。 このデザインも悪くはないのですが、ソースコードのシンタックスハイライトが微妙なのと「はてなブログっぽ…

LINE Messaging API を使って C# で LINE にメッセージを送る

LINE の Messaging API アカウントを使って、C# からメッセージを送る方法のメモです。これは前回の記事の内容にも関連しています。 Messaging API を作る まずはこれがないと何もできません。LINE Developers にアクセスして作成します。 developers.line.b…

【Azure + LINE + Minecraft】Minecraft の作物を自動で収穫して通知するシステムを構築してみた

Minecraft で作物を作るのは結構面倒です。種まきした後、しばらく待ってから生育具合を確認し、成長しきっていれば収穫して再び種まきするといった繰り返し作業になります。成長しきるまでに30分~1時間と、作物の種類によっても異なるので「○○分待てば収穫…

【C#】属性を使って列挙型に文字列を割り当てる

列挙型で定義した列挙子は整数 (ID) が割り当てられており、使い方によっては便利なのですが、文字列を割り当てたいなという場面が出てくると思います。 例えば、マイクラでポーション効果を付与したいときにポーション効果一覧をこのように定義します。 pub…

【C#】拡張メソッド .ToString() 的なやつをつくってみた

C# で大変お世話になっている .ToString() みたいなメソッドってどうやって作っているのか疑問に思って、色々調べたら 拡張メソッド という機能らしいです。名前は初めて知りました。 ライブラリを作っているとメソッドが増えて「わざわざ1行使って呼び出す…

【MinecraftConnection】ライブラリメモ #5

自作ライブラリのメモその5。ChestItems クラスを追加。 チェストアイテムに対して操作ができるクラスで、現在はアイテムの取得、更新、ソートが行える。 名前空間:MinecraftConnection.Data コンストラクタ:RCON GetChestItems(int x, int y, int z) : チ…

【Minecraft】チェスト内のアイテムをコピーする

Minecraft 1.13 から追加された /data コマンドですが、これを上手く使うといろんなことができます。 まずは /data コマンドで何ができるかです。コマンドのオプションはこのようになっています。 /data get -> データを取得する /data merge -> データを結…

【C# + Minecraft】ドット絵をプログラムに描かせる

目的 ドット絵に変換した画像をMinecraft上に描画する 1. 画像を用意する 今回はホロライブの雪花ラミィさんの画像をお借りしました。本人のTwitterにグリーンバックの画像がアップされています。 @yukihanalamy このままでは解像度が高すぎて描画しきれない…

Azure 上で Minecraft Server を立てる

1. 仮想マシンの作成 まずは リソースの作成 から Ubutu Server 18.04 LTS を選択します。 仮想マシンの設定ですが、私はこのように設定しました。この辺は自由に選択しても良いと思います。 で、問題は サイズ の選択ですが Minecraft Server は特にプラグ…

【MinecraftConnection】ライブラリメモ #4

自作ライブラリのメモその4です。PlayerData クラスの機能を追加。 GetHealth (string PlayerName) : プレイヤーの体力を取得 GetFoodLevel (string PlayerName) : プレイヤーの満腹度を取得 GetScore (string PlayerName) : プレイヤーのスコアを取得 使用…

【数学メモ】微分方程式 4

1. 山辺の方法 微分方程式の一般解は斉次解+特殊解の組み合わせです。斉次解は右辺が 0 になるための関数、特殊解は右辺が 0 以外になるため関数の解です。 例えば次のような微分方程式を解きます。 因数分解によって得られる関数の解 と は斉次解です。残…

Azure Static Web App を使って Blazor アプリをデプロイする

Azure Static Web Apps を使用すると Github リポジトリを介して Blazor アプリを簡単にデプロイできます。

【MinecraftConnection】ライブラリメモ #3

自作ライブラリのメモその3です。PlayerData クラスにて、プレイヤーのアイテム情報を取得する機能を追加。 GetHandItems (string PlayerName) : プレイヤーの手持ちアイテムを取得 GetInventoryItems (string PlayerName) : プレイヤーのインベントリアイテ…

【FFmpeg】動画を Gif 画像に変換する

はてなブログやGithubに資料として画像を載せるとき、Gif 画像が利用できます。ただ、変換サイトや動画編集ソフトだけでは限界があり、どうしてもサイズが大きくなってしまうことや細かく指定できないことがあります。色々使ってきた中では FFmpeg というツ…

【MinecraftConnection】ライブラリメモ #2

自作ライブラリのメモです。(まだ未公開) プレイヤーの位置を得る Minecraft でプレイヤーの位置を得るには /data get entity <Player> Pos コマンドを使用すればいいのですが、その返り値がかなり長い文字列です。しかも、データ自体は数値だけではないので文字列</player>…

【MinecraftConnection】ライブラリメモ #1

2020年12月末から製作中のライブラリのメモです。まだ公開はしていませんが、公開するときにはリファレンスが必要になると思うので、そのための記録として残しておきます。(おそらくシリーズ化っぽくなる?) Minecraft で花火を作る場合 前回の記事でも書…

【C#, Minecraft】書き初め

あけましておめでとうございます。2021年もよろしくお願いします。 さて、お正月と言えば 書き初め ですね。ということで、新年初めての書き初め(と書いてプログラミングと読む)をしていきます。 実行環境 Minecraft 1.16.3 (バニラ版, RCON設定済みサーバ…

今年1年の振り返り

今日が2020年最後の日ということで、今年1年間の出来事を振り返ります。なんかあっという間な1年でした...。 1月 高専の卒業研究 テーマは「核融合炉内の原子分子素過程」でした。インターンシップで核融合科学研究所に行った経験が活かせました。 2月 コロ…

【C#】同期メソッドから非同期メソッドを呼び出す

今までに、CoreRCON ライブラリ を用いてマイクラ自動化、もといマイクラプログラミングを色々やってきました。ただ、このライブラリを使うにあたって非同期処理のコーディングが必要になるので、「プログラミングを始めたばかり」の方には難しいかもしれま…