Added visibility option for texts for usercontents

This commit is contained in:
Marcel Konrad
2019-11-12 18:10:28 +01:00
parent 5e6b36e9c1
commit dc4e3722c2
3 changed files with 24 additions and 3 deletions

View File

@@ -344,7 +344,11 @@
"text": "Text",
"x": 0,
"y": -11,
"color": 2039583
"color": 2039583,
"visible": {
"type": "js",
"function": "isVisible"
}
}
]
}

View File

@@ -146,7 +146,10 @@ public class ContentUsercontent extends Content
{
for(JsonText text : this.content.getGui().getTexts())
{
container.getMinecraft().fontRenderer.drawString(TextFormatting.formatNullable(text.getText()), text.getX() + x, text.getY() + y, text.getColor());
if(text.getVisible() == null || text.getVisible().eval(this.engineAdapter))
{
container.getMinecraft().fontRenderer.drawString(TextFormatting.formatNullable(text.getText()), text.getX() + x, text.getY() + y, text.getColor());
}
}
}
}

View File

@@ -20,12 +20,16 @@ public class JsonText
@SerializedName("color")
private int color;
public JsonText(String text, int x, int y, int color)
@SerializedName("visible")
private BooleanExpression visible;
public JsonText(String text, int x, int y, int color, BooleanExpression visible)
{
this.text = text;
this.x = x;
this.y = y;
this.color = color;
this.visible = visible;
}
public String getText()
@@ -67,4 +71,14 @@ public class JsonText
{
this.color = color;
}
public BooleanExpression getVisible()
{
return this.visible;
}
public void setVisible(BooleanExpression visible)
{
this.visible = visible;
}
}