此特性為Java版獨有。

原因:與其他Java版/基岩版特性頁面標題統一

注意: 中文Wiki的移動頁面需要在討論批准後進行,大量移動由機械人完成。

請不要使用複製粘貼來移動頁面,因為這樣會丟失所有的編輯歷史。

  本文章介紹的是Java版中的函數。關於基岩版的函數,請見「

函數(Function)是一個允許玩家利用擴展名為.mcfunction的文本文件編寫和執行多行指令的功能。本頁面主要講述如何使用Java版中的函數。

要使用函數,首先必須在[世界名称]/datapacks/[数据包名称]/data/[命名空间]/functions這個頂層資料夾中放置名為[函数名称].mcfunction文本文件,這個文件將包含此函數內所有需要執行的指令。注意它必須是UTF-8無BOM的格式,否則將不能被Minecraft讀取。如果是單人遊戲,這個世界資料夾可以在

在執行函數時,推薦寫為嚴謹格式[命名空间]:[函数名称]。如果你可以確認你的函數不和其他現有函數衝突,則可以簡寫[函数名称],程序將先遍歷預設命名空間minecraft:中的函數名稱,再檢索其他命名空間。但是為了避免在未來的版本因為mojang對預設命名空間的改動而導致意料之外的事,最好使用自訂的命名空間並明確地使用它。datapacks/[数据包名称]/data/custom/functions/example/test.mcfunction的函數檔案。則需描述為custom:example/test(相對路徑)

作為一個文本檔案,函數可以很容易地進行修改,並且在執行大量指令時更不容易像指令方塊一樣造成延遲。如果對函數檔案或其位置進行了修改,則可以使用

成功執行函數將會在聊天欄顯示資訊:執行了函數[函數名]中的[數量]條指令。函數內部指令的成功與否並不能直接被比較器檢測(雖然你還是可以透過

測試函數系統。這個簡單的函數使用了發送了3次

在一個.mcfunction文件裡,每一條有效的指令佔據一行,並且不允許在行首使用斜槓。玩家可以在函數文件中透過#來加入注釋。

在函數文件中,單個指令的長度不受指令方塊字元數上限32,500的限制,但是同一遊戲刻執行的總指令數量受/gamerule maxCommandChainLength的限制(預設為65536)。超過此數量限制的指令將在執行時被忽略。

函數將在一遊戲刻內執行其中的所有指令。同時,如果一個函數是被其他的函數所引用,那麼它將同其父函數在同一遊戲刻執行。函數會使用一切被稱為函數的指令環境,這包括指令執行者、位置、坐標等。

無論指令的順序如何,對函數內發生的指令環境的變更都不會影響同一函數內(及其子函數內)其他指令使用的指令環境,直到下一次疊代為止。

例如:

execute as @a at @s run function foo:bar

其中foo:bar的內容是:

teleport @s ~ ~5 ~

setblock ~ ~-1 ~ minecraft:emerald_block

execute at @s run setblock ~ ~-1 ~ minecraft:diamond_block

這3個指令會將所有玩家向上傳送5方格、將綠寶石方塊放置在玩家傳送前位置的腳下,並將鑽石方塊放置在玩家傳送後位置的腳下。這個特性不會影響到指令中出現的目標選擇器參數。

遊戲中目前有以下幾種方式執行函數:

允許玩家執行一個函數一次。

函數中指令的執行者為執行此指令的實體或指令方塊。

語法:function

達成一個進度時,可以執行一個函數作為獎勵。函數中指令的執行者是達成進度的玩家。

獎勵函數在進度JSON檔案中透過以下方式調用:

{

"rewards": {

"function": "命名空间:指向函数文件的路径"

}

}

函數可以透過資料包中的標籤組合到一起。這些標籤被調用時就會執行所有有/function #(命名空間):tag的函數。

有tick標籤的函數會自動在每一個遊戲刻的開始執行。有load標籤的函數會在載入資料包之後執行。

函數功能加入遊戲。

函數中的指令不再允許以/開頭。

現在僅能使用#來注釋,不再允許使用先前的//。

加入了新的參數:[if|unless] [选择器]。

在指令中使用函數時,函數執行被跳過(執行條件不符)的情況現在被視為指令失敗。

自訂函數被移動至資料包中。

函數在載入時就會被完全解析與緩存。

函數現在可以有標籤了。

標籤了tick的函數現在會在每一個遊戲刻的開始幸運行。

關於「Function」的錯誤由錯誤追蹤器維護,請在此匯報錯誤。

java函數_函數(Java版)相关推荐

  1. java出版社系统_图书管理系统java版

    本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段. ...

  2. java 02-cf_cf活动如何设置java环境变量_如何设置java环境变量

    cf助手怎么连接wifi_连接无线网设置 对于刚刚学习java的win7用户来说,首先要学会安装jdk和配置java环境变量,这是学习java的唯一途径,否则编写的代码运行时会出现bug.关于这一点, ...

  3. java for循环_愉快地学Java语言:第五章 循环

    导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java程序设计基础篇>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇,如果 ...

  4. java编程学习方法_在线学习Java编程的最佳方法

    java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...

  5. java开发分支_如何选择Java 的分支?

    问题阐述 听说Java 无所不能,从简单的手机游戏到世界500 强的官方网站都能开发,作为一名Java 的初学者,我该如何入手? 专家解答 自诞生之日起,Java 语言就处于不断的发展中.目前,其主要 ...

  6. macbook配置java环境变量_如何安装Java和配置环境变量

    本文是Java下载.安装.环境变量配置的具体步骤,关于环境变量的原理参阅: Java轻松入门经典教程-环境变量配置​ke.qq.com Java年构架师技术栈/微服务/源码分析/分布式/高并发/性能优 ...

  7. 马士兵 java 学习笔记_马士兵java教程笔记1

    ---恢复内容开始--- 前记 虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master 标识符 标识符是由字母 ...

  8. A002、java环境搭建_第一个java程序

    目录 1.内容介绍 2.软件开发概述 2.1 软件开发概念 2.2 软件开发示例 2.3 软件开发语言 2.3.1 计算机语言概述 2.3.2 计算机语言分类 2.4 小结 3.Java概述 3.1 ...

  9. 新手java安装教程_新手安装Java开发工具图文教程

    类型:编程工具大小:403.4M语言:英文 评分:7.1 标签: 立即下载 写这些文字的目的是为了给像我一样的想学习Java的非计算机专业的人员提供一个简单明了和快速安装Java的方法,这里提到的可能 ...

最新文章

  1. SURF与SIFT比较分析
  2. GMap.net 离线地图问题
  3. Linux知识点记录
  4. 怎么判断ajax返回是否成功,如何判断jquery的ajax请求已经返回
  5. The import android cannot be resolved”错误解决方法
  6. 十个问题理解Linux epoll工作原理
  7. UI5控件类似Java反射机制的一个小技巧
  8. 局域主机做服务器,安装DNN,外网访问的解决办法
  9. objective-C CollectionView 加深(添加注册头部View)
  10. 我要学ASP.NET MVC 3.0(十六): MVC 3.0 实例系列之表格数据的分页
  11. 架构语言ArchiMate -应用层(Application Layer)
  12. c语言栈的实现以及操作_C++语言实现顺序栈
  13. 一公司的面试题(泛型和数组的问题)
  14. MotoSimEG-VRC软件:安川机器人摆动焊接虚拟仿真操作方法
  15. 从北斗到Mate 50:星空中的中国式浪漫
  16. 【95】太空射击游戏——玩家代码
  17. uni-app设置背景图自适应手机屏幕尺寸
  18. python使用Elasticsearch对wikipedia的数据进行检索(详细流程)
  19. 使用fiddle处理跨域
  20. Linux系统中UID和GID详解

热门文章

  1. 在Python列表中删除重复元素的几种方法,用起来真好用
  2. python中的format方法和int方法
  3. Python练习题:---给定一个字符串 {xxx[xxx{xxx}]xx{x[xxx]xxx{xxx}xx}x} 判断其中的 {}[]() 是否成对出现
  4. python元类的简单了解
  5. 如何保护你的 Python 代码—— 定制 Python 解释器
  6. 10 不自动断开 设置wlan_WiFi和WLAN,还傻傻分不清?
  7. 宜阳一高中历年录取分数线_上海高中TOP30!从录取分数线看上海高中排名!
  8. ubuntu终端按ctrl+s就卡住怎么办?(按ctrl+q)(锁住)(锁屏)(暂停打印)
  9. python numpy np.fromstring()函数(从字符串文本中提取数字,返回一维数组)(爬虫提取数字挺好用的)
  10. 如何使用yunyang tensorflow-yolov3训练自己的数据集并使用 Intel realsense D435 传输视频流应用于实时检测?