ChordSceneIII
本帖最后由 ChordSceneIII 于 2022-3-9 11:07 编辑

今天做地图的时候想到的。


我觉得做rpg或者模拟经营类的地图应该会挺有用的
思路就是利用盔甲架作为参考坐标来替换方块,使用两种方块(闪长岩和骨块)进行相互替换
1.8以上应该都能实现,我用的版本是1.12.2

实际效果(这里没有隐藏盔甲架的名字):
下文的数字对应图片中的命令方块


详细教程
首先创建2个计分板,tick(准则为dummy),salt(准则为stat.mineBlock.minecraft.bone_block)
使用的盔甲架名为saltblock用于检测(也可以用tag标签)
tick用于对矿物刷新需要的时间计时,salt用于判断挖某种方块




矿物的放置和刷新时间
1
  1. execute @e[name=saltblock] ~ ~ ~ /fill ~ ~ ~ ~ ~ ~ stone 3 replace air
复制代码
在名为saltblock的盔甲架的位置放置 闪长岩

2
  1. execute @e[name=saltblock] ~ ~ ~ detect ~ ~ ~ minecraft:stone 3 /scoreboard players add @s tick 1
复制代码
判断盔甲架的位置是否为闪长岩,如果是则循环对闪长岩处的盔甲架增加tick的分数,就是开始计时的意思

3
  1. execute @e[name=saltblock,score_tick_min=100] ~ ~ ~ detect ~ ~ ~ minecraft:stone 3 /setblock ~ ~ ~ bone_block
复制代码
判断盔甲架tick分数大于100,则放置 骨块

4
  1. execute @e[name=saltblock,score_tick_min=100] ~ ~ ~ detect ~ ~ ~ minecraft:bone_block 4 /scoreboard players set @s tick 0
复制代码
设置盔甲架的tick分数为0



设置矿物的掉落物
5
  1. execute @a[score_salt_min=1] ~ ~ ~ /give @s <掉落物>
复制代码
玩家挖骨块salt分数加1,并给予玩家指定掉落物
(图里我用了function,因为要用彩色字,可以直接替换为give指令或者用summon召唤掉落物更能还原原版的矿物效果)


6
  1. scoreboard players set @a[score_salt_min=1] salt 0
复制代码
刷新salt分数



处理原方块掉落物(如果你禁用了方块掉落就不需要这条指令)
7
  1. scoreboard players tag @e[type=item] add saltblock {Item:{id:"minecraft:bone_block"}}
复制代码
给骨块的原本掉落物一个名为saltblock的标签

8
  1. kill @e[type=item,tag=saltblock]
复制代码
清除带有saltblock标签的掉落物这两条指令都可以用execute来限定范围,这样破坏其他地方的骨块也是能正常掉落
可以把7和8换成:
execute @e[name=saltblock] ~ ~ ~ detect ~ ~ ~ /scoreboard players tag @e[r=2,type=item] add saltblock {Item:{id:"minecraft:bone_block"}}

execute @e[name=saltblock] ~ ~ ~ detect ~ ~ ~ /kill @e[r=2,type=item,tag=saltblock]  



放完这些命令方块就可以利用盔甲架在指定坐标放置自定义矿物了
  1. /summon minecraft:armor_stand x y z {CustomName:"saltblock",NoAI:1b,Invulnerable:1b,PersistenceRequired:1b,NoGravity:1b,Invisible:1,DisabledSlots:2039583}
复制代码



p.s.:这里我没有对闪长岩掉落物处理是因为我做的地图准备是使用冒险模式来限定稿子可挖掘的方块,稿子不能挖闪长岩所以就不用对闪长岩处理,如果要处理的话直接套用对骨块的处理方式就行

--------------------------------------------------------------------------------------------------------------------------
看到评论区有说可以作为服务区资源区的,只针对原版的矿物,可以简化一下指令。


四个命令方块:1循环-2连锁-3连锁-4连锁
  1. execute @e[tag=coal_ore] ~ ~ ~ /fill ~ ~ ~ ~ ~ ~ stone 5 replace air
  2. execute @e[tag=coal_ore] ~ ~ ~ detect ~ ~ ~ minecraft:stone 5 /scoreboard players add @s tick 1
  3. execute @e[tag=coal_ore,score_tick_min=100] ~ ~ ~ detect ~ ~ ~ minecraft:stone 5 /setblock ~ ~ ~ coal_ore
  4. execute @e[tag=coal_ore,score_tick_min=100] ~ ~ ~ detect ~ ~ ~ minecraft:coal_ore 0 scoreboard players set @s tick 0
复制代码
这样一段时间(指令中设置的是100tick)后指定位置的矿物就会刷新了,计分板只需要一个tick计分板,并且其他地方的矿物不会受到影响

如果要更省事的话可以不要替换方块这一步,把stone改为air,第一条指令去掉






无聊的帕帕
MCBBS有你更精彩!

壹号寒鵺
太强了,这想法指令白痴看着老玄乎了

名副其实
个人早在1.7版本的时候就试图还原过这个东西
那个时候的机制相对你这个稍微复杂一些,而且矿原方块是可以被保护不受破坏的。
真怀念那时候啊。

Hiabens
嗯 可以学习到的

Hiabens
这需要加一些插件mod吗

ChordSceneIII
Hiabens 发表于 2022-3-5 08:48
这需要加一些插件mod吗

不用,1.12原版就可以

Hiabens
ChordSceneIII 发表于 2022-3-5 08:49
不用,1.12原版就可以

好的,明白了

ddmjs
这东西对服务器很有帮助

时空q
MCBBS有你更精彩!

二次元王者
可以 很实用 感谢分享

ccaabb
太棒了非常好用,感谢分享

小熊的饼干
可以可以的,感谢大佬

绯月与贾维
这个倒是可以作为一些服务器的资源区来用了

宇泽_
服务器里面可以用到吗?想知道一下。

ChordSceneIII
宇泽_ 发表于 2022-3-7 02:27
服务器里面可以用到吗?想知道一下。

服务器可以,不过最好把give指令改成summon,盔甲架使用tag代替customname标记。当然,如果有类似的插件代替最好了

宇泽_
ChordSceneIII 发表于 2022-3-7 09:12
服务器可以,不过最好把give指令改成summon,盔甲架使用tag代替customname标记。当然,如果有类似的插件 ...

这样啊,谢谢提醒

哼唧OwO
这种可以应用于空岛服务器的矿场提供玩家挖矿吗,或者是恶搞玩家

ChordSceneIII
jajjaja 发表于 2022-3-7 09:21
这种可以应用于空岛服务器的矿场提供玩家挖矿吗,或者是恶搞玩家

emmm可以把矿物掉落/give 那条改为summon creeper或者tnt,比如挖某些钻石矿掉点燃的tnt什么的,稍微修改一下指令就可以了(

等等ll
那个版本都能用吗

ChordSceneIII
等等ll 发表于 2022-3-7 11:21
那个版本都能用吗

按理说1.8+应该就行,不过1.8和1.13+的指令格式可能有点不同。我使用的版本是1.12.2

sjddhfhfg
这个自定义方块也能用于mod方块吗

2581758730
是个代码大佬

祁荒
我是白痴

治愈爱情
大佬们可否教教我命令方块什么玩啊

南改成云
感觉还不错

948428499
未曾设想的道路

简某人-
感谢大佬的分享

WX-孤念
学会了学会了

cmd1152
我以前喜欢直接clone复制东西实现资源区
  1. clone ~ ~1 ~ ~ ~1 ~ ~ ~3 ~
复制代码

摆放方法:

[任意方块]
[要复制的东西]
[命令方块(循环无条件保持开启)]

2845103030
看的我迷迷瞪瞪的

我欲何求
命令方块经久不衰

cmzzsy3433
一直都没有玩明白过红石

矿工第003号
虽然看不懂但是感觉很厉害样子

1004062852
感谢大佬教学,学到了学到了

梦想☆倾城
感谢楼主分享,学到了

是猪152
感谢,对新人也帮助

Scorpio小为
可以有,收藏

kai_wen_dada
可以用到固定资源的那种地方把

3529454500
这需要加一些插件mod吗

18645949386
感谢大佬,学到了学到了

ASGORE_DREAMER
随机生成矿石和这个是有区别的罢

1952110084
太强了,这想法指令白痴看着老玄乎了

1413412
指令看不懂的有没有更简单的办法

lrj1851592684
nb必须支持下,学到了

15552224629
666666666666啊兄弟

MYFF

太棒了非常好用,感谢分享

RoricKou
感谢楼主 分享  辛苦辛苦

yueyueliang
我就是个游手好闲的人学了也不用

兲之气
很有帮助谢谢

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