<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AFunction_%28Java_Edition%29</id>
	<title>Minecraft:Function (Java Edition) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AFunction_%28Java_Edition%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Function_(Java_Edition)&amp;action=history"/>
	<updated>2026-06-10T02:23:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Function_(Java_Edition)&amp;diff=136293&amp;oldid=prev</id>
		<title>SyncBot: Sync: updated from Minecraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Function_(Java_Edition)&amp;diff=136293&amp;oldid=prev"/>
		<updated>2026-06-01T11:07:53Z</updated>

		<summary type="html">&lt;p&gt;Sync: updated from Minecraft&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:07, 1 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l195&quot;&gt;Line 195:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 195:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Minecraft:uk:Функція (Java Edition)]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Minecraft:uk:Функція (Java Edition)]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Minecraft:zh:Java版函数]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Minecraft:zh:Java版函数]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Minecraft:ko:함수 (Java Edition)]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki-mw_:diff:1.41:old-135761:rev-136293:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Function_(Java_Edition)&amp;diff=135761&amp;oldid=prev</id>
		<title>SyncBot: Sync: new page from Minecraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Function_(Java_Edition)&amp;diff=135761&amp;oldid=prev"/>
		<updated>2026-05-31T11:07:12Z</updated>

		<summary type="html">&lt;p&gt;Sync: new page from Minecraft&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{about|functions {{in|JE}}|the corresponding feature {{in|BE}}|Function (Bedrock Edition)|other uses|Function}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Functions&amp;#039;&amp;#039;&amp;#039; are [[Minecraft:data pack]] files, allowing players to run lists of [[Minecraft:commands]].&lt;br /&gt;
&lt;br /&gt;
[[File:TestingFunctions.png|thumb|right|250px|Testing the function system. Three {{cmd|tellraw}} messages and one {{cmd|give}} command were used in this simple function.]]&lt;br /&gt;
&lt;br /&gt;
This page covers how functions are defined and invoked {{in|JE}}.&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
A function is a text file with the file extension &amp;lt;code&amp;gt;.mcfunction&amp;lt;/code&amp;gt;. Function files are part of the data pack directory structure, highlighted below:&lt;br /&gt;
{{Data pack directory|function|&amp;lt;nowiki&amp;gt;&amp;lt;name&amp;gt;.mcfunction&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
As with all other data pack files, the &amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt; folder may also contain subfolders to further organize the function files within a namespace. These subfolders must be referenced when invoking the function.&lt;br /&gt;
&lt;br /&gt;
Within the &amp;lt;code&amp;gt;.mcfunction&amp;lt;/code&amp;gt; file, one valid command is placed per line, without the usual forward slash (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;). Individual commands in functions can be longer than the 32,500 character limit in command blocks.&lt;br /&gt;
&lt;br /&gt;
Comments can be added within the function text file by beginning a line with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;. A line can have tabs and spaces before and after the command.&lt;br /&gt;
&lt;br /&gt;
A single backslash &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt; as the last non-whitespace character of a line allows a command to be continued on the next line, and the leading and trailing whitespace of the following line are stripped before appending.&lt;br /&gt;
&lt;br /&gt;
== Invocation ==&lt;br /&gt;
Functions can be invoked in several different manners from other data pack files.&lt;br /&gt;
&lt;br /&gt;
=== Invocation from commands ===&lt;br /&gt;
Functions can be invoked using the {{cmd|function}} command and {{cmd|execute (if{{!}}unless) function}} command.&lt;br /&gt;
&lt;br /&gt;
A single function can be invoked by specifying its [[Minecraft:resource location]].&lt;br /&gt;
&lt;br /&gt;
Functions are supported by [[Minecraft:Tag (Java Edition)|tags]], allowing them to be grouped together. &amp;lt;code&amp;gt;/function&amp;lt;/code&amp;gt; also accepts a function tag, invoking all listed functions.&lt;br /&gt;
&lt;br /&gt;
=== Invocation from function tags ===&lt;br /&gt;
As mentioned above, functions can be grouped together using [[Minecraft:function tag]]s. Functions in a tag get executed in the defined order, but only the first occurrence of the same function if it occurs multiple times.&lt;br /&gt;
&lt;br /&gt;
In addition, there are two function tags within the &amp;lt;code&amp;gt;minecraft&amp;lt;/code&amp;gt; namespace that have special behavior:&lt;br /&gt;
&lt;br /&gt;
* Functions listed in the &amp;lt;code&amp;gt;minecraft:load&amp;lt;/code&amp;gt; tag run when the world is loaded, or when the server is started. Listed functions also run whenever the data pack is reloaded.&lt;br /&gt;
** These functions run before the player joins the world, meaning any [[Minecraft:target selectors]] do not find players. Therefore, commands like {{cmd|tellraw}} and {{cmd|title}} do not appear for any player.&lt;br /&gt;
* Functions listed in the &amp;lt;code&amp;gt;minecraft:tick&amp;lt;/code&amp;gt; tag run at the beginning of each tick, repeating every tick.&lt;br /&gt;
&lt;br /&gt;
=== Invocation from advancements ===&lt;br /&gt;
[[Minecraft:Advancements]] can run a function once as a reward for completing them. The commands in the function are run through the player who completed the advancement.&lt;br /&gt;
&lt;br /&gt;
Reward functions are called within advancement [[Minecraft:JSON]] files using the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=json&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;rewards&amp;quot;: {&lt;br /&gt;
         &amp;quot;function&amp;quot;: &amp;quot;test:test&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Invocation from scheduling ===&lt;br /&gt;
The {{cmd|schedule}} command schedules a function to be invoked after a certain amount of time. The function is invoked by the server when the scheduled time arrives.&lt;br /&gt;
&lt;br /&gt;
=== Invocation from enchantments ===&lt;br /&gt;
Enchantment [[Minecraft:Enchantment_definition#run_function|entity effect {{cd|run_function}}]] can run a function once as an enchantment effect.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;run_function&amp;quot;,&lt;br /&gt;
  &amp;quot;function&amp;quot;: &amp;quot;test:test&amp;quot;,&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behaviors ==&lt;br /&gt;
=== Loading and Parsing ===&lt;br /&gt;
Each time a level or a server is opened, the game loads all the functions in the data pack.&lt;br /&gt;
&lt;br /&gt;
In a running level, if function files are changed, use {{cmd|reload}} to reload them from disk.&lt;br /&gt;
&lt;br /&gt;
When a function is loaded or reloaded, all non-macro lines are parsed as commands, and if any of the lines in a function file is unparseable, the function file cannot be loaded. Macro lines are parsed into commands each time before the function executes.&lt;br /&gt;
&lt;br /&gt;
=== Executing ===&lt;br /&gt;
In a singleplayer or a LAN world, like a [[Minecraft:command block]], a function can run any command that is no more restrictive than permission level 2.&lt;br /&gt;
&lt;br /&gt;
On the default multiplayer software, a function can run any command that is no more restrictive than the permission level prescribed in [[Minecraft:Server.properties#function-permission-level|&amp;lt;code&amp;gt;function-permission-level&amp;lt;/code&amp;gt;]] setting in &amp;lt;code&amp;gt;server.properties&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Functions run all their commands in a single [[Minecraft:tick]] and other functions called from within also run their commands in the same tick as their parent. The total number of commands run inside a function obeys {{cmd|gamerule maxCommandChainLength}}, which is 65,536 commands by default; any commands beyond this limit are ignored.&lt;br /&gt;
&lt;br /&gt;
Functions use the execution context of whatever is invoking the function. This includes executing entity, as well as execution position, rotation, dimension, and anchor. Contextual parameters are preserved for every command in the function. An {{cmd|execute}} command can change the context, but that change does not carry through to any following commands in the same function.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mcfunction&amp;quot;&amp;gt;&lt;br /&gt;
execute as @p at @s run function foo:bar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Where, the function foo:bar is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mcfunction&amp;quot;&amp;gt;&lt;br /&gt;
teleport @s ~ ~5 ~&lt;br /&gt;
setblock ~ ~-1 ~ emerald_block&lt;br /&gt;
execute at @s run setblock ~ ~-1 ~ diamond_block&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
When invoked, this function teleports the nearest player 5 blocks up, places an [[Minecraft:emerald block]] one block below their original position &amp;#039;&amp;#039;before&amp;#039;&amp;#039; the teleport, and then places a [[Minecraft:diamond block]] one block below their new position &amp;#039;&amp;#039;after&amp;#039;&amp;#039; the teleport.&lt;br /&gt;
&lt;br /&gt;
As seen in the above example, contextual parameters can be changed as usual by their respective {{cmd|execute}} sub-commands.&lt;br /&gt;
&lt;br /&gt;
==== Execution order ====&lt;br /&gt;
The order that functions get executed within a single tick is:&lt;br /&gt;
&lt;br /&gt;
# Functions invoked from advancements.&lt;br /&gt;
# Functions invoked from enchantments.&lt;br /&gt;
# Functions that belong to {{Cd|#minecraft:tick}}, from top to bottom.&lt;br /&gt;
# Functions that are scheduled on that tick, from whichever one was added to the queue first.&lt;br /&gt;
# Functions invoked from command blocks and by players&lt;br /&gt;
&lt;br /&gt;
In addition, upon (re)loading a data pack, {{Cd|#minecraft:load}} is executed before any of the ones above.&lt;br /&gt;
&lt;br /&gt;
=== Macros ===&lt;br /&gt;
Functions can include macro lines, lines preceded by &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt;. Macro lines act similar to normal commands but can reference the compound [[Minecraft:NBT]] tag provided when invoking the function with the {{cmd|function}} command. Values from this compound tag can be referenced with their associated key by using &amp;lt;code&amp;gt;$(&amp;lt;&amp;#039;&amp;#039;key&amp;#039;&amp;#039;&amp;gt;)&amp;lt;/code&amp;gt; anywhere in the macro line.&lt;br /&gt;
&lt;br /&gt;
Macro lines are evaluated each time before the function executes, substituting the variable specifications with the associated values and parsing the resulting command. The compound tag provided must contain one entry for each variable used in the macro function, but may contain entries not referenced by the macro function. If any variables are not provided, or any commands evaluated from macro lines are unparseable, the entire function is not invoked and no commands in it run.&lt;br /&gt;
&lt;br /&gt;
Valid characters for a &amp;lt;code&amp;gt;&amp;lt;&amp;#039;&amp;#039;key&amp;#039;&amp;#039;&amp;gt;&amp;lt;/code&amp;gt; are:&lt;br /&gt;
* &amp;lt;code&amp;gt;a-z&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;A-Z&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;0-9&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tags in the compound tag can be of any type. The method in which the values are inserted vary by type:&lt;br /&gt;
&lt;br /&gt;
* For strings, the value of the string is inserted directly. (That is, without the quotes.)&lt;br /&gt;
* For all numeric types, the value is converted to plain text.&lt;br /&gt;
** The type suffix is not included. (For example, &amp;lt;code&amp;gt;10b&amp;lt;/code&amp;gt; is converted to &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;)&lt;br /&gt;
** The number is rounded to a maximum of 15 fraction digits.&lt;br /&gt;
** &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; are equivalent to &amp;lt;code&amp;gt;1b&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0b&amp;lt;/code&amp;gt;, so they are converted to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
* For lists, compound tags, and the array types, the canonical SNBT representation is used.&lt;br /&gt;
&lt;br /&gt;
For example, running the command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mcfunction&amp;quot;&amp;gt;&lt;br /&gt;
function foo:bar {key_1:&amp;quot;Example String&amp;quot;, key_2:10}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
With the function foo:bar being:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mcfunction&amp;quot;&amp;gt;&lt;br /&gt;
say This is a normal non-macro command where $(key_1) does not work&lt;br /&gt;
$say This is a macro line, using $(key_1)!&lt;br /&gt;
$teleport @s ~ ~$(key_2) ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Would teleport you 10 blocks up, as well as show in chat the following: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[Steve] This is a normal non-macro command where $(key_1) does not work&lt;br /&gt;
[Steve] This is a macro line, using Example String!&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Macro functions can also harness stored [[Minecraft:NBT]] data using the &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; instruction that may follow the function name. The argument succeeding &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; must specify a NBT source (a block, entity, or [[Minecraft:command storage]]) followed by the [[Minecraft:NBT path]] of a compound tag. &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mcfunction&amp;quot;&amp;gt;&lt;br /&gt;
execute as @p run function foo:bar2 with entity @s SelectedItem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
And the function foo:bar2 is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mcfunction&amp;quot;&amp;gt;&lt;br /&gt;
$say The player running this function is holding $(count) items with ID $(id)!&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Returning ===&lt;br /&gt;
A function can be forcibly stopped by a {{cmd|return}} command. Following a {{cmd|execute (if&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;unless) ... run}} or a forking {{cmd|execute}} command that may [[Minecraft:Commands/execute#Subcommands and forking|terminate]], a {{cmd|return}} command can be restricted to only execute under certain conditions. With this, under different conditions a function can stop at different lines, thus achieving more complex behaviors.&lt;br /&gt;
&lt;br /&gt;
After execution, the function can return a &amp;#039;&amp;#039;&amp;#039;return value&amp;#039;&amp;#039;&amp;#039; and a &amp;#039;&amp;#039;&amp;#039;successfulness&amp;#039;&amp;#039;&amp;#039;. The return value is an integer, and the successfulness is failure or success. If no {{cmd|return}} command is executed in the function, the function is a &amp;#039;&amp;#039;&amp;#039;void function&amp;#039;&amp;#039;&amp;#039; that does not return any return value or successfulness. With {{cmd|return}} executed, the function is stopped and its return value and successfulness are set.&lt;br /&gt;
&lt;br /&gt;
If the function is called by a {{cmd|function}} command, its return value and successfulness is returned to the {{cmd|function}} command. See also {{cmd|function}} article for the details.&lt;br /&gt;
&lt;br /&gt;
If the function is called by a {{cmd|execute if function}} command, its return value is checked whether it is not &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{HistoryTable&lt;br /&gt;
|{{HistoryLine|java}}&lt;br /&gt;
|{{HistoryLine||1.12|dev=pre1|Added functions.|Added {{cmd|gamerule gameLoopFunction}} which is used to run a given function every tick.}}&lt;br /&gt;
|{{HistoryLine|||dev=pre3|Commands are no longer allowed to begin with a &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; (forward slash)|Comments can now only be preceded with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;; using &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is no longer allowed.|Now use a new file extension &amp;quot;.mcfunction&amp;quot; instead of &amp;quot;.txt&amp;quot;}}&lt;br /&gt;
|{{HistoryLine||1.13|dev=17w43a|Custom functions have been moved into [[Minecraft:data pack]]s.}}&lt;br /&gt;
|{{HistoryLine|||dev=17w45a|Functions are now completely parsed and cached on load.}}&lt;br /&gt;
|{{HistoryLine|||dev=17w49b|Removed {{cmd|gamerule gameLoopFunction}}.|Function can now be tagged.|Functions tagged in &amp;lt;code&amp;gt;tick&amp;lt;/code&amp;gt; now run every tick in the beginning of the tick.}}&lt;br /&gt;
|{{HistoryLine|||dev=18w01a|Functions tagged in &amp;lt;code&amp;gt;load&amp;lt;/code&amp;gt; now run after (re)loading the data pack.}}&lt;br /&gt;
|{{HistoryLine||1.14.4|dev=Pre-Release 4|Added &amp;lt;code&amp;gt;function-permission-level&amp;lt;/code&amp;gt; to [[Minecraft:server.properties]].}}&lt;br /&gt;
|{{HistoryLine||1.19.3|dev=22w46a|Functions in tag &amp;lt;code&amp;gt;#load&amp;lt;/code&amp;gt; now run before functions in tag &amp;lt;code&amp;gt;#tick&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;{{bug|MC-187539|||fixed}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
|{{HistoryLine||1.20.2|dev=23w31a|A single backslash &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt; as the last non-whitespace character of a line now allows a command to be continued on the next line.&lt;br /&gt;
|Functions can now contain macro lines, making them Function Macros.}}&lt;br /&gt;
|{{HistoryLine|||dev=Pre-release 1|Numbers used as macro arguments are now always inserted without suffixes, regardless of numeric type.}}&lt;br /&gt;
|{{HistoryLine||1.20.3|dev=23w41a|{{cmd|function}} command has been changed to better accommodate new {{cmd|return}} command.|Functions no longer have any result unless they use {{cmd|link=none|return}}.|The previous behavior where every command in a function would perform store if a function was called with {{cmd|link=none|execute store ... run &amp;#039;&amp;#039;function&amp;#039;&amp;#039;}} is removed.|Existing limits for functions have been refined to accommodate new execution rules and prevent a wider range of exploits.}}&lt;br /&gt;
|{{HistoryLine||1.21|dev=24w21a|Folder &amp;lt;code&amp;gt;functions&amp;lt;/code&amp;gt; in datapack is renamed to &amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt;, as well as &amp;lt;code&amp;gt;tags/functions&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;tags/function&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
{{Issue list|function command|function datapack|function pack|function json|function macro|function file|mcfunction|function folder|function comment|function return|function schedule|function execute|function invoke|function call|function run|function parse|function output|function success|function fail|function feedback|-\&amp;quot;functioning\&amp;quot;|-\&amp;quot;functional\&amp;quot;|-\&amp;quot;functionality\&amp;quot;|-\&amp;quot;functionally\&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
{{Navbox Java Edition technical|datapack}}&lt;br /&gt;
&lt;br /&gt;
[[Minecraft:de:Funktion]]&lt;br /&gt;
[[Minecraft:es:Función (Java Edition)]]&lt;br /&gt;
[[Minecraft:fr:Fonction]]&lt;br /&gt;
[[Minecraft:ja:関数 (Java Edition)]]&lt;br /&gt;
[[Minecraft:pl:Funkcja]]&lt;br /&gt;
[[Minecraft:pt:Funções (Edição Java)]]&lt;br /&gt;
[[Minecraft:ru:Функция]]&lt;br /&gt;
[[Minecraft:uk:Функція (Java Edition)]]&lt;br /&gt;
[[Minecraft:zh:Java版函数]]&lt;br /&gt;
[[Minecraft:ko:함수 (Java Edition)]]&lt;/div&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
</feed>