迷你世界UGC3.0脚本Wiki世界模块管理接口 World

迷你世界UGC3.0脚本Wiki



Menu

On this page

Sidebar Navigation

快速入门

欢迎

MOD、组件介绍

什么是Lua编程

组件介绍

组件说明

组件互相操作

组件函数

组件属性

事件

触发器事件管理

组件事件管理

函数库

服务模块

世界模块管理接口 World

对象模块管理接口 GameObject

角色模块管理接口 Actor

玩家模块管理接口 Player

生物模块管理接口 Monster

方块模块管理接口 Block

道具模块管理接口 Item

背包模块管理接口 Backpack

界面模块管理接口 CustomUI

图文信息模块管理接口 Graphics

区域模块管理接口 Area

容器模块管理接口 WorldContainer

资源模块管理接口 Mod

计时器模块管理接口 Timer

状态模块管理接口 Buff

消息模块管理接口 Chat

普通变量数据管理接口 Data

数组变量数据管理接口 Array

二维表变量数据管理接口 Table

KV表变量数据管理接口 Map

全局函数

全局函数

枚举

枚举库

脚本常见问题

开发者常见问题

进阶指南

全局函数

触发器脚本交互

对象介绍

KV&排行榜介绍

二维表介绍

道具实例

更新日志

更新日志

世界模块管理接口 World​

具体函数名及描述如下:

序号 函数名 函数描述

1 StopParticleOnPos(...) 停止指定位置的特效

2 SetParticleTransform(...) 设置指定位置的特效偏移 旋转 缩放

3 PlayParticle(...) 在指定位置播放特效

4 GetLightByPos(...) 获取光照强度

5 SpawnCreature(...) 生成生物(包括怪物、NPC、动物等)

6 DespawnActor(...) 移除生物

7 GetPlayerTotal(...) 获取全部玩家数量

8 GetAllPlayers(...) 获取全部玩家

9 GetSpawnPoint(...) 获取默认出生点

10 FindCanSpawnMobPosList(...) 获取附近合适的生物出生点位置(方块坐标单位)

11 FindNearestPlayerByPos(...) 获取距离某点最近的玩家(方块坐标单位)

12 PlaySoundEffectOnPos(...) 在指定位置上播放指定音效

13 StopSoundEffectOnPos(...) 停止指定位置上的指定音效

14 PauseSoundEffectOnPos(...) 暂停/恢复指定位置上的指定音效

15 IsDaytime(...) 是否是白天

16 SetHours(...) 设置游戏当前时间(小时)

17 GetHours(...) 获取游戏当前时间(小时)

18 GetDay(...) 获取游戏当前天数

19 SetGravity(...) 设置重力

20 AddGravity(...) 增加重力

21 GetGravity(...) 获取重力

22 CanMobSpawnOnPosXZ(...) 获取XZ位置上是否可创建生物 并返回对应的Y轴位置

23 GetHostWorldId(...) 获取主机的星球id

24 SpawnProjectile(...) 生成投掷物

25 SpawnProjectileByDir(...) 生成投掷物

26 GetBiomeType(...) 获取某个位置的地形类型

27 GetBiomeGroup(...) 获取地形类型所属的地形组类型

28 FindEcosystem(...) 查找地形位置

29 PixelMapAddMarker(...) 地图增加标记

30 PixelMapRefreshMarker(...) 地图刷新标记

31 PixelMapDelMarker(...) 地图删除标记

32 PixelMapAddTexture(...) 地图增加纹理标签

33 PixelMapRefreshTexture(...) 地图刷新纹理标签

34 PixelMapDelTexture(...) 开发者删除1个纹理

35 SetSkyBoxColorAnim(...) 设置某玩家天空盒全部时间点的颜色参数(带动效)

36 SetTimeVanishingSpeed(...) 设置天空盒时间流逝速度

37 SetSkyBoxTemplate(...) 设置天空盒模板

38 SetSkyBoxMaps(...) 设置天空盒贴图

39 SetSkyBoxColor(...) 设置天空盒颜色参数

40 SetSkyBoxAttr(...) 设置天空盒属性参数

41 SetSkyBoxAttrWithNoTime(...) 设置天空盒属性参数(不带时间)

42 SetSkyBoxFilter(...) 设置天空盒滤镜参数

43 SetSkyBoxSwitch(...) 天空盒属性开关

44 SetSkyBoxMapsAnim(...) 设置天空盒贴图(带动效)

45 SetSkyBoxFilterAnim(...) 设置天空盒滤镜参数(带动效)

46 GetLocalDate(...) 获取主机时间

47 GetLocalDateString(...) 获取完整设备时间

48 GetServerDate(...) 获取服务器时间

49 GetDateFromTime(...) 转换时间戳为时间单位

50 GetDirRayDetection(...) 获取对象到某个方向上的射线检测目标

51 GetRayLength(...) 计算指定方向射线长度(遇到方块结束)

52 GetRayBlock(...) 射线打到的方块类型(遇到方块结束)

53 CalcDirectionByYawDirection(...) 通过局部坐标方向计算绝对正方向(忽略视角仰角)

54 CalcDirectionByYawAngle(...) 通过局部球坐标方向计算绝对正方向(忽略视角仰角)

55 CalcDirectionByCoord(...) 绝对坐标方向

56 CalcDirectionByAngle(...) 角度坐标方向

57 RandomParticleEffectID(...) 随机特效类型,随机返回一种特效ID

58 RandomSoundID(...) 随机音效ID,随机返回一种音效ID

59 CalcDistance(...) 计算两个三维坐标之间的距离

60 SetGroupWeather(...) 设置天气组的天气状态

61 RandomWeatherID(...) 随机天气

62 GetGroupWeather(...) 获取天气组天气

63 SetSpawnPoint(...) 设置出生点

64 CalcDirectionByPos2Pos(...) 位置到位置的单位方向

65 SetWorldCreateMobRule(...) 设置世界创建生物规则(设置不保存,退出游戏后失效)

66 SetMobSpawnDensity(...) 设置生物生成密度(设置不保存,退出游戏后失效)

67 SetPlantGrowRate(...) 设置农作物生长时间要求修正,在原来的时间上乘以系数设置不保存,退出游戏后失效)

68 SetInnerViewEnable(...) 设置游戏内的界面是否禁用

69 SetMidJoin(...) 设置是否可中途加入

70 GetGameMode(...) 获取游戏模式

71 SetLightByPos(...) 设置光照强度

StopParticleOnPos​

参数及类型:

x,y,z:number位置

particleId:number特效id

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

code:bool成功(true)

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

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local result = World:StopParticleOnPos(x, y, z, 1001, WorldId)

SetParticleTransform​

参数及类型:

pos:table位置(米)

particleIdArg:number或者number数组特效id

offset:table偏移(米)

rot:table旋转

scale:table特效缩放大小

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置指定位置的特效偏移 旋转 缩放

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

-- 设置效果缩放2倍

local result = World:SetParticleTransform({x = x, y = y, z = z}, 1001, nil, nil, {x = 2, y = 2, z = 2}, WorldId)

PlayParticle​

参数及类型:

pos:table位置(米)

particleIdArg:number或者number数组特效id

ptimeArg:number播放时长(单位:秒,非循环特效如果时长大于一次播放时长,将会重复播放)

offset:table偏移(米)

rot:table旋转

scale:table特效缩放大小

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

code:bool成功(true)

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

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local result = World:PlayParticle({x = x, y = y, z = z}, 1001, 2, WorldId)

GetLightByPos​

参数及类型: x|y|z:number:位置,worldId:number:星球id(默认当前主机所在星球)

返回值及类型:

lv:number光照强度(0~16)

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

具体使用案例如下:

lua

local light = World:GetLightByPos(x, y, z, WorldId)

print("获取光照强度 ", light)

SpawnCreature​

参数及类型:

x,y,z:number方块坐标

actorid:number,string生物类型

num:number生成数量

trigger:boolean是否触发事件

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

objs:table生物ID组

该方法的主要作用: 生成生物(包括怪物、NPC、动物等)

具体使用案例如下:

lua

local x1, y1, z1 = Actor:GetPosition(Player:GetHostUin())

local creatures = World:SpawnCreature(x1 + 5, y1 + 1, z1, 3400, 1, true, WorldId)

DespawnActor​

参数及类型:

objid:number对象objID

返回值及类型:

code:bool成功(true)

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

具体使用案例如下:

lua

local result = World:DespawnActor(creatureId)

GetPlayerTotal​

参数及类型:

alive:number玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)

返回值及类型:

num:number获取数量

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

具体使用案例如下:

lua

local total = World:GetPlayerTotal()

GetAllPlayers​

参数及类型:

alive:number玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)

返回值及类型:

list:table对象objid组

该方法的主要作用: 获取全部玩家

具体使用案例如下:

lua

local players = World:GetAllPlayers()

GetSpawnPoint​

参数及类型: 无

返回值及类型:

x,y,z:number方块坐标

该方法的主要作用: 获取默认出生点

具体使用案例如下:

lua

local x, y, z = World:GetSpawnPoint()

FindCanSpawnMobPosList​

参数及类型:

centerX,centerY,centerZ:number中心位置

radius:number半径

includeCenterPos:boolean是否包含中心位置(默认true)

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

posList:table位置列表

该方法的主要作用: 获取附近合适的生物出生点位置(方块坐标单位)

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local posList = World:FindCanSpawnMobPosList(x, y, z, 10, true, WorldId)

if posList then

for i, v in ipairs(posList) do

print("可以创建生物位置", v.x, v.y, v.z)

end

end

FindNearestPlayerByPos​

参数及类型:

posX,posY,posZ:number位置

radius:number半径

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

objid:number玩家uin

该方法的主要作用: 获取距离某点最近的玩家(方块坐标单位)

具体使用案例如下:

lua

local playerId = World:FindNearestPlayerByPos(x, y, z, WorldId)

PlaySoundEffectOnPos​

参数及类型:

pos:table位置

soundId:number音效ID

volume:number音量调节

pitch:number音调调节

isLoop:bool是否循环播放

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

ret:bool成功(true)

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

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local result = World:PlaySoundEffectOnPos({x = x, y = y, z = z}, 10946, 100, 1, false, WorldId)

StopSoundEffectOnPos​

参数及类型:

pos:table位置

soundId:number音效ID

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

code:bool成功(true)

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

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local result = World:StopSoundEffectOnPos({x = x, y = y, z = z}, 10946, WorldId)

PauseSoundEffectOnPos​

参数及类型:

pos:table位置

soundId:number音效ID

pause:booltrue暂停/false恢复

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 暂停/恢复指定位置上的指定音效

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local result = World:PauseSoundEffectOnPos({x = x, y = y, z = z}, 10946, true, WorldId)

IsDaytime​

参数及类型: 无

返回值及类型:

isDaytime:bool是否白天

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

具体使用案例如下:

lua

local isDaytime = World:IsDaytime()

SetHours​

参数及类型:

time:number时间(小时)

返回值及类型:

code:bool成功(true)

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

具体使用案例如下:

lua

local result = World:SetHours(2)

GetHours​

参数及类型: 无

返回值及类型:

curHour:number时间(小时)

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

具体使用案例如下:

lua

local hours = World:GetHours()

GetDay​

参数及类型: 无

返回值及类型:

code:number天数

该方法的主要作用: 获取游戏当前天数

具体使用案例如下:

lua

local day = World:GetDay()

SetGravity​

参数及类型:

value:number重力值

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置重力

具体使用案例如下:

lua

local result = World:SetGravity(12)

AddGravity​

参数及类型:

value:number重力值

返回值及类型:

code:bool成功(true)

该方法的主要作用: 增加重力

具体使用案例如下:

lua

local code = World:AddGravity(value)

GetGravity​

参数及类型:

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

value:number重力值

该方法的主要作用: 获取重力

具体使用案例如下:

lua

local gravity = World:GetGravity()

CanMobSpawnOnPosXZ​

参数及类型:

x,y,z:number位置坐标

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

posy:numberY轴坐标

该方法的主要作用: 获取XZ位置上是否可创建生物 并返回对应的Y轴位置

具体使用案例如下:

lua

local canSpawnY = World:CanMobSpawnOnPosXZ(x,y, z, WorldId)

if canSpawnY and canSpawnY > 0 then

print("可以创建生物位置", x, canSpawnY, z)

end

GetHostWorldId​

参数及类型: 无

返回值及类型:

mapid:number星球id

该方法的主要作用: 获取主机的星球id

具体使用案例如下:

lua

local worldId = World:GetHostWorldId()

print("获取主机世界id ", worldId)

SpawnProjectile​

参数及类型:

objid:number角色objid(可不填)

itemid:number,string道具类型

x,y,z:number位置坐标

dstx,dsty,dstz:number目标坐标

speed:number速度

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

objid:number投掷物objid

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

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

-- 生成石箭往x+20,y+5,z方向射出, 速度10

local projectile = World:SpawnProjectile(Player:GetHostUin(), 12051, x, y, z, x + 20, y + 5, z, 10, WorldId)

SpawnProjectileByDir​

参数及类型:

objid:number玩家objid

itemid:number,string道具类型

x,y,z:number位置坐标

dstx,dsty,dstz:number目标方向

speed:number速度

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

objid:number投掷物objid

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

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local projectile = World:SpawnProjectileByDir(Player:GetHostUin(), 12051, x, y, z, 20, 5, 20, 10, WorldId)

GetBiomeType​

参数及类型:

posX,posZ:number位置坐标

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

ret:number地形类型 BiomeType

该方法的主要作用: 获取某个位置的地形类型

具体使用案例如下:

lua

local biomeType = World:GetBiomeType(x, y, WorldId)

if biomeType == BiomeType.GrassLand then

print("草原")

elseif biomeType == BiomeType.Forest then

print("森林")

end

GetBiomeGroup​

参数及类型:

posX,posZ:number位置坐标

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

biometype:number地形组类型(WeatherGroup)

该方法的主要作用: 获取地形类型所属的地形组类型

具体使用案例如下:

lua

local group = World:GetBiomeGroup(x, z, WorldId)

FindEcosystem​

参数及类型:

x,y,z:number查找起点位置坐标

biomeid:number地形类型 BiomeTypeBiomeType

radius:number查找范围半径(单位chunk)

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

x,y,z:number找到的地形位置坐标

该方法的主要作用: 查找地形位置

具体使用案例如下:

lua

local x,y,z = World:FindEcosystem(centerX, centerY, centerZ, BiomeType.GrassLand, 50)

if x and y and z then

print("找到草原", x, y, z)

end

PixelMapAddMarker​

参数及类型:

uin:玩家ID

id:标记id

params:标记的超参数

返回值及类型:

ret:boolean添加成功(true)

该方法的主要作用: 地图增加标记

具体使用案例如下:

lua

-- 参数说明

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local params = {

posX = x,--(必填)

posZ = z,--(必填)

-- name ="测试名", --名字

iconName = "0_10074", --图片路径(必填)

-- zoomMin = 0, --最小scale倍率

-- zoomMax = 100, --最大scale倍率

-- isTrace = false, --是否追踪

-- isRadarTrace = false, --雷达上是否追踪

-- appearInBlockFog = true, --

-- isCanUI = false, --是否能点击

-- desc = "", --描述

-- level = 4, --UI层级

}

local result = World:PixelMapAddMarker(Player:GetHostUin(), "markId_123", params)

PixelMapRefreshMarker​

参数及类型:

uin:玩家ID

id:标记id

params:标记的超参数(提供改变的参数即可)

返回值及类型:

ret:boolean刷新成功(true)

该方法的主要作用: 地图刷新标记

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local params = {

posX = x,

posZ = z,

-- name = defaultCustomMarkerConfig[1].name, 名字

iconName = "0_10103", --图片ID

-- zoomMin = 0, 最小scale倍率

-- zoomMax = 100, 最大scale倍率

-- isTrace = false, 是否追踪

-- isRadarTrace = false, 雷达上是否追踪

-- appearInBlockFog = true,

-- isCanUI = false, 是否能点击

-- desc = "", 描述

-- level = 4, UI层级

}

local result = World:PixelMapRefreshMarker(Player:GetHostUin(), "markId_123", params)

PixelMapDelMarker​

参数及类型:

uin:玩家ID

id:标记id

返回值及类型:

ret:boolean删除成功(true)

该方法的主要作用: 地图删除标记

具体使用案例如下:

lua

local result = World:PixelMapDelMarker(Player:GetHostUin(), "markId_123")

PixelMapAddTexture​

参数及类型:

uin:玩家ID

id:纹理id

params:纹理的超参数

返回值及类型:

ret:boolean添加成功(true)

该方法的主要作用: 地图增加纹理标签

具体使用案例如下:

lua

--开发者添加纹理到地图纹理节点,可以修饰原本的地图纹理(比如加背景,遮罩,自定义地图纹理)

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local params = {

filePath = "0_10103", --图片id

width = 100, --宽度

height = 100, --高度

posX = x, --在地图上的方块位置

posZ = z, --在地图上的方块位置

level = 11, --层级 官方地图纹理层级为10

pivotX = 0, --x轴锚点

pivotY = 0, --z轴锚点

alpha = 1, --透明度

scale = 1, --缩放

rotation = 0, --旋转

colorR = 255, --颜色

colorG = 255, --颜色

colorB = 255, --颜色

}

local result = World:PixelMapAddTexture(Player:GetHostUin(), "textureId_1", params)

PixelMapRefreshTexture​

参数及类型:

uin:玩家ID

id:纹理id

params:纹理的超参数(提供改变的参数即可)

返回值及类型:

ret:boolean刷新成功(true)

该方法的主要作用: 地图刷新纹理标签

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local params = {

filePath = "0_10104", --图片id

width = 100, --宽度

height = 100, --高度

posX = x, --在地图上的方块位置

posZ = z, --在地图上的方块位置

level = 11, --层级 官方地图纹理层级为10

pivotX = 0, --x轴锚点

pivotY = 0, --z轴锚点

alpha = 1, --透明度

scale = 1, --缩放

rotation = 0, --旋转

colorR = 255, --颜色

colorG = 255, --颜色

colorB = 255, --颜色

}

local result = World:PixelMapRefreshTexture(Player:GetHostUin(), "textureId_1", params)

PixelMapDelTexture​

参数及类型: uin:玩家ID

返回值及类型: id:纹理id,方便开发者精准控制

该方法的主要作用: 开发者删除1个纹理

具体使用案例如下:

lua

local result = World:PixelMapDelTexture(Player:GetHostUin(), "textureId_1")

SetSkyBoxColorAnim​

参数及类型:

time:number游戏时间

itype:number颜色属性枚举(SkyboxColor)SkyboxColor

color:string16进制颜色值(0xffffff)

animId:number动画枚举(Easing)Easing

animTime:number动画时间

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置某玩家天空盒全部时间点的颜色参数(带动效)

具体使用案例如下:

lua

local result = World:SetSkyBoxColorAnim(Player:GetHostUin(), SkyboxColor.Moon, [=[0xffe082]=], Easing.Linear, 1)

SetTimeVanishingSpeed​

参数及类型:

speed:number时间流逝速度

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒时间流逝速度

具体使用案例如下:

lua

local result = World:SetTimeVanishingSpeed(20)

SetSkyBoxTemplate​

参数及类型:

value:number,string模板值(官方模板填数值,自定义模板填ID)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒模板

具体使用案例如下:

lua

local result = World:SetSkyBoxTemplate(7)

SetSkyBoxMaps​

参数及类型:

time:number游戏时间

itype:number贴图类型(SkyboxMap)SkyboxMap

url:string图片链接

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒贴图

具体使用案例如下:

lua

local result = World:SetSkyBoxMaps(SkyboxMap.Sky, [=[0_30011]=])

SetSkyBoxColor​

参数及类型:

time:number游戏时间

itype:number颜色属性枚举(SkyboxColor)SkyboxColor

color:string16进制颜色值(0xffffff)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒颜色参数

具体使用案例如下:

lua

local result = World:SetSkyBoxColor(SkyboxTime.Current, SkyboxColor.Top, [=[0x1e88e5]=])

SetSkyBoxAttr​

参数及类型:

time:number游戏时间

itype:number参数类型(SkyboxAttr)SkyboxAttr

value:number参数值(0~100)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒属性参数

具体使用案例如下:

lua

local result = World:SetSkyBoxAttr(SkyboxTime.Current, SkyboxAttr.SunScale, 20)

SetSkyBoxAttrWithNoTime​

参数及类型:

itype:number参数类型(SkyboxAttr)SkyboxAttr

value:number参数值(0~100)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒属性参数(不带时间)

具体使用案例如下:

lua

local code = World:SetSkyBoxAttrWithNoTime(itype, value)

SetSkyBoxFilter​

参数及类型:

itype:number参数类型(SkyboxFilter)SkyboxFilter

value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒滤镜参数

具体使用案例如下:

lua

local result = World:SetSkyBoxFilter(Player:GetHostUin(), SkyboxFilter.Contrast, 50)

SetSkyBoxSwitch​

参数及类型:

time:number游戏时间

itype:number参数类型(SkyboxSwitch)SkyboxSwitch

value:number参数值(0~1)

返回值及类型:

code:bool成功(true)

该方法的主要作用: 天空盒属性开关

具体使用案例如下:

lua

local result = World:SetSkyBoxSwitch(SkyboxTime.Current, SkyboxSwitch.Fogenable, true)

SetSkyBoxMapsAnim​

参数及类型:

time:number游戏时间

itype:number贴图类型(SkyboxMap)SkyboxMap

url:string图片链接

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒贴图(带动效)

具体使用案例如下:

lua

local result = World:SetSkyBoxMapsAnim(Player:GetHostUin(), SkyboxMap.Sky, [=[0_30005]=], Easing.BackOut, 1)

SetSkyBoxFilterAnim​

参数及类型:

itype:number参数类型(SkyboxFilter)SkyboxFilter

value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)

animId:number动画ID(Easing)Easing

animTime:number动画时间

返回值及类型:

code:bool成功(true)

该方法的主要作用: 设置天空盒滤镜参数(带动效)

具体使用案例如下:

lua

local result = World:SetSkyBoxFilterAnim(Player:GetHostUin(), SkyboxFilter.Color, [=[0xffee58]=], Easing.Linear, 1)

GetLocalDate​

参数及类型:

enum:number枚举值(EventDate)

返回值及类型:

time:number获取到的值

该方法的主要作用: 获取主机时间

具体使用案例如下:

lua

local date = World:GetLocalDate(EventDate.Day)

GetLocalDateString​

参数及类型: 无

返回值及类型:

timestr:string时间描述

该方法的主要作用: 获取完整设备时间

具体使用案例如下:

lua

local dateString = World:GetLocalDateString()

GetServerDate​

参数及类型:

enum:number枚举值(EventDate)

返回值及类型:

time:number获取到的值

该方法的主要作用: 获取服务器时间

具体使用案例如下:

lua

local date = World:GetServerDate()

GetDateFromTime​

参数及类型:

time:number时间戳

enum:number枚举值(EventDate)EventDate

返回值及类型:

ret:number时间值

该方法的主要作用: 转换时间戳为时间单位

具体使用案例如下:

lua

local date = World:GetDateFromTime(os.time(), EventDate.Day)

GetDirRayDetection​

参数及类型:

posbegin:table起点位置{x=0

y=0

z=0}

dir:table方向向量{x=floatx

y=floaty

z=floatz}

maxlen:number最大检测方块距离

picktype:number检测类型 RayDetectTypeRayDetectType

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

ret:number对象ID

vec:table对象位置{x=0

y=0

z=0}

该方法的主要作用: 获取对象到某个方向上的射线检测目标

具体使用案例如下:

lua

local ray = Player:GetAimDir(uin)

local x,y,z = Player:GetRayOriginPos(uin)

local id = World:GetDirRayDetection({x=x, y=y, z=z}, {x= ray.x, y= ray.y, z= ray.z}, 10, RayDetectType.Block, WorldId)

GetRayLength​

参数及类型:

srcx

srcy

srcz:number起点坐标

dstx

dsty

dstz:number终点坐标

distance:number最大检测距离

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

ret:number距离

该方法的主要作用: 计算指定方向射线长度(遇到方块结束)

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local length = World:GetRayLength(x, y, z, x, y + 20, z, 100, WorldId)

GetRayBlock​

参数及类型:

srcx

srcy

srcz:number起点坐标

dstx

dsty

dstz:number终点坐标

distance:number最大检测距离

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

ret:number方块ID

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

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local block = World:GetRayBlock(x, y, z, FaceDir.NegY, 100, WorldId)

CalcDirectionByYawDirection​

参数及类型:

objid:number唯一ID

vx:number局部坐标x方向

vy:number局部坐标y方向

vz:number局部坐标z方向

返回值及类型:

ret:table:绝对方向向量{x: number

y: number

z: number}

该方法的主要作用: 通过局部坐标方向计算绝对正方向(忽略视角仰角)

具体使用案例如下:

lua

local direction = World:CalcDirectionByYawDirection(Player:GetHostUin(), 100, 100, 100)

CalcDirectionByYawAngle​

参数及类型:

objid:number对象ID

yaw:number水平偏移夹角角度制

pitch:number垂直偏移夹角

返回值及类型:

ret:table:绝对方向向量{x: number

y: number

z: number}

该方法的主要作用: 通过局部球坐标方向计算绝对正方向(忽略视角仰角)

具体使用案例如下:

lua

local direction = World:CalcDirectionByYawAngle(Player:GetHostUin(), 30, 45)

CalcDirectionByCoord​

参数及类型:

x:number坐标x

y:number坐标y

z:number坐标z

返回值及类型:

ret:table:绝对方向向量{x: number

y: number

z: number}

该方法的主要作用: 绝对坐标方向

具体使用案例如下:

lua

local direction = World:CalcDirectionByCoord(10 ,20, 30)

CalcDirectionByAngle​

参数及类型:

yaw:number水平偏移夹角

pitch:number垂直偏移夹角

返回值及类型:

ret:table:绝对方向向量{x: number

y: number

z: number}

该方法的主要作用: 角度坐标方向

具体使用案例如下:

lua

local direction = World:CalcDirectionByAngle(45, 45)

RandomParticleEffectID​

参数及类型: 无

返回值及类型:

ret:number特效ID

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

具体使用案例如下:

lua

local id = World:RandomParticleEffectID()

RandomSoundID​

参数及类型: 无

返回值及类型:

ret:number音效ID

该方法的主要作用: 随机音效ID,随机返回一种音效ID

具体使用案例如下:

lua

local id = World:RandomSoundID()

CalcDistance​

参数及类型:

posSrc:table:源坐标{x:number

y:number

z:number}

posDst:table:目标坐标{x:number

y:number

z:number}

返回值及类型:

ret:number两点之间的距离

该方法的主要作用: 计算两个三维坐标之间的距离

具体使用案例如下:

lua

local distance = World:CalcDistance({x = 0, y = 0, z = 0}, {x = 10, y = 0, z = 0})

SetGroupWeather​

参数及类型:

groupid:number天气组ID(WeatherGroup)WeatherGroup

weatherid:number天气ID(GroupWeatherType)GroupWeatherType

返回值及类型:

ret:boolean设置成功(true)或失败(false)

该方法的主要作用: 设置天气组的天气状态

具体使用案例如下:

lua

local result = World:SetGroupWeather(WeatherGroup.Common, GroupWeatherType.Shine)

RandomWeatherID​

参数及类型: 无

返回值及类型:

ret:number 随机出来的天气ID

该方法的主要作用: 随机天气

具体使用案例如下:

lua

local id = World:RandomWeatherID()

GetGroupWeather​

参数及类型:

groupid:number地形组ID(WeatherGroup)

返回值及类型:

ret:number天气值

该方法的主要作用: 获取天气组天气

具体使用案例如下:

lua

local weather = World:GetGroupWeather(WeatherGroup.Common)

SetSpawnPoint​

参数及类型:

x,y,z:number方块坐标

返回值及类型:

ret:bool结果

该方法的主要作用: 设置出生点

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(Player:GetHostUin())

local result = World:SetSpawnPoint(x, y, z)

CalcDirectionByPos2Pos​

参数及类型:

pos1:table位置1

pos2:table位置2

返回值及类型:

ret:table单位方向

该方法的主要作用: 位置到位置的单位方向

具体使用案例如下:

lua

local ret = World:CalcDirectionByPos2Pos(pos1, pos2)

SetWorldCreateMobRule​

参数及类型:

cfgs:table生物规则配置

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

ret:boolean成功true

该方法的主要作用: 设置世界创建生物规则(设置不保存,退出游戏后失效)

具体使用案例如下:

lua

local cfgs = {

-- 草原

BiomeType.GrassLand\] = { { id = 3400, -- 生物id,嘟嘟鸟 weight = 100 -- 权重 }, { id = 3401, -- 生物id weight = 100 -- 权重 }, }, \[BiomeType.Forest\] = {--迷拉星森林 { id = 3400, weight = 50 } } } local result = World:SetWorldCreateMobRule(cfgs) SetMobSpawnDensity​ 参数及类型: mobType:number生物类型 MobTypeMobType density:number密度(0-2000) worldId:number星球id(默认当前主机所在星球) 返回值及类型: ret:boolean成功true 该方法的主要作用: 设置生物生成密度(设置不保存,退出游戏后失效) 具体使用案例如下: lua local result = World:SetMobSpawnDensity(MobType.Passive, 100) -- 设置动物密度 SetPlantGrowRate​ 参数及类型: rate:number时间修正(大于0) worldId:number星球id(默认当前主机所在星球) 返回值及类型: ret:boolean成功true 该方法的主要作用: 设置农作物生长时间要求修正,在原来的时间上乘以系数设置不保存,退出游戏后失效) 具体使用案例如下: lua local result = World:SetPlantGrowRate(0.5) -- 设置生长速度为原来的0.5倍 SetInnerViewEnable​ 参数及类型: iview:number弹窗类型枚举(InnerPopUpview)InnerPopUpview bopen:bool启用或者禁用 返回值及类型: ret:bool是否成功 该方法的主要作用: 设置游戏内的界面是否禁用 具体使用案例如下: lua -- 一般和Player:OpenInnerView 接口配合使用 local ret = World:SetInnerViewEnable(InnerPopUpview.CollectMaps,false) if ret then print("设置成功") end SetMidJoin​ 参数及类型: enable:bool是否开启中途加入属性 返回值及类型: ret:bool是否成功 该方法的主要作用: 设置是否可中途加入 具体使用案例如下: lua local ret = World:SetMidJoin(true) if ret then print("设置成功") end GetGameMode​ 参数及类型: 无 返回值及类型: mode:number游戏模式 WorldType 该方法的主要作用: 获取游戏模式 具体使用案例如下: lua local curmode = World:GetGameMode() if curmode and curmode == WorldType.GamemakerRun then print("当前地图是玩法模式") elseif curmode and curmode == WorldType.Single then print("当前地图是冒险模式") end SetLightByPos​ 参数及类型: x,y,z:number位置 lv:number光照强度(0\~15) 返回值及类型: ret:boolean操作是否成功 该方法的主要作用: 设置光照强度 具体使用案例如下: lua local result = World:SetLightByPos(x, y, z, 10, WorldId) print("设置光照强度 10 ", result) Last updated: 2025/12/5 14:23 Pager Previous page 组件事件管理 Next page 对象模块管理接口 GameObject

相关推荐
星空露珠2 小时前
迷你世界UGC3.0脚本Wiki生物模块管理接口 Monster
开发语言·数据结构·算法·游戏·lua
这是个栗子2 小时前
前端开发中的常用工具函数(四)
开发语言·javascript·ecmascript·find
格林威2 小时前
工业相机彩色图像采集:为什么我的图是绿色的?附海康/Basler/堡盟相机设置
开发语言·人工智能·数码相机·opencv·计算机视觉·c#·工业相机
阿贵---2 小时前
C++中的装饰器模式
开发语言·c++·算法
放下华子我只抽RuiKe52 小时前
机器学习核心算法全景指南
人工智能·python·深度学习·算法·机器学习·机器人·交互
FluxMelodySun2 小时前
机器学习(二十四) 降维 : MDS降维方法与线性降维方法
人工智能·算法·机器学习
zdl6862 小时前
spring Profile
java·数据库·spring
GEO研究生2 小时前
2026年游戏主板推荐:AI技术与个性化设计引领市场新风向
人工智能·游戏
加密狗复制模拟2 小时前
软件加密狗中时间限制机制的破解
开发语言·网络·安全·php·软件工程·个人开发