Skip to content

Commit

Permalink
Update to adventure 4.0.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Phoenix616 committed Oct 15, 2020
1 parent 5c53a85 commit bae1859
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 49 deletions.
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@
<repositories>
<repository>
<id>sonatype-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<url>https://oss.sonatype.org/content/repositories/releases/</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-api</artifactId>
<version>4.0.0-SNAPSHOT</version>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
36 changes: 20 additions & 16 deletions src/main/java/de/themoep/minedown/adventure/MineDownParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@

import net.kyori.adventure.key.Key;
import net.kyori.adventure.nbt.api.BinaryTagHolder;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.ComponentBuilder;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.NamedTextColor;
Expand Down Expand Up @@ -271,14 +271,14 @@ public ComponentBuilder parse(String message) throws IllegalArgumentException {
}
appendValue();
if (builder == null) {
builder = TextComponent.builder();
builder = Component.text();
}
return builder;
}

private void append(ComponentBuilder builder) {
if (this.builder == null) {
this.builder = TextComponent.builder().append(builder);
this.builder = Component.text().append(builder);
} else {
this.builder.append(builder);
}
Expand All @@ -290,11 +290,13 @@ private void appendValue() {

private void appendValue(Style style) {
if (builder == null) {
builder = TextComponent.builder(value.toString());
builder = Component.text().append(Component.text(value.toString()));
} else {
builder.append(value.toString()).style(style);
builder.append(Component.text(value.toString())).style(style);
}
if (font != null) {
builder.font(Key.key(font));
}
builder.font(Key.key(font));
builder.insertion(insertion);
builder.color(color);
Util.applyFormat(builder, format);
Expand All @@ -303,9 +305,9 @@ private void appendValue(Style style) {
if (!v.startsWith("http://") && !v.startsWith("https://")) {
v = "http://" + v;
}
builder.clickEvent(ClickEvent.of(ClickEvent.Action.OPEN_URL, v));
builder.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, v));
if (urlHoverText() != null && !urlHoverText().isEmpty()) {
builder.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT,
builder.hoverEvent(HoverEvent.hoverEvent(HoverEvent.Action.SHOW_TEXT,
new MineDown(urlHoverText()).replace("url", value.toString()).toComponent()
));
}
Expand Down Expand Up @@ -404,7 +406,7 @@ public ComponentBuilder parseEvent(String text, String definitions) {
if (!definition.startsWith("http://") && !definition.startsWith("https://")) {
definition = "http://" + definition;
}
clickEvent = ClickEvent.of(ClickEvent.Action.OPEN_URL, definition);
clickEvent = ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, definition);
continue;
}

Expand All @@ -429,13 +431,13 @@ public ComponentBuilder parseEvent(String text, String definitions) {
if (autoAddUrlPrefix() && clickAction == ClickEvent.Action.OPEN_URL && !valueStr.startsWith("http://") && !valueStr.startsWith("https://")) {
valueStr = "http://" + valueStr;
}
clickEvent = ClickEvent.of(clickAction, valueStr);
clickEvent = ClickEvent.clickEvent(clickAction, valueStr);
} else if (hoverAction == null) {
hoverAction = HoverEvent.Action.SHOW_TEXT;
}
if (hoverAction != null) {
if (hoverAction == HoverEvent.Action.SHOW_TEXT) {
hoverEvent = HoverEvent.of(hoverAction, copy(false).urlDetection(false).parse(Util.wrap(valueStr, hoverTextWidth())).build());
hoverEvent = HoverEvent.hoverEvent(hoverAction, copy(false).urlDetection(false).parse(Util.wrap(valueStr, hoverTextWidth())).build());
} else if (hoverAction == HoverEvent.Action.SHOW_ENTITY) {
String[] valueParts = valueStr.split(":", 2);
try {
Expand All @@ -444,7 +446,7 @@ public ComponentBuilder parseEvent(String text, String definitions) {
additionalParts[0] = "minecraft:" + additionalParts[0];
}
hoverEvent = HoverEvent.showEntity(HoverEvent.ShowEntity.of(
Key.of(additionalParts[0]), UUID.fromString(valueParts[0]),
Key.key(additionalParts[0]), UUID.fromString(valueParts[0]),
additionalParts.length > 1 && additionalParts[1] != null ?
copy(false).urlDetection(false).parse(additionalParts[1]).build() : null
));
Expand Down Expand Up @@ -481,7 +483,7 @@ public ComponentBuilder parseEvent(String text, String definitions) {

try {
hoverEvent = HoverEvent.showItem(HoverEvent.ShowItem.of(
Key.of(id), count, tag
Key.key(id), count, tag
));
} catch (Exception e) {
if (!lenient()) {
Expand All @@ -493,9 +495,11 @@ public ComponentBuilder parseEvent(String text, String definitions) {
}

if (clickEvent != null && hoverEvent == null) {
hoverEvent = HoverEvent.of(HoverEvent.Action.SHOW_TEXT,
TextComponent.builder(clickEvent.action().toString().toLowerCase(Locale.ROOT).replace('_', ' ')).color(NamedTextColor.BLUE)
.append(" " + clickEvent.action()).color(NamedTextColor.WHITE)
hoverEvent = HoverEvent.hoverEvent(HoverEvent.Action.SHOW_TEXT,
Component.text()
.append(Component.text(clickEvent.action().toString().toLowerCase(Locale.ROOT).replace('_', ' ')))
.color(NamedTextColor.BLUE)
.append(Component.text(" " + clickEvent.action())).color(NamedTextColor.WHITE)
.build());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import net.kyori.adventure.text.format.Style;
import net.kyori.adventure.text.format.TextDecoration;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextFormat;

import java.util.ArrayDeque;
import java.util.ArrayList;
Expand Down Expand Up @@ -237,16 +238,22 @@ private void appendColor(StringBuilder sb, TextColor color) {
if (this.color != color) {
this.color = color;
if (useLegacyColors()) {
try {
char colorChar = Util.getLegacyFormatChar(color);
sb.append(colorChar()).append(colorChar);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
if (color == null) {
sb.append(colorChar()).append(Util.TextControl.RESET.getChar());
} else {
try {
char colorChar = Util.getLegacyFormatChar(color);
sb.append(colorChar()).append(colorChar);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
} else if (color instanceof NamedTextColor) {
sb.append(colorChar()).append(((NamedTextColor) color).toString()).append(colorChar());
} else {
} else if (color != null) {
sb.append(colorChar()).append(color.asHexString()).append(colorChar());
} else {
sb.append(colorChar()).append(Util.TextControl.RESET.name()).append(colorChar());
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/de/themoep/minedown/adventure/Replacer.java
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ public List<Component> replaceIn(List<Component> components) {
* @return A copy of the array with the placeholders replaced
*/
public Component replaceIn(Component component) {
TextComponent.Builder builder = TextComponent.builder();
TextComponent.Builder builder = Component.text();

if (component instanceof KeybindComponent) {
component = ((KeybindComponent) component).keybind(replaceIn(((KeybindComponent) component).keybind()));
Expand All @@ -207,7 +207,7 @@ public Component replaceIn(Component component) {
component = ((TranslatableComponent) component).args(replaceIn(((TranslatableComponent) component).args()));
}
if (component.clickEvent() != null) {
component = component.clickEvent(ClickEvent.of(
component = component.clickEvent(ClickEvent.clickEvent(
component.clickEvent().action(),
replaceIn(component.clickEvent().value())
));
Expand All @@ -221,7 +221,7 @@ public Component replaceIn(Component component) {
HoverEvent.ShowEntity showEntity = (HoverEvent.ShowEntity) component.hoverEvent().value();
component = component.hoverEvent(HoverEvent.showEntity(
HoverEvent.ShowEntity.of(
Key.of(replaceIn(showEntity.type().asString())),
Key.key(replaceIn(showEntity.type().asString())),
showEntity.id(),
replaceIn(showEntity.name())
)
Expand All @@ -230,7 +230,7 @@ public Component replaceIn(Component component) {
HoverEvent.ShowItem showItem = (HoverEvent.ShowItem) component.hoverEvent().value();
component = component.hoverEvent(HoverEvent.showItem(
HoverEvent.ShowItem.of(
Key.of(replaceIn(showItem.item().asString())),
Key.key(replaceIn(showItem.item().asString())),
showItem.count()
)
));
Expand All @@ -256,7 +256,7 @@ public Component replaceIn(Component component) {
int index = text.indexOf(placeHolder);
if (index > -1) {
do {
TextComponent.Builder startBuilder = TextComponent.builder().mergeStyle(textComponent);
TextComponent.Builder startBuilder = Component.text().mergeStyle(textComponent);
if (index > 0) {
startBuilder.content(textComponent.content().substring(0, index));
}
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/de/themoep/minedown/adventure/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.ComponentBuilder;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextDecoration;
Expand Down Expand Up @@ -214,9 +213,9 @@ public static String wrap(String string, int lineLength) {
* @return The modified components (same as input).
*/
public static Component rgbColorsToLegacy(Component components) {
return TextComponent.builder().append(components).mapChildrenDeep(buildableComponent
return Component.text().append(components).mapChildrenDeep(buildableComponent
-> buildableComponent.color() != null
? TextComponent.builder().append(buildableComponent.color(getClosestLegacy(new Color(buildableComponent.color().value())))).build()
? Component.text().append(buildableComponent.color(getClosestLegacy(new Color(buildableComponent.color().value())))).build()
: buildableComponent
).build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@

import de.themoep.minedown.adventure.MineDown;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.Style;
import net.kyori.adventure.text.format.TextDecoration;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import org.junit.jupiter.api.Assertions;
Expand All @@ -47,23 +45,23 @@ private void stringify(Component component) {
@Test
public void testStringify() {
Assertions.assertAll(
() -> stringify(TextComponent.builder()
.append("Test ")
.append("link").decoration(TextDecoration.UNDERLINED, true).color(NamedTextColor.BLUE)
.clickEvent(ClickEvent.of(ClickEvent.Action.OPEN_URL, "https://example.com"))
.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.builder("Hover text").color(NamedTextColor.BLUE).build()))
.append(". Test Text.").style(Style.empty())
() -> stringify(Component.text()
.append(Component.text("Test "))
.append(Component.text("link", NamedTextColor.BLUE, TextDecoration.UNDERLINED))
.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, "https://example.com"))
.hoverEvent(HoverEvent.hoverEvent(HoverEvent.Action.SHOW_TEXT, Component.text("Hover text", NamedTextColor.BLUE)))
.append(Component.text(". Test Text."))
.build()),
() -> stringify(TextComponent.builder()
.append("Test ").decoration(TextDecoration.UNDERLINED, true).color(NamedTextColor.BLUE)
.append("link")
.clickEvent(ClickEvent.of(ClickEvent.Action.OPEN_URL, "https://example.com"))
.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.builder("Hover text").color(NamedTextColor.BLUE).build()))
.append(". Test Text.").style(Style.empty())
() -> stringify(Component.text()
.append(Component.text("Test ", NamedTextColor.BLUE, TextDecoration.UNDERLINED))
.append(Component.text("link")
.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, "https://example.com"))
.hoverEvent(HoverEvent.hoverEvent(HoverEvent.Action.SHOW_TEXT, Component.text("Hover text", NamedTextColor.BLUE)))
)
.append(Component.text(". Test Text."))
.build()),
() -> stringify(TextComponent.builder("Test insertion")
.insertion("Insert text")
.build())
() -> stringify(Component.text("Test insertion")
.insertion("Insert text"))
);
}
}

0 comments on commit bae1859

Please sign in to comment.