所有方法只在
render_2d 或 render_screen 事件回调内有效,之外 no-op。状态
boolean render.isActive()
int render.getScaledWidth()
int render.getScaledHeight()
矩形
render.rect(double x, double y, double w, double h, long color)
render.outline(double x, double y, double w, double h, double thickness, long color)
render.round(double x, double y, double w, double h, double radius, long color)
render.round(double x, double y, double w, double h, double radius, long color,
boolean topLeft, boolean topRight, boolean bottomLeft, boolean bottomRight)
render.circle(double cx, double cy, double radius, long color) // 实心圆
render.drawPlayerHead(double x, double y, double w, double h, Player player) // 玩家头像
render.gradientH(double x, double y, double w, double h, long startColor, long endColor)
render.gradientV(double x, double y, double w, double h, long startColor, long endColor)
文字
float render.text(String text, double x, double y, long color)
float render.textCentered(String text, double cx, double y, long color)
float render.textRight(String text, double rightX, double y, long color)
float render.textWidth(String text)
int render.fontHeight()
图片
Image render.createImage(byte[] data)
Image render.createImageFromBase64(String base64)
Image 可重复调用 draw(x, y, w, h)。
裁剪(scissor)
render.pushScissor(double x, double y, double w, double h)
render.popScissor()
render.endScissor()
世界 → 屏幕投影
double[] render.worldToScreen(double x, double y, double z)
// 返回 { screenX, screenY, depth },屏幕外返回 null
double[] render.worldBoxToScreen(double minX, double minY, double minZ,
double maxX, double maxY, double maxZ)
// 返回 { minX, minY, maxX, maxY }(屏幕空间包围矩形),任一角不可见返回 null
double[] render.worldBoxToScreenEntity(Entity entity)
// 实体 AABB 按 partialTicks 插值后投影