世界接口:World
彼得兔
更新时间: 2024-06-04 09:40:40
具体函数名及描述如下:序号 函数名 函数描述
1 isDaytime(...) 是否为白天
2 isCustomGame(...) 是否为自定义游戏
3 isCreativeMode(...) 是否为创造模式
4 isGodMode(...) 多人创造模式 或者 自制玩法的编辑模式
5 isExtremityMode(...) 极限模式
6 isFreeMode(...) 冒险模式之自由模式
7 isSurviveMode(...) 单人模式 或者 冒险模式之自由模式
8 isCreateRunMode(...) 由创造模式转的生存
9 isGameMakerMode(...) 自制玩法的编辑模式
10 isGameMakerRunMode(...) 自制玩法的运行模式
11 getHours(...) 获取游戏当前时间(h)
12 setHours(...) 设置游戏当前时间(h)
13 getCameraEditState(...) 获取视角编辑状态
14 setCameraEditState(...) 设置视角编辑状态
15 getCustomCameraConfig(...) 获取自定义相机配置
16 getRangeXZ(...) 获取区块(chunk)范围,返回区块始末位置
17 getRayLength(...) 计算指定方向射线长度(遇到方块结束)
18 getRayBlock(...) 射线打到的方块类型(遇到方块结束)
19 getActorsByBox(...) 获取范围内actor,type参考OBJ_TYPE,0表示范围内全部的actor, 返回数量和objid数组
20 getPlayerTotal(...) 获取全部玩家数量,默认全部玩家
21 getAllPlayers(...) 获取全部玩家,可限制存活情况(0表示阵亡,1表示存活),默认全部玩家
22 randomOnePlayer(...) 随机获取一名玩家
23 despawnActor(...) 移除actor
24 spawnCreature(...) 生成生物(包括怪物、NPC、动物等)
25 despawnCreature(...) 移除生物
26 spawnItem(...) 在指定位置生成道具
27 despawnItemByBox(...) 移除道具(通过区域)
28 despawnItemByObjid(...) 移除道具(通过ID)
29 spawnProjectile(...) 生成投掷物
30 spawnProjectileByDir(...) 生成投掷物(通过方向)
31 calcDistance(...) 计算位置之间的距离
32 playParticalEffect(...) 在指定位置播放特效
33 stopEffectOnPosition(...) 停止指定位置的特效
34 setEffectScaleOnPosition(...) 设置指定位置的特效大小
35 randomParticleEffectID(...) 随机特效类型,随机返回一种特效ID
36 playSoundEffectOnPos(...) 在指定位置上播放指定音效
37 stopSoundEffectOnPos(...) 停止指定位置上的指定音效
38 getLightByPos(...) 获取光照强度
39 setBlockLightEx(...) 设置光照强度
40 randomSoundID(...) 随机出来的音乐ID
41 randomWeatherID(...) 随机出来的天气ID
42 getLocalDate(...) 获取主机时间
43 getLocalDateString(...) 获取完整设备时间
44 getServerDate(...)
获取服务器时间
45 getServerDateString(...)
获取完整服务器时间
46 getDateFromTime(...)
转换时间戳为时间单位
47 getDateStringFromTime(...)
转换时间戳为完整时间
48 getTimeFromDateString(...) 转换完整时间为时间戳
49 SetTimeVanishingSpeed(...)
设置天空盒时间流逝速度
50 SetSkyBoxTemplate(...)
设置天空盒模板
51 SetSkyBoxMaps(...)
设置天空盒贴图
52 SetSkyBoxColor(...)
设置天空盒颜色参数
53 SetSkyBoxAttr(...)
设置天空盒属性参数
54 SetSkyBoxFilter(...)
设置天空盒滤镜参数(包括滤镜模板)
55 SetSkyBoxSwitch(...)
天空盒属性开关
56 SetSkyBoxFilterSwitch(...)
天空盒滤镜属性开关
57 SetGroupWeather(...)
设置天气组天气
58 GetGroupWeather(...)
获取天气组天气
59 SetSkyBoxMapsAnim(...)
设置天空盒贴图(带动效)
60 SetSkyBoxColorAnim(...)
设置某玩家天空盒全部时间点的颜色参数(带动效)
61 SetSkyBoxFilterAnim(...)
设置天空盒滤镜参数(带动效,可切换滤镜模板)
isDaytime
参数及类型:none返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用:是否为白天具体使用案例如下:
--判断现在是不是白天
local result=World:isDaytime()
if result==0 then--如果是白天
Chat:sendSystemMsg("现在是白天!")
else--如果不是白天
Chat:sendSystemMsg("现在是晚上!")
end
Lua
isCustomGame
参数及类型:无返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用:是否为自定义游戏具体使用案例如下:
--判断是不是自定义游戏
local result=World:isCustomGame()
if result==0 then--如果是自定义
Chat:sendSystemMsg("当前是自定义游戏!")
else--如果不是自定义
Chat:sendSystemMsg("当前不是自定义游戏!")
end
Lua
isCreativeMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:是否为创造模式具体使用案例如下:
--判断是不是创造模式
local result=World:isCreativeMode()
if result==0 then--如果是创造模式
Chat:sendSystemMsg("当前是创造模式!")
else--如果不是创造模式
Chat:sendSystemMsg("当前不是创造模式!")
end
Lua
isGodMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:多人创造模式 或者 自制玩法的编辑模式具体使用案例如下:
--判断是不是多人创造模式或者玩法编辑模式
local result=World:isGodMode()
if result==0 then--如果是多人创造或者玩法编辑
Chat:sendSystemMsg("当前是多人创造或玩法编辑模式!")
else--如果不是
Chat:sendSystemMsg("当前不是多人创造或玩法编辑模式!")
end
Lua
isExtremityMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:极限模式具体使用案例如下:
--判断是不是极限模式
local result=World:isExtremityMode()
if result==0 then--如果是极限模式
Chat:sendSystemMsg("当前是极限模式!")
else--如果不是极限模式
Chat:sendSystemMsg("当前不是极限模式!")
end
Lua
isFreeMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:冒险模式之自由模式具体使用案例如下:
--判断是不是冒险自由模式
local result=World:isFreeMode()
if result==0 then--如果是冒险自由模式
Chat:sendSystemMsg("当前是冒险自由模式!")
else--如果不是
Chat:sendSystemMsg("当前不是冒险自由模式!")
end
Lua
isSurviveMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:单人模式 或者 冒险模式之自由模式具体使用案例如下:
--判断是不是单人生存模式
local result=World:isSurviveMode()
if result==0 then--如果是单人生存模式
Chat:sendSystemMsg("当前是单人生存模式!")
else--如果不是单人生存模式
Chat:sendSystemMsg("当前不是单人生存模式!")
end
Lua
isCreateRunMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:由创造模式转的生存具体使用案例如下:
--判断是不是创造转生存模式
local result=World:isCreateRunMode()
if result==0 then--如果是创造转生存模式
Chat:sendSystemMsg("当前是创造转生存模式!")
else--如果不是创造转生存模式
Chat:sendSystemMsg("当前不是创造转生存模式!")
end
Lua
isGameMakerMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:自制玩法的编辑模式具体使用案例如下:
--判断是不是玩法编辑模式
local result=World:isGameMakerMode()
if result==0 then--如果是玩法编辑模式
Chat:sendSystemMsg("当前是玩法编辑模式!")
else--如果不是玩法编辑模式
Chat:sendSystemMsg("当前不是玩法编辑模式!")
end
Lua
isGameMakerRunMode
参数及类型:none返回值及类型:
ErrorCode.OK
result:boolean
该方法的主要作用:自制玩法的运行模式具体使用案例如下:
--判断是不是玩法运行模式
local result=World:isGameMakerRunMode()
if result==0 then--如果是玩法运行模式
Chat:sendSystemMsg("当前是玩法运行模式!")
else--如果不是玩法运行模式
Chat:sendSystemMsg("当前不是玩法运行模式!")
end
Lua
getHours
参数及类型:none返回值及类型:
ErrorCode.OK
result:number
该方法的主要作用:获取游戏当前时间(h)具体使用案例如下:
--获取当前时间
local result,time=World:getHours()
--在聊天框显示
Chat:sendSystemMsg("现在是"..time.."点!")
Lua
setHours
参数及类型:hour:int小时时间
返回值及类型:ErrorCode.OK
该方法的主要作用:设置游戏当前时间(h)具体使用案例如下:
--设置时间为8点
World:setHours(8)
--在聊天框显示
Chat:sendSystemMsg("时间设置为8点!")
Lua
getCameraEditState
参数及类型:none返回值及类型:
ErrorCode.OK
state:number0默认,1编辑状态,2测试状态
该方法的主要作用:获取视角编辑状态具体使用案例如下:
--获取当前视角编辑状态
local result,state=World:getCameraEditState()
if state==0 then--0:默认
Chat:sendSystemMsg("当前视角编辑状态为:默认")
elseif state==1 then--1:编辑中
Chat:sendSystemMsg("当前视角编辑状态为:编辑中")
elseif state==2 then--2:测试中
Chat:sendSystemMsg("当前视角编辑状态为:测试中")
end
Lua
setCameraEditState
参数及类型:state:CameraEditState
返回值及类型:ErrorCode.OK
该方法的主要作用:设置视角编辑状态具体使用案例如下:
local result = World:setCameraEditState(state)
Lua
getCustomCameraConfig
参数及类型:none返回值及类型:
ErrorCode.OK
config:CameraEditState
该方法的主要作用:获取自定义相机配置具体使用案例如下:
local result = World:getCustomCameraConfig()
Lua
getRangeXZ
参数及类型:none返回值及类型:
ErrorCode.OK
startX,startZ,endX,endZ:number
该方法的主要作用:获取区块(chunk)范围,返回区块始末位置具体使用案例如下:
--获取区块范围
local result,startX,startZ,endX,endZ=World:getRangeXZ()
Chat:sendSystemMsg("区块起点横坐标:"..startX)
Chat:sendSystemMsg("区块起点纵坐标:"..startZ)
Chat:sendSystemMsg("区块终点横坐标:"..endX)
Chat:sendSystemMsg("区块终点纵坐标:"..endZ)
Lua
getRayLength
参数及类型:srcx,srcy,srcz:number起始点坐标
dstx,dsty,dstz:number终点坐标
distance:number预测的最大距离
返回值及类型:ErrorCode.OK
length:number两点间的长度
该方法的主要作用:计算指定方向射线长度(遇到方块结束)具体使用案例如下:
local function ClickBlock(event)
local srcx,srcy,srcz=0,7,0--计算起点
local dstx,dsty,dstz=0,7,10--计算终点(方向)
local distance=1--计算距离(意义不明)
--获取从起点开始,向终点方向到第一个方块的距离
local result,length=World:getRayLength(srcx, srcy, srcz, dstx, dsty, dstz, distance)
Chat:sendSystemMsg(math.floor(length))
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
getRayBlock
参数及类型:srcx,srcy,srcz:number起始点
face:number
distance:number
返回值及类型:ErrorCode.OK
blockid:number
该方法的主要作用:射线打到的方块类型(遇到方块结束)具体使用案例如下:
--获取从(0,0)高度10开始,向北50格内碰到的第一个方块id
--方向参数:0西 1东 2南 3北 4下 5上
local result,blockid=World:getRayBlock(0,10,0,3,50)
if id==-1 then--如果50格内没有方块
Chat:sendSystemMsg("从(0,0)高度10开始,向北50格没有方块")
else--如果50格内有方块
Chat:sendSystemMsg("从(0,0)高度10开始,向北50格第一个方块id是"..blockid)
end
Lua
getActorsByBox
参数及类型:objtype:number指定类型
x1,y1,z1:number起始位置
x2,y2,z2:number最终位置
返回值及类型:ErrorCode.OK
num:number
objids:tableobjid数组
该方法的主要作用:获取范围内actor,type参考OBJ_TYPE,返回数量和objid数组具体使用案例如下:
--参数:
local objtype=1--类型参数:1玩家 2生物 3掉落物 4投掷物
local x1,y1,z1=0,7,0--区域起点坐标
local x2,y2,z2=50,57,50--区域终点坐标
--获取(x0,z0)高度y0到(x1,z1)高度y1范围内,类型为type的物品数量与列表
local result,num,objids=World:getActorsByBox(objtype,x1,y1,z1,x2,y2,z2)
--在聊天框显示数量
Chat:sendSystemMsg("在范围内一共有"..num.."个玩家")
--在聊天框显示列表
for i,a in ipairs(objids) do
Chat:sendSystemMsg("第"..i.."个:"..a)
end
Lua
getPlayerTotal
参数及类型:alive:number0表示阵亡,1表示存活,默认-1表示全体玩家
返回值及类型:ErrorCode.OK
num:number数量
该方法的主要作用:获取全部玩家数量,默认全部玩家具体使用案例如下:
--获取当前存档玩家总数
local result,num=World:getPlayerTotal(-1)
Chat:sendSystemMsg("当前存档玩家总数为:"..num)
--获取当前存档阵亡玩家数
result,num=World:getPlayerTotal(0)
Chat:sendSystemMsg("当前存档阵亡玩家数为:"..num)
--获取当前存档存活玩家数
result,num=World:getPlayerTotal(1)
Chat:sendSystemMsg("当前存档存活玩家数为:"..num)
Lua
getAllPlayers
参数及类型:alive:number0表示阵亡,1表示存活,默认-1表示全体玩家
返回值及类型:ErrorCode.OK
num:number数量
array:table玩家ID数组
该方法的主要作用:获取全部玩家,可限制存活情况(0表示阵亡,1表示存活),默认全部玩家具体使用案例如下:
--获取当前存档全部玩家列表
--参数:-1全部玩家 0阵亡玩家 1存活玩家
local result,num,array=World:getAllPlayers(-1)
--在聊天框显示数量
Chat:sendSystemMsg("当前存档一共有"..num.."个玩家")
--在聊天框显示列表
for i,a in ipairs(array) do
Chat:sendSystemMsg("第"..i.."个:"..a)
end
Lua
randomOnePlayer
参数及类型:alive:number0表示阵亡,1表示存活,默认-1表示全体玩家
返回值及类型:ErrorCode.OK
playerid:number
该方法的主要作用:随机选取一名玩家具体使用案例如下:
--从全部玩家中随机选取一名玩家
--参数:-1全部玩家 0阵亡玩家 1存活玩家
local result,playerid=World:randomOnePlayer(-1)
--在聊天框显示
Chat:sendSystemMsg("随机选取了一名玩家:"..playerid)
Lua
despawnActor
参数及类型:objid:number
返回值及类型:ErrorCode.OK
该方法的主要作用:移除actor具体使用案例如下:
--参数:
local type=2--类型参数:1玩家 2生物 3掉落物 4投掷物
local x0,y0,z0=0,7,0--区域起点坐标
local x1,y1,z1=50,57,50--区域终点坐标
--获取(x0,z0)高度y0到(x1,z1)高度y1范围内,类型为type的物品数量与列表
local result,n,actors=World:getActorsByBox(type,x0,y0,z0,x1,y1,z1)
if n>0 then--如果范围内生物数量大于0
--移除其中一个生物
World:despawnActor(actors[1])
--在聊天框显示
Chat:sendSystemMsg("移除了"..actors[1])
else--如果范围内没有生物
--在聊天框显示
Chat:sendSystemMsg("(0,7,0)至(50,57,50)范围内没有生物")
end
Lua
spawnCreature
参数及类型:x,y,z:number
actorid:number
num:number
返回值及类型:ErrorCode.OK
objids:tableobjid数组
该方法的主要作用:生成生物(包括怪物、NPC、动物等)具体使用案例如下:
--在(0,0)高度7的位置生成3只鸡
--前三个参数0,7,0是生成坐标
--第四个参数3400是生成的生物id
--最后一个参数3是生成的数量
local result,objids=World:spawnCreature(0,7,0,3400,3)
--在聊天框显示提示
Chat:sendSystemMsg("在(0,0)高度7的位置生成了3只鸡,它们在存档中的id分别是:")
--在聊天框显示id列表
for i=1,#objids do
Chat:sendSystemMsg(objids[i])
end
Lua
despawnCreature
参数及类型:objid:number
返回值及类型:ErrorCode.OK
该方法的主要作用:移除生物具体使用案例如下:
--参数:
local type=2--类型参数:1玩家 2生物 3掉落物 4投掷物
local x0,y0,z0=0,7,0--区域起点坐标
local x1,y1,z1=50,57,50--区域终点坐标
--获取(x0,z0)高度y0到(x1,z1)高度y1范围内,类型为type的物品数量与列表
local result,n,actors=World:getActorsByBox(type,x0,y0,z0,x1,y1,z1)
if n>0 then--如果范围内生物数量大于0
--移除其中一个生物
World:despawnCreature(actors[1])
--在聊天框显示
Chat:sendSystemMsg("移除了"..actors[1])
else--如果范围内没有生物
--在聊天框显示
Chat:sendSystemMsg("(0,7,0)至(50,57,50)范围内没有生物")
end
Lua
spawnItem
参数及类型:x,y,z:number
itemid:number
num:number
返回值及类型:ErrorCode.OK
objid:number
该方法的主要作用:在指定位置生成道具具体使用案例如下:
--在(0,0)高度7的位置生成3个土块
--前三个参数0,7,0是生成坐标
--第四个参数101是生成的物品id
--最后一个参数3是生成的数量
local result,objid=World:spawnItem(0,7,0,101,3)
--在聊天框显示提示
Chat:sendSystemMsg("在(0,0)高度7的位置生成了3个土块,它们在存档中的id是"..objid)
Lua
despawnItemByBox
参数及类型:x1,y1,z1:number起始位置
x2,y2,z2:number最终位置
返回值及类型:ErrorCode.OK
该方法的主要作用:移除道具(通过区域)具体使用案例如下:
--移除指定区域内所有掉落物
--前三个参数为区域起点坐标
--后三个参数为区域终点坐标
World:despawnItemByBox(-20,0,-20,20,50,20)
--在聊天框显示
Chat:sendSystemMsg("移除了(-20,0,-20)至(20,50,20)区域内的所有掉落物")
Lua
despawnItemByObjid
参数及类型:objid:number
返回值及类型:ErrorCode.OK
该方法的主要作用:移除道具(通过ID)具体使用案例如下:
--每当有玩家做动画表情,移除房主周围10格内的某一掉落物
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取房主的坐标
local result,x,y,z=Player:getPosition(0)
--获取房主周围10格内的掉落物数量和列表
local result2,num,list=World:getActorsByBox(3,x-10,y-10,z-10,x+10,y+10,z+10)
if num>0 then--如果存在掉落物
--移除第一组物品
World:despawnItemByObjid(list[1])
--在聊天框显示
Chat:sendSystemMsg("附近10格发现掉落物品,已移除了其中一组")
else--如果不存在掉落物
--在聊天框显示
Chat:sendSystemMsg("附近10格没有发现掉落物品!")
end
end
--注册动画表情监听器,当玩家做动画表情时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
Lua
spawnProjectile
参数及类型:shooter:number设置投掷物归属的objid
itemid:number投掷物id
x,y,z:number投掷物起点
dstx,dsty,dstz:number投掷物终点
speed:number投掷物速度
返回值及类型:ErrorCode.OK
objid:number投掷物的实例ID
该方法的主要作用:生成投掷物具体使用案例如下:
local function ClickBlock(event)
local shooter=event.eventobjid--投掷物发射者的实体id,这里是点击方块的玩家
local itemid=12054--投掷物id,这里是小雪球
local x,y,z=event.x,event.y+1,event.z--投掷起点坐标
local dstx,dsty,dstz=event.x,event.y+10,event.z--向此坐标投掷
local speed=50--抛出速度
--创建并发射投掷物
World:spawnProjectile(shooter, itemid, x, y, z, dstx, dsty, dstz, speed)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
spawnProjectileByDir
参数及类型:shooter:number设置投掷物归属的objid
itemid:number投掷物id
x,y,z:number投掷物起点
dstx,dsty,dstz:number投掷物终点
speed:number投掷物速度
返回值及类型:ErrorCode.OK
objid:number投掷物的实例ID
该方法的主要作用:生成投掷物(通过方向)具体使用案例如下:
local function ClickBlock(event)
local shooter=event.eventobjid--投掷物发射者的实体id,这里是点击方块的玩家
local itemid=12054--投掷物id,这里是小雪球
local x,y,z=event.x,event.y+1,event.z--投掷起点坐标
local dirx,diry,dirz=0,1,0--向此方向投掷
local speed=50--抛出速度
--创建并发射投掷物
World:spawnProjectileByDir(shooter, itemid, x, y, z, dirx, diry, dirz, speed)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
calcDistance
参数及类型:pos1:table起始位置{x,y,z}
pos2:table最终位置{x,y,z}
返回值及类型:ErrorCode.OK
distance:number
该方法的主要作用:计算位置之间的距离具体使用案例如下:
--计算两点间的直线距离
--第一个参数是由起点坐标组成的表
--第二个参数是由终点坐标组成的表
local result,distance=World:calcDistance({x=0,y=0,z=0},{x=10,y=10,z=10})
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度0到(10,10)高度10的直线距离是"..distance)
Lua
playParticalEffect
参数及类型:x,y,z:number位置
particleId:number特效id
scale:number特效大小
ptime:number播放时长(单位:秒,非循环特效如果时长大于一次播放时长,将会重复播放)
bUsePlayerViewRange:boolean是否根据视野裁剪范围
返回值及类型:ErrorCode.OK
该方法的主要作用:在指定位置播放特效具体使用案例如下:
--在(0,0)高度7的位置播放烟雾特效
--前三个参数是播放特效的位置坐标
--第四个参数是播放特效的特效id,具体可以在“迷你世界ID查询”的“特效表数据”里查看
--第五个参数是特效的缩放比例
--第六个参数是播放时长,时长大于0时,特效会在设定时间内循环播放,直到时间结束;设置时间小于等于0或为nil时,循环类型的特效会持续播放,非循环类型的特效只播放一次
--最后一个参数可以设定是否根据视野裁剪范围,如果设定为false,特效稍远一点就会被裁剪,如果设定为true,会根据视野来决定裁剪范围World:playParticalEffect(0,7,0,1001,1,3,true)
--在聊天框显示
Chat:sendSystemMsg("在(0,0)高度7的位置播放烟雾特效3秒,根据视野裁剪")
Lua
stopEffectOnPosition
参数及类型:x,y,z:number位置
particleId:number特效id
返回值及类型:ErrorCode.OK
该方法的主要作用:停止指定位置的特效具体使用案例如下:
--停止指定位置的指定特效
--前三个参数是停止播放特效的位置坐标
--最后一个参数是需要停止的特效id
World:stopEffectOnPosition(0,7,0,1001)
--在聊天框显示
Chat:sendSystemMsg("停止了(0,0)高度7位置的1001烟雾特效")
Lua
setEffectScaleOnPosition
参数及类型:x,y,z:number位置
particleId:number特效id
scale:number特效大小
返回值及类型:ErrorCode.OK
该方法的主要作用:设置指定位置的特效大小具体使用案例如下:
--缩放指定位置的指定特效
--前三个参数是需要缩放特效的坐标
--第四个参数是需要缩放的特效id
--最后一个参数是设置的缩放比例
World:setEffectScaleOnPosition(0,7,0,1001,2)
--在聊天框显示
Chat:sendSystemMsg("把(0,0)高度7位置的烟雾特效放大了两倍")
Lua
randomParticleEffectID
参数及类型:none返回值及类型:
ErrorCode.OK
result:number特效id
该方法的主要作用:随机特效类型,随机返回一种特效ID具体使用案例如下:
--获取一个随机特效id
local result,id=World:randomParticleEffectID()
--在聊天框显示
Chat:sendSystemMsg("获取到了一个随机特效id:"..id)
Lua
playSoundEffectOnPos
参数及类型:pos:table{x,y,z}
soundId:number音效ID
volume:number音量调节
pitch:number音调调节
isLoop:bool是否循环播放
返回值及类型:ErrorCode.OK
该方法的主要作用:在指定位置上播放指定音效具体使用案例如下:
--在(0,0)高度7的位置播放音乐10713
--第一个参数为播放音乐的坐标组成的表
--第二个参数10713为播放的音效id,具体可以在“迷你世界ID查询”的“音效表数据”里查看
--后三个参数分别是:音量、音高、是否循环播放
World:playSoundEffectOnPos({x=0,y=7,z=0},10713,100,1,false)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度7的位置正在播放音乐")
Lua
stopSoundEffectOnPos
参数及类型:pos:table{x,y,z}
soundId:number
返回值及类型:ErrorCode.OK
该方法的主要作用:停止指定位置上的指定音效具体使用案例如下:
--在(0,0)高度7的位置播放音乐10713
World:playSoundEffectOnPos({x=0,y=7,z=0},10713,100,1,false)
--在聊天框显示提示
Chat:sendSystemMsg("(0,0)高度7的位置正在播放音乐,做动画表情即可停止播放")
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--停止(0,0)高度7位置音乐10713的播放
--第一个参数为要停止播放音乐的坐标组成的表
--第二个参数为要停止播放的音乐id,具体可以在“迷你世界ID查询”的“音效表数据”里查看
World:stopSoundEffectOnPos({x=0,y=7,z=0},10713)
--在聊天框显示
Chat:sendSystemMsg("停止了(0,0)高度7音乐10713的播放")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
Lua
getLightByPos
参数及类型:x,y,z:number位置
返回值及类型:ErrorCode.OK
lightlv:number
该方法的主要作用:获取光照强度具体使用案例如下:
local function ClickBlock(event)
local x,y,z=event.x,event.y+1,event.z--要获取亮度的坐标,这里是被点击的方块表面(上面1格)
local result,lightlv=World:getLightByPos(x,y,z)--获取坐标的亮度
Chat:sendSystemMsg(lightlv)--在聊天框显示
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
setBlockLightEx
参数及类型:x,y,z:number位置
lv:number
返回值及类型:ErrorCode.OK
该方法的主要作用:设置光照强度具体使用案例如下:
local function ClickBlock(event)
local x,y,z=event.x,event.y+1,event.z--要设置亮度的坐标,这里是被点击的方块表面(上面1格)
local lv=15--要设置的亮度级别(0-15)
World:setBlockLightEx(x, y, z, lv)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
randomSoundID
参数及类型:
无
返回值及类型:
ErrorCode.OK
soundid:number 声音ID
该方法的主要作用:随机出来的音乐ID
具体使用案例如下:
local result,soundid = World:randomSoundID()
Lua
randomWeatherID
参数及类型:
无
返回值及类型:
ErrorCode.OK
wtype:number 天气类型ID
该方法的主要作用:随机出来的天气ID
具体使用案例如下:
local result,wtype = World:randomWeatherID()
Lua
getLocalDate
参数及类型:
enum:EVENTDATE
返回值及类型:
ErrorCode.OK
year:number 年日期
该方法的主要作用:获取主机时间
具体使用案例如下:
local result, year = World:getLocalDate(EVENTDATE.YEAR) -- 获取年
Lua
getLocalDateString
参数及类型:
返回值及类型:
ErrorCode.OK
date:string 完整日期
该方法的主要作用:获取完整设备时间
具体使用案例如下:
local result,date = World:getLocalDateString() -- 获取日期
Lua
getServerDate
参数及类型:
enum:EVENTDATEEVENTDATE
返回值及类型:
ErrorCode.OK
year:number 年日期
该方法的主要作用:获取服务器时间
具体使用案例如下:
function Game_StartGame(obj)
local result, year = World:getServerDate(EVENTDATE.YEAR) -- 获取服务器时间的年
Chat:sendSystemMsg(year, 0)end
ScriptSupportEvent:registerEvent([=[Game.Start]=], Game_StartGame)
Lua
getServerDateString
参数及类型:
返回值及类型:
ErrorCode.OK
date:string 完整服务器日期
该方法的主要作用:获取完整服务器时间
具体使用案例如下:
function Game_StartGame(obj)
local result,date = World:getServerDateString() -- 获取服务器日期
Chat:sendSystemMsg(date, 0)end
ScriptSupportEvent:registerEvent([=[Game.Start]=], Game_StartGame)
Lua
getDateFromTime
参数及类型:
time:number传入时间戳
enum:EVENTDATE
返回值及类型:
ErrorCode.OK
year:number 年日期
该方法的主要作用:转换时间戳为时间单位
具体使用案例如下:
local result, year = World:getDateFromTime(os.time(),EVENTDATE.YEAR) -- 获取年
Lua
getDateStringFromTime
参数及类型:
time:number传入时间戳
返回值及类型:
ErrorCode.OK
date:string 完整日期
该方法的主要作用:转换时间戳为完整时间
具体使用案例如下:
local result, date = World:getDateStringFromTime(os.time()) -- 完整日期
Lua
getTimeFromDateString
参数及类型:
timestr : string 完整时间(例如 2021-03-31 10:05:57, 年月日必填参数 时分秒默认0)
返回值及类型:
code : number 成功(ErrorCode.OK) ErrorCode
time : number 时间戳
该方法的主要作用:转换完整时间为时间戳
具体使用案例如下:
local code ,time = World:getTimeFromDateString(date_str)
if code == ErrorCode.OK then
print('执行成功' ,time )
else
print('执行失败')
end
Lua
SetTimeVanishingSpeed
参数及类型:
speed:number天空盒时间
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒时间流逝速度
具体使用案例如下:
local code = World:SetTimeVanishingSpeed(speed)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxTemplate
参数及类型:
value:number参数值(0-9)
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒模板
具体使用案例如下:
local code = World:SetSkyBoxTemplate(value)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxMaps
参数及类型:
time:number游戏时间
itype:number贴图类型(SKYBOXMAP)SKYBOXMAP
url:string图片链接
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒贴图
具体使用案例如下:
local code = World:SetSkyBoxMaps(itype, url)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxColor
参数及类型:
time:number游戏时间
itype:number颜色属性枚举(SKYBOXCOLOR)SKYBOXCOLOR
color:string16进制颜色值(0xffffff)
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒颜色参数
具体使用案例如下:
local code = World:SetSkyBoxColor(time, itype, color)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxAttr
参数及类型:
time:number游戏时间
itype:number参数类型(SKYBOXATTR)SKYBOXATTR
value:number参数值(0~100)
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒属性参数
具体使用案例如下:
local code = World:SetSkyBoxAttr(time, itype, value)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxFilter
参数及类型:
itype:number参数类型(SKYBOXFILTER)SKYBOXFILTER
value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒滤镜参数(包括滤镜模板)
具体使用案例如下:
local code = World:SetSkyBoxFilter(playerid, itype, value)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxSwitch
参数及类型:
time:number游戏时间
itype:number参数类型(SKYBOXSWITCH)SKYBOXSWITCH
value:number参数值(0~1)
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 天空盒属性开关
具体使用案例如下:
local code = World:SetSkyBoxSwitch(time, itype, value)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxFilterSwitch
参数及类型:
itype:number参数类型(SKYBOXFILTERSWITCH)SKYBOXFILTERSWITCH
value:number参数值(0~1)
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 天空盒滤镜属性开关
具体使用案例如下:
local code = World:SetSkyBoxFilterSwitch(playerid, itype, value)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetGroupWeather
参数及类型:
groupid:number地形组ID(WEATHERGROUP)WEATHERGROUP
weatherid:number天气类型(WEATHERSTATUS)WEATHERSTATUS
返回值及类型:
ret:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天气组天气
具体使用案例如下:
local ret = World:SetGroupWeather(groupid, weatherid)
if ret == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
GetGroupWeather
参数及类型:
groupid:number地形组ID(WEATHERGROUP)
返回值及类型:
ret:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 获取天气组天气
具体使用案例如下:
local ret = World:GetGroupWeather(groupid)
if ret == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxMapsAnim
参数及类型:
time:number游戏时间
itype:number贴图类型(SKYBOXMAP)SKYBOXMAP
url:string图片链接
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒贴图(带动效)
具体使用案例如下:
local code = World:SetSkyBoxMapsAnim(playerid, itype, url, animId, animTime)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxColorAnim
参数及类型:
time:number游戏时间
itype:number颜色属性枚举(SKYBOXCOLOR)SKYBOXCOLOR
color:string16进制颜色值(0xffffff)
animId:number动画ID
animTime:number动画时间
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置某玩家天空盒全部时间点的颜色参数(带动效)
具体使用案例如下:
local code = World:SetSkyBoxColorAnim(playerid, itype, color, animId, animTime)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxFilterAnim
参数及类型:
itype:number参数类型(SKYBOXFILTER)SKYBOXFILTER
value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)
animId:number动画ID
animTime:number动画时间
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒滤镜参数(带动效,可切换滤镜模板)
具体使用案例如下:
local code = World:SetSkyBoxFilterAnim(playerid, itype, value, animId, animTime)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua
SetSkyBoxFilterAnim
参数及类型:
itype:number参数类型(SKYBOXFILTER)SKYBOXFILTER
value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)
animId:number动画ID
animTime:number动画时间
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 设置天空盒滤镜参数(带动效)
具体使用案例如下:
local code = World:SetSkyBoxFilterAnim(playerid, itype, value, animId, animTime)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end
Lua