Files
netease-bedrock-wiki/mcguide/27-网络游戏/课程5:插件教学/第5节:地图插件调整(下).md
2024-12-23 10:57:59 +08:00

60 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/ditu_19.81564cc2.png
hard: 进阶
time: 20分钟
---
# 地图插件调整(下)
## 微调地图插件
### 阻止破坏耕地
* 查询ModSDK的事件发现可以用【MobGriefingBlockServerEvent】实现目标功能
![](./images/ditu_19.png)
* 查询到耕地的identifier为【minecraft:farmland】
* 由于是服务端事件所以对应代码中应该加入到【mapAttrsServerSys.py】中
```python
def Init(self):
...
util.ListenServerEngineEvent("MobGriefingBlockServerEvent", self, self.OnMobGriefingBlock)
...
def OnMobGriefingBlock(self, data):
# print "OnMobGriefingBlock", data
if data["blockName"] in ("minecraft:farmland", ):
data["cancel"] = True
```
### 阻止触发压力板、踩红石矿、踩拌线钩
* 查询ModSDK的事件发现可以用【MobGriefingBlockServerEvent】实现目标功能
![](./images/ditu_20.png)
* 由于是服务端事件所以对应代码中应该加入到【mapAttrsServerSys.py】中
```python
def Init(self):
...
util.ListenServerEngineEvent("StepOnBlockServerEvent", self, self.OnStepOnBlock)
...
def OnStepOnBlock(self, data):
# print "OnStepOnBlock", data
data["cancel"] = True
```
## 部署修改后的插件
* 打开自定义目录的【neteaseMapAttrs】插件放置一个【server.properties】文件调整游戏的模式方便调试修改后的效果
![](./images/ditu_24.png)
* 修改【level-type】为【FLAT】地形超平坦
* 修改【gamemode】为【1】创造模式
![](./images/ditu_25.png)
* 为了能够执行创建耕地、放置压力板等操作需要修改【neteaseMapAttrs】插件中的mod.json把【open_map_protect】配置修改为false
![](./images/ditu_26.png)
* 点开【服务器配置】-->【选择文件夹】修改【Mod目录】为放置修改后插件的自定义目录
![](./images/ditu_21.png)
* 点击【游戏配置】-->【大厅服】-->【Mod的下拉菜单】勾选【neteaseMapAttrs(自定义目录)】
![](./images/ditu_22.png)
* 点击【游戏配置】-->【控制服】-->【Mod的下拉菜单】勾选【neteaseMapAttrsMaster(自定义目录)】
![](./images/ditu_23.png)
* 选择【基岩版服务器】-->【网络服开发】-->【地图属性插件微调】-->点击【部署】,等待服务器部署完成
![](./images/ditu_12.png)
* 点击【开发测试】即可启动客户端,体验微调后的**地图属性插件**的功能
![](./images/ditu_13.png)