clone

需要的权限等级

Java版:2基岩版:1

限制条件

启用作弊[仅基岩版]

在指定区域之间复制方块结构。

目录

1 语法

2 参数

3 结果

4 输出

5 示例

6 历史

7 参见

8 参考

9 导航

语法[编辑 | 编辑源代码]

Java版

clone ...

clone from ...

... ...

... ...

... to ...

... [replace|masked] [force|move|normal]

... filtered [force|move|normal]

... strict ...

... [replace|masked] [force|move|normal]

... filtered [force|move|normal]

基岩版

clone [maskMode: MaskMode] [cloneMode: CloneMode]

clone filtered

参数[编辑 | 编辑源代码]

JE::block_pos和:block_pos

BE:begin: x y z:CommandPosition和end: x y z:CommandPosition

定义源区域的两组对角方块坐标。

构成边角的方块在此方块的坐标正方向上延伸。因此,各轴上较小的坐标将会正好贴合区域边界,但较大的坐标将会超过边界1方块,源区域的体积则为(x大 - x小 + 1) × (y大 - y小 + 1) × (z大 - z小 + 1)。例如:0 0 0 0 0 0的体积为1方块,0 0 0 1 1 1与1 1 1 0 0 0都指定同一块8方块大小的区域。

在Java版中,表示一个方块坐标,格式为 ,三个值必须为整数、相对坐标或局部坐标。若为相对坐标或局部坐标,则会将各坐标值向下取整变为方块坐标。在基岩版中,必须为三维的坐标,格式为 ,三个值必须是浮点数、相对坐标或局部坐标。

JE::block_posBE:destination: x y z:CommandPosition

定义目标区域的西北方向较低(即在各轴上坐标值最小)的点的坐标,游戏会根据的坐标算出目标区域的范围。

在Java版中,表示一个方块坐标,格式为 ,三个值必须为整数、相对坐标或局部坐标。若为相对坐标或局部坐标,则会将各坐标值向下取整变为方块坐标。在基岩版中,必须为三维的坐标,格式为 ,三个值必须是浮点数、相对坐标或局部坐标。

JE:replace|masked

BE:maskMode: MaskMode:enum

指定是否过滤被复制方块。必须为下列之一:

masked — 仅复制非空气方块。会保持目的区域中原本会被替换为空气的方块不变。

replace — 复制所有方块,用源区域的方块覆盖目标区域中的所有方块。

若未定义,默认为replace。

JE:strict

使命令在放置方块时不触发自身及紧挨着的方块的方块更新和形状更新。

filtered

使命令只复制指定方块,需要额外指定一个方块。

JE:force|move|normal

BE:cloneMode: CloneMode:enum

指定对源区域的操作。必须为下列之一:

force — 强制复制,即使源区域与目标区域有重叠。

move — 将源区域复制到目标区域,并将源区域替换为空气。在filtered遮罩模式下,只有被复制的方块才会被替换为空气。

normal — 不执行force与move。

若未指定,默认为normal。

JE::block_predicateBE:tileName: Block:Block

指定在filtered模式下时要复制的方块ID

在Java版中,格式必须为方块ID或标签[方块状态]{方块实体NBT},可仅在需要时指定方块状态与方块实体NBT,参见参数类型 § minecraft:block_predicate。在基岩版中,必须为方块ID。

JE::dimension

指定复制区域的来源维度。

必须为命名空间ID,将会在命令执行时尝试获取对应的维度。

JE::dimension

指定复制区域的目的维度。

必须为命名空间ID,将会在命令执行时尝试获取对应的维度。

BE:blockStates: block states:BlockStateCommandParam

指定复制时需要符合的方块状态。

必须为格式为["<键1>"=<值1>,"<键2>"=<值2>,...]的方块状态(例如:["old_leaf_type"="birch","persistent_bit"=true])。

结果[编辑 | 编辑源代码]

命令触发条件Java版基岩版

任意参数未正确指定 无法解析 无法解析

指定的维度不存在 执行失败 N/A

指定的区域处于已卸载的或在世界外的区块中 执行失败

源区域被选中的方块数量超过655360[1][仅基岩版]或游戏规则commandModificationBlockLimit的设定值[仅Java版]

/clone ... normal ...源区域和目标区域重叠

/clone ... move ...源区域和目标区域重叠 执行成功

/clone ... filtered ...源区域内无指定方块 执行失败

/clone ... replace ...源区域内所有方块为屏障[2] N/A

/clone ... filtered ...指定方块为屏障[2]

/clone ... masked ...源区域内无非空气或非屏障方块[仅Java版][2] 执行失败

/clone ... force .../clone ... normal ...目标区域中没有方块被更改

任意不符合以上所有条件执行成功

输出[编辑 | 编辑源代码]

命令版本条件成功次数/execute store success .../execute store result ...

任意Java版失败时000

成功时11目标区域中被更改的方块数

基岩版失败时0N/AN/A

成功时1N/AN/A

示例[编辑 | 编辑源代码]

masked模式类似于使用结构空位替换结构方块选区中的空气方块,复制后的目标区域(右)将会忽略这些方块

以某位置为原点,形成XYZ轴长度分别为3格、5格、3格的源区域,复制到距离原点Z轴正方向4格的目标区域(如图,左侧两紫色方块决定源区域,右侧黄色方块决定目标区域位置):/clone ~ ~ ~ ~2 ~4 ~2 ~ ~ ~4

如图,复制左侧区域到右侧,使用masked模式以防止右侧树木的下的花和灯笼被替换为空气:/clone ~ ~ ~ ~2 ~4 ~2 ~ ~ ~4 masked

移动源区域到目标区域(使用masked除去源区域中的空气方块,move即复制后清除源区域):/clone ~ ~ ~ ~2 ~4 ~2 ~ ~ ~4 masked move

根据当前执行位置,选择相应的下界源区域并复制到主世界目标区域[仅Java版]:/execute in minecraft:the_nether run clone from minecraft:the_nether ~ ~ ~ ~ ~ ~ to minecraft:overworld ~ ~ ~

历史[编辑 | 编辑源代码]

Java版1.814w03a加入了/clone命令。14w10a加入了force选项。14w20a加入了move选项。1.1317w45a修改了/clone的语法。1.19.423w03a现在支持指定来源维度和目的维度。现在可以通过commandModificationBlockLimit游戏规则控制单次执行可更改的最大方块数。1.21.525w02a加入了strict选项。携带版Alpha0.16.0build 1加入了/clone命令。/clone命令不能使用force克隆模式。基岩版1.16.2101.16.210.53加入了/clone中对方块状态的支持。1.16.210.57克隆相同类型的方块不再被视为操作失败。1.18.0?/clone命令可更改的最大方块数现在为655360。1.19.701.19.70.21移除了tileData: int参数。

参见[编辑 | 编辑源代码]

/fill — 用一类方块填充整个区域

参考[编辑 | 编辑源代码]

↑ 因为漏洞MCPE-183836,实际方块数量上限可能大于655360。

↑ 2.0 2.1 2.2 MC-231566

导航[编辑 | 编辑源代码]

编命令

当前可用

clear

clone

damage

deop

difficulty

effect

enchant

execute

experience

xp

fill

function

gamemode

gamerule

give

help

kick

kill

list

locate

loot

me

op

particle

place

playsound

recipe

reload

ride

say

schedule

scoreboard

setblock

setworldspawn

spawnpoint

spreadplayers

stop

stopsound

summon

tag

msg

tell

w

tellraw

time

title

teleport

tp

transfer

weather

whitelist

仅Java版

advancement

attribute

ban

ban-ip

banlist

bossbar

chase[新增:JE 1.21.9]

data

datapack

debug

debugconfig

debugmobspawning

debugpath

defaultgamemode

dialog

fetchprofile[新增:JE 1.21.9]

fillbiome

forceload

item

jfr

pardon

pardon-ip

perf

publish

raid

random

return

rotate

save-all

save-off

save-on

seed

serverpack

setidletimeout

spawn_armor_trims

spectate

team

teammsg

tm

test

tick

trigger

version

warden_spawn_tracker

waypoint

worldborder

仅基岩版

allowlist

changesetting

clearrealmevents

gametips

project

reloadconfig

reloadpacketlimitconfig

save

sendshowstoreoffer

仅教育版

classroommode

code

getchunkdata

getchunks

geteduclientinfo

geteduserverinfo

getspawnpoint

globalpause

resourceuri

takepicture

基岩版和教育版

?

ability

agent

aimassist

camera

camerashake

clearspawnpoint

closewebsocket

codebuilder_actorinfo

controlscheme

daylock

alwaysday

dedicatedwsserver

dialogue

enableencryption

event

fog

gametest

gettopsolidblock

hud

immutableworld

inputpermission

listd

mobevent

music

permission

ops

playanimation

querytarget

replaceitem

script

scriptevent

setmaxplayers

structure

testforblocks

testforblock

testfor

tickingarea

titleraw

toggledownfall

worldbuilder

wsserver

connect

已移除

placefeature

仅Java版

?

achievement

banip

blockdata

broadcast

entitydata

home

iron

locatebiome

replaceitem

setspawn

solid

stats

toggledownfall

testfor

testforblock

testforblocks

unban

wood

仅基岩版

clearfixedinv

mixer

resupply

set_movement_authority

setfixedinvslot

setfixedinvslots

simulationtype

volumearea

仅教育版

collect

dropall

move

position

tpagent

transfer

turn

基岩版和教育版

attack

createagent

destroy

detect

detectredstone

drop

executeasother

executeasself

getitemcount

getitemdetail

getitemspace

inspectdata

inspect

place

till

transferserver