# 地图插件调整(下)
# 微调地图插件
# 阻止破坏耕地
- 查询ModSDK的事件,发现可以用【MobGriefingBlockServerEvent】实现目标功能
- 查询到耕地的identifier为【minecraft:farmland】
- 由于是服务端事件,所以对应代码中应该加入到【mapAttrsServerSys.py】中
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】实现目标功能
- 由于是服务端事件,所以对应代码中应该加入到【mapAttrsServerSys.py】中
def Init(self):
...
util.ListenServerEngineEvent("StepOnBlockServerEvent", self, self.OnStepOnBlock)
...
def OnStepOnBlock(self, data):
# print "OnStepOnBlock", data
data["cancel"] = True
# 部署修改后的插件
- 打开自定义目录的【neteaseMapAttrs】插件,放置一个【server.properties】文件(调整游戏的模式,方便调试修改后的效果)
- 修改【level-type】为【FLAT】(地形超平坦)
- 修改【gamemode】为【1】(创造模式)
- 为了能够执行创建耕地、放置压力板等操作,需要修改【neteaseMapAttrs】插件中的mod.json,把【open_map_protect】配置修改为false
- 点开【服务器配置】-->【选择文件夹】,修改【Mod目录】为放置修改后插件的自定义目录
- 点击【游戏配置】-->【大厅服】-->【Mod的下拉菜单】,勾选【neteaseMapAttrs(自定义目录)】
- 点击【游戏配置】-->【控制服】-->【Mod的下拉菜单】,勾选【neteaseMapAttrsMaster(自定义目录)】
- 选择【基岩版服务器】-->【网络服开发】-->【地图属性插件微调】-->点击【部署】,等待服务器部署完成
- 点击【开发测试】即可启动客户端,体验微调后的地图属性插件的功能