图片(Image)

基本信息

属性 值
源码类 lumien.custommainmenu.configuration.elements.Image(继承 Element)
绘制入口 GuiCustom.drawScreen 中的 customImages 循环(GuiCustom.java:229-253)
配置位置 顶层 images 对象下的每个键(GuiConfig.loadImages,GuiConfig.java:209)
默认锚点 top_left(GuiConfig.java:299)

可配置项

字段 必填 类型 默认值 说明
posX / posY 是 int — 相对锚点偏移
width / height 是 int — 绘制尺寸(贴图整体拉伸到该尺寸)
alignment 否 字符串 top_left 锚点
image 二选一 贴图 — 静态贴图
slideshow 二选一 对象 — 轮播,见轮播(Slideshow)
hoverImage 否 贴图 null 鼠标悬停时替换的贴图

⚠️ image 与 slideshow 必须恰好给一个:getImage 先判 has("image")(GuiConfig.java:306),否则再判 has("slideshow")(:308),两者都没有就抛 RuntimeException("Images either need an image or slideshow property")(:328)。同时给两个时 image 胜出,slideshow 被静默忽略。

轮播分支

设了 slideshow 时 ichBinEineSlideshow 置 true,绘制走:

  1. 绑定 getCurrentResource1() 画当前帧;
  2. fading() 为真时,开混合、绑定 getCurrentResource2()、按 getAlphaFade(partialTicks) 设白色 alpha 再叠一层当前帧(GuiCustom.java:232-242)。

每 tick 由 updateScreen 调 slideShow.update() 推进(GuiCustom.java:437-440)。

悬停分支

非轮播时做矩形命中检测(posX..posX+width × posY..posY+height),命中绑 hoverImage、否则绑 image,再用 RenderUtil.drawCompleteImage 画满 width×height(GuiCustom.java:244-252)。静态图不做 alpha/渐变处理。

源码命名备注

ichBinEineSlideshow(德语"我是一个轮播")是 Background 与 Image 共用的开关字段,属作者个人命名习惯,不是配置键。

相关条目