图片(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,绘制走:
- 绑定
getCurrentResource1()画当前帧; 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 共用的开关字段,属作者个人命名习惯,不是配置键。
相关条目
- 轮播(Slideshow) - 图片与背景共用的轮播实现
- 背景(Background) - 全屏底层图,额外支持平铺/拉伸/居中/填充
- 全景图(Panorama) - 6 面立方体全景背景,与背景图互斥