# 渲染

# GetAmbientBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    获取环境光亮度,影响天空亮度,不影响实体与方块光照

  • 参数

  • 返回值

    数据类型
    说明
    float 范围0到1之间
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
ambineBrightness = comp.GetAmbientBrightness()

# GetFogColor

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    获取当前雾效颜色

  • 参数

  • 返回值

    数据类型
    说明
    tuple(float,float,float,float) 颜色rgba
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
# 获取雾效颜色
fogColor = comp.GetFogColor()

# GetFogLength

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    获取雾效范围

  • 参数

  • 返回值

    数据类型
    说明
    tuple(float,float) 雾效起始值与终点值
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
start,end = comp.GetFogLength()

# GetMoonRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    获取月亮角度

  • 参数

  • 返回值

    数据类型
    说明
    tuple(float,float,float) 第一个float表示南北偏移,第二个float表示月亮的自旋角度,第三个float表示月升月落。单位为角度
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
rot = comp.GetMoonRot()

# GetSkyColor

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    获取天空颜色

  • 参数

  • 返回值

    数据类型
    说明
    tuple(float,float,float,float) 颜色RGBA,0到1之间,目前a值暂时没用
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
color = comp.GetSkyColor()

# GetSkyTextures

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    获取当前维度天空盒贴图,天空盒共6张贴图

  • 参数

  • 返回值

    数据类型
    说明
    list(str)或None 天空盒贴图列表,该值可能为None
  • 示例

# 贴图列表按顺序分别对应世界坐标的 负Z轴方向, 正X轴方向,正Z轴方向,负X轴方向,正Y轴方向,负Y轴方向。 其中正Y轴即为上方(采用右手坐标系)。
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
textureList = comp.GetSkyTextures()

# GetStarBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    获取星星亮度

  • 参数

  • 返回值

    数据类型
    说明
    float 范围0到1之间
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
starBrightness = comp.GetStarBrightness()

# GetSunRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    获取太阳角度

  • 参数

  • 返回值

    数据类型
    说明
    tuple(float,float,float) 第一个float表示南北偏移,第二个float表示太阳的自旋角度,第三个float表示日升日落。单位为角度
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
rot = comp.GetSunRot()

# GetUseAmbientBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    判断是否在mod设置了环境光亮度

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
useAmbientBrightness = comp.GetUseAmbientBrightness()

# GetUseFogColor

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    判断当前是否开启设置雾效颜色,该值默认为False,使用mod传入的颜色值后为True

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
# 获取是否开启设置雾效颜色
useFogColor = comp.GetUseFogColor()

# GetUseFogLength

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    判断当前是否开启设置雾效范围,该值默认为False,使用mod传入的范围值后为True

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
# 获取是否开启设置雾效范围
useFogLength = comp.GetUseFogLength()

# GetUseMoonRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    判断是否在mod设置了月亮角度

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
useMoonRot = comp.GetUseMoonRot()

# GetUseSkyColor

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    判断是否在mod设置了天空颜色

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
useSkyColor = comp.GetUseSkyColor()

# GetUseStarBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    判断是否在mod设置了星星亮度

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
useStarBrightness = comp.GetUseStarBrightness()

# GetUseSunRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    判断是否在mod设置了太阳角度

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
useSunRot = comp.GetUseSunRot()

# HideNameTag

客户端

method in mod.client.extraClientApi

  • 描述

    隐藏场景内所有名字,包括玩家名字,生物的自定义名称,物品展示框与命令方块的悬浮文本等

  • 参数

    参数名
    数据类型
    说明
    isHide bool 是否隐藏,True为隐藏,False为显示
  • 返回值

  • 备注

    • 该接口用于隐藏或显示所有实体名字,实体名字显示与否还会受到实体本身的名字显示与否影响,详见接口SetShowName
  • 示例

import mod.client.extraClientApi as clientApi
clientApi.HideNameTag(True)

# IsHideNameTag

客户端

method in mod.client.extraClientApi

  • 描述

    获取是否隐藏场景内所有名字

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否隐藏
  • 示例

import mod.client.extraClientApi as clientApi
clientApi.IsHideNameTag()

# ResetAmbientBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    重置环境光亮度

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.ResetAmbientBrightness()

# ResetFogColor

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    重置雾效颜色

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
comp.ResetFogColor()

# ResetFogLength

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    重置雾效范围

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
comp.ResetFogLength()

# ResetMoonRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    重置月亮角度

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.ResetMoonRot()

# ResetSkyColor

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    重置天空颜色

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.ResetSkyColor()

# ResetSkyTextures

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    重置当前维度天空盒贴图。如果有使用addon配置贴图则会使用配置的贴图,否则为游戏内默认无贴图的情况

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.ResetSkyTextures()

# ResetStarBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    重置星星亮度

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.ResetStarBrightness()

# ResetSunRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    重置太阳角度

  • 参数

  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.ResetSunRot()

# SetAmbientBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    设置环境光亮度,影响天空亮度,不影响实体与方块光照

  • 参数

    参数名
    数据类型
    说明
    brightness float 范围0到1之间
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.SetAmbientBrightness(0.1)

# SetFogColor

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    设置雾效颜色

  • 参数

    参数名
    数据类型
    说明
    color tuple(float,float,float,float) 颜色RGBA,范围0到1之间,a值主要用于水下效果
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
# 雾效设置为全白色
comp.SetFogColor((1.0,1.0,1.0,1.0))

# SetFogLength

客户端

method in mod.client.component.fogCompClient.FogCompClient

  • 描述

    设置雾效范围

  • 参数

    参数名
    数据类型
    说明
    start float 雾效起始距离
    end float 雾效终点范围
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 备注

    • start和end的单位长度为一个方块的距离
    • 最终渲染出的雾的效果会受能见度的影响,例如能见度设置为10,此时调用SetFogLength(0,160),然后将能见度设置为5,由于能见度降低,雾的end值也会拉近,此时雾的效果将会变得更厚。
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateFog(levelId)
comp.SetFogLength(10, 50)

# SetMoonRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    设置月亮所在角度

  • 参数

    参数名
    数据类型
    说明
    rot tuple(float,float,float) 第一个float表示南北偏移,第二个float表示月亮的自旋角度,第三个float表示月升月落。单位为角度
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.SetMoonRot((10, 0, 10))

# SetSkyColor

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    设置天空颜色

  • 参数

    参数名
    数据类型
    说明
    color tuple(float,float,float,float) 颜色RGBA,0到1之间,目前a值暂时没用
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.SetSkyColor((0.5, 0.5, 0.8, 1.0))

# SetSkyTextures

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    设置当前维度天空盒贴图,天空盒需要6张贴图

  • 参数

    参数名
    数据类型
    说明
    textureList list(str) 需要为6张贴图的路径,路径为从textures目录开始的绝对路径,如果天空盒某个方向不需要设置,则传空字符串
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 备注

    • 游戏内切dimension的时候会重设天空盒贴图,因此开发者需要监听对应的切换维度完成事件(DimensionChangeFinishClientEvent)进行贴图的处理。
  • 示例

# 贴图列表按顺序分别对应世界坐标的 负Z轴方向, 正X轴方向,正Z轴方向,负X轴方向,正Y轴方向,负Y轴方向。 其中正Y轴即为上方(采用右手坐标系)。
textureList = ['', 'textures/environment/positiveX','textures/environment/positiveZ', '', 'textures/environment/positiveY', '']
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.SetSkyTextures(textureList)

# SetStarBrightness

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    设置星星亮度,白天也可以显示星星

  • 参数

    参数名
    数据类型
    说明
    brightness float 范围0到1之间
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.SetStarBrightness(0.1)

# SetSunRot

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    设置太阳所在角度

  • 参数

    参数名
    数据类型
    说明
    rot tuple(float,float,float) 第一个float表示南北偏移,第二个float表示太阳的自旋角度,第三个float表示日升日落。单位为角度
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateSkyRender(levelId)
comp.SetSunRot((10, 0, 10))

# SkyTextures

客户端

method in mod.client.component.skyRenderCompClient.SkyRenderCompClient

  • 描述

    修改太阳、月亮、云层分布、天空盒的贴图。使用addon配置,非python接口。

  • 参数

  • 返回值

  • 备注

    • 游戏提供了重载贴图的方式来修改太阳、月亮、云层分布、天空盒的贴图。 末地和下界没有太阳月亮和云层,另外末地的天空是用一张贴图end_sky.png而不是天空盒贴图,end_sky.png要结合雾效颜色使用。下界暂不支持此功能。 具体路径为:

      贴图 路径
      太阳贴图 modResource目录/textures/environment/{dimName}_sun.png
      月亮贴图 modResource目录/textures/environment/{dimName}_moon_phases.png
      云层分布贴图 modResource目录/textures/environment/{dimName}_clouds.png
      天空盒贴图 modResource目录/textures/environment/{dimName}_cubemap/cubemap_0.png

      其中:天空盒贴图需要放6张图,即最后需要包含cubemap_0.pngcubemap_5.png,而{dimName}表示dimension的名称,各个dimension名称如下:

      dimension 名称
      末地 theend
      下界 nether
      上界 overworld
      其他复制出来的dimension镜像 从3到20的数字id

      示例:

      modResource/textures/environment/4_sun.png
      modResource/textures/environment/overworld_moon_phases.png
      modResource/textures/environment/3_clouds.png
      modResource/textures/environment/overworld_cubemap/cubemap_0.png # -z方向
      modResource/textures/environment/overworld_cubemap/cubemap_1.png #  x方向
      modResource/textures/environment/overworld_cubemap/cubemap_2.png #  z方向
      modResource/textures/environment/overworld_cubemap/cubemap_3.png # -x方向
      modResource/textures/environment/overworld_cubemap/cubemap_4.png #  y方向
      modResource/textures/environment/overworld_cubemap/cubemap_5.png # -y方向
      modResource/textures/environment/end_sky.png #末地天空渲染贴图
      

GetAmbientBrightness

GetFogColor

GetFogLength

GetMoonRot

GetSkyColor

GetSkyTextures

GetStarBrightness

GetSunRot

GetUseAmbientBrightness

GetUseFogColor

GetUseFogLength

GetUseMoonRot

GetUseSkyColor

GetUseStarBrightness

GetUseSunRot

HideNameTag

IsHideNameTag

ResetAmbientBrightness

ResetFogColor

ResetFogLength

ResetMoonRot

ResetSkyColor

ResetSkyTextures

ResetStarBrightness

ResetSunRot

SetAmbientBrightness

SetFogColor

SetFogLength

SetMoonRot

SetSkyColor

SetSkyTextures

SetStarBrightness

SetSunRot

SkyTextures