From ce2734d3b97aa36728a32e7517e8a9324f167fec Mon Sep 17 00:00:00 2001
From: Tim203 <mctim203@gmail.com>
Date: Tue, 12 Jan 2021 20:55:11 +0100
Subject: [PATCH] Allow BedrockData and LinkedPlayer cloning

---
 .../main/java/org/geysermc/floodgate/util/BedrockData.java | 7 ++++++-
 .../java/org/geysermc/floodgate/util/LinkedPlayer.java     | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/common/src/main/java/org/geysermc/floodgate/util/BedrockData.java b/common/src/main/java/org/geysermc/floodgate/util/BedrockData.java
index 9064b3f36..5f449fe2d 100644
--- a/common/src/main/java/org/geysermc/floodgate/util/BedrockData.java
+++ b/common/src/main/java/org/geysermc/floodgate/util/BedrockData.java
@@ -36,7 +36,7 @@ import lombok.Getter;
  */
 @Getter
 @AllArgsConstructor(access = AccessLevel.PRIVATE)
-public final class BedrockData {
+public final class BedrockData implements Cloneable {
     public static final int EXPECTED_LENGTH = 10;
 
     private final String version;
@@ -96,4 +96,9 @@ public final class BedrockData {
                 (fromProxy ? 1 : 0) + '\0' +
                 (linkedPlayer != null ? linkedPlayer.toString() : "null");
     }
+
+    @Override
+    public BedrockData clone() throws CloneNotSupportedException {
+        return (BedrockData) super.clone();
+    }
 }
diff --git a/common/src/main/java/org/geysermc/floodgate/util/LinkedPlayer.java b/common/src/main/java/org/geysermc/floodgate/util/LinkedPlayer.java
index 1e8d67c27..950f0eb55 100644
--- a/common/src/main/java/org/geysermc/floodgate/util/LinkedPlayer.java
+++ b/common/src/main/java/org/geysermc/floodgate/util/LinkedPlayer.java
@@ -34,7 +34,7 @@ import java.util.UUID;
 
 @Getter
 @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
-public final class LinkedPlayer {
+public final class LinkedPlayer implements Cloneable {
     /**
      * The Java username of the linked player
      */
@@ -74,4 +74,9 @@ public final class LinkedPlayer {
     public String toString() {
         return javaUsername + ';' + javaUniqueId.toString() + ';' + bedrockId.toString();
     }
+
+    @Override
+    public LinkedPlayer clone() throws CloneNotSupportedException {
+        return (LinkedPlayer) super.clone();
+    }
 }