diff --git a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/BuildPlatform.java b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/BuildPlatform.java
new file mode 100644
index 000000000..9fa59582c
--- /dev/null
+++ b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/BuildPlatform.java
@@ -0,0 +1,51 @@
+package org.cloudburstmc.protocol.bedrock.data;
+
+public enum BuildPlatform {
+
+    UNDEFINED,
+    /**
+     * Android
+     */
+    GOOGLE,
+    IOS,
+    /**
+     * Mac OS
+     */
+    OSX,
+    /**
+     * Kindle, FireTV
+     */
+    AMAZON,
+    GEAR_VR,
+    HOLOLENS,
+    /**
+     * Windows Store version
+     */
+    UWP,
+    /**
+     * Educational edition
+     */
+    WIN_32,
+    DEDICATED,
+    /**
+     * Apple TV
+     */
+    TV_OS,
+    /**
+     * Playstation
+     */
+    SONY,
+    /**
+     * Nintendo Switch
+     */
+    NX,
+    XBOX,
+    WINDOWS_PHONE,
+    LINUX;
+
+    private static final BuildPlatform[] VALUES = values();
+
+    public static BuildPlatform from(int id) {
+        return id > 0 && id < VALUES.length ? VALUES[id] : VALUES[0];
+    }
+}
diff --git a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/UserInterfaceProfile.java b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/UserInterfaceProfile.java
new file mode 100644
index 000000000..c9cbf4b4e
--- /dev/null
+++ b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/UserInterfaceProfile.java
@@ -0,0 +1,14 @@
+package org.cloudburstmc.protocol.bedrock.data;
+
+public enum UserInterfaceProfile {
+
+    CLASSIC,
+    POCKET,
+    NONE;
+
+    private static final UserInterfaceProfile[] VALUES = values();
+
+    public static UserInterfaceProfile from(int id) {
+        return VALUES[id];
+    }
+}