我实在是被末影人整得受不了了.
末影人只要搬起方块就不会计入刷怪上限, 也不会自然刷掉, 所以它们可以随意传送到别的地方再把方块放下. 游戏用 #minecraft:enderman_holdable
这个标签标明了末影人可以拿起来的方块, 它包含的方块可以在 /data/minecraft/tags/blocks/enderman_holdable.json
中找到:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23{
"values": [
"#minecraft:small_flowers",
"#minecraft:dirt",
"minecraft:sand",
"minecraft:red_sand",
"minecraft:gravel",
"minecraft:brown_mushroom",
"minecraft:red_mushroom",
"minecraft:tnt",
"minecraft:cactus",
"minecraft:clay",
"minecraft:pumpkin",
"minecraft:carved_pumpkin",
"minecraft:melon",
"minecraft:crimson_fungus",
"minecraft:crimson_nylium",
"minecraft:crimson_roots",
"minecraft:warped_fungus",
"minecraft:warped_nylium",
"minecraft:warped_roots"
]
}
其中 #minecraft:small_flowers
和 #minecraft:dirt
又是两个另外的标签, 大致就是所有花和所有泥土的衍生方块.
几乎所有的刷怪塔都需要一个挂机的玩家和一个打怪的玩家, 尤其是我们服务器做了好几个双维度的刷怪塔, 做太高的话还要担心串门的问题, 所以没办法避免地狱下层的刷怪. 坐标原点附近刚好是诡异森林, 会刷不少的末影人, 于是它们就会就近搬起各种诡异菌岩和诡异菌索到处乱放, 在附近的下界荒地上创造大量零散的方块.
为了获取下界残骸, 我们在地狱底层的岩浆湖下用床炸出了非常复杂的洞穴, 于是也暴露出了大量的砂砾. bdpq 当时做了一个小型的盾构机, 炸膛之后就没有再动过, 只是用泥土填了一部分. 巧的是砂砾和泥土刚好也是末影人可以搬起来的方块, 于是就更乱了.
不仅如此, 地狱会自然生成一些红蘑菇和灰蘑菇, 并且它们会自然生长. 于是又有越来越多的末影人化身成为蘑菇种植专家, 带着它们的蘑菇走遍地狱, 从而地狱的蘑菇和服务器的 mspt 都得到了指数级的增长:
做了好几次大面积的清理, 每次都能清理出来好几盒蘑菇. 但就算蘑菇能随便清理, 其他的方块, 尤其是菌岩和砂砾, 实在没办法防止末影人搬起来. 末影人不能搬起与脚下方块同一层的方块, 但是能搬起自己身高 3 格范围内的方块, 所以最后地形一定会变得越来越崎岖.
很久以前就想通过数据包的方式限制末影人搬方块, 前天终于把这件事做了, 记录一下. 其实非常简单, 首先在存档的 /datapacks/
目录下新建文件夹, 这将会是你的数据包名字, 这里以 FWEnderman
为例. 之后进入文件夹, 创建 pack.mcmeta
文件:1
2
3
4
5
6{
"pack": {
"pack_format": 26,
"description": "啥比末影人别惦记你那B方块了"
}
}
我们服务器的版本是 1.20.4
, 对应的数据包版本号是 26
, 这个可以去 https://zh.minecraft.wiki/w/%E6%95%B0%E6%8D%AE%E5%8C%85/%E7%89%88%E6%9C%AC 寻找.
之后需要定位给方块赋予目标标签的 json
文件位置, 也就是我们一开始所做的, 它在 /data/minecraft/tags/blocks/enderman_holdable.json
里面. 为了取消这个标签, 我们同样需要 minecraft
这个命名空间, 所以需要在我们的 FWEnderman
文件夹里面也新建 data
文件夹, 进入后新建 minecraft
文件夹, 以此类推在同样的位置创建 enderman_holdable.json
. 与原版文件不同, 这里我填入的是:1
2
3
4
5
6
7
8{
"replace": true,
"values": [
"minecraft:pumpkin",
"minecraft:carved_pumpkin",
"minecraft:melon"
]
}
之后进入游戏, 先用 /datapack list
查看待启用的这个数据包, 之后再 /datapack enable xxx
就可以了. 可以检查此时的草方块和蘑菇等确实没有了 #minecraft:enderman_holdable
标签, 末影人也不再能搬起来它们了. 然而南瓜, 雕刻南瓜, 西瓜还是能搬起来, 所以以后也不影响做末影人搬瓜农场.