Mekanism 核分裂炉で発電③ 核分裂炉の作成
前回↓
核分裂炉を組み立てて動かしてみる
核分裂炉シリーズ記事
素材
核分裂炉筐体
反応炉窓
核分裂炉ポート
核分裂炉燃料の部品
制御棒の部品
組み立て
筐体を設置
5 * 5 * 5の立方体を核分裂炉筐体で作る(中は空洞)
また、立方体の真ん中の部分(3 * 3)は反応炉窓や核分裂炉ポートを使ってもよい
核分裂炉ポートは最低4つつけておこう
燃料棒
立方体の内部に核分裂炉燃料の部品を設置する
積み上げる高さは2ブロックにする
その後上部に制御棒の部品を敷き詰める
最後に核分裂炉筐体や反応炉窓で蓋をして完成
右クリックでGUIを開ければOK
燃料の供給と廃棄物の処理
水と燃料の供給
核分裂炉ポートから水と核分裂燃料を入れる
水は大量に供給しないと核分裂炉が崩壊してしまうので注意
蒸気と核廃棄物の排出
核分裂炉ポートから蒸気と核廃棄物を排出する
ポートをコンフィギュレーターで右クリックして色を変えると出入りする物の種類を変更できる
緑が水と燃料、黄色が核廃棄物、水色が蒸気
核廃棄物の処理
核廃棄物は太陽中性子反応機でポロニウムに
ポロニウムは加圧反応室でポロニウムペレットと使用済み核燃料にできる
ポロニウムペレットはMekanismのエンドコンテンツで使用するので集めておこう
核廃棄物からはプルトニウムペレットも生成できるが、ポロニウムペレットほどは消費しないのでそちらを優先で
使用済み核燃料の処理
使用済み核燃料は利用手段がないので放射性廃棄物バレルに入れて処分する
バレル内の燃料は時間経過で少しずつ消滅していくので安全な場所に置いておこう
ちなみに上下からしか搬入できないので注意
蒸気の利用
核分裂炉を動かすと大量の蒸気が生成されるので工業用タービンを使って発電しよう
詳細についてはまた次回
Mekanism 核分裂炉で発電② 燃料の生産
Mekanism 核分裂炉で発電① 発電のプロセスの説明
Mekanismの核分裂炉を使って発電する方法の解説
今回触れる内容は核分裂炉でどうやって発電するかの概説まで
核分裂炉の組み立て等はまた次回
Minecraft version 1.18.2
※単純に発電したいだけなら核融合炉 + 工業用タービンでやった方が安全だし効率的
核分裂炉はプルトニウムやポロニウムを生産するのがメイン
核分裂炉シリーズ記事
核分裂炉でできることと発電方法
核分裂炉の役割
核分裂炉は冷却材(水orナトリウム)と核分裂燃料を蒸気と核廃棄物に変換する
大量の蒸気を生成するだけであって発電できるわけではないことに注意
変換レートとしては↓
水1,000mB → 蒸気1,000mB 核分裂燃料1mB → 核廃棄物1mB
発電方法
工業用タービンに核分裂炉で生成した蒸気を送り込んで発電する
核廃棄物
核分裂炉は蒸気のほかに核廃棄物も生成する
これを放置すると半径5チャンク(?)を汚染しプレイヤー含めたMOBが常時ダメージを受け続けるようになってしまう
核廃棄物は放射性廃棄物バレルというアイテムに入れることで安全に保管できるほか、
プルトニウムペレットなどを生成することも可能(その場合でも最終的に使用済み核廃棄物が出来てしまうので処分する必要がある)
まとめ
核分裂炉を使った発電のおおまかな流れをまとめると以下の通り
MonsterHunterRise SunBreak 金冠集め
発売以降ちまちまと遊んでいるサンブレイク
今日ようやくヌシの最大最小金冠をコンプリートしたので記念のスクショ
傀異討究クエはサイズ固定なので報酬的に旨味のない上位クエ連戦せざるを得ないのがつらかった
でもライズ産のはまだバルファルクが残ってるという(既に79頭も狩ってる)
肉質的に業鎧狂化奮闘で大化けした双剣を活かしにくいので蓄撃ダーティやザリエラでやってるけど3~4分かかってしまうので効率も悪い
ThermalExpansion 自動釣り装置を作る
ThermalExpansion5の水資源投網機を使った自動釣り装置の解説
クラフト
水資源投網機
木材×4、青銅の歯車×1、ガラス×2、釣り竿×1、レッドストーン自律機構×1
設置
OK
周りに十分な量の水源がある場所に設置する
正しく設置できている場合は真ん中にある緑色のランプが光る
NG
水資源投網機の前にブロックがあるなど正しく設置できていない場合はランプが暗くなる
入手できるアイテムとベイト
通常時に入手できるアイテム
タラ、サケ、フグ、クマノミの4種
深海アクア・チャウ
レシピは小麦、ビートルート、スライムボール、鉛のナゲット
プリズマリンやスポンジ、稀にトライデントなどが入手できる
アイテムを釣り上げる度に消費していくので大量に用意しよう
ガラクタ収集網
骨や革などを入手できる
こちらは深海アクア・チャウと異なり消費しない
ThermalInnovation ブラックスボア(電動ドリル)を作る
1.18.2のThermaliInnovationで追加されるドリルを最大限強化したので過程をメモ
1.12.2以前とは少し変わってるので注意
目次
本体の作成
まずはドリル本体であるフラックスボアを作成する
ドリルヘッド×1、鉄×2、金の歯車×1、錫の歯車×2、レッドストーンフラックスコイル×1
これだけでもRFを充電すれば普通に採掘できるが、一度に1ブロックしか壊せずスピードも遅い
アップグレードの準備
各種アップグレードを施す前段階として統合コンポーネントというアイテムの取り付けが必要になる
最大の効果を発揮するレゾナント統合コンポーネントを作成するまでのレシピは↓
ハーデント統合コンポーネント
インバーインゴット×4、ガラス×2、レッドストーン×2、金の歯車×1
インバーインゴット
鉄の粉×2、ニッケルの粉×1で作成したインバーの粉を精錬して入手
レインフォースド統合コンポーネント
エレクトラムインゴット×4、ネザークォーツ×2、シグナルムの歯車×1、ハーデント統合コンポーネント×1
エレクトラムインゴット
金の粉×1,銀の粉×1でエレクトラムの粉を作成して精錬
シグナルムインゴット
銅の粉×3、銀の粉×1、レッドストーン×4でシグナルムの粉を作成して精錬
レゾナント統合コンポーネント
エンダリウムインゴット×4、強化ガラス×2、ルミウムの歯車×2、レインフォースド統合コンポーネント×1
エンダリウムインゴット
鉛の粉×3,ダイヤモンドの粉×1、エンダーパール×2でエンダリウムの粉を作成して精錬
ルミウムインゴット
錫の粉×3,銀の粉×1、グロウストーンダスト×2でルミウムの粉を作成して精錬
強化ガラス
誘導加熱炉でネザークォーツ、黒曜石、砂を精錬
誘導加熱炉
溶鉱炉×1、砂×2、マシンフレーム×1、インバーの歯車×2、レッドストーンフラックスコイル×1
コンポーネントの取り付け
鍛冶職人の作業台を使ってフラックスボアに統合コンポーネントを取り付ける
GUIを開いてスロットにフラックスボアを置き、左下のボタンを押してモード:オーグメントに切り替える
右上のスロットに統合コンポーネントを置いて取り付け完了
取り付けに成功すると黒曜石も採掘可能になる
鍛冶職人の作業台
鉄×3、ガラス×2、作業台×1、木材×2、レッドストーンフラックスコイル×1
採掘範囲の強化
範囲拡張オーグメントを取り付けることで採掘範囲を広げられる
範囲拡張
鉄の歯車×2、錫×2、レッドストーン自律機構×1
これを取り付けると、Vキーで採掘範囲を切り替えられるようになる
SolidJSのユニットテスト環境構築
目次
はじめに
SolidJSのプロジェクトでユニットテストを書くための環境構築を行ったのでメモ
適当なディレクトリで↓を実行してプロジェクト作成
npm init solid@latest
モジュールのインストール
npm i -D @solidjs/testing-library @testing-library/jest-dom @types/testing-library__jest-dom @vitest/coverage-c8 @vitest/ui jsdom vitest
コンフィグファイルの追加修正
package.json
testスクリプトを追加する
"scripts": { "dev": "solid-start dev", "build": "solid-start build", "start": "solid-start start", "test": "vitest" // 追加 }
vitest.config.js
以下の内容のファイルを作成する
import solid from "solid-start/vite"; import { defineConfig } from "vitest/config"; export default defineConfig({ plugins: [solid()], test: { deps: { registerNodeLoader: true, inline: [/solid-js/], }, environment: "jsdom", globals: true, setupFiles: [ "node_modules/@testing-library/jest-dom/extend-expect", "./setupVitest.js", ], transformMode: { web: [/\.[jt]sx?$/] }, }, resolve: { conditions: ["development", "browser"], }, });
setupVitest.js
以下の内容のファイルを作成する
import "@testing-library/jest-dom";
tsconfig.json
compilerOptions.typesに@testing-library/jest-domを追加する
{ "compilerOptions": { "allowSyntheticDefaultImports": true, "esModuleInterop": true, "target": "ESNext", "module": "ESNext", "moduleResolution": "node", "jsxImportSource": "solid-js", "jsx": "preserve", "strict": true, "types": [ "solid-start/env", "@testing-library/jest-dom" // 追加 ], "baseUrl": "./", "paths": { "~/*": [ "./src/*" ] }, } }
ユニットテストを書く
テスト対象コンポーネント(Counter.tsx)
import { createSignal } from "solid-js"; export default function Counter() { const [count, setCount] = createSignal(0); return ( <button class="increment" onClick={() => setCount(count() + 1)}> Clicks: {count()} </button> ); }
ユニットテスト(Counter.test.tsx)
import { fireEvent, render } from "@solidjs/testing-library"; import Counter from "./Counter"; describe("<Counter />", () => { it("increments value", async () => { // ボタンを押したときの挙動をチェック const { queryByRole, unmount } = render(() => <Counter />); const button = (await queryByRole("button")) as HTMLButtonElement; expect(button).toBeInTheDocument(); expect(button).toHaveTextContent(/Clicks: 0/); fireEvent.click(button); expect(button).toHaveTextContent(/Clicks: 1/); unmount(); }); it("renders 1", () => { // スナップショットと一致するかチェック const { container, unmount } = render(() => <Counter />); expect(container).toMatchSnapshot(); unmount(); }); });
ユニットテスト実行
コマンド
npm test
スナップショット
テスト実行後、snapshots以下にスナップショットファイルが作成される
スナップショットが存在する際にtoMatchSnapshot()を呼び出すと、レンダリングされたコンポーネントとスナップショットとを比較して一致するかチェックする
※存在しない場合はスナップショットを新規作成するだけ
コンポーネントを変更してテストを実行すると、スナップショットとの差分が発生するのでテストには失敗する
↓ではボタンのテキストをClicksからクリックに変えて実行した
スナップショットファイルの更新
vitestのCLIでも言われている通りuキーを押せばスナップショットは更新される
また、vitestコマンドに-uオプションを追加することでも更新可能
※npm scripts実行時は↓
npm test -- -u