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

news/2025/3/3 9:47:43/

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


http://www.ppmy.cn/news/1576259.html

相关文章

介绍如何使用生成对抗网络(GAN)和Cycle GAN设计用于水果识别的模型

下面将详细介绍如何使用生成对抗网络(GAN)和Cycle GAN设计用于水果识别的模型,我们将使用Python和深度学习框架PyTorch来实现。 1. 生成对抗网络(GAN)用于水果识别 原理 GAN由生成器(Generator&#xff…

数据结构(初阶)(三)----单链表

单链表 概念 概念:链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 结点 与顺序表不同的是,链表的结构类似于带车头的火车车厢,,链表的每个车厢都是独立…

# 【Unity】【游戏开发】赛车游戏中碰撞加速的实现方法

背景 在赛车类游戏开发中,常常需要实现赛车在碰撞某些道具或对象后加速的功能。例如,当赛车经过加速带或碰撞加速道具时,速度会瞬间增加,使游戏更具动态性和可玩性。本文将介绍一种通用的实现方式,并分析其逻辑。 分析 加速的核心逻辑如下: 判断碰撞条件:检测赛车是否…

Redis常见面试题大白话简答,关于认识Redis及其数据结构、线程模型和持久化

前言 备战面试刷Redis面试题,觉得不能光看还得有输出,于是写文用大白话来回答面试题。 本文仅包括小林coding中Redis面试篇中关于认识Redis、Redis的数据结构、Redis线程模型和Redis持久化部分 写文果然是有助于理解的方式,感觉在倒逼自己…

DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順

DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順 はじめに環境準備ディレクトリ作成Dockerコンテナ起動 データベース設定変更コンテナ内でSQL*Plus起動PDB操作と文字列サイズ拡張設定検証 管理者ユーザー作成注意事項まとめ 中文版请访问这里…

1.2.3 使用Spring Initializr方式构建Spring Boot项目

本实战概述介绍了如何使用Spring Initializr创建Spring Boot项目,并进行基本配置。首先,通过Spring Initializr生成项目骨架,然后创建控制器HelloController,定义处理GET请求的方法hello,返回HTML字符串。接着&#xf…

MATLAB分析与仿真白噪声

白噪声:使用 Matlab 进行仿真与分析 定义 一个具有恒定功率谱密度(PSD)函数的随机过程(或信号)被称为白噪声过程。 功率谱密度 功率谱密度函数(PSD)显示了每个频谱分量中包含的功率。例如&a…

All in One: Multi-Task Prompting for Graph Neural Networks学习笔记

简介 主要研究了图神经网络(GNN)中多任务提示(multi-task prompting)的方法。文中讨论了传统的GNN“预训练与微调”方法和下游任务割裂,特别是在节点级(node-level)、边级(edge-lev…