道具百科
触发器百科
脚本API百科
创作手册
创作功能
其他
Studio百科
世界接口:World
彼得兔 更新时间: 2024-05-14 12:00:28

具体函数名及描述如下:

序号 函数名 函数描述
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

  • 返回值及类型:

  • 该方法的主要作用:是否为白天

  • 具体使用案例如下:

--判断现在是不是白天
local result=World:isDaytime()
if result==0 then--如果是白天
    Chat:sendSystemMsg("现在是白天!")
else--如果不是白天
    Chat:sendSystemMsg("现在是晚上!")
end

 

isCustomGame

  • 参数及类型:无

  • 返回值及类型:

    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用:是否为自定义游戏

  • 具体使用案例如下:

--判断是不是自定义游戏
local result=World:isCustomGame()
if result==0 then--如果是自定义
    Chat:sendSystemMsg("当前是自定义游戏!")
else--如果不是自定义
    Chat:sendSystemMsg("当前不是自定义游戏!")
end

isCreativeMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:是否为创造模式

  • 具体使用案例如下:

--判断是不是创造模式
local result=World:isCreativeMode()
if result==0 then--如果是创造模式
    Chat:sendSystemMsg("当前是创造模式!")
else--如果不是创造模式
    Chat:sendSystemMsg("当前不是创造模式!")
end

isGodMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:多人创造模式 或者 自制玩法的编辑模式

  • 具体使用案例如下:

--判断是不是多人创造模式或者玩法编辑模式
local result=World:isGodMode()
if result==0 then--如果是多人创造或者玩法编辑
    Chat:sendSystemMsg("当前是多人创造或玩法编辑模式!")
else--如果不是
    Chat:sendSystemMsg("当前不是多人创造或玩法编辑模式!")
end

isExtremityMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:极限模式

  • 具体使用案例如下:

--判断是不是极限模式
local result=World:isExtremityMode()
if result==0 then--如果是极限模式
    Chat:sendSystemMsg("当前是极限模式!")
else--如果不是极限模式
    Chat:sendSystemMsg("当前不是极限模式!")
end

isFreeMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:冒险模式之自由模式

  • 具体使用案例如下:

--判断是不是冒险自由模式
local result=World:isFreeMode()
if result==0 then--如果是冒险自由模式
    Chat:sendSystemMsg("当前是冒险自由模式!")
else--如果不是
    Chat:sendSystemMsg("当前不是冒险自由模式!")
end

isSurviveMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:单人模式 或者 冒险模式之自由模式

  • 具体使用案例如下:

--判断是不是单人生存模式
local result=World:isSurviveMode()
if result==0 then--如果是单人生存模式
    Chat:sendSystemMsg("当前是单人生存模式!")
else--如果不是单人生存模式
    Chat:sendSystemMsg("当前不是单人生存模式!")
end

isCreateRunMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:由创造模式转的生存

  • 具体使用案例如下:

--判断是不是创造转生存模式
local result=World:isCreateRunMode()
if result==0 then--如果是创造转生存模式
    Chat:sendSystemMsg("当前是创造转生存模式!")
else--如果不是创造转生存模式
    Chat:sendSystemMsg("当前不是创造转生存模式!")
end

isGameMakerMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:自制玩法的编辑模式

  • 具体使用案例如下:

--判断是不是玩法编辑模式
local result=World:isGameMakerMode()
if result==0 then--如果是玩法编辑模式
    Chat:sendSystemMsg("当前是玩法编辑模式!")
else--如果不是玩法编辑模式
    Chat:sendSystemMsg("当前不是玩法编辑模式!")
end

isGameMakerRunMode

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:自制玩法的运行模式

  • 具体使用案例如下:

--判断是不是玩法运行模式
local result=World:isGameMakerRunMode()
if result==0 then--如果是玩法运行模式
    Chat:sendSystemMsg("当前是玩法运行模式!")
else--如果不是玩法运行模式
    Chat:sendSystemMsg("当前不是玩法运行模式!")
end

getHours

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:获取游戏当前时间(h)

  • 具体使用案例如下:

--获取当前时间
local result,time=World:getHours()
--在聊天框显示
Chat:sendSystemMsg("现在是"..time.."点!")

setHours

  • 参数及类型:

    • hour:int小时时间
  • 返回值及类型:

  • 该方法的主要作用:设置游戏当前时间(h)

  • 具体使用案例如下:

--设置时间为8点
World:setHours(8)
--在聊天框显示
Chat:sendSystemMsg("时间设置为8点!")

getCameraEditState

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:获取视角编辑状态

  • 具体使用案例如下:

--获取当前视角编辑状态
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

setCameraEditState

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:设置视角编辑状态

  • 具体使用案例如下:

local result = World:setCameraEditState(state)

getCustomCameraConfig

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:获取自定义相机配置

  • 具体使用案例如下:

local result = World:getCustomCameraConfig()

getRangeXZ

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:获取区块(chunk)范围,返回区块始末位置

  • 具体使用案例如下:

--获取区块范围
local result,startX,startZ,endX,endZ=World:getRangeXZ()
Chat:sendSystemMsg("区块起点横坐标:"..startX)
Chat:sendSystemMsg("区块起点纵坐标:"..startZ)
Chat:sendSystemMsg("区块终点横坐标:"..endX)
Chat:sendSystemMsg("区块终点纵坐标:"..endZ)

getRayLength

  • 参数及类型:

    • srcx,srcy,srcz:number起始点坐标
    • dstx,dsty,dstz:number终点坐标
    • distance: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)--点击方块

getRayBlock

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:射线打到的方块类型(遇到方块结束)

  • 具体使用案例如下:

--获取从(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

getActorsByBox

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取范围内actor,type参考OBJ_TYPE,0表示范围内全部的actor, 返回数量和objid数组

  • 具体使用案例如下:

--参数:
local objtype=1--类型参数:0全部 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

getPlayerTotal

  • 参数及类型:

    • alive:number0表示阵亡,1表示存活,默认-1表示全体玩家
  • 返回值及类型:

  • 该方法的主要作用:获取全部玩家数量,默认全部玩家

  • 具体使用案例如下:

--获取当前存档玩家总数
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)

getAllPlayers

  • 参数及类型:

    • alive:number0表示阵亡,1表示存活,默认-1表示全体玩家
  • 返回值及类型:

  • 该方法的主要作用:获取全部玩家,可限制存活情况(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

randomOnePlayer

  • 参数及类型:

    • alive:number0表示阵亡,1表示存活,默认-1表示全体玩家
  • 返回值及类型:

  • 该方法的主要作用:随机选取一名玩家

  • 具体使用案例如下:

--从全部玩家中随机选取一名玩家
--参数:-1全部玩家 0阵亡玩家 1存活玩家
local result,playerid=World:randomOnePlayer(-1)
--在聊天框显示
Chat:sendSystemMsg("随机选取了一名玩家:"..playerid)

despawnActor

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:移除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

spawnCreature

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:生成生物(包括怪物、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

despawnCreature

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:移除生物

  • 具体使用案例如下:

--参数:
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

spawnItem

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:在指定位置生成道具

  • 具体使用案例如下:

--在(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)

despawnItemByBox

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:移除道具(通过区域)

  • 具体使用案例如下:

--移除指定区域内所有掉落物
--前三个参数为区域起点坐标
--后三个参数为区域终点坐标
World:despawnItemByBox(-20,0,-20,20,50,20)
--在聊天框显示
Chat:sendSystemMsg("移除了(-20,0,-20)至(20,50,20)区域内的所有掉落物")

despawnItemByObjid

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:移除道具(通过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)

spawnProjectile

  • 参数及类型:

    • shooter:number设置投掷物归属的objid
    • itemid:number投掷物id
    • x,y,z:number投掷物起点
    • dstx,dsty,dstz:number投掷物终点
    • speed:number投掷物速度
  • 返回值及类型:

  • 该方法的主要作用:生成投掷物

  • 具体使用案例如下:

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)--点击方块

spawnProjectileByDir

  • 参数及类型:

    • shooter:number设置投掷物归属的objid
    • itemid:number投掷物id
    • x,y,z:number投掷物起点
    • dstx,dsty,dstz:number投掷物终点
    • speed:number投掷物速度
  • 返回值及类型:

  • 该方法的主要作用:生成投掷物(通过方向)

  • 具体使用案例如下:

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)--点击方块

calcDistance

  • 参数及类型:

    • pos1:table起始位置{x,y,z}
    • pos2:table最终位置{x,y,z}
  • 返回值及类型:

  • 该方法的主要作用:计算位置之间的距离

  • 具体使用案例如下:

--计算两点间的直线距离
--第一个参数是由起点坐标组成的表
--第二个参数是由终点坐标组成的表
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)

playParticalEffect

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:在指定位置播放特效

  • 具体使用案例如下:

--在(0,0)高度7的位置播放烟雾特效
--前三个参数是播放特效的位置坐标
--第四个参数是播放特效的特效id,具体可以在“迷你世界ID查询”的“特效表数据”里查看
--最后一个参数是特效的缩放比例
World:playParticalEffect(0,7,0,1001,1)
--在聊天框显示
Chat:sendSystemMsg("在(0,0)高度7的位置生成了一个烟雾特效")

stopEffectOnPosition

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:停止指定位置的特效

  • 具体使用案例如下:

--停止指定位置的指定特效
--前三个参数是停止播放特效的位置坐标
--最后一个参数是需要停止的特效id
World:stopEffectOnPosition(0,7,0,1001)
--在聊天框显示
Chat:sendSystemMsg("停止了(0,0)高度7位置的1001烟雾特效")

setEffectScaleOnPosition

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:设置指定位置的特效大小

  • 具体使用案例如下:

--缩放指定位置的指定特效
--前三个参数是需要缩放特效的坐标
--第四个参数是需要缩放的特效id
--最后一个参数是设置的缩放比例
World:setEffectScaleOnPosition(0,7,0,1001,2)
--在聊天框显示
Chat:sendSystemMsg("把(0,0)高度7位置的烟雾特效放大了两倍")

randomParticleEffectID

  • 参数及类型:none

  • 返回值及类型:

  • 该方法的主要作用:随机特效类型,随机返回一种特效ID

  • 具体使用案例如下:

--获取一个随机特效id
local result,id=World:randomParticleEffectID()
--在聊天框显示
Chat:sendSystemMsg("获取到了一个随机特效id:"..id)

playSoundEffectOnPos

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:在指定位置上播放指定音效

  • 具体使用案例如下:

--在(0,0)高度7的位置播放音乐10713
--第一个参数为播放音乐的坐标组成的表
--第二个参数10713为播放的音效id,具体可以在“迷你世界ID查询”的“音效表数据”里查看
--后三个参数分别是:音量、音高、是否循环播放
World:playSoundEffectOnPos({x=0,y=7,z=0},10713,100,1,false)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度7的位置正在播放音乐")

stopSoundEffectOnPos

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:停止指定位置上的指定音效

  • 具体使用案例如下:

--在(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)

getLightByPos

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取光照强度

  • 具体使用案例如下:

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)--点击方块

setBlockLightEx

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:设置光照强度

  • 具体使用案例如下:

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)--点击方块

 

randomSoundID

  • 参数及类型:
  • 返回值及类型:
    • ErrorCode.OK
    • soundid:number 声音ID
  • 该方法的主要作用:随机出来的音乐ID
  • 具体使用案例如下:
local result,soundid = World:randomSoundID()

 

randomWeatherID

  • 参数及类型:
  • 返回值及类型:
    • ErrorCode.OK
    • wtype:number 天气类型ID
  • 该方法的主要作用:随机出来的天气ID
  • 具体使用案例如下:
local result,wtype = World:randomWeatherID()

 

getLocalDate

  • 参数及类型:
    • enum:EVENTDATE
  • 返回值及类型:
    • ErrorCode.OK
    • year:number 年日期
  • 该方法的主要作用:获取主机时间
  • 具体使用案例如下:
local result, year = World:getLocalDate(EVENTDATE.YEAR) -- 获取年

 

getLocalDateString

  • 参数及类型:
  • 返回值及类型:
    • ErrorCode.OK
    • date:string 完整日期
  • 该方法的主要作用:获取完整设备时间
  • 具体使用案例如下:
local result,date = World:getLocalDateString() -- 获取日期

 

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)

 

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)

 

getDateFromTime

  • 参数及类型:
    • time:number传入时间戳
    • enum:EVENTDATE
  • 返回值及类型:
    • ErrorCode.OK
    • year:number 年日期
  • 该方法的主要作用:转换时间戳为时间单位
  • 具体使用案例如下:
local result, year = World:getDateFromTime(os.time(),EVENTDATE.YEAR) -- 获取年

 

getDateStringFromTime

  • 参数及类型:
    • time:number传入时间戳
  • 返回值及类型:
    •  ErrorCode.OK
    • date:string 完整日期
  • 该方法的主要作用:转换时间戳为完整时间
  • 具体使用案例如下:
local result, date = World:getDateStringFromTime(os.time()) --  完整日期

 

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

 

SetTimeVanishingSpeed

  • 参数及类型:
    • speed:number天空盒时间
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 设置天空盒时间流逝速度
  • 具体使用案例如下:
local code  = World:SetTimeVanishingSpeed(speed)
if code == ErrorCode.OK then
    print('执行成功'  )
else
    print('执行失败')
end

 

SetSkyBoxTemplate

  • 参数及类型:
    • value:number参数值(0-9)
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 设置天空盒模板
  • 具体使用案例如下:
local code  = World:SetSkyBoxTemplate(value)
if code == ErrorCode.OK then
    print('执行成功'  )
else
    print('执行失败')
end

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

GetGroupWeather

  • 参数及类型:
    • groupid:number地形组ID(WEATHERGROUP)
  • 返回值及类型:
    • ret:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 获取天气组天气
  • 具体使用案例如下:
local ret  = World:GetGroupWeather(groupid)
if ret == ErrorCode.OK then
    print('执行成功'  )
else
    print('执行失败')
end

 

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

 

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

 

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

 

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

 

站点有内容要更新是否更新。
更新
忽略