最近养了一只小白狐,不想让它长大,有没有Java版能用的指令让没驯服的小狐狸延长长大时间,最好是无限延长(要完整指令,可以是命名过的狐狸)
 本帖最后由 Stone_ingot 于 2023-2-7 17:31 编辑 
你这问题不是昨天问过吗(
更改Age标签即可
复制代码站你狐狸边上输入这个
你这问题不是昨天问过吗(
更改Age标签即可
- /execute as @e[type=fox,distance=0..1] run data modify entity @s Age set value -114514
Stone_ingot 发表于 2023-2-7 17:28
你这问题不是昨天问过吗(
更改Age标签即可
上次是驯服过的猫,这次是没有驯服的狐狸,而且这次要完整指令,还有,这么一个赚金粒的机会你不要吗?
天鹬大神 发表于 2023-2-7 17:31
上次是驯服过的猫,这次是没有驯服的狐狸,而且这次要完整指令,还有,这么一个赚金粒的机会你不要吗? ...
我又来力
/execute as @e[type=fox,name=名字] run data modify entity @s Age set value -114514
话说这玩意查wiki或许更值?
开心的阿诺 发表于 2023-2-7 17:32
我又来力
/execute as @e[type=fox,name=名字] run data modify entity @s Age set value -114514 ...
好的,我去逝世,如果刑的话就给你金粒
开心的阿诺 发表于 2023-2-7 17:32
我又来力
/execute as @e[type=fox,name=名字] run data modify entity @s Age set value -114514 ...
不行,上次的猫还是长大了,这次的狐狸不知道会不会长大
天鹬大神 发表于 2023-2-7 17:39
不行,上次的猫还是长大了,这次的狐狸不知道会不会长大
-114514的话大约是一个半小时,再调小一点即可
- /execute as @e[type=fox,distance=0..1] run data modify entity @s Age set value -2147483647
天鹬大神 发表于 2023-2-7 17:39
不行,上次的猫还是长大了,这次的狐狸不知道会不会长大
value改成-2147483648(int极限)
 本帖最后由 Summer_leaves 于 2023-2-7 17:48 编辑 
我终于知道昨天那个人跟我说:“在问答区一定要心态好”要是让我回答这种问题可能会疯。 我只知道有一个叫time的指令能改时间。
我只知道有一个叫time的指令能改时间。
开心的阿诺 发表于 2023-2-7 17:41
value改成-2147483648(int极限)
我终于知道昨天那个人跟我说:“在问答区一定要心态好”要是让我回答这种问题可能会疯。
用cmdblock无限执行
复制代码

awa
- /execute as @e[type=fox] run data modify entity @s Age set value -2147483647
awa
完成任务
 本帖最后由 MoonCakeMC 于 2023-2-7 21:37 编辑 
楼上的指令好像有BUG,成年狐狸也会强制变回小狐狸(应该吧
以及狐狸好像没有驯服一说?
修复版的:
单次执行:复制代码
重复执行:复制代码
这个应该就没问题了,开着重复执行的时候生成的小狐狸即使关闭重复执行也不会长大,如果要关闭重复执行可以长大的话用下面的
复制代码
以上均为理论性的,没有实测,但应该不会BUG
如果会数据包可以直接写成tick函数
楼上的指令好像有BUG,成年狐狸也会强制变回小狐狸(应该吧
以及狐狸好像没有驯服一说?
修复版的:
单次执行:
- scoreboard objectives add age_temp dummy
重复执行:
- execute as @e[type=fox] run execute store result score @s age_temp run data get entity @s Age
 
- execute as @e[type=fox,scores={age_temp=..-1}] run data modify entity @s Age set value -2147483648
这个应该就没问题了,开着重复执行的时候生成的小狐狸即使关闭重复执行也不会长大,如果要关闭重复执行可以长大的话用下面的
- execute as @e[type=fox] run execute store result score @s age_temp run data get entity @s Age
 
- execute as @e[type=fox,scores={age_temp=..0}] run scoreboard players remove @s age_temp 1
 
- execute as @e[type=fox,scores={age_temp=..-1}] run execute store result entity @s Age int 1 run scoreboard players get @s age_temp
以上均为理论性的,没有实测,但应该不会BUG
如果会数据包可以直接写成tick函数
MoonCakeMC 发表于 2023-2-7 21:28
楼上的指令好像有BUG,成年狐狸也会强制变回小狐狸(应该吧
以及狐狸好像没有驯服一说?
修复版的:
感觉如果可以用重复执行+关闭可长大的话可以换成下面的可能更优雅
- /execute as @e[type=fox,nbt={Age:-1}] run data modify entity @s Age set value -20
正确性证明也很简单,因为Age要到0必定会经过-1,而且不影响Age>0(即成年)的狐狸