鼠标在上半部分就会这样
下半部分不会

渲染部分传进的参数没有任何问题
而且两个System.out.println都没触发
渲染代码: protected void drawHoveringText(List<String> tip, int mouseX, int mouseY, FontRenderer font) {
if (!tip.isEmpty()) {
GL11.glPushMatrix();
GL11.glTranslated(0.0, 0.0, 5);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_DEPTH_TEST);
int k = 0;
for (String s : tip) {
int l = font.getStringWidth(s);
if (l > k) {
k = l;
}
}
int j2 = mouseX + 12;
int k2 = mouseY - 12;
int i1 = 8;
if (tip.size() > 1) {
i1 += 2 + (tip.size() - 1) * 10;
}
if (j2 + k > parent.getXSize()) {
System.out.println(1);
j2 -= 28 + k;
}
if (k2 + i1 + 6 > parent.getYSize()) {
System.out.println(2);
k2 = this.getHeight() - i1 - 6;
}
this.zLevel = 300.0F;
int j1 = -267386864;
this.drawGradientRect(j2 - 3, k2 - 4, j2 + k + 3, k2 - 3, j1, j1);
this.drawGradientRect(j2 - 3, k2 + i1 + 3, j2 + k + 3, k2 + i1 + 4, j1, j1);
this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 + i1 + 3, j1, j1);
this.drawGradientRect(j2 - 4, k2 - 3, j2 - 3, k2 + i1 + 3, j1, j1);
this.drawGradientRect(j2 + k + 3, k2 - 3, j2 + k + 4, k2 + i1 + 3, j1, j1);
int k1 = 1347420415;
int l1 = (k1 & 16711422) >> 1 | k1 & -16777216;
this.drawGradientRect(j2 - 3, k2 - 3 + 1, j2 - 3 + 1, k2 + i1 + 3 - 1, k1, l1);
this.drawGradientRect(j2 + k + 2, k2 - 3 + 1, j2 + k + 3, k2 + i1 + 3 - 1, k1, l1);
this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 - 3 + 1, k1, k1);
this.drawGradientRect(j2 - 3, k2 + i1 + 2, j2 + k + 3, k2 + i1 + 3, l1, l1);
for(String s1 : tip) {
font.drawStringWithShadow(s1, j2, k2, -1);
if(s1.equals(tip.get(0)))
k2 += 2;
k2 += 10;
}
this.zLevel = 0.0F;
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_DEPTH_TEST);
RenderHelper.enableStandardItemLighting();
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
下半部分不会

渲染部分传进的参数没有任何问题
而且两个System.out.println都没触发
渲染代码: protected void drawHoveringText(List<String> tip, int mouseX, int mouseY, FontRenderer font) {
if (!tip.isEmpty()) {
GL11.glPushMatrix();
GL11.glTranslated(0.0, 0.0, 5);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_DEPTH_TEST);
int k = 0;
for (String s : tip) {
int l = font.getStringWidth(s);
if (l > k) {
k = l;
}
}
int j2 = mouseX + 12;
int k2 = mouseY - 12;
int i1 = 8;
if (tip.size() > 1) {
i1 += 2 + (tip.size() - 1) * 10;
}
if (j2 + k > parent.getXSize()) {
System.out.println(1);
j2 -= 28 + k;
}
if (k2 + i1 + 6 > parent.getYSize()) {
System.out.println(2);
k2 = this.getHeight() - i1 - 6;
}
this.zLevel = 300.0F;
int j1 = -267386864;
this.drawGradientRect(j2 - 3, k2 - 4, j2 + k + 3, k2 - 3, j1, j1);
this.drawGradientRect(j2 - 3, k2 + i1 + 3, j2 + k + 3, k2 + i1 + 4, j1, j1);
this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 + i1 + 3, j1, j1);
this.drawGradientRect(j2 - 4, k2 - 3, j2 - 3, k2 + i1 + 3, j1, j1);
this.drawGradientRect(j2 + k + 3, k2 - 3, j2 + k + 4, k2 + i1 + 3, j1, j1);
int k1 = 1347420415;
int l1 = (k1 & 16711422) >> 1 | k1 & -16777216;
this.drawGradientRect(j2 - 3, k2 - 3 + 1, j2 - 3 + 1, k2 + i1 + 3 - 1, k1, l1);
this.drawGradientRect(j2 + k + 2, k2 - 3 + 1, j2 + k + 3, k2 + i1 + 3 - 1, k1, l1);
this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 - 3 + 1, k1, k1);
this.drawGradientRect(j2 - 3, k2 + i1 + 2, j2 + k + 3, k2 + i1 + 3, l1, l1);
for(String s1 : tip) {
font.drawStringWithShadow(s1, j2, k2, -1);
if(s1.equals(tip.get(0)))
k2 += 2;
k2 += 10;
}
this.zLevel = 0.0F;
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_DEPTH_TEST);
RenderHelper.enableStandardItemLighting();
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
66666666666666