迷你世界脚本世界接口:World

世界接口: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

相关推荐
Lin屿2 小时前
【二分查找】_240. 搜索二维矩阵 II
数据结构·python
笑鸿的学习笔记3 小时前
leetcode-442.数组中重复的数据
数据结构·算法·leetcode
醉城夜风~3 小时前
[数据结构]单值二叉树
数据结构·算法
刃神太酷啦3 小时前
C++(蓝桥杯常考点)
数据结构·c++·蓝桥杯c++组
星空露珠4 小时前
迷你世界脚本方块接口:Block
数据结构·游戏·lua
柃歌4 小时前
【UCB CS 61B SP24】Lecture 19 & 20: Hashing & Hashing II 学习笔记
java·数据结构·笔记·学习·算法
HBryce244 小时前
《数据结构》
java·数据结构
Mr.pyZhang5 小时前
安卓基础组件Looper - 03 java层面的剖析
android·java·数据结构·epoll
The_era_achievs_hero5 小时前
c++上课题目
数据结构·c++·算法