[マイクラadd-on製作への道#5]

スポンサーリンク

👨‍💻 第5章:スクリプトAPI入門

~JavaScriptでマイクラを自由に動かそう!~

📌 まず、スクリプトAPIとは?

スクリプトAPIは、Minecraft統合版でJavaScript(JS)を使ってゲーム内の動きやイベントを制御するための仕組みです。

これを使うと:

やりたいこと実現例ボタンを押してUIを表示「TPメニュー」などアイテムを使ったら効果発動ワープ棒、力のトーテムなどチャットを変えるニックネーム機能、ロール表示など状態を記録・変化させるのどの渇き、ステータス管理など

今回はジャンプしたらダメージをくらうようにしよう

📁 スクリプトの構成(最低限)

my_addon_bp/

├── manifest.json ← script定義あり

├── pack_icon.png

├── scripts/

│ └── main.js ← JavaScriptを書く場所

📄 manifest.json(Script対応)

{
  "format_version": 2,
  "header": {r
    "name": "スクリプトテスト",
    "description": "スクリプト、自作",
    "uuid": "xxxx-xxxx-xxxx-xxxx-xxxx-xxxx",
    "version": [1, 0, 0],
    "min_engine_version": [1, 16, 0]
  },
  "modules": [
    {
      "type": "script",
      "version": [1, 0, 0],
      "uuid": "yyyy-yyyy-yyyy-yyyy-yyyy-yyyy",
      "entry": "scripts/main.js"
    }
  ],
  "dependencies": [
    {
      "module_name": "@minecraft/server",
      "version": "1.5.0"
    }
  ]
}

✅ version は自分のマイクラに合うバージョンにしてね(例:1.19.0~1.20.0)

📜 scripts/main.js(サンプルコード)

import { world, system, GameMode } from "@minecraft/server";

// プレイヤーの onGround 状態を記録
const wasOnGround = new Map();

system.runInterval(() => {
  for (const player of world.getPlayers()) {
    // 観戦者はスキップ
    if (player.getGameMode() === GameMode.spectator) continue;

    const id = player.id;
    const onGroundNow = player.isOnGround;
    const onGroundBefore = wasOnGround.get(id) ?? true;

    // 地面にいた → 空中に → ジャンプとみなす
    if (onGroundBefore && !onGroundNow) {
      player.runCommandAsync("damage @s 1"); // 2ハート分のダメージ
    }

    // 状態を保存
    wasOnGround.set(id, onGroundNow);
  }
}, 1); // 毎tick(20分の1秒)チェック

🔍 どこに入れる?

フォルダ入れる場所(Windows)behavior_packsC:\Users\<ユーザー名>\AppData\Local\Packages\Microsoft.MinecraftUWP…\development_behavior_packs\

🧪 その後Minecraft起動 → ワールド作成 → このパックを「ビヘイビアパック」に適用!

✅ 実行結果

ワールドに入ってジャンプをするとダメージがはいります

✨ できること(今後の拡張)

使い方モジュールできることUI表示@minecraft/server-uiボタン、入力欄、選択肢フォームなどプレイヤー操作@minecraft/server移動、テレポート、効果付与などイベント検知afterEvents, beforeEventsアイテム使用、チャット、死亡など

他にも教えて欲しいことがあればコメント欄に書いてくださいね~

※投稿記事に含まれるファイルやリンクにより発生した被害についてクラフターズコロニーは責任を取りません
投稿通報
ブログ
スポンサーリンク
プロフィール
投稿者

最近始めました
スクリプトAPIを中心にやっていきます
ラーメンが好きです
Minecraftのゲームタグは
masu0217 Pro
サブアカが
submasu Pro9102
masu0217 Pro510です
discordも参加してくれると嬉しいです
discordではアドオンをいち早く遊べ、beta版まで遊べます
質問やアドオン口座などもやっております[アドオン口座はクラフターズコロニーでもやります]
URL;https://discord.gg/kwvbJ8AGnW
the-HIVEのフレンドも募集中[プレイヤ-名:submasu Pro9102]

masuMCをフォローする
masuMCをフォローする
クラフターズコロニー -マイクラの配布サイト-

コメント

コメント通報