Adding getTextByValue method to replace duplicate code (#823)
* Added FormattedTextValue.getTextByValue() * changed getBoolean() and added to display_title
This commit is contained in:
1 parent
de92d47f70
commit
e26e332a6d
4 files changed
+14
-34
No files matched your search
@@ -520,7 +520,7 @@ public class Auxiliary {
|
|||||||
targets = playerTargets;
|
targets = playerTargets;
|
||||||
res = lv.get(1).evalValue(c);
|
res = lv.get(1).evalValue(c);
|
||||||
}
|
}
|
||||||
Text message = (res instanceof FormattedTextValue)?((FormattedTextValue) res).getText():new LiteralText(res.getString());
|
Text message = FormattedTextValue.getTextByValue(res);
|
||||||
if (targets == null)
|
if (targets == null)
|
||||||
{
|
{
|
||||||
s.sendFeedback(message, false);
|
s.sendFeedback(message, false);
|
||||||
@@ -573,16 +573,8 @@ public class Auxiliary {
|
|||||||
if (lv.size() > 2)
|
if (lv.size() > 2)
|
||||||
{
|
{
|
||||||
pVal = lv.get(2).evalValue(c);
|
pVal = lv.get(2).evalValue(c);
|
||||||
if (pVal instanceof FormattedTextValue)
|
title = FormattedTextValue.getTextByValue(pVal);
|
||||||
{
|
soundsTrue = pVal.getBoolean();
|
||||||
title = ((FormattedTextValue) pVal).getText();
|
|
||||||
soundsTrue = !title.asString().isEmpty();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
title = new LiteralText(pVal.getString());
|
|
||||||
soundsTrue = pVal.getBoolean();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else title = null; // Will never happen, just to make lambda happy
|
else title = null; // Will never happen, just to make lambda happy
|
||||||
if (action == null)
|
if (action == null)
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ public class Scoreboards {
|
|||||||
return (_c, _t) -> StringValue.of(objective.getCriterion().getName());
|
return (_c, _t) -> StringValue.of(objective.getCriterion().getName());
|
||||||
case "display_name":
|
case "display_name":
|
||||||
if(modify) {
|
if(modify) {
|
||||||
Text text = (setValue instanceof FormattedTextValue)?((FormattedTextValue) setValue).getText():new LiteralText(setValue.getString());
|
Text text = FormattedTextValue.getTextByValue(setValue);
|
||||||
objective.setDisplayName(text);
|
objective.setDisplayName(text);
|
||||||
return LazyValue.TRUE;
|
return LazyValue.TRUE;
|
||||||
}
|
}
|
||||||
@@ -408,11 +408,7 @@ public class Scoreboards {
|
|||||||
|
|
||||||
Text displayName;
|
Text displayName;
|
||||||
|
|
||||||
if(settingVal instanceof FormattedTextValue) {
|
displayName = FormattedTextValue.getTextByValue(settingVal);
|
||||||
displayName = ((FormattedTextValue) settingVal).getText();
|
|
||||||
} else {
|
|
||||||
displayName = new LiteralText(settingVal.getString());
|
|
||||||
}
|
|
||||||
|
|
||||||
team.setDisplayName(displayName);
|
team.setDisplayName(displayName);
|
||||||
|
|
||||||
@@ -451,11 +447,7 @@ public class Scoreboards {
|
|||||||
|
|
||||||
Text prefix;
|
Text prefix;
|
||||||
|
|
||||||
if(settingVal instanceof FormattedTextValue) {
|
prefix = FormattedTextValue.getTextByValue(settingVal);
|
||||||
prefix = ((FormattedTextValue) settingVal).getText();
|
|
||||||
} else {
|
|
||||||
prefix = new LiteralText(settingVal.getString());
|
|
||||||
}
|
|
||||||
|
|
||||||
team.setPrefix(prefix);
|
team.setPrefix(prefix);
|
||||||
break;
|
break;
|
||||||
@@ -481,11 +473,7 @@ public class Scoreboards {
|
|||||||
|
|
||||||
Text suffix;
|
Text suffix;
|
||||||
|
|
||||||
if(settingVal instanceof FormattedTextValue) {
|
suffix = FormattedTextValue.getTextByValue(settingVal);
|
||||||
suffix = ((FormattedTextValue) settingVal).getText();
|
|
||||||
} else {
|
|
||||||
suffix = new LiteralText(settingVal.getString());
|
|
||||||
}
|
|
||||||
|
|
||||||
team.setSuffix(suffix);
|
team.setSuffix(suffix);
|
||||||
break;
|
break;
|
||||||
@@ -547,11 +535,7 @@ public class Scoreboards {
|
|||||||
case "name":
|
case "name":
|
||||||
if(propertyValue == null) return (_c, _t) -> new FormattedTextValue(bossBar.getName());
|
if(propertyValue == null) return (_c, _t) -> new FormattedTextValue(bossBar.getName());
|
||||||
|
|
||||||
if(propertyValue instanceof FormattedTextValue) {
|
bossBar.setName(FormattedTextValue.getTextByValue(propertyValue));
|
||||||
bossBar.setName(((FormattedTextValue) propertyValue).getText());
|
|
||||||
} else {
|
|
||||||
bossBar.setName(new LiteralText(propertyValue.getString()));
|
|
||||||
}
|
|
||||||
return LazyValue.TRUE;
|
return LazyValue.TRUE;
|
||||||
case "add_player":
|
case "add_player":
|
||||||
if(propertyValue == null) throw new InternalExpressionException("Bossbar property " + property + " can't be queried, add a third parameter");
|
if(propertyValue == null) throw new InternalExpressionException("Bossbar property " + property + " can't be queried, add a third parameter");
|
||||||
|
|||||||
@@ -1106,7 +1106,7 @@ public class EntityValue extends Value
|
|||||||
v = ((ListValue) v).getItems().get(0);
|
v = ((ListValue) v).getItems().get(0);
|
||||||
}
|
}
|
||||||
e.setCustomNameVisible(showName);
|
e.setCustomNameVisible(showName);
|
||||||
e.setCustomName(new LiteralText(v.getString()));
|
e.setCustomName(FormattedTextValue.getTextByValue(v));
|
||||||
});
|
});
|
||||||
|
|
||||||
put("persistence", (e, v) ->
|
put("persistence", (e, v) ->
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public class FormattedTextValue extends StringValue
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean getBoolean() {
|
public boolean getBoolean() {
|
||||||
return text.getSiblings().size() > 0;
|
return !text.asString().isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -96,4 +96,8 @@ public class FormattedTextValue extends StringValue
|
|||||||
return new FormattedTextValue(Text.Serializer.fromJson(serialized));
|
return new FormattedTextValue(Text.Serializer.fromJson(serialized));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Text getTextByValue(Value value) {
|
||||||
|
return (value instanceof FormattedTextValue) ? ((FormattedTextValue) value).getText() : new LiteralText(value.getString());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user