diff --git a/build.gradle b/build.gradle
index 98f455f2..d2ced2a5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -73,6 +73,7 @@ dependencies {
utilityCompile project(':pswgcommon')
utilityCompile sourceSets.main.output
+ utilityCompile group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib', version: '1.3.50'
utilityCompile group: 'org.xerial', name: 'sqlite-jdbc', version: '3.23.1'
utilityCompile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.6.3'
utilityCompile group: 'me.joshlarson', name: "fast-json", version: '3.0.0'
diff --git a/pswgcommon b/pswgcommon
index 22a8a6b7..9c041be3 160000
--- a/pswgcommon
+++ b/pswgcommon
@@ -1 +1 @@
-Subproject commit 22a8a6b7dc8591e315ab986f8712713fc848e0f2
+Subproject commit 9c041be3efd1fd4cfab5e19a54e7992f16be99d2
diff --git a/src/utility/java/com/projectswg/utility/clientdata/ConvertTerrain.kt b/src/utility/java/com/projectswg/utility/clientdata/ConvertTerrain.kt
new file mode 100644
index 00000000..31b52c6a
--- /dev/null
+++ b/src/utility/java/com/projectswg/utility/clientdata/ConvertTerrain.kt
@@ -0,0 +1,60 @@
+/***********************************************************************************
+ * Copyright (c) 2019 /// Project SWG /// www.projectswg.com *
+ * *
+ * ProjectSWG is the first NGE emulator for Star Wars Galaxies founded on *
+ * July 7th, 2011 after SOE announced the official shutdown of Star Wars Galaxies. *
+ * Our goal is to create an emulator which will provide a server for players to *
+ * continue playing a game similar to the one they used to play. We are basing *
+ * it on the final publish of the game prior to end-game events. *
+ * *
+ * This file is part of Holocore. *
+ * *
+ * --------------------------------------------------------------------------------*
+ * *
+ * Holocore is free software: you can redistribute it and/or modify *
+ * it under the terms of the GNU Affero General Public License as *
+ * published by the Free Software Foundation, either version 3 of the *
+ * License, or (at your option) any later version. *
+ * *
+ * Holocore is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU Affero General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Affero General Public License *
+ * along with Holocore. If not, see //www.gnu.org/licenses/>. *
+ */
+
+package com.projectswg.utility.clientdata
+
+import com.projectswg.common.data.swgiff.parsers.SWGParser
+import com.projectswg.common.data.swgiff.parsers.terrain.TerrainDataParser
+import com.projectswg.holocore.utilities.SdbGenerator
+import me.joshlarson.jlcommon.log.Log
+import me.joshlarson.jlcommon.log.log_wrapper.ConsoleLogWrapper
+import java.io.File
+import java.io.IOException
+import java.util.*
+
+internal class ConvertTerrain : Converter {
+
+ override fun convert() {
+ println("Converting terrains...")
+ Log.addWrapper(ConsoleLogWrapper())
+ try {
+ SdbGenerator(File("serverdata/terrain/terrains.sdb")).use { sdb ->
+ sdb.writeColumnNames("slotName", "global", "modifiable", "observeWithParent", "exposeToWorld")
+ convertFile(sdb, File("clientdata/terrain/tatooine.trn"))
+ }
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }
+
+ @Throws(IOException::class)
+ override fun convertFile(sdb: SdbGenerator, file: File) {
+ val clientdata = SWGParser.parse(file) as TerrainDataParser
+ Objects.requireNonNull(clientdata, "Failed to load clientdata")
+
+ }
+}
diff --git a/src/utility/java/com/projectswg/utility/clientdata/Converters.java b/src/utility/java/com/projectswg/utility/clientdata/Converters.java
index bf855a7f..e85523a2 100644
--- a/src/utility/java/com/projectswg/utility/clientdata/Converters.java
+++ b/src/utility/java/com/projectswg/utility/clientdata/Converters.java
@@ -11,6 +11,7 @@ public enum Converters {
ABSTRACT_SLOT_DEFINITION (ConvertSlotDefinition::new),
ABSTRACT_SLOT_DESCRIPTORS (ConvertSlotDescriptor::new),
ABSTRACT_SLOT_ARRANGEMENT (ConvertSlotArrangement::new),
+ TERRAINS (ConvertTerrain::new),
PROFESSION_TEMPLATES (ConvertProfessionTemplates::new);
private final Supplier converter;