|
本帖最后由 sevenstars 于 2020-1-2 21:56 编辑
昨天更新了移动光源,把隐形末地烛换成了新版本的光源方块,但很多玩家说不能用,因为他们无法更新到最新版。为了兼容旧版本,需要查询游戏版本,如果是新版就用光源方块(光源方块能被方块填充,亮度更高),否则用末地烛与它的放置算法(防止玩家不能放置)。代码如下,需要把这个函数放在服务端的类里
还有件事,我的开发者昵称7stars,如果工作人员看到了,请给我解除一下三天限制,现在移动光源修复后无法提审,玩家有很多不能更新游戏,导致他们用不了了。马上就是周末了,我希望在周末之前把修复版上架,谢谢
# -*- coding: utf-8 -*-
import server.extraServerApi as serverApi import math def version(self, id): command = serverApi.CreateComponent(serverApi.GetLevelId(), "Minecraft", "command") command.SetCommand('/fill ~~2~~~2~ light_block 0 replace air 0',id) PosComp = serverApi.CreateComponent(id, "Minecraft", "pos") x,y,z = math.floor(PosComp.pos[0]),math.floor(PosComp.pos[1]-1.62),math.floor(PosComp.pos[2]) blockcomp = serverApi.CreateComponent(id, "Minecraft", "blockInfo") blockid, aux = self.GetCompData(blockcomp, "serverlevel", "get_block_and_data", x, y+2, z) if blockid in [-215,470]: return True else: command.SetCommand('/tellraw @s {"rawtext":[{"text":"你的游戏版本低,请升级到最新版。"}]}',id) return False #直接用判断语句即可使用,注意传入参数 if version(id): print('版本通过')
|
|