diff --git a/run/config/worldhandler/usercontent/example/example.json b/run/config/worldhandler/usercontent/example/example.json index 4acca22..1338b1a 100644 --- a/run/config/worldhandler/usercontent/example/example.json +++ b/run/config/worldhandler/usercontent/example/example.json @@ -344,7 +344,11 @@ "text": "Text", "x": 0, "y": -11, - "color": 2039583 + "color": 2039583, + "visible": { + "type": "js", + "function": "isVisible" + } } ] } diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentUsercontent.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentUsercontent.java index b82aa47..0a50b72 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentUsercontent.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentUsercontent.java @@ -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()); + } } } } diff --git a/src/main/java/exopandora/worldhandler/usercontent/model/JsonText.java b/src/main/java/exopandora/worldhandler/usercontent/model/JsonText.java index 4601552..6986d77 100644 --- a/src/main/java/exopandora/worldhandler/usercontent/model/JsonText.java +++ b/src/main/java/exopandora/worldhandler/usercontent/model/JsonText.java @@ -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; + } }