快轉到主要內容

新增mcfunction指令 & 自動執行指令|Minecraft基岩版Add-On模組製作教學

分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

學會這篇的內容,只需要一條指令,就能自動執行10條指令。

並且還能夠不靠指令方塊,在背景按照設定好的條件自動執行指令。

如果能活用指令,就能做出動態光源或者快速砍樹這類的Add-On。

這個範本只需要用到行為包。

影片教學:

1. .mcfunction的用法
#

.mcfunction可以儲存一系列指令,例如下面我寫了5個say

say I
say am
say the
say best
say Youtuber

將含有這些指令的檔案命名為myfunction.mcfunction

放到行為包的/functions資料夾。

載入到遊戲裡,用/function 指令 + 檔案名稱

例如/function myfunction

就會執行指令。

行為包mcfunction也可以用資料夾分類,語法就會變成

/function /資料夾/函數名稱

例如/function /sub/function1

2. 自動執行指令
#

這個範例我不靠指令方塊,讓玩家在跑步時會有火焰粒子效果。

以玩家為主體,執行這個寫好的particles.mcfunction。

particle minecraft:basic_flame_particle ~ ~ ~
  1. 從原版行為包複製player.json,插入動畫控制器"command"。

如果你有自訂實體也可以這樣做,只是要執行指令時記得改用execute開頭。

{
  "format_version": "1.16.0",
  "minecraft:entity": {
    "description": {
      "identifier": "minecraft:player",
      "is_spawnable": false,
      "is_summonable": false,
      "is_experimental": false,
      //插入動畫控制器
      "animations": {
        "command": "controller.animation.command"
      },
      "scripts": {
        "animate": [
          "command"
        ]
      }
    },
    "component_groups": {
}
}
}
  1. 行為包新增animation_controllers資料夾,新增command_controller.json

輸入:

{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.command": {
      "states": {
        //default,預設的狀態
        "default": {
          "transitions": [
            //條件為跑步時切換到particles
            {
              "particles": "query.is_sprinting"
            }
          ]
        },
        "particles": {
          //一進入這個狀態就執行指令,也可以直接把多條指令打在這邊,用逗號分隔,不用mcfunction
          "on_entry": [
            "/function particles"
          ],
          "transitions": [
            //填1.0,代表無條件返回default的狀態
            {
              "default": "(1.0)"
            }
          ]
        }
      }
    }
  }
}

動畫控制器原本是用於控制動畫的,但是他也能執行指令。

基本原理是,每個動畫控制器會在不同的狀態中切換

例如我寫好的這個,他有二個狀態(state):

一個是default,一個是particles,當條件符合時,會切換到另一個狀態。在每個狀態裡面,會有transition的區塊,寫明切換到其他狀態的條件,像是從default到particles的條件,就是偵測玩家跑步,所以切換到particles。

3. 製作指令延時器
#

如果你有這方面的需求,參考這篇文章。

製作指令延時器的一點想法

範本下載
#

這裡下載這篇教學的範本檔案,檔案皆含有註解。

也可於 Github檢視原始碼。

相關文章

使用Minecraft Entity Wizard快速新增實體|Minecraft基岩版Add-On模組製作教學
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On Minecraft Behavior Pack Minecraft Resource Pack
用Blockbench製作實體動畫|Minecraft基岩版Add-On模組製作教學
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On BlockBench
新增自訂物品和方塊|Minecraft基岩版Add-On模組製作教學
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請貼Imgur或Postimages。