diff --git a/protocol/src/main/java/mc/protocol/model/ServerInfo.java b/protocol/src/main/java/mc/protocol/model/ServerInfo.java index 002d52b..6924d14 100644 --- a/protocol/src/main/java/mc/protocol/model/ServerInfo.java +++ b/protocol/src/main/java/mc/protocol/model/ServerInfo.java @@ -5,9 +5,11 @@ import lombok.Setter; import lombok.ToString; import lombok.RequiredArgsConstructor; import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import java.util.List; +@Accessors(fluent = true) @Getter @Setter @ToString diff --git a/protocol/src/main/java/mc/protocol/model/lombok.config b/protocol/src/main/java/mc/protocol/model/lombok.config deleted file mode 100644 index f4387a7..0000000 --- a/protocol/src/main/java/mc/protocol/model/lombok.config +++ /dev/null @@ -1 +0,0 @@ -lombok.accessors.fluent=true \ No newline at end of file diff --git a/protocol/src/main/java/mc/protocol/model/text/Text.java b/protocol/src/main/java/mc/protocol/model/text/Text.java new file mode 100644 index 0000000..94607a2 --- /dev/null +++ b/protocol/src/main/java/mc/protocol/model/text/Text.java @@ -0,0 +1,46 @@ +package mc.protocol.model.text; + +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@EqualsAndHashCode +@ToString +public class Text { + + public static final Text EMPTY = of(""); + + private String content; + + Text(String content) { + this.content = content; + } + + public static Text of(String content) { + return new Text(content); + } + + public static Text.Builder builder() { + return new Text.Builder(); + } + + public static class Builder { + private String content; + + public Builder append(String content) { + if (this.content == null) { + this.content = content; + } else { + this.content += content; + } + return this; + } + + public Text build() { + if (content == null) { + return EMPTY; + } else { + return new Text(content); + } + } + } +} diff --git a/protocol/src/test/java/mc/protocol/model/text/TextTest.java b/protocol/src/test/java/mc/protocol/model/text/TextTest.java new file mode 100644 index 0000000..ed3d423 --- /dev/null +++ b/protocol/src/test/java/mc/protocol/model/text/TextTest.java @@ -0,0 +1,30 @@ +package mc.protocol.model.text; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class TextTest { + + @Test + void emptyTest() { + Text actual = Text.builder().build(); + Text expected = Text.EMPTY; + + assertEquals(expected, actual); + } + + @Test + void contentTest() { + Text actual; + Text expected; + + actual = Text.builder().append("123").build(); + expected = new Text("123"); + assertEquals(expected, actual); + + actual = Text.builder().append("123").append("456").build(); + expected = new Text("123456"); + assertEquals(expected, actual); + } +} \ No newline at end of file