Lavenir
本帖最后由 Lavenir 于 2020-5-8 15:26 编辑

为什么1.12.2 我用的整合包开的原版生存,在function里放了一个.mcfunction ,但是游戏内输入/function 显示未知函数

Chelover_C60
是否写了命名空间?
在functions文件夹里还需要一个命名空间文件夹,文件夹名用字母+数字+下划线。
函数用“命名空间:函数名(去掉后缀)”的形式表示,如果命名空间为minecraft,则可省略

strings
正确的位置应该是 minecraft\saves\创建的地图的名字\data\functions\另一个文件夹下
https://www.mcbbs.net/thread-725039-1-1.html

Lavenir
Chelover_C60 发表于 2020-5-8 15:16
是否写了命名空间?
在functions文件夹里还需要一个命名空间文件夹,文件夹名用字母+数字+下划线。
函数用 ...


Lavenir
Chelover_C60 发表于 2020-5-8 15:16
是否写了命名空间?
在functions文件夹里还需要一个命名空间文件夹,文件夹名用字母+数字+下划线。
函数用 ...

我写了命名空间,只用了一个a

Chelover_C60
Lavenir 发表于 2020-5-8 15:21
我写了命名空间,只用了一个a
file="http://图片1.png"

你这个图片发的方式不对啊
如果命名空间是a,那命令应该是/function a:函数名
或者你先打一个“a:”然后按tab,看看能不能补全出来?
或者输入一下/reload?

Lavenir
もぺもぺ 发表于 2020-5-8 15:17
正确的位置应该是 minecraft\saves\创建的地图的名字\data\functions\另一个文件夹下
https://www.mcbbs.ne ...

我写在这个路径了

Lavenir
Chelover_C60 发表于 2020-5-8 15:24
你这个图片发的方式不对啊
如果命名空间是a,那命令应该是/function a:函数名
或者你先打一个“a:”然后 ...

图片我重新发了,我按你说的试试

Lavenir
Chelover_C60 发表于 2020-5-8 15:24
你这个图片发的方式不对啊
如果命名空间是a,那命令应该是/function a:函数名
或者你先打一个“a:”然后 ...

补全不了

Chelover_C60

补全不了,那就是函数没正常加载
几种可能的原因:
1是函数路径问题,再次确认路径为.../saves/<存档>/data/functions/<命名空间>/.mcfunction看到图了,路径没问题
2是函数内容问题,注意一个函数内只要有一个命令有语法错误,整个函数都加载不出来。另外函数前不要加“/”符号。方便的话可以逐条尝试执行,看看能不能执行成功。或者可以看输出日志,在启动器里应该能找到类似于“启动时打开日志”之类的话,也能看出来问题(如果有)
3是加载问题。记得每次添加函数或修改函数后退出重进存档或输入/reload

Lavenir
Chelover_C60 发表于 2020-5-8 15:36
补全不了,那就是函数没正常加载
几种可能的原因:
1是函数路径问题,再次确认路径为.../saves//data/f ...

谢谢,我去检查一下函数文件

天佑酱
本帖最后由 天佑酱 于 2020-5-8 19:54 编辑

有以下几种可能:
#1.function文件没有放对位置,正确的function文件应放在data/functions/任意文件夹/下面,我看到你的截图直接放在functions里面了,这是不对的
#2.没有使用UTF-8无BOM编码,编码不对也不会执行
#3.function里面出现了斜杠"/"function里面不能有斜杠。


如果还不行可以把function发我,我帮你检查

Lavenir
Chelover_C60 发表于 2020-5-8 15:36
补全不了,那就是函数没正常加载
几种可能的原因:
1是函数路径问题,再次确认路径为.../saves//data/f ...

还是未知。
这次我看了启动日志,加载了1个custom command function
然后输入/function a + tab可以补全
然后回车还是显示未知函数

Chelover_C60
Lavenir 发表于 2020-5-8 15:45
还是未知。
这次我看了启动日志,加载了1个custom command function
然后输入/function a + tab可以补全
1.12.2 我用的整合包开的原版生存

会不会是模组的原因?
你用的是整合包吗?有试过用纯净原版吗?

Lavenir
Chelover_C60 发表于 2020-5-8 15:54
会不会是模组的原因?
你用的是整合包吗?有试过用纯净原版吗?

因为几个启动器下载不了,所以用的整合包的启动器,但我游戏用的是纯净原版还有我试了函数文件里的句子,是可以完成的


Lavenir
Chelover_C60 发表于 2020-5-8 15:54
会不会是模组的原因?
你用的是整合包吗?有试过用纯净原版吗?

那个我等级低,不让我私信了
execute Lavenir ~ ~ ~ particle flame 1 0 2 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 1.25 0.4375 2.25 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 1.5 0.75 2.5 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 1.75 0.9375 2.75 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2 1 3 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2.25 0.9375 3.25 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2.5 0.75 3.5 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2.75 0.4375 3.75 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 3 0 4 0 0 0 0.009 200
内容就这些

Lavenir
Chelover_C60 发表于 2020-5-8 15:54
会不会是模组的原因?
你用的是整合包吗?有试过用纯净原版吗?

execute Lavenir ~ ~ ~ particle flame 1 0 2 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 1.25 0.4375 2.25 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 1.5 0.75 2.5 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 1.75 0.9375 2.75 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2 1 3 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2.25 0.9375 3.25 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2.5 0.75 3.5 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 2.75 0.4375 3.75 0 0 0 0.009 200
execute Lavenir ~ ~ ~ particle flame 3 0 4 0 0 0 0.009 200
内容就这些

chyx
我记得好像命名空间不能只有一个字母吧。。

Chelover_C60
我觉得我找出来原因了,应该是个游戏bug
当命名空间仅有一个字符时,游戏无法识别命名空间,并自动将命名空间替换为minecraft
解决方法是将命名空间换成大于等于两个字符的名字,如aa
然后输入一下/reload就行了

Lavenir
Chelover_C60 发表于 2020-5-8 16:22
我觉得我找出来原因了,应该是个游戏bug
当命名空间仅有一个字符时,游戏无法识别命名空间,并自动将命名空 ...

谢谢大佬,我弄成了

我还想问一下怎么让这里面的函数1tick执行一条呢

Chelover_C60
本帖最后由 Chelover_C60 于 2020-5-8 16:45 编辑
Lavenir 发表于 2020-5-8 16:34
谢谢大佬,我弄成了

我还想问一下怎么让这里面的函数1tick执行一条呢

刚刚打了gamerule后突然发现什么不对
函数不能控制延迟、暂停,只能一次1t执行完毕
如有需要,建议配合记分板计时器使用
解释一下吧,记分板计时器就是指循环执行一些命令,判断某个分数的大小,并根据分数大小执行不同的命令,并保证每1t都会增加或减少1分

Lavenir
Chelover_C60 发表于 2020-5-8 16:39
刚刚打了gamerule后突然发现什么不对
函数不能控制延迟、暂停,只能一次1t执行完毕
如有需要,建议 ...

谢谢,我去学习一下

患幻城的蝙
1.12的function的话,你必须现在function文件夹里创建一个新的文件夹,然后把文件丢进去,才能够生效
比如你在function里创建一个叫做rap的文件夹
然后你将你的function文件命名为:jump
然后你可以通过指令/function rap:jump来执行这个指令,而不能单纯使用

第一页 上一页 下一页 最后一页